diff options
author | Richard Viney <richard.viney@gmail.com> | 2024-06-23 16:59:06 +1200 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-06-23 09:40:23 +0100 |
commit | 3592b0b847d0c4348fc37be868ac22607ce426de (patch) | |
tree | 3245d99c349932bf7c07bee1aec9b1562e375419 /src/gleam_stdlib.mjs | |
parent | 6a6d5adf356993031ab2e79012e436dd2567a2f9 (diff) | |
download | gleam_stdlib-3592b0b847d0c4348fc37be868ac22607ce426de.tar.gz gleam_stdlib-3592b0b847d0c4348fc37be868ac22607ce426de.zip |
Improve Base64 decode performance
Diffstat (limited to 'src/gleam_stdlib.mjs')
-rw-r--r-- | src/gleam_stdlib.mjs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs index c4111f9..d067cec 100644 --- a/src/gleam_stdlib.mjs +++ b/src/gleam_stdlib.mjs @@ -551,7 +551,11 @@ export function encode64(bit_array, padding) { export function decode64(sBase64) { try { const binString = atob(sBase64); - const array = Uint8Array.from(binString, (c) => c.charCodeAt(0)); + const length = binString.length; + const array = new Uint8Array(length); + for (let i = 0; i < length; i++) { + array[i] = binString.charCodeAt(i); + } return new Ok(new BitArray(array)); } catch { return new Error(Nil); |