# JSCalendar v0.1.0 - Table of Contents

> JSCalendar (RFC 8984) for Elixir — the JSON representation of calendar data, as events, tasks and groups. No dependencies.

## Pages

- [JSCalendar](readme.md)
- [Changelog](changelog.md)
- [License](license.md)

## Modules

- [JSCalendar](JSCalendar.md): JSCalendar — the JSON representation of calendar data
([RFC 8984](https://www.rfc-editor.org/rfc/rfc8984.html)).

- Calendar objects
  - [JSCalendar.Event](JSCalendar.Event.md): Something that happens at a particular time
([RFC 8984 §5.1](https://www.rfc-editor.org/rfc/rfc8984.html#section-5.1)).
  - [JSCalendar.Group](JSCalendar.Group.md): A collection of events and tasks
([RFC 8984 §5.3](https://www.rfc-editor.org/rfc/rfc8984.html#section-5.3)).
  - [JSCalendar.Task](JSCalendar.Task.md): Something to be done, optionally by a certain time
([RFC 8984 §5.2](https://www.rfc-editor.org/rfc/rfc8984.html#section-5.2)).

- What and where
  - [JSCalendar.Link](JSCalendar.Link.md): An external resource associated with an object
([RFC 8984 §1.4.11](https://www.rfc-editor.org/rfc/rfc8984.html#section-1.4.11)).
  - [JSCalendar.Location](JSCalendar.Location.md): A physical location
([RFC 8984 §4.2.5](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.2.5)).
  - [JSCalendar.Relation](JSCalendar.Relation.md): How one calendar object relates to another
([RFC 8984 §4.1.3](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.1.3)).
  - [JSCalendar.VirtualLocation](JSCalendar.VirtualLocation.md): A virtual location — a conference bridge, a chat room
([RFC 8984 §4.2.6](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.2.6)).

- Who
  - [JSCalendar.Participant](JSCalendar.Participant.md): Someone or something involved in the object
([RFC 8984 §4.4.6](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.4.6)).

- When
  - [JSCalendar.AbsoluteTrigger](JSCalendar.AbsoluteTrigger.md): An alert fired at a fixed moment
([RFC 8984 §4.5.1](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.5.1)).
  - [JSCalendar.Alert](JSCalendar.Alert.md): A reminder attached to an object
([RFC 8984 §4.5.2](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.5.2)).
  - [JSCalendar.NDay](JSCalendar.NDay.md): A weekday within a recurrence, optionally counted from the start or
end of the period
([RFC 8984 §4.3.3](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.3.3)).
  - [JSCalendar.Occurrence](JSCalendar.Occurrence.md): One instance of a recurring object
([RFC 8984 §4.3.5](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.3.5)).
  - [JSCalendar.OffsetTrigger](JSCalendar.OffsetTrigger.md): An alert fired relative to the object's start or end
([RFC 8984 §4.5.2](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.5.2)).
  - [JSCalendar.RecurrenceRule](JSCalendar.RecurrenceRule.md): A repeat pattern
([RFC 8984 §4.3.3](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.3.3)).
  - [JSCalendar.TimeZone](JSCalendar.TimeZone.md): A time zone defined in the file rather than named from a database
([RFC 8984 §4.7.2](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.7.2)).
  - [JSCalendar.TimeZoneRule](JSCalendar.TimeZoneRule.md): One offset a custom time zone observes, and when it starts
([RFC 8984 §4.7.2](https://www.rfc-editor.org/rfc/rfc8984.html#section-4.7.2)).

- Patching
  - [JSCalendar.Patch](JSCalendar.Patch.md): A set of changes to a JSCalendar object
([RFC 8984 §1.4.9](https://www.rfc-editor.org/rfc/rfc8984.html#section-1.4.9)).

- Internals
  - [JSCalendar.Object](JSCalendar.Object.md): Declares a JSCalendar object from its property table.
  - [JSCalendar.Type](JSCalendar.Type.md): Reading and writing the value types RFC 8984 defines.

