diff options
author | shayan javani <shayan.javani@gmail.com> | 2022-10-31 14:05:24 +0330 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2022-12-21 22:37:08 +0000 |
commit | 478ca2b32238471dc67983da5c7e1f15bf73175f (patch) | |
tree | 1f7f1986b7db8bc7027218bec957d160f8d896dc /src | |
parent | 5e3bd8a87e2ed6380f157cb6d068153a346950fd (diff) | |
download | gleam_stdlib-478ca2b32238471dc67983da5c7e1f15bf73175f.tar.gz gleam_stdlib-478ca2b32238471dc67983da5c7e1f15bf73175f.zip |
changed validation method for digits
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam_stdlib.mjs | 77 |
1 files changed, 38 insertions, 39 deletions
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs index c3ae533..df0f788 100644 --- a/src/gleam_stdlib.mjs +++ b/src/gleam_stdlib.mjs @@ -57,47 +57,46 @@ export function int_to_base_string(int, base) { return int.toString(base).toUpperCase(); } -const digits = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "a", - "b", - "c", - "d", - "e", - "f", - "g", - "h", - "i", - "j", - "k", - "l", - "m", - "n", - "o", - "p", - "q", - "r", - "s", - "t", - "u", - "v", - "w", - "x", - "y", - "z", -]; +const int_base_patterns = { + 2: /[^0-1]/, + 3: /[^0-2]/, + 4: /[^0-3]/, + 5: /[^0-4]/, + 6: /[^0-5]/, + 7: /[^0-6]/, + 8: /[^0-7]/, + 9: /[^0-8]/, + 10: /[^0-9]/, + 11: /[^0-9a]/, + 12: /[^0-9a-b]/, + 13: /[^0-9a-c]/, + 14: /[^0-9a-d]/, + 15: /[^0-9a-e]/, + 16: /[^0-9a-f]/, + 17: /[^0-9a-g]/, + 18: /[^0-9a-h]/, + 19: /[^0-9a-i]/, + 20: /[^0-9a-j]/, + 21: /[^0-9a-k]/, + 22: /[^0-9a-l]/, + 23: /[^0-9a-m]/, + 24: /[^0-9a-n]/, + 25: /[^0-9a-o]/, + 26: /[^0-9a-p]/, + 27: /[^0-9a-q]/, + 28: /[^0-9a-r]/, + 29: /[^0-9a-s]/, + 30: /[^0-9a-t]/, + 31: /[^0-9a-u]/, + 32: /[^0-9a-v]/, + 33: /[^0-9a-w]/, + 34: /[^0-9a-x]/, + 35: /[^0-9a-y]/, + 36: /[^0-9a-z]/, +} export function int_from_base_string(string, base) { - if (digits.slice(base).some((d) => string.toLowerCase().includes(d))) { + if (int_base_patterns[base].test(string.toLowerCase())) { return new Error(Nil); } |