diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-09-11 14:56:20 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-09-11 14:56:20 +0100 |
commit | ff8be8c4e25220e1fae4bbb4cbd20d1f2072aae0 (patch) | |
tree | 740d47b3b2e93545fbddc7fd6858517f4092aa71 /src/gleam_stdlib.js | |
parent | a6b75f614c97f7cf2bede89b5769bfcd13c31571 (diff) | |
download | gleam_stdlib-ff8be8c4e25220e1fae4bbb4cbd20d1f2072aae0.tar.gz gleam_stdlib-ff8be8c4e25220e1fae4bbb4cbd20d1f2072aae0.zip |
JS decode field for objects
Diffstat (limited to 'src/gleam_stdlib.js')
-rw-r--r-- | src/gleam_stdlib.js | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gleam_stdlib.js b/src/gleam_stdlib.js index 37f071a..b7173c2 100644 --- a/src/gleam_stdlib.js +++ b/src/gleam_stdlib.js @@ -473,6 +473,8 @@ export function decode64(sBase64) { export function classify_dynamic(data) { if (typeof data === "string") { return "String"; + } else if (Result.isResult(data)) { + return "Result"; } else if (List.isList(data)) { return "List"; } else if (Number.isInteger(data)) { @@ -552,3 +554,9 @@ export function decode_option(data, decoder) { return result; } } + +export function decode_field(value, name) { + return name in value + ? new Ok(value[name]) + : decoder_error(`Value with field ${inspect(name)}`, value); +} |