diff options
author | Louis Pilfold <louis@lpil.uk> | 2022-01-01 21:03:42 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2022-01-01 21:08:50 +0000 |
commit | 5c07c721e2302b73b20f27a58634a8a3dfa7a6c3 (patch) | |
tree | 42ed76f4463b72e1d67faa5b77cda56b79640ec1 | |
parent | 284b9f0ff406d40a8eaf2b6d8faaef8813594153 (diff) | |
download | gleam_stdlib-5c07c721e2302b73b20f27a58634a8a3dfa7a6c3.tar.gz gleam_stdlib-5c07c721e2302b73b20f27a58634a8a3dfa7a6c3.zip |
Change dynamic convention
-rw-r--r-- | src/gleam/dynamic.gleam | 20 | ||||
-rw-r--r-- | test/gleam/dynamic_test.gleam | 28 |
2 files changed, 24 insertions, 24 deletions
diff --git a/src/gleam/dynamic.gleam b/src/gleam/dynamic.gleam index a3c43d8..c500640 100644 --- a/src/gleam/dynamic.gleam +++ b/src/gleam/dynamic.gleam @@ -213,20 +213,20 @@ if javascript { } /// Checks to see whether a `Dynamic` value is a list, and returns that list if it -/// is. +/// is. The types of the elements are not checked. /// -/// If you wish to decode all the elements in the list use the `typed_list` +/// If you wish to decode all the elements in the list use the `list` /// instead. /// /// ## Examples /// -/// > list(from(["a", "b", "c"])) +/// > shallow_list(from(["a", "b", "c"])) /// Ok([from("a"), from("b"), from("c")]) /// -/// > list(1) +/// > shallow_list(1) /// Error(DecodeError(expected: "Int", found: "Int")) /// -pub fn list(from value: Dynamic) -> Result(List(Dynamic), DecodeError) { +pub fn shallow_list(from value: Dynamic) -> Result(List(Dynamic), DecodeError) { decode_list(value) } @@ -318,21 +318,21 @@ pub fn typed_result( /// /// ## Examples /// -/// > typed_list(from(["a", "b", "c"]), of: string) +/// > list(from(["a", "b", "c"]), of: string) /// Ok(["a", "b", "c"]) /// -/// > typed_list(from([1, 2, 3]), of: string) +/// > list(from([1, 2, 3]), of: string) /// Error(DecodeError(expected: "String", found: "Int")) /// -/// > typed_list(from("ok"), of: string) +/// > list(from("ok"), of: string) /// Error(DecodeError(expected: "List", found: "String")) /// -pub fn typed_list( +pub fn list( from dynamic: Dynamic, of decoder_type: fn(Dynamic) -> Result(inner, DecodeError), ) -> Result(List(inner), DecodeError) { dynamic - |> list + |> shallow_list |> result.then(list.try_map(_, decoder_type)) } diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam index 08ab913..8b34820 100644 --- a/test/gleam/dynamic_test.gleam +++ b/test/gleam/dynamic_test.gleam @@ -155,45 +155,45 @@ pub fn bool_test() { |> should.equal(Error(DecodeError(expected: "Bool", found: "List"))) } -pub fn typed_list_test() { +pub fn list_test() { [] |> dynamic.from - |> dynamic.typed_list(dynamic.string) + |> dynamic.list(dynamic.string) |> should.equal(Ok([])) [] |> dynamic.from - |> dynamic.typed_list(dynamic.int) + |> dynamic.list(dynamic.int) |> should.equal(Ok([])) [1, 2, 3] |> dynamic.from - |> dynamic.typed_list(dynamic.int) + |> dynamic.list(dynamic.int) |> should.equal(Ok([1, 2, 3])) [[1], [2], [3]] |> dynamic.from - |> dynamic.typed_list(dynamic.typed_list(_, dynamic.int)) + |> dynamic.list(dynamic.list(_, dynamic.int)) |> should.equal(Ok([[1], [2], [3]])) 1 |> dynamic.from - |> dynamic.typed_list(dynamic.string) + |> dynamic.list(dynamic.string) |> should.be_error 1.0 |> dynamic.from - |> dynamic.typed_list(dynamic.int) + |> dynamic.list(dynamic.int) |> should.be_error [""] |> dynamic.from - |> dynamic.typed_list(dynamic.int) + |> dynamic.list(dynamic.int) |> should.be_error [dynamic.from(1), dynamic.from("not an int")] |> dynamic.from - |> dynamic.typed_list(dynamic.int) + |> dynamic.list(dynamic.int) |> should.be_error } @@ -745,25 +745,25 @@ pub fn map_test() { |> should.equal(Error(DecodeError(expected: "Map", found: "Int"))) } -pub fn list_test() { +pub fn shallow_list_test() { [] |> dynamic.from - |> dynamic.list + |> dynamic.shallow_list |> should.equal(Ok([])) [1, 2] |> dynamic.from - |> dynamic.list + |> dynamic.shallow_list |> should.equal(Ok([dynamic.from(1), dynamic.from(2)])) [dynamic.from(1), dynamic.from(2.0)] |> dynamic.from - |> dynamic.list + |> dynamic.shallow_list |> should.equal(Ok([dynamic.from(1), dynamic.from(2.0)])) 1 |> dynamic.from - |> dynamic.list + |> dynamic.shallow_list |> should.equal(Error(DecodeError(expected: "List", found: "Int"))) } |