package icalendar

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type timestamp_utc = Ptime.t
val equal_timestamp_utc : timestamp_utc -> timestamp_utc -> Ppx_deriving_runtime.bool
val pp_timestamp_utc : Ppx_deriving_runtime.Format.formatter -> timestamp_utc -> Ppx_deriving_runtime.unit
val show_timestamp_utc : timestamp_utc -> Ppx_deriving_runtime.string
type timestamp_local = Ptime.t
val pp_timestamp_local : Ppx_deriving_runtime.Format.formatter -> timestamp_local -> Ppx_deriving_runtime.unit
val show_timestamp_local : timestamp_local -> Ppx_deriving_runtime.string
type utc_or_timestamp_local = [
  1. | `Utc of timestamp_utc
  2. | `Local of timestamp_local
]
val pp_utc_or_timestamp_local : Ppx_deriving_runtime.Format.formatter -> utc_or_timestamp_local -> Ppx_deriving_runtime.unit
val show_utc_or_timestamp_local : utc_or_timestamp_local -> Ppx_deriving_runtime.string
type timestamp = [
  1. | utc_or_timestamp_local
  2. | `With_tzid of timestamp_local * (bool * string)
]
val equal_timestamp : timestamp -> timestamp -> Ppx_deriving_runtime.bool
val pp_timestamp : Ppx_deriving_runtime.Format.formatter -> timestamp -> Ppx_deriving_runtime.unit
val show_timestamp : timestamp -> Ppx_deriving_runtime.string
type date_or_datetime = [
  1. | `Datetime of timestamp
  2. | `Date of Ptime.date
]
type weekday = [
  1. | `Friday
  2. | `Monday
  3. | `Saturday
  4. | `Sunday
  5. | `Thursday
  6. | `Tuesday
  7. | `Wednesday
]
val equal_weekday : weekday -> weekday -> Ppx_deriving_runtime.bool
val pp_weekday : Ppx_deriving_runtime.Format.formatter -> weekday -> Ppx_deriving_runtime.unit
val show_weekday : weekday -> Ppx_deriving_runtime.string
type recur = [
  1. | `Byminute of int list
  2. | `Byday of (int * weekday) list
  3. | `Byhour of int list
  4. | `Bymonth of int list
  5. | `Bymonthday of int list
  6. | `Bysecond of int list
  7. | `Bysetposday of int list
  8. | `Byweek of int list
  9. | `Byyearday of int list
  10. | `Weekday of weekday
]
val equal_recur : recur -> recur -> Ppx_deriving_runtime.bool
val pp_recur : Ppx_deriving_runtime.Format.formatter -> recur -> Ppx_deriving_runtime.unit
type freq = [
  1. | `Daily
  2. | `Hourly
  3. | `Minutely
  4. | `Monthly
  5. | `Secondly
  6. | `Weekly
  7. | `Yearly
]
val equal_freq : freq -> freq -> Ppx_deriving_runtime.bool
val pp_freq : Ppx_deriving_runtime.Format.formatter -> freq -> Ppx_deriving_runtime.unit
type count_or_until = [
  1. | `Count of int
  2. | `Until of utc_or_timestamp_local
]
val pp_count_or_until : Ppx_deriving_runtime.Format.formatter -> count_or_until -> Ppx_deriving_runtime.unit
val show_count_or_until : count_or_until -> Ppx_deriving_runtime.string
type interval = int
type recurrence = freq * count_or_until option * interval option * recur list
val equal_recurrence : recurrence -> recurrence -> Ppx_deriving_runtime.bool
val pp_recurrence : Ppx_deriving_runtime.Format.formatter -> recurrence -> Ppx_deriving_runtime.unit
val show_recurrence : recurrence -> Ppx_deriving_runtime.string
type valuetype = [
  1. | `Binary
  2. | `Boolean
  3. | `Caladdress
  4. | `Date
  5. | `Datetime
  6. | `Duration
  7. | `Float
  8. | `Integer
  9. | `Period
  10. | `Recur
  11. | `Text
  12. | `Time
  13. | `Uri
  14. | `Utcoffset
  15. | `Xname of string * string
  16. | `Ianatoken of string
]
type cutype = [
  1. | `Group
  2. | `Individual
  3. | `Resource
  4. | `Room
  5. | `Unknown
  6. | `Ianatoken of string
  7. | `Xname of string * string
]
type partstat = [
  1. | `Accepted
  2. | `Completed
  3. | `Declined
  4. | `Delegated
  5. | `In_process
  6. | `Needs_action
  7. | `Tentative
  8. | `Ianatoken of string
  9. | `Xname of string * string
]
type role = [
  1. | `Chair
  2. | `Nonparticipant
  3. | `Optparticipant
  4. | `Reqparticipant
  5. | `Ianatoken of string
  6. | `Xname of string * string
]
type relationship = [
  1. | `Parent
  2. | `Child
  3. | `Sibling
  4. | `Ianatoken of string
  5. | `Xname of string * string
]
type fbtype = [
  1. | `Free
  2. | `Busy
  3. | `Busy_Unavailable
  4. | `Busy_Tentative
  5. | `Ianatoken of string
  6. | `Xname of string * string
]
val equal_fbtype : fbtype -> fbtype -> Ppx_deriving_runtime.bool
val pp_fbtype : Ppx_deriving_runtime.Format.formatter -> fbtype -> Ppx_deriving_runtime.unit
val show_fbtype : fbtype -> Ppx_deriving_runtime.string
type param_value = [
  1. | `Quoted of string
  2. | `String of string
]
type _ icalparameter =
  1. | Altrep : Uri.t icalparameter
  2. | Cn : param_value icalparameter
  3. | Cutype : cutype icalparameter
  4. | Delegated_from : Uri.t list icalparameter
  5. | Delegated_to : Uri.t list icalparameter
  6. | Dir : Uri.t icalparameter
  7. | Encoding : [ `Base64 ] icalparameter
  8. | Media_type : (string * string) icalparameter
  9. | Fbtype : fbtype icalparameter
  10. | Language : string icalparameter
  11. | Member : Uri.t list icalparameter
  12. | Partstat : partstat icalparameter
  13. | Range : [ `Thisandfuture ] icalparameter
  14. | Related : [ `Start | `End ] icalparameter
  15. | Reltype : relationship icalparameter
  16. | Role : role icalparameter
  17. | Rsvp : bool icalparameter
  18. | Sentby : Uri.t icalparameter
  19. | Tzid : (bool * string) icalparameter
  20. | Valuetype : valuetype icalparameter
  21. | Iana_param : string -> param_value list icalparameter
  22. | Xparam : (string * string) -> param_value list icalparameter
module Params : sig ... end
type params = Params.t
type other_prop = [
  1. | `Iana_prop of string * params * string
  2. | `Xprop of (string * string) * params * string
]
val equal_other_prop : other_prop -> other_prop -> Ppx_deriving_runtime.bool
val pp_other_prop : Ppx_deriving_runtime.Format.formatter -> other_prop -> Ppx_deriving_runtime.unit
val show_other_prop : other_prop -> Ppx_deriving_runtime.string
type cal_prop = [
  1. | `Prodid of params * string
  2. | `Version of params * string
  3. | `Calscale of params * string
  4. | `Method of params * string
  5. | other_prop
]
type class_ = [
  1. | `Public
  2. | `Private
  3. | `Confidential
  4. | `Ianatoken of string
  5. | `Xname of string * string
]
type status = [
  1. | `Draft
  2. | `Final
  3. | `Cancelled
  4. | `Needs_action
  5. | `Completed
  6. | `In_process
  7. | `Tentative
  8. | `Confirmed
]
type period = timestamp * Ptime.Span.t * bool
type period_utc = timestamp_utc * Ptime.Span.t * bool
type dates_or_datetimes = [
  1. | `Datetimes of timestamp list
  2. | `Dates of Ptime.date list
]
type dates_or_datetimes_or_periods = [
  1. | dates_or_datetimes
  2. | `Periods of period list
]
type general_prop = [
  1. | `Dtstamp of params * timestamp_utc
  2. | `Uid of params * string
  3. | `Dtstart of params * date_or_datetime
  4. | `Class of params * class_
  5. | `Created of params * timestamp_utc
  6. | `Description of params * string
  7. | `Geo of params * (float * float)
  8. | `Lastmod of params * timestamp_utc
  9. | `Location of params * string
  10. | `Organizer of params * Uri.t
  11. | `Priority of params * int
  12. | `Seq of params * int
  13. | `Status of params * status
  14. | `Summary of params * string
  15. | `Url of params * Uri.t
  16. | `Recur_id of params * date_or_datetime
  17. | `Rrule of params * recurrence
  18. | `Duration of params * Ptime.Span.t
  19. | `Attach of params * [ `Uri of Uri.t | `Binary of string ]
  20. | `Attendee of params * Uri.t
  21. | `Categories of params * string list
  22. | `Comment of params * string
  23. | `Contact of params * string
  24. | `Exdate of params * dates_or_datetimes
  25. | `Rstatus of params * ((int * int * int option) * string * string option)
  26. | `Related of params * string
  27. | `Resource of params * string list
  28. | `Rdate of params * dates_or_datetimes_or_periods
]
type event_prop = [
  1. | general_prop
  2. | `Transparency of params * [ `Transparent | `Opaque ]
  3. | `Dtend of params * date_or_datetime
  4. | other_prop
]
type 'a alarm_struct = {
  1. trigger : params * [ `Duration of Ptime.Span.t | `Datetime of timestamp_utc ];
  2. duration_repeat : ((params * Ptime.Span.t) * (params * int)) option;
  3. other : other_prop list;
  4. special : 'a;
}
type audio_struct = {
  1. attach : (params * [ `Uri of Uri.t | `Binary of string ]) option;
}
type display_struct = {
  1. description : params * string;
}
type email_struct = {
  1. description : params * string;
  2. summary : params * string;
  3. attendees : (params * Uri.t) list;
  4. attach : (params * [ `Uri of Uri.t | `Binary of string ]) option;
}
type alarm = [
  1. | `Audio of audio_struct alarm_struct
  2. | `Display of display_struct alarm_struct
  3. | `Email of email_struct alarm_struct
  4. | `None of unit alarm_struct
]
type tz_prop = [
  1. | `Dtstart_local of params * timestamp_local
  2. | `Tzoffset_to of params * Ptime.Span.t
  3. | `Tzoffset_from of params * Ptime.Span.t
  4. | `Rrule of params * recurrence
  5. | `Comment of params * string
  6. | `Rdate of params * dates_or_datetimes_or_periods
  7. | `Tzname of params * string
  8. | other_prop
]
type timezone_prop = [
  1. | `Timezone_id of params * (bool * string)
  2. | `Lastmod of params * timestamp_utc
  3. | `Tzurl of params * Uri.t
  4. | `Standard of tz_prop list
  5. | `Daylight of tz_prop list
  6. | other_prop
]
type todo_prop = [
  1. | general_prop
  2. | `Completed of params * timestamp_utc
  3. | `Percent of params * int
  4. | `Due of params * date_or_datetime
  5. | other_prop
]
type freebusy_prop = [
  1. | `Dtstamp of params * timestamp_utc
  2. | `Uid of params * string
  3. | `Contact of params * string
  4. | `Dtstart_utc of params * timestamp_utc
  5. | `Dtend_utc of params * timestamp_utc
  6. | `Organizer of params * Uri.t
  7. | `Url of params * Uri.t
  8. | `Attendee of params * Uri.t
  9. | `Comment of params * string
  10. | `Freebusy of params * period_utc list
  11. | `Rstatus of params * ((int * int * int option) * string * string option)
  12. | other_prop
]
type event = {
  1. dtstamp : params * timestamp_utc;
  2. uid : params * string;
  3. dtstart : params * date_or_datetime;
  4. dtend_or_duration : [ `Duration of params * Ptime.Span.t | `Dtend of params * date_or_datetime ] option;
  5. rrule : (params * recurrence) option;
  6. props : event_prop list;
  7. alarms : alarm list;
}
type timezone = timezone_prop list
type component = [
  1. | `Event of event
  2. | `Todo of todo_prop list * alarm list
  3. | `Freebusy of freebusy_prop list
  4. | `Timezone of timezone
]
val pp_component : Ppx_deriving_runtime.Format.formatter -> component -> Ppx_deriving_runtime.unit
val show_component : component -> Ppx_deriving_runtime.string
val component_to_ics_key : component -> string
type calendar = cal_prop list * component list
val parse_datetime : string -> (timestamp, string) Stdlib.result
val parse : string -> (calendar, string) Stdlib.result
val pp : calendar Fmt.t
val equal_calendar : calendar -> calendar -> bool
type comp = [
  1. | `Allcomp
  2. | `Comp of component_transform list
]
and prop = [
  1. | `Allprop
  2. | `Prop of (string * bool) list
]
and component_transform = string * prop * comp
val pp_comp : Ppx_deriving_runtime.Format.formatter -> comp -> Ppx_deriving_runtime.unit
val pp_prop : Ppx_deriving_runtime.Format.formatter -> prop -> Ppx_deriving_runtime.unit
val pp_component_transform : Ppx_deriving_runtime.Format.formatter -> component_transform -> Ppx_deriving_runtime.unit
val show_component_transform : component_transform -> Ppx_deriving_runtime.string
val equal_comp : comp -> comp -> Ppx_deriving_runtime.bool
val equal_prop : prop -> prop -> Ppx_deriving_runtime.bool
val to_ics : ?cr:bool -> ?filter:component_transform option -> calendar -> string
module Writer : sig ... end
val recur_dates : Ptime.t -> recurrence -> unit -> Ptime.t option
val recur_events : event -> unit -> event option
val normalize_timezone : Ptime.t -> (bool * Stdlib.String.t) -> timezone_prop list list -> Ptime.t option