automata/ical/validator

Types

pub opaque type Alarm
pub opaque type Calendar
pub opaque type Event
pub opaque type FreeBusy
pub opaque type Journal
pub opaque type Timezone
pub type TimezoneRule {
  TimezoneRule(
    dtstart: ast.DateTime,
    tzoffsetfrom: String,
    tzoffsetto: String,
    rrule: option.Option(ast.RawRRule),
    tzname: option.Option(String),
  )
}

Constructors

pub opaque type Todo
pub type UnknownComponent {
  UnknownComponent(
    kind: String,
    properties: List(ast.RawProperty),
    children: List(ast.RawComponent),
  )
}

Constructors

pub type ValidationError {
  MissingVersion
  MissingProductId
  MissingComponentProperty(component: String, name: String)
  InvalidDateTime(name: String, raw: String)
  InvalidEscape(raw: String)
  InvalidInteger(name: String, raw: String)
  InvalidRRule(raw: String, error: parser.ParseError)
  DuplicateRRule(component_uid: String)
}

Constructors

  • MissingVersion
  • MissingProductId
  • MissingComponentProperty(component: String, name: String)
  • InvalidDateTime(name: String, raw: String)
  • InvalidEscape(raw: String)
  • InvalidInteger(name: String, raw: String)
  • InvalidRRule(raw: String, error: parser.ParseError)
  • DuplicateRRule(component_uid: String)

Values

pub fn add_alarm(event: Event, alarm: Alarm) -> Event
pub fn add_alarm_attendee(alarm: Alarm, value: String) -> Alarm
pub fn add_attendee(event: Event, value: String) -> Event
pub fn add_category(event: Event, value: String) -> Event
pub fn add_event(cal: Calendar, event: Event) -> Calendar
pub fn add_exdate(event: Event, dt: ast.DateTime) -> Event
pub fn add_freebusy(cal: Calendar, fb: FreeBusy) -> Calendar
pub fn add_freebusy_attendee(
  fb: FreeBusy,
  value: String,
) -> FreeBusy
pub fn add_freebusy_period(
  fb: FreeBusy,
  value: String,
) -> FreeBusy
pub fn add_journal(cal: Calendar, j: Journal) -> Calendar
pub fn add_journal_category(j: Journal, value: String) -> Journal
pub fn add_rdate(event: Event, dt: ast.DateTime) -> Event
pub fn add_timezone(cal: Calendar, tz: Timezone) -> Calendar
pub fn add_timezone_daylight(
  tz: Timezone,
  rule: TimezoneRule,
) -> Timezone
pub fn add_timezone_standard(
  tz: Timezone,
  rule: TimezoneRule,
) -> Timezone
pub fn add_todo(cal: Calendar, t: Todo) -> Calendar
pub fn add_todo_alarm(t: Todo, alarm: Alarm) -> Todo
pub fn add_todo_category(t: Todo, value: String) -> Todo
pub fn add_todo_exdate(t: Todo, dt: ast.DateTime) -> Todo
pub fn add_todo_rdate(t: Todo, dt: ast.DateTime) -> Todo
pub fn add_unknown_component(
  cal: Calendar,
  component: UnknownComponent,
) -> Calendar
pub fn alarm_action(a: Alarm) -> String
pub fn alarm_attendees(a: Alarm) -> List(String)
pub fn alarm_description(a: Alarm) -> option.Option(String)
pub fn alarm_duration(a: Alarm) -> option.Option(String)
pub fn alarm_repeat(a: Alarm) -> option.Option(Int)
pub fn alarm_summary(a: Alarm) -> option.Option(String)
pub fn alarm_trigger(a: Alarm) -> String
pub fn alarm_x_properties(a: Alarm) -> dict.Dict(String, String)
pub fn calendar_x_properties(
  cal: Calendar,
) -> dict.Dict(String, String)
pub fn calscale(cal: Calendar) -> option.Option(String)
pub fn event_alarms(event: Event) -> List(Alarm)
pub fn event_attendees(event: Event) -> List(String)
pub fn event_categories(event: Event) -> List(String)
pub fn event_created(event: Event) -> option.Option(ast.DateTime)
pub fn event_description(event: Event) -> option.Option(String)
pub fn event_dtend(event: Event) -> option.Option(ast.DateTime)
pub fn event_dtend_tzid(event: Event) -> option.Option(String)
pub fn event_dtstamp(event: Event) -> ast.DateTime
pub fn event_dtstart(event: Event) -> option.Option(ast.DateTime)
pub fn event_dtstart_tzid(event: Event) -> option.Option(String)
pub fn event_duration(event: Event) -> option.Option(String)
pub fn event_exdates(event: Event) -> List(ast.DateTime)
pub fn event_last_modified(
  event: Event,
) -> option.Option(ast.DateTime)
pub fn event_location(event: Event) -> option.Option(String)
pub fn event_organizer(event: Event) -> option.Option(String)
pub fn event_rdates(event: Event) -> List(ast.DateTime)
pub fn event_rrule(event: Event) -> option.Option(ast.RawRRule)
pub fn event_sequence(event: Event) -> Int
pub fn event_status(event: Event) -> option.Option(String)
pub fn event_summary(event: Event) -> option.Option(String)
pub fn event_transparency(event: Event) -> option.Option(String)
pub fn event_uid(event: Event) -> String
pub fn event_url(event: Event) -> option.Option(String)
pub fn event_x_properties(
  event: Event,
) -> dict.Dict(String, String)
pub fn events(cal: Calendar) -> List(Event)
pub fn freebusy(cal: Calendar) -> List(FreeBusy)
pub fn freebusy_attendees(fb: FreeBusy) -> List(String)
pub fn freebusy_dtend(
  fb: FreeBusy,
) -> option.Option(ast.DateTime)
pub fn freebusy_dtstamp(fb: FreeBusy) -> ast.DateTime
pub fn freebusy_dtstart(
  fb: FreeBusy,
) -> option.Option(ast.DateTime)
pub fn freebusy_organizer(fb: FreeBusy) -> option.Option(String)
pub fn freebusy_periods(fb: FreeBusy) -> List(String)
pub fn freebusy_uid(fb: FreeBusy) -> String
pub fn freebusy_x_properties(
  fb: FreeBusy,
) -> dict.Dict(String, String)
pub fn journal_categories(j: Journal) -> List(String)
pub fn journal_description(j: Journal) -> option.Option(String)
pub fn journal_dtstamp(j: Journal) -> ast.DateTime
pub fn journal_status(j: Journal) -> option.Option(String)
pub fn journal_summary(j: Journal) -> option.Option(String)
pub fn journal_uid(j: Journal) -> String
pub fn journal_x_properties(
  j: Journal,
) -> dict.Dict(String, String)
pub fn journals(cal: Calendar) -> List(Journal)
pub fn method(cal: Calendar) -> option.Option(String)
pub fn new_alarm(
  action action: String,
  trigger trigger: String,
) -> Alarm
pub fn new_calendar(
  version version: String,
  prod_id prod_id: String,
) -> Calendar
pub fn new_event(
  uid uid: String,
  dtstamp dtstamp: ast.DateTime,
) -> Event
pub fn new_freebusy(
  uid uid: String,
  dtstamp dtstamp: ast.DateTime,
) -> FreeBusy
pub fn new_journal(
  uid uid: String,
  dtstamp dtstamp: ast.DateTime,
) -> Journal
pub fn new_timezone(tzid tzid: String) -> Timezone
pub fn new_timezone_rule(
  dtstart dtstart: ast.DateTime,
  offset_from offset_from: String,
  offset_to offset_to: String,
) -> TimezoneRule
pub fn new_todo(
  uid uid: String,
  dtstamp dtstamp: ast.DateTime,
) -> Todo
pub fn product_id(cal: Calendar) -> String
pub fn timezone_daylight(tz: Timezone) -> List(TimezoneRule)
pub fn timezone_last_modified(
  tz: Timezone,
) -> option.Option(ast.DateTime)
pub fn timezone_standard(tz: Timezone) -> List(TimezoneRule)
pub fn timezone_tzid(tz: Timezone) -> String
pub fn timezone_tzurl(tz: Timezone) -> option.Option(String)
pub fn timezone_x_properties(
  tz: Timezone,
) -> dict.Dict(String, String)
pub fn timezones(cal: Calendar) -> List(Timezone)
pub fn todo_alarms(t: Todo) -> List(Alarm)
pub fn todo_categories(t: Todo) -> List(String)
pub fn todo_description(t: Todo) -> option.Option(String)
pub fn todo_dtstamp(t: Todo) -> ast.DateTime
pub fn todo_exdates(t: Todo) -> List(ast.DateTime)
pub fn todo_percent_complete(t: Todo) -> option.Option(Int)
pub fn todo_priority(t: Todo) -> option.Option(Int)
pub fn todo_rdates(t: Todo) -> List(ast.DateTime)
pub fn todo_status(t: Todo) -> option.Option(String)
pub fn todo_summary(t: Todo) -> option.Option(String)
pub fn todo_uid(t: Todo) -> String
pub fn todo_x_properties(t: Todo) -> dict.Dict(String, String)
pub fn todos(cal: Calendar) -> List(Todo)
pub fn unknown_components(
  cal: Calendar,
) -> List(UnknownComponent)
pub fn validate(
  raw: ast.RawCalendar,
) -> Result(Calendar, ValidationError)
pub fn version(cal: Calendar) -> String
pub fn with_alarm_description(
  alarm: Alarm,
  value: String,
) -> Alarm
pub fn with_alarm_duration(alarm: Alarm, value: String) -> Alarm
pub fn with_alarm_repeat(alarm: Alarm, value: Int) -> Alarm
pub fn with_alarm_summary(alarm: Alarm, value: String) -> Alarm
pub fn with_alarm_x_property(
  alarm: Alarm,
  name: String,
  value: String,
) -> Alarm
pub fn with_calendar_x_property(
  cal: Calendar,
  name: String,
  value: String,
) -> Calendar
pub fn with_calscale(cal: Calendar, scale: String) -> Calendar
pub fn with_created(event: Event, dt: ast.DateTime) -> Event
pub fn with_description(event: Event, value: String) -> Event
pub fn with_dtend(event: Event, dt: ast.DateTime) -> Event
pub fn with_dtend_tzid(event: Event, tzid: String) -> Event
pub fn with_dtstart(event: Event, dt: ast.DateTime) -> Event
pub fn with_dtstart_tzid(event: Event, tzid: String) -> Event
pub fn with_duration(event: Event, value: String) -> Event
pub fn with_event_x_property(
  event: Event,
  name: String,
  value: String,
) -> Event
pub fn with_freebusy_dtend(
  fb: FreeBusy,
  dt: ast.DateTime,
) -> FreeBusy
pub fn with_freebusy_dtstart(
  fb: FreeBusy,
  dt: ast.DateTime,
) -> FreeBusy
pub fn with_freebusy_organizer(
  fb: FreeBusy,
  value: String,
) -> FreeBusy
pub fn with_freebusy_x_property(
  fb: FreeBusy,
  name: String,
  value: String,
) -> FreeBusy
pub fn with_journal_description(
  j: Journal,
  value: String,
) -> Journal
pub fn with_journal_dtstart(
  j: Journal,
  dt: ast.DateTime,
) -> Journal
pub fn with_journal_status(j: Journal, value: String) -> Journal
pub fn with_journal_summary(j: Journal, value: String) -> Journal
pub fn with_journal_x_property(
  j: Journal,
  name: String,
  value: String,
) -> Journal
pub fn with_last_modified(
  event: Event,
  dt: ast.DateTime,
) -> Event
pub fn with_location(event: Event, value: String) -> Event
pub fn with_method(cal: Calendar, method: String) -> Calendar
pub fn with_organizer(event: Event, value: String) -> Event
pub fn with_rrule(event: Event, rule: ast.RawRRule) -> Event
pub fn with_sequence(event: Event, value: Int) -> Event
pub fn with_status(event: Event, value: String) -> Event
pub fn with_summary(event: Event, value: String) -> Event
pub fn with_timezone_last_modified(
  tz: Timezone,
  dt: ast.DateTime,
) -> Timezone
pub fn with_timezone_rule_name(
  rule: TimezoneRule,
  value: String,
) -> TimezoneRule
pub fn with_timezone_rule_rrule(
  rule: TimezoneRule,
  value: ast.RawRRule,
) -> TimezoneRule
pub fn with_timezone_url(tz: Timezone, value: String) -> Timezone
pub fn with_timezone_x_property(
  tz: Timezone,
  name: String,
  value: String,
) -> Timezone
pub fn with_todo_completed(t: Todo, dt: ast.DateTime) -> Todo
pub fn with_todo_description(t: Todo, value: String) -> Todo
pub fn with_todo_dtstart(t: Todo, dt: ast.DateTime) -> Todo
pub fn with_todo_due(t: Todo, dt: ast.DateTime) -> Todo
pub fn with_todo_percent_complete(t: Todo, value: Int) -> Todo
pub fn with_todo_priority(t: Todo, value: Int) -> Todo
pub fn with_todo_rrule(t: Todo, rule: ast.RawRRule) -> Todo
pub fn with_todo_status(t: Todo, value: String) -> Todo
pub fn with_todo_summary(t: Todo, value: String) -> Todo
pub fn with_todo_x_property(
  t: Todo,
  name: String,
  value: String,
) -> Todo
pub fn with_transparency(event: Event, value: String) -> Event
pub fn with_url(event: Event, value: String) -> Event
Search Document