firstfloor_calendar library

Classes

AlarmActionNames
Names for AlarmAction enum values
AlarmComponent
Represents an alarm in the calendar.
Attachment
Represents an ATTACH property, which can be either a URI or binary data.
AttachmentBinary
Attachment with binary data, typically encoded in BASE64.
AttachmentUri
Attachment with a URI reference.
ByDay
BYDAY entry like -1SU or 3MO. ordinal may be null for plain weekday (e.g., SU).
CalDateTime
Represents a DATE or a DATE-TIME. If time is null, it's a DATE; otherwise, it's a DATE-TIME.
CalDuration
Represents a DURATION value.
Calendar
Represents a calendar with typed access to its components and properties.
CalendarComponent
Represents the base implementation for calendar components.
CalendarDocument
Represents the raw structural representation of an iCalendar document without any type interpretation of property values.
CalendarDocumentComponent
Represents a component in the calendar document structure.
CalendarParser
Semantic parser for converting a structured calendar document or component into a Calendar model.
CalendarProperty
Represents a raw property in the document structure
CalendarUserAddress
Represents a calendar user address (CUA) with various parameters.
CalendarUserTypeNames
Names for CalendarUserType enum values
CalTime
Represents a TIME.
ClassificationNames
Names for Classification enum values
DateUtils
Utility class for date-related calculations.
DocumentParser
Parses iCalendar data from a string source. This class works with in-memory strings. Use DocumentStreamParser for streaming large files and avoiding memory issues.
DocumentStreamParser
Parses iCalendar data from a stream of bytes. The streaming API allows for parsing large iCalendar files without loading the entire file into memory.
EventComponent
Represents an event in the calendar.
EventStatusNames
Names for EventStatus enum values
FreeBusyComponent
Represents a free/busy time component in the calendar.
FreeBusyTypeNames
Names for FreeBusyType enum values
GeoCoordinate
Represents a geographical location with latitude and longitude.
JournalComponent
Represents a journal entry in the calendar.
JournalStatusNames
Names for JournalStatus enum values
ParticipationRoleNames
Names for ParticipationRole enum values
ParticipationStatusNames
Names for ParticipationStatus enum values
Period
Represents a period with a start and either an end or a duration.
PropertyRule
Represents a rule for parsing a specific calendar property. This includes validation for occurrences and a parser function.
PropertyValue<T>
Wrapper containing both the parsed value and source property
RecurrenceDateTime
Represents either a DATE-TIME or a PERIOD for recurrence dates (RDATE).
RecurrenceFrequencyNames
Names for RecurrenceFrequency enum values
RecurrenceIterator
An iterator that generates occurrences based on the provided recurrence rule, start date, exclusions, and additional dates.
RecurrenceRule
RRULE value type covering RFC 5545 recurrence properties.
RelationshipTypeNames
Names for RelationshipType enum values
TimeTransparencyNames
Names for TimeTransparency enum values
TimeZoneComponent
Represents a timezone in the calendar.
TimeZoneSubComponent
Represents a subcomponent of a timezone, such as a specific time zone rule.
TodoComponent
Represents a todo item in the calendar.
TodoStatusNames
Names for TodoStatus enum values
Trigger
TRIGGER can be a DURATION or a UTC DATE-TIME.
TriggerRelatedNames
Names for TriggerRelated enum values
UtcOffset
Represents a UTC offset like +hhmm or -hhmmss.
ValueTypeNames
Names for ValueType enum values
WeekdayNames
Names for Weekday enum values

Enums

AlarmAction
Alarm action types.
CalendarUserType
Calendar user types.
Classification
Classification types.
EventStatus
Event status types.
FreeBusyType
Free/busy types.
JournalStatus
Journal status types.
ParticipationRole
Participation role types.
ParticipationStatus
Participation status types.
RecurrenceFrequency
Recurrence frequencies.
RelationshipType
Relationship types.
Sign
Sign for UtcOffset and CalDuration.
TimeTransparency
Time transparency types.
TodoStatus
To-do status types.
TriggerRelated
Trigger relation types.
ValueType
Value types.
Weekday
Days of the week.

Extensions

AlarmActionExtensions on AlarmAction
Extensions for AlarmAction enum.
CalDateTimeExtensions on CalDateTime
Extensions for CalDateTime to enhance functionality.
CalendarComponentSerialization on CalendarComponent
Serialization helpers for semantic components.
CalendarDocumentComponentExtensions on CalendarDocumentComponent
Extensions for CalendarDocumentComponent to enhance functionality.
CalendarDocumentSerialization on CalendarDocumentComponent
Serialization extensions for document-layer components and properties.
CalendarPropertySerialization on CalendarProperty
CalendarUserTypeExtensions on CalendarUserType
Extensions for CalendarUserType enum.
ClassificationExtensions on Classification
Extensions for Classification enum.
EventComponentExtensions on EventComponent
Extensions for EventComponent to enhance functionality.
EventIterableQuery on Iterable<EventComponent>
Query extensions for Iterable<EventComponent> to enhance functionality.
EventStatusExtensions on EventStatus
Extensions for EventStatus enum.
FreeBusyTypeExtensions on FreeBusyType
Extensions for FreeBusyType enum.
JournalComponentExtensions on JournalComponent
Extensions for JournalComponent to enhance functionality.
JournalIterableQuery on Iterable<JournalComponent>
Query extensions for Iterable<JournalComponent> to enhance functionality.
JournalStatusExtensions on JournalStatus
Extensions for JournalStatus enum.
ParticipationRoleExtensions on ParticipationRole
Extensions for ParticipationRole enum.
ParticipationStatusExtensions on ParticipationStatus
Extensions for ParticipationStatus enum.
RecurrenceFrequencyExtensions on RecurrenceFrequency
Extensions for RecurrenceFrequency enum.
RecurrenceRuleExtensions on RecurrenceRule
Extensions for RecurrenceRule to enhance functionality.
RelationshipTypeExtensions on RelationshipType
Extensions for RelationshipType enum.
TimeTransparencyExtensions on TimeTransparency
Extensions for TimeTransparency enum.
TimeZoneIterableQuery on Iterable<TimeZoneSubComponent>
Query extensions for Iterable<TimeZoneSubComponent> to enhance functionality.
TimeZoneSubComponentExtensions on TimeZoneSubComponent
Extensions for TimeZoneSubComponent to enhance functionality.
TodoComponentExtensions on TodoComponent
Extensions for TodoComponent to enhance functionality.
TodoIterableQuery on Iterable<TodoComponent>
Query extensions for Iterable<TodoComponent> to enhance functionality.
TodoStatusExtensions on TodoStatus
Extensions for TodoStatus enum.
TriggerRelatedExtensions on TriggerRelated
Extensions for TriggerRelated enum.
ValueTypeExtensions on ValueType
Extensions for ValueType enum.
WeekdayExtensions on Weekday
Extensions for Weekday enum.

Functions

parseAttachment(CalendarProperty property) Attachment
Parses a CalendarProperty into a uri or binary attachment.
parseBoolean(CalendarProperty property) bool
Parses a CalendarProperty into a boolean value.
parseCalAddress(CalendarProperty property) CalendarUserAddress
Parses a CalendarProperty into a calendar user address value.
parseCalDate(CalendarProperty property) CalDateTime
Parses a CalendarProperty into a CalDate value.
parseCalDateOrDateTime(CalendarProperty property) CalDateTime
Parses a CalendarProperty into a date or datetime value. This will determine if the value is a date or datetime based on the parameters.
parseCalDateOrDateTimeList(CalendarProperty property) List<CalDateTime>
Parses a CalendarProperty into a list of date or datetime values.
parseCalDateTime(CalendarProperty property) CalDateTime
Parses a CalendarProperty into a CalDateTime value.
parseCalDateTimeLocal(CalendarProperty property) CalDateTime
Parses a CalendarProperty into a CalDateTime value. This is used for properties that must be in local format without timezone identifier.
parseCalDateTimeLocalValue(String value, {int lineNumber = 0}) CalDateTime
Parses a date-time string in the format YYYYMMDDTHHMMSS into a CalDateTime value.
parseCalDateTimeUtc(CalendarProperty property) CalDateTime
Parses a CalendarProperty into a CalDateTime value. This is used for properties that must be in UTC format.
parseCalDateTimeUtcValue(String value, {int lineNumber = 0}) CalDateTime
Parses a date-time string in the format YYYYMMDDTHHMMSSZ into a CalDateTime value.
parseCalDateTimeValue(String value, {String? tzid, int lineNumber = 0}) CalDateTime
Parses a date-time string in the format YYYYMMDDTHHMMSSZ into a CalDateTime value.
parseCalDateValue(String value, {int lineNumber = 0}) CalDateTime
Parses a date string in the format YYYYMMDD into a CalDate value.
parseCalDuration(CalendarProperty property) CalDuration
Parses a CalendarProperty into a CalDuration value.
parseCalTime(CalendarProperty property) CalTime
Parses a CalendarProperty into a CalTime value.
parseCalTimeValue(String value, {String? tzid, int lineNumber = 0}) CalTime
Parses a time string in the format HHMMSSZ into a CalTime value.
parseGeoCoordinate(CalendarProperty property) GeoCoordinate
Parses a CalendarProperty into a geo coordinate value.
parseInteger(CalendarProperty property) int
Parses a CalendarProperty into an integer value.
parsePeriod(CalendarProperty property) Period
Parses a CalendarProperty into a list of integer values.
parsePeriodList(CalendarProperty property) List<Period>
Parses a list of PERIOD values from a CalendarProperty.
parsePeriodValue(String value, {int lineNumber = 0}) Period
Parses a period string in the format "start/end" or "start/duration".
parseRaw(CalendarProperty property) String
Parses a CalendarProperty into a raw string representation. This is used for properties that do not require any special parsing.
parseRecurrenceDateTime(CalendarProperty property) RecurrenceDateTime
Parses a CalendarProperty into a recurrence date-time value.
parseRecurrenceRule(CalendarProperty property) RecurrenceRule
Parses a CalendarProperty into a recurrence rule instance.
parseRecurrenceRuleValue(String value, {int lineNumber = 0}) RecurrenceRule
Parses a recurrence rule string in the format defined by RFC 5545 into a RecurrenceRule instance.
parseString(CalendarProperty property) String
Parses a CalendarProperty into a text representation. This is the default parser for text properties.
parseStringList(CalendarProperty property) List<String>
Parses a CalendarProperty into a list of text values. This is used for properties that can have multiple values separated by commas.
parseTrigger(CalendarProperty property) Trigger
Parses a CalendarProperty into a trigger value.
parseUri(CalendarProperty property) Uri
Parses a CalendarProperty into a URI value.
parseUtcOffset(CalendarProperty property) UtcOffset
Parses a CalendarProperty into a UTC offset value.
serializeCalendarDocumentComponent(CalendarDocumentComponent component, {bool foldLines = true}) String
Serializes a raw CalendarDocumentComponent (or CalendarDocument) to iCalendar text.
serializeCalendarProperty(CalendarProperty property, {bool foldLine = true}) String
Serializes a CalendarProperty into a single iCalendar content line body.

Typedefs

EventOccurrence = ({EventComponent event, CalDateTime occurrence})
Represents a single event occurrence.
JournalOccurrence = ({JournalComponent journal, CalDateTime occurrence})
Represents a single journal occurrence.
PropertyParser = dynamic Function(CalendarProperty property)
Defines a function type for parsing calendar properties.
TimeZoneOccurrence = ({CalDateTime occurrence, TimeZoneSubComponent timezone})
Represents a single timezone occurrence.
TodoOccurrence = ({CalDateTime occurrence, TodoComponent todo})
Represents a single todo occurrence.

Exceptions / Errors

ParseException
Exception thrown when parsing fails.