aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorshayan javani <shayan.javani@gmail.com>2022-10-31 14:05:24 +0330
committerLouis Pilfold <louis@lpil.uk>2022-12-21 22:37:08 +0000
commit478ca2b32238471dc67983da5c7e1f15bf73175f (patch)
tree1f7f1986b7db8bc7027218bec957d160f8d896dc /src
parent5e3bd8a87e2ed6380f157cb6d068153a346950fd (diff)
downloadgleam_stdlib-478ca2b32238471dc67983da5c7e1f15bf73175f.tar.gz
gleam_stdlib-478ca2b32238471dc67983da5c7e1f15bf73175f.zip
changed validation method for digits
Diffstat (limited to 'src')
-rw-r--r--src/gleam_stdlib.mjs77
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);
}