aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gleam/dynamic.gleam9
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 {