diff options
author | Louis Pilfold <louis@lpil.uk> | 2019-10-20 18:02:39 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2019-10-20 18:02:39 +0100 |
commit | edaa30bda6520be7940e8c8fb8d0ec95947201e0 (patch) | |
tree | 482157a6b73536e9939dec81332db544f030d0e6 | |
parent | 81b3ca2b9b3dceedd62fbcef741548ae8a513601 (diff) | |
download | gleam_stdlib-edaa30bda6520be7940e8c8fb8d0ec95947201e0.tar.gz gleam_stdlib-edaa30bda6520be7940e8c8fb8d0ec95947201e0.zip |
Rename map functions
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | gen/src/gleam@map.erl | 24 | ||||
-rw-r--r-- | gen/test/gleam@any_test.erl | 6 | ||||
-rw-r--r-- | gen/test/gleam@map_test.erl | 18 | ||||
-rw-r--r-- | src/gleam/map.gleam | 22 | ||||
-rw-r--r-- | src/gleam_stdlib.erl | 4 | ||||
-rw-r--r-- | test/gleam/any_test.gleam | 6 | ||||
-rw-r--r-- | test/gleam/map_test.gleam | 16 |
8 files changed, 49 insertions, 48 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index f2375c6..6321a32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased +- `map.fetch` has been renamed to `map.get` and `map.put` to `map.insert`. - The `pair` module gains the `map_first`, and `map_second` functions. - The `string` module gains the `compare` function. - The `float` module gains the `max`, and `min` functions. diff --git a/gen/src/gleam@map.erl b/gen/src/gleam@map.erl index 96d8b83..778509c 100644 --- a/gen/src/gleam@map.erl +++ b/gen/src/gleam@map.erl @@ -1,7 +1,7 @@ -module(gleam@map). -compile(no_auto_import). --export([size/1, to_list/1, from_list/1, has_key/2, new/0, fetch/2, put/3, map_values/2, keys/1, values/1, filter/2, take/2, merge/2, delete/2, drop/2, update/3, fold/3]). +-export([size/1, to_list/1, from_list/1, has_key/2, new/0, get/2, insert/3, map_values/2, keys/1, values/1, filter/2, take/2, merge/2, delete/2, drop/2, update/3, fold/3]). size(A) -> maps:size(A). @@ -21,14 +21,14 @@ has_key(Map, Key) -> new() -> maps:new(). -fetch(A, B) -> - gleam_stdlib:map_fetch(A, B). +get(A, B) -> + gleam_stdlib:map_get(A, B). -erl_put(A, B, C) -> +erl_insert(A, B, C) -> maps:put(A, B, C). -put(Map, Key, Value) -> - erl_put(Key, Value, Map). +insert(Map, Key, Value) -> + erl_insert(Key, Value, Map). erl_map_values(A, B) -> maps:map(A, B). @@ -66,13 +66,13 @@ delete(Map, Key) -> drop(Map, Keys) -> gleam@list:fold(Keys, Map, fun(Key, Acc) -> delete(Acc, Key) end). -update(Dict, Key, F) -> - case fetch(Dict, Key) of +update(Map, Key, F) -> + case get(Map, Key) of {ok, Value} -> - put(Dict, Key, F({ok, Value})); + insert(Map, Key, F({ok, Value})); {error, _} -> - put(Dict, Key, F({error, nil})) + insert(Map, Key, F({error, nil})) end. do_fold(List, Acc, F) -> @@ -84,6 +84,6 @@ do_fold(List, Acc, F) -> do_fold(Tail, F(K, V, Acc), F) end. -fold(Dict, Acc, F) -> - Kvs = to_list(Dict), +fold(Map, Acc, F) -> + Kvs = to_list(Map), do_fold(Kvs, Acc, F). diff --git a/gen/test/gleam@any_test.erl b/gen/test/gleam@any_test.erl index 59a5067..ed58ebf 100644 --- a/gen/test/gleam@any_test.erl +++ b/gen/test/gleam@any_test.erl @@ -152,7 +152,7 @@ field_test() -> {ok, ErrorAtom} = gleam@atom:from_string(<<"error">>), gleam@expect:equal( gleam@any:field( - gleam@any:from(gleam@map:put(gleam@map:new(), OkAtom, 1)), + gleam@any:from(gleam@map:insert(gleam@map:new(), OkAtom, 1)), OkAtom ), {ok, gleam@any:from(1)} @@ -160,8 +160,8 @@ field_test() -> gleam@expect:equal( gleam@any:field( gleam@any:from( - gleam@map:put( - gleam@map:put(gleam@map:new(), OkAtom, 3), + gleam@map:insert( + gleam@map:insert(gleam@map:new(), OkAtom, 3), ErrorAtom, 1 ) diff --git a/gen/test/gleam@map_test.erl b/gen/test/gleam@map_test.erl index 9ef0149..5409e85 100644 --- a/gen/test/gleam@map_test.erl +++ b/gen/test/gleam@map_test.erl @@ -1,7 +1,7 @@ -module(gleam@map_test). -compile(no_auto_import). --export([from_list_test/0, has_key_test/0, new_test/0, fetch_test/0, put_test/0, map_values_test/0, keys_test/0, values_test/0, take_test/0, drop_test/0, merge_test/0, delete_test/0, update_test/0, fold_test/0]). +-export([from_list_test/0, has_key_test/0, new_test/0, get_test/0, insert_test/0, map_values_test/0, keys_test/0, values_test/0, take_test/0, drop_test/0, merge_test/0, delete_test/0, update_test/0, fold_test/0]). from_list_test() -> gleam@expect:equal( @@ -23,18 +23,18 @@ new_test() -> gleam@expect:equal(gleam@map:size(gleam@map:new()), 0), gleam@expect:equal(gleam@map:to_list(gleam@map:new()), []). -fetch_test() -> +get_test() -> Proplist = [{4, 0}, {1, 1}], M = gleam@map:from_list(Proplist), - gleam@expect:equal(gleam@map:fetch(M, 4), {ok, 0}), - gleam@expect:equal(gleam@map:fetch(M, 1), {ok, 1}), - gleam@expect:equal(gleam@map:fetch(M, 2), {error, nil}). + gleam@expect:equal(gleam@map:get(M, 4), {ok, 0}), + gleam@expect:equal(gleam@map:get(M, 1), {ok, 1}), + gleam@expect:equal(gleam@map:get(M, 2), {error, nil}). -put_test() -> +insert_test() -> gleam@expect:equal( - gleam@map:put( - gleam@map:put( - gleam@map:put(gleam@map:new(), <<"a">>, 0), + gleam@map:insert( + gleam@map:insert( + gleam@map:insert(gleam@map:new(), <<"a">>, 0), <<"b">>, 1 ), diff --git a/src/gleam/map.gleam b/src/gleam/map.gleam index 3330dcc..57c3228 100644 --- a/src/gleam/map.gleam +++ b/src/gleam/map.gleam @@ -24,14 +24,14 @@ pub fn has_key(map, key) { pub external fn new() -> Map(key, value) = "maps" "new" -pub external fn fetch(Map(key, value), key) -> Result(value, Nil) - = "gleam_stdlib" "map_fetch"; +pub external fn get(Map(key, value), key) -> Result(value, Nil) + = "gleam_stdlib" "map_get"; -external fn erl_put(key, value, Map(key, value)) -> Map(key, value) +external fn erl_insert(key, value, Map(key, value)) -> Map(key, value) = "maps" "put"; -pub fn put(map, key, value) { - erl_put(key, value, map) +pub fn insert(map, key, value) { + erl_insert(key, value, map) } external fn erl_map_values(fn(key, value) -> value, Map(key, value)) @@ -76,10 +76,10 @@ pub fn drop(map, keys) { }) } -pub fn update(dict, key, f) { - case fetch(dict, key) { - | Ok(value) -> put(dict, key, f(Ok(value))) - | Error(_) -> put(dict, key, f(Error(Nil))) +pub fn update(map, key, f) { + case get(map, key) { + | Ok(value) -> insert(map, key, f(Ok(value))) + | Error(_) -> insert(map, key, f(Error(Nil))) } } @@ -90,7 +90,7 @@ fn do_fold(list, acc, f) { } } -pub fn fold(dict, acc, f) { - let kvs = to_list(dict) +pub fn fold(map, acc, f) { + let kvs = to_list(map) do_fold(kvs, acc, f) } diff --git a/src/gleam_stdlib.erl b/src/gleam_stdlib.erl index 03f26e6..95fa252 100644 --- a/src/gleam_stdlib.erl +++ b/src/gleam_stdlib.erl @@ -3,7 +3,7 @@ -export([expect_equal/2, expect_not_equal/2, expect_true/1, expect_false/1, expect_is_ok/1, expect_is_error/1, atom_from_string/1, - atom_create_from_string/1, atom_to_string/1, map_fetch/2, + atom_create_from_string/1, atom_to_string/1, map_get/2, iodata_append/2, iodata_prepend/2, identity/1, decode_int/1, decode_string/1, decode_bool/1, decode_float/1, decode_thunk/1, decode_atom/1, decode_pair/1, decode_list/1, decode_field/2, parse_int/1, parse_float/1, compare_strings/2]). @@ -15,7 +15,7 @@ expect_false(A) -> ?assertNot(A). expect_is_ok(A) -> ?assertMatch({ok, _}, A). expect_is_error(A) -> ?assertMatch({error, _}, A). -map_fetch(Map, Key) -> +map_get(Map, Key) -> case maps:find(Key, Map) of error -> {error, nil}; OkFound -> OkFound diff --git a/test/gleam/any_test.gleam b/test/gleam/any_test.gleam index af184d8..376d454 100644 --- a/test/gleam/any_test.gleam +++ b/test/gleam/any_test.gleam @@ -222,14 +222,14 @@ pub fn field_test() { let Ok(error_atom) = atom.from_string("error") map.new() - |> map.put(_, ok_atom, 1) + |> map.insert(_, ok_atom, 1) |> any.from |> any.field(_, ok_atom) |> expect.equal(_, Ok(any.from(1))) map.new() - |> map.put(_, ok_atom, 3) - |> map.put(_, error_atom, 1) + |> map.insert(_, ok_atom, 3) + |> map.insert(_, error_atom, 1) |> any.from |> any.field(_, ok_atom) |> expect.equal(_, Ok(any.from(3))) diff --git a/test/gleam/map_test.gleam b/test/gleam/map_test.gleam index 20e7999..3d117c3 100644 --- a/test/gleam/map_test.gleam +++ b/test/gleam/map_test.gleam @@ -53,7 +53,7 @@ pub fn new_test() { |> expect.equal(_, []) } -pub fn fetch_test() { +pub fn get_test() { let proplist = [ pair.Pair(4, 0), pair.Pair(1, 1), @@ -61,23 +61,23 @@ pub fn fetch_test() { let m = map.from_list(proplist) m - |> map.fetch(_, 4) + |> map.get(_, 4) |> expect.equal(_, Ok(0)) m - |> map.fetch(_, 1) + |> map.get(_, 1) |> expect.equal(_, Ok(1)) m - |> map.fetch(_, 2) + |> map.get(_, 2) |> expect.equal(_, Error(Nil)) } -pub fn put_test() { +pub fn insert_test() { map.new() - |> map.put(_, "a", 0) - |> map.put(_, "b", 1) - |> map.put(_, "c", 2) + |> map.insert(_, "a", 0) + |> map.insert(_, "b", 1) + |> map.insert(_, "c", 2) |> expect.equal(_, map.from_list([ pair.Pair("a", 0), pair.Pair("b", 1), |