diff options
author | Louis Pilfold <louis@lpil.uk> | 2019-03-12 18:30:12 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2019-03-12 18:32:51 +0000 |
commit | 80a8083b143eaa24218ec5fda16f947658fb823d (patch) | |
tree | 32b64f2327e30270e0f2126ee0f80363956d4527 /gen | |
parent | 2a7d9061e4ec9c763053b078db2d98400bd08dd5 (diff) | |
download | gleam_stdlib-80a8083b143eaa24218ec5fda16f947658fb823d.tar.gz gleam_stdlib-80a8083b143eaa24218ec5fda16f947658fb823d.zip |
Compile map module
Diffstat (limited to 'gen')
-rw-r--r-- | gen/any.erl | 1 | ||||
-rw-r--r-- | gen/bool.erl | 1 | ||||
-rw-r--r-- | gen/expect.erl | 1 | ||||
-rw-r--r-- | gen/iodata.erl | 3 | ||||
-rw-r--r-- | gen/list.erl | 3 | ||||
-rw-r--r-- | gen/map.erl | 62 | ||||
-rw-r--r-- | gen/order.erl | 1 | ||||
-rw-r--r-- | gen/result.erl | 1 |
8 files changed, 63 insertions, 10 deletions
diff --git a/gen/any.erl b/gen/any.erl index 9ea0087..bfca689 100644 --- a/gen/any.erl +++ b/gen/any.erl @@ -1,4 +1,5 @@ -module(any). +-compile(no_auto_import). -export([from/1, unsafeCoerce/1]). diff --git a/gen/bool.erl b/gen/bool.erl index 9024a16..8b9c1c4 100644 --- a/gen/bool.erl +++ b/gen/bool.erl @@ -1,4 +1,5 @@ -module(bool). +-compile(no_auto_import). -include_lib("eunit/include/eunit.hrl"). -export([max/2, min/2, to_int/1]). diff --git a/gen/expect.erl b/gen/expect.erl index 2152c4f..4d42f10 100644 --- a/gen/expect.erl +++ b/gen/expect.erl @@ -1,4 +1,5 @@ -module(expect). +-compile(no_auto_import). -export([equal/2, not_equal/2, true/1, false/1, fail/0]). diff --git a/gen/iodata.erl b/gen/iodata.erl index 0eaaca2..9704413 100644 --- a/gen/iodata.erl +++ b/gen/iodata.erl @@ -1,9 +1,10 @@ -module(iodata). +-compile(no_auto_import). -export([prepend/2, append/2, from/1, to_string/1, byte_size/1]). prepend(A, B) -> - gleam__stdlib:iodata_prepend(A, B). + gleam__stdlib:iodata_concat(A, B). append(A, B) -> gleam__stdlib:iodata_append(A, B). diff --git a/gen/list.erl b/gen/list.erl index 0e5f1f2..964dc69 100644 --- a/gen/list.erl +++ b/gen/list.erl @@ -1,4 +1,5 @@ -module(list). +-compile(no_auto_import). -include_lib("eunit/include/eunit.hrl"). -export([length/1, reverse/1, is_empty/1, has_member/2, head/1, tail/1, map/2, do_traverse/3, traverse/2, new/0, foldl/3, foldr/3]). @@ -15,7 +16,7 @@ length_test() -> -endif. reverse(A) -> - erlang:reverse(A). + lists:reverse(A). -ifdef(TEST). reverse_test() -> diff --git a/gen/map.erl b/gen/map.erl index db29fd0..c2a07d4 100644 --- a/gen/map.erl +++ b/gen/map.erl @@ -1,10 +1,8 @@ -module(map). +-compile(no_auto_import). -include_lib("eunit/include/eunit.hrl"). --export([new/0, size/1, to_list/1, from_list/1, fetch/2, map_values/2, keys/1, values/1, filter/2]). - -new() -> - maps:new(). +-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]). size(A) -> maps:size(A). @@ -19,8 +17,38 @@ from_list(A) -> from_list_test() -> Proplist = [{4, 0}, {1, 0}], Map = from_list(Proplist), - _ = (fun(Capture1) -> expect:equal(Capture1, 2) end)(size(Map)), - (fun(Capture1) -> expect:equal(Capture1, Proplist) end)(to_list(Map)). + (fun(Capture1) -> expect:equal(Capture1, 2) end)(size(Map)). +-endif. + +is_key(A, B) -> + maps:is_key(A, B). + +has_key(Map, Key) -> + is_key(Key, Map). + +-ifdef(TEST). +has_key_test() -> + _ = expect:false((fun(Capture1) -> + has_key(Capture1, 1) + end)(from_list([]))), + _ = expect:true((fun(Capture1) -> + has_key(Capture1, 1) + end)(from_list([{1, 0}]))), + _ = expect:true((fun(Capture1) -> + has_key(Capture1, 1) + end)(from_list([{4, 0}, {1, 0}]))), + expect:false((fun(Capture1) -> + has_key(Capture1, 0) + end)(from_list([{4, 0}, {1, 0}]))). +-endif. + +new() -> + maps:new(). + +-ifdef(TEST). +new_test() -> + _ = (fun(Capture1) -> expect:equal(Capture1, 0) end)(size(new())), + (fun(Capture1) -> expect:equal(Capture1, []) end)(to_list(new())). -endif. fetch(A, B) -> @@ -38,6 +66,24 @@ fetch_test() -> end)((fun(Capture1) -> fetch(Capture1, 1) end)(Map)). -endif. +erl_put(A, B, C) -> + maps:put(A, B, C). + +put(Map, Key, Value) -> + erl_put(Key, Value, Map). + +-ifdef(TEST). +put_test() -> + (fun(Capture1) -> + expect:equal(Capture1, + from_list([{<<"a">>, 0}, {<<"b">>, 1}, {<<"c">>, 2}])) + end)((fun(Capture1) -> + put(Capture1, <<"c">>, 2) + end)((fun(Capture1) -> + put(Capture1, <<"b">>, 1) + end)((fun(Capture1) -> put(Capture1, <<"a">>, 0) end)(new())))). +-endif. + erl_map_values(A, B) -> maps:map(A, B). @@ -47,7 +93,7 @@ map_values(Map, Fun) -> -ifdef(TEST). map_values_test() -> (fun(Capture1) -> - expect:equal(Capture1, from_list([{1, 0}, {2, 3}, {3, 5}])) + expect:equal(Capture1, from_list([{1, 1}, {2, 3}, {3, 5}])) end)((fun(Capture1) -> map_values(Capture1, fun(K, V) -> K + V end) end)(from_list([{1, 0}, {2, 1}, {3, 2}]))). @@ -77,4 +123,4 @@ erl_filter(A, B) -> maps:filter(A, B). filter(Map, Fun) -> - filter(Fun, Map). + erl_filter(Fun, Map). diff --git a/gen/order.erl b/gen/order.erl index edf63a7..69f0eb8 100644 --- a/gen/order.erl +++ b/gen/order.erl @@ -1,4 +1,5 @@ -module(order). +-compile(no_auto_import). -include_lib("eunit/include/eunit.hrl"). -export([reverse/1, to_int/1, compare/2, max/2, min/2]). diff --git a/gen/result.erl b/gen/result.erl index 9bbf1e1..101b56a 100644 --- a/gen/result.erl +++ b/gen/result.erl @@ -1,4 +1,5 @@ -module(result). +-compile(no_auto_import). -include_lib("eunit/include/eunit.hrl"). -export([is_ok/1, is_error/1, map/2, map_error/2, flatten/1, flat_map/2, unwrap/2]). |