@@ -124,13 +124,9 @@ fn do_has_key(key: k, dict: Dict(k, v)) -> Bool {
124
124
125
125
/// Creates a fresh dict that contains no values.
126
126
///
127
- pub fn new ( ) -> Dict ( k, v) {
128
- do_new ( )
129
- }
130
-
131
127
@ external ( erlang , "maps" , "new" )
132
128
@ external ( javascript , "../gleam_stdlib.mjs" , "new_map" )
133
- fn do_new ( ) -> Dict ( k, v)
129
+ pub fn new ( ) -> Dict ( k, v)
134
130
135
131
/// Fetches a value from a dict for a given key.
136
132
///
@@ -149,13 +145,9 @@ fn do_new() -> Dict(k, v)
149
145
/// // -> Error(Nil)
150
146
/// ```
151
147
///
152
- pub fn get ( from : Dict ( k, v) , get : k) -> Result ( v, Nil ) {
153
- do_get ( from , get )
154
- }
155
-
156
148
@ external ( erlang , "gleam_stdlib" , "map_get" )
157
149
@ external ( javascript , "../gleam_stdlib.mjs" , "map_get" )
158
- fn do_get ( dict : Dict ( k, v) , key : k) -> Result ( v, Nil )
150
+ pub fn get ( from : Dict ( k, v) , get : k) -> Result ( v, Nil )
159
151
160
152
/// Inserts a value into the dict with the given key.
161
153
///
@@ -216,12 +208,8 @@ fn do_map_values(f: fn(k, v) -> a, dict: Dict(k, v)) -> Dict(k, a) {
216
208
/// // -> ["a", "b"]
217
209
/// ```
218
210
///
219
- pub fn keys ( dict : Dict ( k, v) ) -> List ( k) {
220
- do_keys ( dict )
221
- }
222
-
223
211
@ external ( erlang , "maps" , "keys" )
224
- fn do_keys ( dict : Dict ( k, v) ) -> List ( k) {
212
+ pub fn keys ( dict : Dict ( k, v) ) -> List ( k) {
225
213
let list_of_pairs = to_list ( dict )
226
214
do_keys_loop ( list_of_pairs , [ ] )
227
215
}
@@ -253,12 +241,8 @@ fn do_keys_loop(list: List(#(k, v)), acc: List(k)) -> List(k) {
253
241
/// // -> [0, 1]
254
242
/// ```
255
243
///
256
- pub fn values ( dict : Dict ( k, v) ) -> List ( v) {
257
- do_values ( dict )
258
- }
259
-
260
244
@ external ( erlang , "maps" , "values" )
261
- fn do_values ( dict : Dict ( k, v) ) -> List ( v) {
245
+ pub fn values ( dict : Dict ( k, v) ) -> List ( v) {
262
246
let list_of_pairs = to_list ( dict )
263
247
do_values_loop ( list_of_pairs , [ ] )
264
248
}
@@ -363,12 +347,8 @@ fn do_take_loop(
363
347
/// // -> from_list([#("a", 0), #("b", 2), #("c", 3)])
364
348
/// ```
365
349
///
366
- pub fn merge ( into dict : Dict ( k, v) , from new_entries : Dict ( k, v) ) -> Dict ( k, v) {
367
- do_merge ( dict , new_entries )
368
- }
369
-
370
350
@ external ( erlang , "maps" , "merge" )
371
- fn do_merge ( dict : Dict ( k, v) , new_entries : Dict ( k, v) ) -> Dict ( k, v) {
351
+ pub fn merge ( into dict : Dict ( k, v) , from new_entries : Dict ( k, v) ) -> Dict ( k, v) {
372
352
new_entries
373
353
|> to_list
374
354
|> fold_inserts ( dict )
0 commit comments