diff options
author | Louis Pilfold <louis@lpil.uk> | 2022-01-09 18:59:42 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2022-01-09 18:59:42 +0000 |
commit | fcdf32132d83c4b5d52d3d463bed2fc699649ab1 (patch) | |
tree | 5570a656bfc849f76bfdde8589e1789f1dcb3b8d /src | |
parent | 480e37150565898cbf2dfd12336df4998af28987 (diff) | |
download | gleam_stdlib-fcdf32132d83c4b5d52d3d463bed2fc699649ab1.tar.gz gleam_stdlib-fcdf32132d83c4b5d52d3d463bed2fc699649ab1.zip |
Curry field
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/dynamic.gleam | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/gleam/dynamic.gleam b/src/gleam/dynamic.gleam index 50437e1..1157014 100644 --- a/src/gleam/dynamic.gleam +++ b/src/gleam/dynamic.gleam @@ -426,21 +426,21 @@ if javascript { /// /// ```gleam /// > import gleam/map -/// > field(from(map.new("Hello", "World")), "Hello") -/// Ok(Dynamic) +/// > from(map.new("Hello", "World")) +/// > |> field(named: "Hello", of: string) +/// Ok("World") /// -/// > field(from(123), "Hello") +/// > from(123) +/// > |> field("Hello", string) /// Error([DecodeError(expected: "Map", found: "Int", path: [])]) /// ``` /// -pub fn field( - from value: Dynamic, - named name: a, - of inner_type: Decoder(t), -) -> Result(t, DecodeErrors) { - try value = decode_field(value, name) - inner_type(value) - |> map_errors(push_path(_, name)) +pub fn field(named name: a, of inner_type: Decoder(t)) -> Decoder(t) { + fn(value) { + try value = decode_field(value, name) + inner_type(value) + |> map_errors(push_path(_, name)) + } } if erlang { |