@@ -47,57 +47,15 @@ type ('k,'v,'id) t =
47
47
(* should not export [Bs_Cmp.compare].
48
48
should only export [Bs_Cmp.t] or [Bs_Cmp.cmp] instead *)
49
49
50
-
51
-
52
-
53
- val empty : ('k , 'id ) Bs_Cmp .t -> ('k , 'a , 'id ) t
54
-
55
- val ofArray :
56
- ('k ,'id) Bs_Cmp .t ->
57
- ('k * 'a ) array ->
58
- ('k ,'a,'id) t
59
-
50
+ val empty : dict :('k , 'id ) Bs_Cmp .t -> ('k , 'a , 'id ) t
60
51
val isEmpty : _ t -> bool
61
- val mem :
62
- ('k , 'a , 'id ) t -> 'k -> bool
63
-
64
- val update :
65
- ('k , 'a , 'id ) t -> 'k -> 'a -> ('k , 'a , 'id ) t
66
- (* * [update m x y ] returns a map containing the same bindings as
67
- [m], with a new binding of [x] to [y]. If [x] was already bound
68
- in [m], its previous binding disappears. *)
69
- val updateArray :
70
- ('k , 'a , 'id ) t -> ('k * 'a ) array -> ('k , 'a , 'id ) t
71
- val updateWithOpt :
72
- ('k , 'a , 'id ) t ->
73
- 'k ->
74
- ('k option -> 'a option [@ bs]) ->
75
- ('k , 'a , 'id ) t
76
-
77
- val singleton :
78
- ('k ,'id) Bs_Cmp .t ->
79
- 'k -> 'a -> ('k , 'a , 'id ) t
80
-
81
- val remove : ('k , 'a , 'id ) t -> 'k -> ('k , 'a , 'id ) t
82
- (* * [remove m x] when [x] is not in [m], [m] is returned reference unchanged *)
83
-
84
- val merge :
85
- ('k , 'a , 'id ) t ->
86
- ('k , 'b ,'id) t ->
87
- ('k -> 'a option -> 'b option -> 'c option [@ bs]) ->
88
- ('k , 'c ,'id) t
89
- (* * [merge m1 m2 f] computes a map whose keys is a subset of keys of [m1]
90
- and of [m2]. The presence of each such binding, and the corresponding
91
- value, is determined with the function [f].
92
- *)
93
-
52
+ val singleton : 'k -> 'a -> dict :('k ,'id ) Bs_Cmp .t -> ('k , 'a , 'id ) t
53
+ val mem : ('k , 'a , 'id ) t -> 'k -> bool
94
54
val cmp :
95
55
('k , 'v , 'id ) t ->
96
56
('k , 'v , 'id ) t ->
97
57
('v -> 'v -> int [@ bs]) ->
98
58
int
99
-
100
-
101
59
val eq :
102
60
('k , 'a , 'id ) t ->
103
61
('k , 'a , 'id ) t ->
@@ -127,6 +85,55 @@ val exists: ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
127
85
(* * [exists m p] checks if at least one binding of the map
128
86
satisfy the predicate [p]. Order unspecified *)
129
87
88
+ val length : ('k , 'a , 'id ) t -> int
89
+ val toList : ('k , 'a , 'id ) t -> ('k * 'a ) list
90
+ (* * In increasing order*)
91
+ val toArray : ('k , 'a , 'id ) t -> ('k * 'a ) array
92
+ val ofArray : ('k * 'a ) array -> dict :('k ,'id ) Bs_Cmp .t -> ('k ,'a,'id) t
93
+ val keysToArray : ('k , 'a , 'id ) t -> 'k array
94
+ val valuesToArray : ('k , 'a , 'id ) t -> 'a array
95
+ val minKeyOpt : ('k , _ , _ ) t -> 'k option
96
+ val minKeyNull : ('k , _ , _ ) t -> 'k Js .null
97
+ val maxKeyOpt : ('k , _ , _ ) t -> 'k option
98
+ val maxKeyNull : ('k , _ , _ ) t -> 'k Js .null
99
+ val minKeyValueOpt : ('k , 'a , _ ) t -> ('k * 'a ) option
100
+ val minKeyValueNull : ('k , 'a , _ ) t -> ('k * 'a ) Js .null
101
+ val maxKeyValueOpt : ('k , 'a , _ ) t -> ('k * 'a ) option
102
+ val maxKeyValueNull :('k , 'a , _ ) t -> ('k * 'a ) Js .null
103
+ val findOpt : ('k , 'a , 'id ) t -> 'k -> 'a option
104
+ val findNull : ('k , 'a , 'id ) t -> 'k -> 'a Js .null
105
+ val findWithDefault :
106
+ ('k , 'a , 'id ) t -> 'k -> 'a -> 'a
107
+ val findExn : ('k , 'a , 'id ) t -> 'k -> 'a
108
+
109
+ (* ***************************************************************************)
110
+
111
+ val update :
112
+ ('k , 'a , 'id ) t -> 'k -> 'a -> ('k , 'a , 'id ) t
113
+ (* * [update m x y ] returns a map containing the same bindings as
114
+ [m], with a new binding of [x] to [y]. If [x] was already bound
115
+ in [m], its previous binding disappears. *)
116
+ val updateArray :
117
+ ('k , 'a , 'id ) t -> ('k * 'a ) array -> ('k , 'a , 'id ) t
118
+ val updateWithOpt :
119
+ ('k , 'a , 'id ) t ->
120
+ 'k ->
121
+ ('k option -> 'a option [@ bs]) ->
122
+ ('k , 'a , 'id ) t
123
+
124
+ val remove : ('k , 'a , 'id ) t -> 'k -> ('k , 'a , 'id ) t
125
+ (* * [remove m x] when [x] is not in [m], [m] is returned reference unchanged *)
126
+
127
+ val merge :
128
+ ('k , 'a , 'id ) t ->
129
+ ('k , 'b ,'id) t ->
130
+ ('k -> 'a option -> 'b option -> 'c option [@ bs]) ->
131
+ ('k , 'c ,'id) t
132
+ (* * [merge m1 m2 f] computes a map whose keys is a subset of keys of [m1]
133
+ and of [m2]. The presence of each such binding, and the corresponding
134
+ value, is determined with the function [f].
135
+ *)
136
+
130
137
val filter :
131
138
('k , 'a , 'id ) t ->
132
139
('k -> 'a -> bool [@ bs]) ->
@@ -144,20 +151,6 @@ val partition:
144
151
[s] that do not satisfy [p].
145
152
*)
146
153
147
- val length : ('k , 'a , 'id ) t -> int
148
-
149
-
150
- val toList : ('k , 'a , 'id ) t -> ('k * 'a ) list
151
- (* * In increasing order*)
152
- val toArray : ('k , 'a , 'id ) t -> ('k * 'a ) array
153
- val keysToArray : ('k , 'a , 'id ) t -> 'k array
154
- val valuesToArray : ('k , 'a , 'id ) t -> 'a array
155
-
156
- val minKVOpt : ('k , 'a , _ ) t -> ('k * 'a ) option
157
- val minKVNull : ('k , 'a , _ ) t -> ('k * 'a ) Js .null
158
- val maxKVOpt : ('k , 'a , _ ) t -> ('k * 'a ) option
159
- val maxKVNull :('k , 'a , _ ) t -> ('k * 'a ) Js .null
160
-
161
154
val split :
162
155
('k , 'a , 'id ) t -> 'k ->
163
156
(('k , 'a , 'id ) t * ('k , 'a , 'id ) t )* 'a option
@@ -170,11 +163,6 @@ val split:
170
163
or [Some v] if [m] binds [v] to [x].
171
164
*)
172
165
173
- val findOpt : ('k , 'a , 'id ) t -> 'k -> 'a option
174
- val findNull : ('k , 'a , 'id ) t -> 'k -> 'a Js .null
175
- val findWithDefault :
176
- ('k , 'a , 'id ) t -> 'k -> 'a -> 'a
177
- val findExn : ('k , 'a , 'id ) t -> 'k -> 'a
178
166
val map : ('k , 'a , 'id ) t -> ('a -> 'b [@ bs]) -> ('k ,'b,'id ) t
179
167
(* * [map m f] returns a map with same domain as [m], where the
180
168
associated value [a] of all bindings of [m] has been
0 commit comments