From 24e4b166bcf441e2cefaf50f04282a7a3e516283 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Sun, 9 Jan 2022 17:22:27 +0000 Subject: Correct decode2 return --- src/gleam/dynamic.gleam | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gleam/dynamic.gleam b/src/gleam/dynamic.gleam index be48206..4571b20 100644 --- a/src/gleam/dynamic.gleam +++ b/src/gleam/dynamic.gleam @@ -905,10 +905,14 @@ pub fn decode2( fn(value) { case decode1(value), decode2(value) { Ok(a), Ok(b) -> Ok(constructor(a, b)) - a, b -> - tuple_errors(a, "0") - |> list.append(tuple_errors(b, "1")) - |> Error + a, b -> Error(list.flatten([all_errors(a), all_errors(b)])) } } } + +fn all_errors(result: Result(a, List(DecodeError))) -> List(DecodeError) { + case result { + Ok(_) -> [] + Error(errors) -> errors + } +} -- cgit v1.2.3