summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-07-11 14:45:07 -0300
committerEuAndreh <eu@euandre.org>2025-07-11 14:45:07 -0300
commita6a78f160e996d837a17896562af1017eb6fde25 (patch)
tree8a69cdcca72c250115064353fc6937dc9a704cf2
parentUse .mjs extension; add reduce(); finish tests; export names correctly. (diff)
downloadsjs-a6a78f160e996d837a17896562af1017eb6fde25.tar.gz
sjs-a6a78f160e996d837a17896562af1017eb6fde25.tar.xz
src/sjs.mjs: Add isNumeric()
-rw-r--r--src/sjs.mjs4
-rw-r--r--tests/sjs.mjs15
2 files changed, 19 insertions, 0 deletions
diff --git a/src/sjs.mjs b/src/sjs.mjs
index 0b2c705..2c9d551 100644
--- a/src/sjs.mjs
+++ b/src/sjs.mjs
@@ -1,6 +1,10 @@
export const max = (a, b) => a > b ? a : b;
export const min = (a, b) => a < b ? a : b;
+export const isNumeric = c =>
+ c.charCodeAt(0) >= "0".charCodeAt(0) &&
+ c.charCodeAt(0) <= "9".charCodeAt(0);
+
export const explode = s => s.split("");
export const getIn = (obj, path) =>
diff --git a/tests/sjs.mjs b/tests/sjs.mjs
index dbcd635..c8f52dd 100644
--- a/tests/sjs.mjs
+++ b/tests/sjs.mjs
@@ -1,6 +1,7 @@
import {
max,
min,
+ isNumeric,
explode,
getIn,
merge,
@@ -58,6 +59,19 @@ const test_min = t => {
});
};
+const test_isNumeric = t => {
+ t.start("isNumeric()");
+
+ t.testing("checks if (first) char is numeric", () => {
+ t.assertEq(isNumeric("0"), true);
+ t.assertEq(isNumeric("5"), true);
+ t.assertEq(isNumeric("9"), true);
+ t.assertEq(isNumeric("10"), true);
+ t.assertEq(isNumeric("1a"), true);
+ t.assertEq(isNumeric("a1"), false);
+ });
+};
+
const test_explode = t => {
t.start("explode()");
@@ -976,6 +990,7 @@ const test_repeat = t => {
runTests([
test_max,
test_min,
+ test_isNumeric,
test_explode,
test_getIn,
test_merge,