diff options
author | Louis Pilfold <louis@lpil.uk> | 2022-01-01 22:01:49 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2022-01-01 22:01:49 +0000 |
commit | 6a56aa5fe1f69b54b1b2ab4a9a32a818d5128f86 (patch) | |
tree | 482e13f680b2237e95c3d90140fba78239541213 /src | |
parent | 5237f401b775e7d3381663babcaf0b8ecfcaf672 (diff) | |
download | gleam_stdlib-6a56aa5fe1f69b54b1b2ab4a9a32a818d5128f86.tar.gz gleam_stdlib-6a56aa5fe1f69b54b1b2ab4a9a32a818d5128f86.zip |
Field requires a type
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/dynamic.gleam | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gleam/dynamic.gleam b/src/gleam/dynamic.gleam index ff040db..fa1b69e 100644 --- a/src/gleam/dynamic.gleam +++ b/src/gleam/dynamic.gleam @@ -386,8 +386,13 @@ if javascript { /// > field(from(123), "Hello") /// Error(DecodeError(expected: "Map", found: "Int")) /// -pub fn field(from value: Dynamic, named name: a) -> Result(Dynamic, DecodeError) { - decode_field(value, name) +pub fn field( + from value: Dynamic, + named name: a, + of inner_type: Decoder(t), +) -> Result(t, DecodeError) { + try value = decode_field(value, name) + inner_type(value) } if erlang { |