1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
include Date_time_components
include Time_ast
include Time
include Infix
module Time_zone = Time_zone
exception Invalid_format_string = Printers.Invalid_format_string
module Date_time = struct
include Time.Date_time'
let to_string = Printers.string_of_date_time
let pp = Printers.pp_date_time
let to_rfc3339 = RFC3339.of_date_time
let of_iso8601 = ISO8601.to_date_time
end
module Duration = struct
include Duration
let to_string = Printers.string_of_duration
let pp = Printers.pp_duration
end
type 'a range = 'a Range.range
type interval = Interval.t
type points = Points.t
let make_points = Points.make
let make_points_exn = Points.make_exn
let resolve = Resolver.resolve
let string_of_timestamp = Printers.string_of_timestamp
let pp_timestamp = Printers.pp_timestamp
let string_of_interval = Printers.string_of_interval
let pp_interval = Printers.pp_interval
let pp_intervals = Printers.pp_intervals
let to_sexp = To_sexp.to_sexp
let pp_sexp = Printers.pp_sexp
let to_sexp_string = To_sexp.to_sexp_string
let of_sexp = Of_sexp.of_sexp
let of_sexp_string = Of_sexp.of_sexp_string
module Utils = struct
let flatten_month_ranges (months : month range Seq.t) : month Seq.t option =
try Some (Month_ranges.Flatten.flatten months)
with Range.Range_is_invalid -> None
let flatten_month_range_list (months : month range list) : month list option =
try Some (Month_ranges.Flatten.flatten_list months)
with Range.Range_is_invalid -> None
let flatten_month_day_ranges (month_days : int range Seq.t) : int Seq.t option
=
try Some (Month_day_ranges.Flatten.flatten month_days)
with Range.Range_is_invalid -> None
let flatten_month_day_range_list (month_days : int range list) :
int list option =
try Some (Month_day_ranges.Flatten.flatten_list month_days)
with Range.Range_is_invalid -> None
let flatten_weekday_ranges (weekdays : weekday range Seq.t) :
weekday Seq.t option =
try Some (Weekday_ranges.Flatten.flatten weekdays)
with Range.Range_is_invalid -> None
let flatten_weekday_range_list (weekdays : weekday range list) :
weekday list option =
try Some (Weekday_ranges.Flatten.flatten_list weekdays)
with Range.Range_is_invalid -> None
let human_int_of_month = human_int_of_month
let tm_int_of_month = tm_int_of_month
let month_of_human_int = month_of_human_int
let month_of_tm_int = month_of_tm_int
let weekday_of_tm_int = weekday_of_tm_int
let tm_int_of_weekday = tm_int_of_weekday
end