Module Ics

type moment = {
  1. date : Civil.date;
  2. time : int option;
  3. utc : bool;
}
type event = {
  1. uid : string;
  2. summary : string;
  3. description : string;
  4. location : string;
  5. start : moment;
  6. end_ : moment option;
  7. rrule : Recur.rule option;
}
type todo = {
  1. uid : string;
  2. summary : string;
  3. due : moment option;
  4. priority : int;
  5. completed : bool;
}
type calendar = {
  1. events : event list;
  2. todos : todo list;
}
val occurrences : event -> from:Civil.date -> upto:Civil.date -> Civil.date list
val of_string : string -> calendar
val to_string : stamp:moment -> calendar -> string
val unfold : string -> string list
val fold : string -> string
val content_line : string -> (string * (string * string) list * string) option
val escape : string -> string
val unescape : string -> string
val moment_of_string : string -> moment option
val moment_to_string : moment -> string
val rule_of_string : string -> Recur.rule option
val rule_to_string : Recur.rule -> string