diff options
-rw-r--r-- | src/utils.mjs | 33 | ||||
-rw-r--r-- | tests/js/utils.mjs | 81 |
2 files changed, 0 insertions, 114 deletions
diff --git a/src/utils.mjs b/src/utils.mjs index ca4e4fc..cb0c116 100644 --- a/src/utils.mjs +++ b/src/utils.mjs @@ -1,36 +1,3 @@ -export const eq = (a, b) => { - if (a === b) { - return true; - } - - if (a === null || b === null) { - return false; - } - - if (typeof a != "object" || typeof b != "object") { - return false; - } - - if (Array.isArray(a) !== Array.isArray(b)) { - return false; - } - - if (Object.keys(a).length !== Object.keys(b).length) { - return false; - } - - for (const k in a) { - if (!b.hasOwnProperty(k)) { - return false; - } - if (!eq(a[k], b[k])) { - return false; - } - } - - return true; -}; - export const keys = (ks, obj) => ks.reduce( (ret, k) => diff --git a/tests/js/utils.mjs b/tests/js/utils.mjs index edd804f..12b444b 100644 --- a/tests/js/utils.mjs +++ b/tests/js/utils.mjs @@ -2,7 +2,6 @@ import assert from "node:assert/strict"; import * as runner from "../runner.mjs"; import { - eq, keys, difference, assocIn, @@ -13,85 +12,6 @@ import { undefinedAsNull, } from "../../src/utils.mjs"; -const test_eq = t => { - t.start("eq()"); - t.test("scalar values equality", () => { - assert(eq(0, 0)); - assert(eq(100, 100)); - assert(eq(1.5, 1.5)); - assert(eq(-9, -9)); - - assert(!eq(0, 1)); - assert(!eq(100, 99)); - assert(!eq(1.5, 1.4)); - assert(!eq(-9, 9)); - - - assert(eq(null, null)); - assert(eq(undefined, undefined)); - assert(eq("", "")); - assert(eq("a string", "a string")); - - assert(!eq(null, undefined)); - assert(!eq(undefined, 0)); - assert(!eq("", "0")); - assert(!eq("a string", "another string")); - - - assert(eq(true, true)); - assert(eq(false, false)); - - assert(!eq(true, false)); - - - assert(eq(1n, 1n)); - assert(eq(99999999999999n, 99999999999999n)); - }); - - t.test("array equality", () => { - assert(eq([], [])); - - - assert(eq([0, 1, 2], [0, 1, 2])); - assert(eq([0, 1, 2], new Array(0, 1, 2))); - - assert(!eq([0, 1, 2], [0, 1])); - assert(!eq([0, 1], new Array(0, 1, 2))); - - - assert(eq([undefined], [undefined])); - assert(eq([null, 0, "", true], [null, 0, "", true])); - - - assert(eq([[[[0]]]], [[[[0]]]])); - - assert(!eq([[[[0]]]], [0])); - }); - - t.test("object equality", () => { - assert(eq({}, {})); - assert(eq({ a: 1 }, { a: 1 })); - - assert(!eq({ a: 1, b: undefined }, { a: 1 })); - - - assert(eq( - { a: 1, b: { c: { d: "e" } } }, - { a: 1, b: { c: { d: "e" } } }, - )); - }); - - t.test("mixed values", () => { - assert(eq( - {a: ["", 1, 2, 3, [{ b: { c: [ "d", "e" ]}}]]}, - {a: ["", 1, 2, 3, [{ b: { c: [ "d", "e" ]}}]]}, - )); - - assert(!eq(null, {})); - - assert(!eq([], {})); - }); -}; const test_keys = t => { t.start("keys()"); @@ -350,7 +270,6 @@ const test_undefinedAsNull = t => { await runner.runTests([ - test_eq, test_keys, test_difference, test_assocIn, |