Someone or something involved in the object (RFC 8984 §4.4.6).
A participant is not only a person: kind may be location or
resource, which is how a room or a projector joins a meeting.
roles is mandatory and is a set, because one participant is
routinely both attendee and chair.
The three progress properties apply only when the participant is
taking part in a JSCalendar.Task.
Summary
Functions
Read this object from a decoded JSON map.
The @type value RFC 8984 gives this object.
Write this object back to a JSON-ready map.
Types
@type t() :: %JSCalendar.Participant{ delegated_from: term(), delegated_to: term(), description: term(), email: String.t() | nil, expect_reply: boolean(), extra: map(), invited_by: term(), kind: String.t() | nil, language: term(), links: term(), location_id: term(), member_of: term(), name: String.t() | nil, participation_comment: term(), participation_status: String.t(), percent_complete: term(), progress: term(), progress_updated: term(), roles: MapSet.t() | nil, schedule_agent: term(), schedule_force_send: term(), schedule_sequence: term(), schedule_status: term(), schedule_updated: term(), send_to: term(), sent_by: term() }
Functions
Read this object from a decoded JSON map.
Arguments
mapis a map with string keys, as:json.decode/1returns.
Returns
{:ok, object}; or{:error, reason}when a property does not match its declared type.
@spec jscalendar_type() :: String.t()
The @type value RFC 8984 gives this object.
Returns
- the type name as a string.
Write this object back to a JSON-ready map.
Arguments
objectis at/0.
Returns
- a map with string keys, ready for
:json.encode/1.