diff options
-rw-r--r-- | src/gleam/bit_array.gleam | 8 | ||||
-rw-r--r-- | src/gleam_stdlib.mjs | 4 |
2 files changed, 3 insertions, 9 deletions
diff --git a/src/gleam/bit_array.gleam b/src/gleam/bit_array.gleam index eb2a74d..23b243a 100644 --- a/src/gleam/bit_array.gleam +++ b/src/gleam/bit_array.gleam @@ -1,6 +1,5 @@ //// BitArrays are a sequence of binary data of any length. -@target(erlang) import gleam/int import gleam/string @@ -145,7 +144,6 @@ pub fn base16_encode(input: BitArray) -> String @external(javascript, "../gleam_stdlib.mjs", "base16_decode") pub fn base16_decode(input: String) -> Result(BitArray, Nil) -@target(javascript) /// Converts a bit array to a string containing the decimal value of each byte. /// /// ## Examples @@ -158,15 +156,11 @@ pub fn base16_decode(input: String) -> Result(BitArray, Nil) /// // -> "<<100, 5:size(3)>>" /// ``` /// -@external(javascript, "../gleam_stdlib.mjs", "bit_array_inspect") -pub fn inspect(input: BitArray) -> String - -@target(erlang) pub fn inspect(input: BitArray) -> String { do_inspect(input, "<<") <> ">>" } -@target(erlang) +@external(javascript, "../gleam_stdlib.mjs", "bit_array_inspect") fn do_inspect(input: BitArray, accumulator: String) -> String { case input { <<>> -> accumulator diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs index 3296b67..a89c829 100644 --- a/src/gleam_stdlib.mjs +++ b/src/gleam_stdlib.mjs @@ -913,6 +913,6 @@ export function base16_decode(string) { return new Ok(new BitArray(bytes)); } -export function bit_array_inspect(bits) { - return `<<${[...bits.buffer].join(", ")}>>`; +export function bit_array_inspect(bits, acc) { + return `${acc}${[...bits.buffer].join(", ")}`; } |