diff options
author | Julian Schurhammer <julian.schurhammer@gmail.com> | 2022-08-14 00:01:10 +1200 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2023-03-13 10:48:59 +0000 |
commit | 1c50948c6c6b6b7a4a022457835a1a3571cd6126 (patch) | |
tree | 59bd15c6f102a95c16cd7ea45cf65be51a3c08d5 | |
parent | 2a52659f35a3035245ca11c999d10aafe42fd90b (diff) | |
download | gleam_stdlib-1c50948c6c6b6b7a4a022457835a1a3571cd6126.tar.gz gleam_stdlib-1c50948c6c6b6b7a4a022457835a1a3571cd6126.zip |
js map: decode from Map or Object
-rw-r--r-- | src/gleam_stdlib.mjs | 7 |
1 files changed, 7 insertions, 0 deletions
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); } |