From 08606b3dd9d4928c33da4f1eba6000626f41627d Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Sat, 1 Jan 2022 22:24:16 +0000 Subject: Element requires type --- src/gleam/dynamic.gleam | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gleam/dynamic.gleam b/src/gleam/dynamic.gleam index fa1b69e..82cfa2f 100644 --- a/src/gleam/dynamic.gleam +++ b/src/gleam/dynamic.gleam @@ -421,11 +421,12 @@ if javascript { /// pub fn element( from data: Dynamic, - get index: Int, -) -> Result(Dynamic, DecodeError) { + at index: Int, + of inner_type: Decoder(t), +) -> Result(t, DecodeError) { try tuple = decode_tuple(data) let size = tuple_size(tuple) - case index >= 0 { + try data = case index >= 0 { True -> case index < size { True -> tuple_get(tuple, index) @@ -437,6 +438,7 @@ pub fn element( False -> at_least_decode_tuple_error(int.absolute_value(index), data) } } + inner_type(data) } fn exact_decode_tuple_error(size: Int, data: Dynamic) -> Result(a, DecodeError) { -- cgit v1.2.3