JSCalendar.Alert (JSCalendar v0.1.0)

Copy Markdown View Source

A reminder attached to an object (RFC 8984 ยง4.5.2).

The trigger is one of JSCalendar.OffsetTrigger, JSCalendar.AbsoluteTrigger, or โ€” for a kind this library does not know โ€” the raw map. RFC 8984 requires an unrecognised trigger to be preserved rather than dropped, since the alert still belongs to the object even if this implementation cannot fire it.

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

t()

@type t() :: %JSCalendar.Alert{
  acknowledged: DateTime.t() | nil,
  action: String.t(),
  extra: map(),
  related_to: term(),
  trigger:
    JSCalendar.OffsetTrigger.t() | JSCalendar.AbsoluteTrigger.t() | map() | nil
}

Functions

from_map(map)

@spec from_map(map()) :: {:ok, struct()} | {:error, term()}

Read this object from a decoded JSON map.

Arguments

Returns

  • {:ok, object}; or

  • {:error, reason} when a property does not match its declared type.

jscalendar_type()

@spec jscalendar_type() :: String.t()

The @type value RFC 8984 gives this object.

Returns

  • the type name as a string.

to_map(object)

@spec to_map(struct()) :: map()

Write this object back to a JSON-ready map.

Arguments

  • object is a t/0.

Returns