From 1c50948c6c6b6b7a4a022457835a1a3571cd6126 Mon Sep 17 00:00:00 2001 From: Julian Schurhammer Date: Sun, 14 Aug 2022 00:01:10 +1200 Subject: js map: decode from Map or Object --- src/gleam_stdlib.mjs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs index 64dc1d0..8c08cb8 100644 --- a/src/gleam_stdlib.mjs +++ b/src/gleam_stdlib.mjs @@ -621,6 +621,13 @@ export function decode_result(data) { } export function decode_map(data) { + if (data instanceof Map) { + return new Ok(PMap.fromMap(data)); + } + const proto = Object.getPrototypeOf(data); + if (proto === Object.prototype || proto === null) { + return new Ok(PMap.fromObject(data)); + } return data instanceof PMap ? new Ok(data) : decoder_error("Map", data); } -- cgit v1.2.3