Skip to main content

Module component

Module component 

Source
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, a time zone holds STANDARD and DAYLIGHT subcomponents, and (RFC 9073) a component may hold PARTICIPANT, VLOCATION and VRESOURCE subcomponents. 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.

Structs§

IcalComponent
A decoded component: its name, its properties, and its nested components.
ParseIcalComponentKindError
Parse iCalendar component kind error.

Enums§

IcalComponentKind
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.
IcalComponentName
A component name: a known iCalendar name, or an unknown one kept verbatim.