aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2023-01-08 15:05:21 +0000
committerLouis Pilfold <louis@lpil.uk>2023-01-08 15:05:21 +0000
commit6391f3b11fe69a78f8e9568eee71180bc09c4edf (patch)
treecdd32238f9c24093c27262c85bcdfc16b04bc6f7 /src
parentc7dc11afb9e026f094340e0a537d49f2e732188c (diff)
downloadgleam_stdlib-6391f3b11fe69a78f8e9568eee71180bc09c4edf.tar.gz
gleam_stdlib-6391f3b11fe69a78f8e9568eee71180bc09c4edf.zip
Decode Uint8Arrays
Diffstat (limited to 'src')
-rw-r--r--src/gleam_stdlib.mjs19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs
index 69644dc..112007f 100644
--- a/src/gleam_stdlib.mjs
+++ b/src/gleam_stdlib.mjs
@@ -350,21 +350,18 @@ export function codepoint(int) {
}
export function string_to_codepoint_integer_list(string) {
- return List.fromArray(
- Array.from(string)
- .map(item => item.codePointAt(0))
- );
+ return List.fromArray(Array.from(string).map((item) => item.codePointAt(0)));
}
export function utf_codepoint_list_to_string(utf_codepoint_integer_list) {
return utf_codepoint_integer_list
.toArray()
- .map(x => String.fromCodePoint(x.value))
+ .map((x) => String.fromCodePoint(x.value))
.join("");
}
export function utf_codepoint_to_int(utf_codepoint) {
- return utf_codepoint.value;
+ return utf_codepoint.value;
}
export function regex_check(regex, string) {
@@ -646,9 +643,13 @@ export function decode_bool(data) {
}
export function decode_bit_string(data) {
- return BitString.isBitString(data)
- ? new Ok(data)
- : decoder_error("BitString", data);
+ if (BitString.isBitString(data)) {
+ return new Ok(data);
+ }
+ if (data instanceof Uint8Array) {
+ return new Ok(new BitString(data));
+ }
+ return decoder_error("BitString", data);
}
export function decode_tuple(data) {