aboutsummaryrefslogtreecommitdiff
path: root/src/gleam_stdlib.mjs
diff options
context:
space:
mode:
authorRichard Viney <richard.viney@gmail.com>2024-11-11 23:00:37 +1300
committerLouis Pilfold <louis@lpil.uk>2024-11-11 10:56:27 +0000
commitc982361167325650ff4546d62c52f6b3feed24ab (patch)
treebea400e693e3449cf5e654a5d73fab23f7458812 /src/gleam_stdlib.mjs
parent978afd77909904c87dd0306f9905586bfd5c1cc2 (diff)
downloadgleam_stdlib-c982361167325650ff4546d62c52f6b3feed24ab.tar.gz
gleam_stdlib-c982361167325650ff4546d62c52f6b3feed24ab.zip
Add `bit_size()` and `starts_with()` to `gleam/bit_array`
Diffstat (limited to 'src/gleam_stdlib.mjs')
-rw-r--r--src/gleam_stdlib.mjs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs
index 74df3d0..4d198cb 100644
--- a/src/gleam_stdlib.mjs
+++ b/src/gleam_stdlib.mjs
@@ -990,3 +990,17 @@ export function bit_array_compare(first, second) {
}
return new Lt(); // second has more items
}
+
+export function bit_array_starts_with(bits, prefix) {
+ if (prefix.length > bits.length) {
+ return false;
+ }
+
+ for (let i = 0; i < prefix.length; i++) {
+ if (bits.buffer[i] !== prefix.buffer[i]) {
+ return false;
+ }
+ }
+
+ return true;
+}