Expand description
§Components
A decoded component and the iCalendar component-name vocabulary.
iCalendar is a tree of components: a VCALENDAR holds VEVENT, VTODO,
VJOURNAL, VFREEBUSY and VTIMEZONE components, an event or to-do
holds VALARM components, and a time zone holds STANDARD and DAYLIGHT
subcomponents. RFC 9073 adds PARTICIPANT, VLOCATION and VRESOURCE.
IcalComponent is that decoded node: a name, its properties, and its
nested components. The whole calendar is the Ical
aggregate, whose root is the VCALENDAR.
A known name is the closed IcalComponentKind identity (its wire
spelling reached through Deref and FromStr); an unknown one keeps its
verbatim bytes. Pure model, no crate::tree dependency.
This module also owns the per-component contract: one marker module per
component the crate knows, each carrying its
IcalComponentSpec impl, and the spec vtable that bridges the
open IcalComponentKind back to those static impls. The marker is also
the type-level key for typed subtree access
(IcalCst::component).
Modules§
- available
- AVAILABLE
- daylight
- DAYLIGHT
- participant
- PARTICIPANT
- spec
- Component spec
- standard
- STANDARD
- valarm
- VALARM
- vavailability
- VAVAILABILITY
- vcalendar
- VCALENDAR
- vevent
- VEVENT
- vfreebusy
- VFREEBUSY
- vjournal
- VJOURNAL
- vlocation
- VLOCATION
- vresource
- VRESOURCE
- vtimezone
- VTIMEZONE
- vtodo
- VTODO
Structs§
- Ical
Component - A decoded component: its name, its properties, and its nested components.
- Parse
Ical Component Kind Error - Parse iCalendar component kind error.
Enums§
- Ical
Component Kind - The closed iCalendar component-name vocabulary, one fieldless variant per
known component. An identity for dispatch and nesting rules; the
open-vocabulary counterpart that also carries unknown names is
IcalComponentName. - Ical
Component Name - A component name: a known iCalendar name, or an unknown one kept verbatim.