aboutsummaryrefslogtreecommitdiff
path: root/src/gleam_stdlib.mjs
diff options
context:
space:
mode:
authorKero van Gelder <kero@chmeee.org>2024-02-25 12:53:29 +0100
committerLouis Pilfold <louis@lpil.uk>2024-02-26 19:45:25 +0000
commit5be28f87ff0eeb441e943776e7f1808e8f4492d1 (patch)
treee7cf7bcbb86aa86b97a6090e0de3a123bda9ac90 /src/gleam_stdlib.mjs
parentdc1d1953828e5a6d134522f97268f88b07df31be (diff)
downloadgleam_stdlib-5be28f87ff0eeb441e943776e7f1808e8f4492d1.tar.gz
gleam_stdlib-5be28f87ff0eeb441e943776e7f1808e8f4492d1.zip
Fix: do not crash w/ TypeError when field decodes a null object (possibly obtained via JSON)
Diffstat (limited to 'src/gleam_stdlib.mjs')
-rw-r--r--src/gleam_stdlib.mjs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs
index 92e872e..22ca8c3 100644
--- a/src/gleam_stdlib.mjs
+++ b/src/gleam_stdlib.mjs
@@ -673,6 +673,8 @@ export function decode_field(value, name) {
) {
const entry = map_get(value, name);
return new Ok(entry.isOk() ? new Some(entry[0]) : new None());
+ } else if (value === null) {
+ return not_a_map_error()
} else if (Object.getPrototypeOf(value) == Object.prototype) {
return try_get_field(value, name, () => new Ok(new None()));
} else {