@@ -8,19 +8,35 @@ let sort_jsoo a =
88 let x = Option. get @@ Js.Optdef. to_option @@ Js. array_get a 0 in
99 let y = Option. get @@ Js.Optdef. to_option @@ Js. array_get a 1 in
1010 let start =
11- date_of_jsoo @@ Option. get @@ Js.Optdef. to_option @@ Js. array_get x 0
11+ date_of_jsoo
12+ @@ Js.Unsafe. coerce
13+ @@ Option. get
14+ @@ Js.Optdef. to_option
15+ @@ Js. array_get x 0
1216 in
1317 let stop =
14- date_of_jsoo @@ Option. get @@ Js.Optdef. to_option @@ Js. array_get x 1
18+ date_of_jsoo
19+ @@ Js.Unsafe. coerce
20+ @@ Option. get
21+ @@ Js.Optdef. to_option
22+ @@ Js. array_get x 1
1523 in
16- (start, stop), y)
24+ (start, stop), Js.Unsafe. coerce y)
1725 @@ Js. to_array a
1826 in
1927 let a = sort a in
2028 Js. array
2129 @@ Array. map
2230 (fun ((start , stop ), b ) ->
23- Js. array [| Js. array [| date_to_jsoo start; date_to_jsoo stop |]; b |])
31+ Js. array
32+ [|
33+ Js. array
34+ [|
35+ Js.Unsafe. inject @@ date_to_jsoo start;
36+ Js.Unsafe. inject @@ date_to_jsoo stop;
37+ |];
38+ Js.Unsafe. coerce b;
39+ |])
2440 a
2541
2642let split_by_month_jsoo a =
@@ -40,10 +56,28 @@ let split_by_year_jsoo start_month a =
4056 (fun (d1 , d2 ) -> Js. array [| date_to_jsoo d1; date_to_jsoo d2 |])
4157 (split_by_year start_month (date_of_jsoo start, date_of_jsoo stop)))
4258
43- let () =
44- Js. export " Period_internal"
45- (object % js
46- method sort a = sort_jsoo a
47- method split_by_month_ a = split_by_month_jsoo a
48- method split_by_year_ s a = split_by_year_jsoo s a
49- end)
59+ class type default_ct = object
60+ method sort :
61+ Js.Unsafe. any Js. js_array Js. t Js. js_array Js. t Js. js_array Js. t ->
62+ Js.Unsafe. any Js. js_array Js. t Js. js_array Js. t Js. js_array Js. t Js. meth
63+
64+ method split_by_month_ :
65+ date_jsoo Js. js_array Js. t ->
66+ date_jsoo Js. js_array Js. t Js. js_array Js. t Js. meth
67+
68+ method split_by_year_ :
69+ integer_jsoo ->
70+ date_jsoo Js. js_array Js. t ->
71+ date_jsoo Js. js_array Js. t Js. js_array Js. t Js. meth
72+ end
73+
74+ type default = default_ct Js .t
75+
76+ let default : default =
77+ object % js
78+ method sort a = sort_jsoo a
79+ method split_by_month_ a = split_by_month_jsoo a
80+ method split_by_year_ s a = split_by_year_jsoo s a
81+ end
82+
83+ let () = Js. export " Period_internal" default
0 commit comments