Sign In

@jsonjoy.com/util

Package Overview
Dependencies
Maintainers
2
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jsonjoy.com/util - npm Package Compare versions

Comparing version
17.67.0
to
18.0.0
+1
lib/invokeFirstOnly.d.ts
export declare const invokeFirstOnly: () => <T = void>(fn: () => T) => T | undefined;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.invokeFirstOnly = void 0;
const invokeFirstOnly = () => {
let invoked = false;
return (fn) => {
if (invoked)
return;
invoked = true;
try {
return fn();
}
finally {
invoked = false;
}
};
};
exports.invokeFirstOnly = invokeFirstOnly;
//# sourceMappingURL=invokeFirstOnly.js.map
{"version":3,"file":"invokeFirstOnly.js","sourceRoot":"","sources":["../src/invokeFirstOnly.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,CAAW,EAAW,EAAiB,EAAE;QAC9C,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,eAAe,mBAW1B"}
+5
-1

@@ -1,1 +0,5 @@

export * from './v6';
export {
/**
* @deprecated Use deepEqual from '@jsonjoy.com/json-equal/lib/deepEqual' instead.
*/
deepEqual, } from '@jsonjoy.com/json-equal/lib/deepEqual';
+6
-2
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./v6"), exports);
exports.deepEqual = void 0;
var deepEqual_1 = require("@jsonjoy.com/json-equal/lib/deepEqual");
/**
* @deprecated Use deepEqual from '@jsonjoy.com/json-equal/lib/deepEqual' instead.
*/
Object.defineProperty(exports, "deepEqual", { enumerable: true, get: function () { return deepEqual_1.deepEqual; } });
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/index.ts"],"names":[],"mappings":";;;AAAA,mEAK+C;AAJ7C;;GAEG;AACH,sGAAA,SAAS,OAAA"}

@@ -1,1 +0,5 @@

export * from './v1';
export {
/**
* @deprecated Use deepEqualCodegen from '@jsonjoy.com/json-equal/lib/deepEqualCodegen' instead.
*/
deepEqualCodegen, } from '@jsonjoy.com/json-equal/lib/deepEqualCodegen';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./v1"), exports);
exports.deepEqualCodegen = void 0;
var deepEqualCodegen_1 = require("@jsonjoy.com/json-equal/lib/deepEqualCodegen");
/**
* @deprecated Use deepEqualCodegen from '@jsonjoy.com/json-equal/lib/deepEqualCodegen' instead.
*/
Object.defineProperty(exports, "deepEqualCodegen", { enumerable: true, get: function () { return deepEqualCodegen_1.deepEqualCodegen; } });
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqualCodegen/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqualCodegen/index.ts"],"names":[],"mappings":";;;AAAA,iFAKsD;AAJpD;;GAEG;AACH,oHAAA,gBAAgB,OAAA"}

@@ -189,3 +189,3 @@ Apache License

Copyright 2024 jsonjoy.com
Copyright 2024 jsonjoy.com Vadims Daleckis

@@ -192,0 +192,0 @@ Licensed under the Apache License, Version 2.0 (the "License");

@@ -6,3 +6,3 @@ {

},
"version": "17.67.0",
"version": "18.0.0",
"description": "Various helper utilities",

@@ -26,3 +26,2 @@ "author": {

"json",
"json-equal",
"json-brand",

@@ -43,4 +42,4 @@ "json-random",

"scripts": {
"clean": "rimraf lib typedocs coverage gh-pages yarn-error.log",
"build": "tsc --project tsconfig.build.json --module commonjs --target es2020 --outDir lib",
"clean": "npx rimraf lib typedocs coverage gh-pages yarn-error.log",
"build": "npx tsc --project tsconfig.build.json --module commonjs --target es2020 --outDir lib",
"jest": "node -r ts-node/register ./node_modules/.bin/jest",

@@ -80,5 +79,6 @@ "test": "jest --maxWorkers 7",

"dependencies": {
"@jsonjoy.com/buffers": "17.67.0",
"@jsonjoy.com/codegen": "17.67.0"
"@jsonjoy.com/buffers": "18.0.0",
"@jsonjoy.com/codegen": "18.0.0",
"@jsonjoy.com/json-equal": "18.0.0"
}
}
export declare const deepEqual: (a: unknown, b: unknown) => boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepEqual = void 0;
const deepEqual = (a, b) => {
// Primitives
if (a === b)
return true;
if (a && b && typeof a === 'object' && typeof b === 'object') {
// Arrays
if (a.constructor !== b.constructor)
return false;
let length, i, keys;
if (Array.isArray(a)) {
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0;)
if (!(0, exports.deepEqual)(a[i], b[i]))
return false;
return true;
}
// Objects
keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length)
return false;
for (i = length; i-- !== 0;) {
const key = keys[i];
if (!(0, exports.deepEqual)(a[key], b[key]))
return false;
}
return true;
}
return false;
};
exports.deepEqual = deepEqual;
//# sourceMappingURL=v1.js.map
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/v1.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE;IAC3D,aAAa;IACb,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,SAAS;QACT,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAClD,IAAI,MAAc,EAAE,CAAS,EAAE,IAAc,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,MAAM,KAAM,CAAoB,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;gBAAI,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAoB,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,UAAU;QACV,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACnD,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,iBAAS,EAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA3BW,QAAA,SAAS,aA2BpB"}
export declare const deepEqual: (a: unknown, b: unknown) => boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepEqual = void 0;
const deepEqual = (a, b) => {
// Primitives
if (a === b)
return true;
if (a && b && typeof a === 'object' && typeof b === 'object') {
// Arrays
if (a.constructor !== b.constructor)
return false;
let length, i, keys;
if (Array.isArray(a)) {
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0;)
if (!(0, exports.deepEqual)(a[i], b[i]))
return false;
return true;
}
// Objects
keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length)
return false;
for (i = length; i-- !== 0;)
if (b[keys[i]] === undefined)
return false;
for (i = length; i-- !== 0;) {
const key = keys[i];
if (!(0, exports.deepEqual)(a[key], b[key]))
return false;
}
return true;
}
return false;
};
exports.deepEqual = deepEqual;
//# sourceMappingURL=v2.js.map
{"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/v2.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE;IAC3D,aAAa;IACb,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,SAAS;QACT,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAClD,IAAI,MAAc,EAAE,CAAS,EAAE,IAAc,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,MAAM,KAAM,CAAoB,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;gBAAI,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAoB,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,UAAU;QACV,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACnD,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;YAAI,IAAK,CAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;QACtG,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,iBAAS,EAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA5BW,QAAA,SAAS,aA4BpB"}
export declare const deepEqual: (a: unknown, b: unknown) => boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepEqual = void 0;
const deepEqual = (a, b) => {
// Primitives
if (a === b)
return true;
if (a && b && typeof a === 'object' && typeof b === 'object') {
// Arrays
if (a.constructor !== b.constructor)
return false;
let length, i, keys;
if (Array.isArray(a)) {
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0;)
if (!(0, exports.deepEqual)(a[i], b[i]))
return false;
return true;
}
// Objects
keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length)
return false;
for (i = length; i-- !== 0;)
if (!(
// biome-ignore lint: .hasOwnProperty access is intentional
Object.prototype.hasOwnProperty.call(b, keys[i])))
return false;
for (i = length; i-- !== 0;) {
const key = keys[i];
if (!(0, exports.deepEqual)(a[key], b[key]))
return false;
}
return true;
}
return false;
};
exports.deepEqual = deepEqual;
//# sourceMappingURL=v3.js.map
{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/v3.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE;IAC3D,aAAa;IACb,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,SAAS;QACT,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAClD,IAAI,MAAc,EAAE,CAAS,EAAE,IAAc,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,MAAM,KAAM,CAAoB,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;gBAAI,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAoB,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,UAAU;QACV,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACnD,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;YACxB,IACE,CAAC;YACC,2DAA2D;YAC3D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CACjD;gBAED,OAAO,KAAK,CAAC;QACjB,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,iBAAS,EAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAnCW,QAAA,SAAS,aAmCpB"}
export declare const deepEqual: (a: unknown, b: unknown) => boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepEqual = void 0;
const deepEqual = (a, b) => {
// Primitives
if (a === b)
return true;
if (a && b && typeof a === 'object' && typeof b === 'object') {
// Arrays
if (a.constructor !== b.constructor)
return false;
let length, i, keys;
if (a.constructor === Array) {
// V4: Array.isArray(a)
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0;)
if (!(0, exports.deepEqual)(a[i], b[i]))
return false;
return true;
}
// Objects
keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length)
return false;
for (i = length; i-- !== 0;) {
const key = keys[i];
if (!(0, exports.deepEqual)(a[key], b[key]))
return false;
}
return true;
}
return false;
};
exports.deepEqual = deepEqual;
//# sourceMappingURL=v4.js.map
{"version":3,"file":"v4.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/v4.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE;IAC3D,aAAa;IACb,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,SAAS;QACT,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAClD,IAAI,MAAc,EAAE,CAAS,EAAE,IAAc,CAAC;QAC9C,IAAI,CAAC,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC5B,uBAAuB;YACvB,MAAM,GAAI,CAAe,CAAC,MAAM,CAAC;YACjC,IAAI,MAAM,KAAM,CAAoB,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC1D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;gBAAI,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAoB,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,UAAU;QACV,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACnD,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,iBAAS,EAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA5BW,QAAA,SAAS,aA4BpB"}
export declare const deepEqual: (a: unknown, b: unknown) => boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepEqual = void 0;
const isArray = Array.isArray;
const deepEqual = (a, b) => {
// Primitives
if (a === b)
return true;
// Arrays
let length, i, keys;
if (isArray(a)) {
if (!isArray(b))
return false;
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0;)
if (!(0, exports.deepEqual)(a[i], b[i]))
return false;
return true;
}
// Objects
if (a && b && typeof a === 'object' && typeof b === 'object') {
keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length)
return false;
if (isArray(b))
return false;
for (i = length; i-- !== 0;) {
const key = keys[i];
if (!(0, exports.deepEqual)(a[key], b[key]))
return false;
}
return true;
}
return false;
};
exports.deepEqual = deepEqual;
//# sourceMappingURL=v5.js.map
{"version":3,"file":"v5.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/v5.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAEvB,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE;IAC3D,aAAa;IACb,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,SAAS;IACT,IAAI,MAAc,EAAE,CAAS,EAAE,IAAc,CAAC;IAC9C,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAClB,IAAI,MAAM,KAAM,CAAoB,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;YAAI,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAoB,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;IACV,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7B,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,iBAAS,EAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA5BW,QAAA,SAAS,aA4BpB"}
export declare const deepEqual: (a: unknown, b: unknown) => boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepEqual = void 0;
const isArray = Array.isArray;
const OBJ_PROTO = Object.prototype;
const deepEqual = (a, b) => {
// Primitives
if (a === b)
return true;
let length = 0, i = 0;
// Arrays
if (isArray(a)) {
if (!isArray(b))
return false;
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0;)
if (!(0, exports.deepEqual)(a[i], b[i]))
return false;
return true;
}
// Objects
if (a && b && typeof a === 'object' && typeof b === 'object') {
specific: {
if (a.__proto__ === OBJ_PROTO)
break specific;
if (a instanceof Uint8Array) {
if (!(b instanceof Uint8Array))
return false;
const length = a.length;
if (length !== b.length)
return false;
for (let i = 0; i < length; i++)
if (a[i] !== b[i])
return false;
return true;
}
}
const keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length)
return false;
if (isArray(b))
return false;
for (i = length; i-- !== 0;) {
const key = keys[i];
if (!(0, exports.deepEqual)(a[key], b[key]))
return false;
}
return true;
}
return false;
};
exports.deepEqual = deepEqual;
//# sourceMappingURL=v6.js.map
{"version":3,"file":"v6.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqual/v6.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAE5B,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE;IAC3D,aAAa;IACb,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,MAAM,GAAW,CAAC,EACpB,CAAC,GAAW,CAAC,CAAC;IAEhB,SAAS;IACT,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAClB,IAAI,MAAM,KAAM,CAAoB,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1D,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;YAAI,IAAI,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAoB,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;IACV,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,QAAQ,EAAE,CAAC;YACT,IAAU,CAAE,CAAC,SAAS,KAAK,SAAS;gBAAE,MAAM,QAAQ,CAAC;YACrD,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC7C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBACxB,IAAI,MAAM,KAAK,CAAC,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;oBAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAAE,OAAO,KAAK,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7B,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAA,iBAAS,EAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAxCW,QAAA,SAAS,aAwCpB"}
import type { JavaScript } from '@jsonjoy.com/codegen';
export declare const deepEqualCodegen: (a: unknown) => JavaScript<(b: unknown) => boolean>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deepEqualCodegen = void 0;
const codegenValue = (doc, code, r) => {
let rr = r;
const type = typeof doc;
const isPrimitive = doc === null || type === 'boolean' || type === 'string' || type === 'number';
// Primitives
if (isPrimitive) {
if (doc === Infinity) {
code.push(`if(r${r} !== Infinity)return false;`);
}
else if (doc === -Infinity) {
code.push(`if(r${r} !== -Infinity)return false;`);
}
else {
code.push(`if(r${r} !== ${JSON.stringify(doc)})return false;`);
}
return rr;
}
// Arrays
if (Array.isArray(doc)) {
code.push(`if(!Array.isArray(r${r}) || r${r}.length !== ${doc.length})return false;`);
for (let i = 0; i < doc.length; i++) {
rr++;
code.push(`var r${rr}=r${r}[${i}];`);
rr = codegenValue(doc[i], code, rr);
}
return rr;
}
// Uint8Array
if (doc instanceof Uint8Array) {
const length = doc.length;
code.push(`if(!(r${r} instanceof Uint8Array) || r${r}.length !== ${length})return false;`);
let condition = '';
for (let i = 0; i < length; i++)
condition += (condition ? '||' : '') + `(r${r}[${i}]!==${doc[i]})`;
if (condition)
code.push(`if(${condition})return false;`);
return rr;
}
// Objects
if (type === 'object' && doc) {
const obj = doc;
const keys = Object.keys(obj);
code.push(`if(!r${r} || typeof r${r} !== "object" || Array.isArray(r${r}) || Object.keys(r${r}).length !== ${keys.length})return false;`);
for (const key of keys) {
rr++;
code.push(`var r${rr}=r${r}[${JSON.stringify(key)}];`);
rr = codegenValue(obj[key], code, rr);
}
return rr;
}
// Undefined
if (doc === undefined) {
code.push(`if(r${r} !== undefined)return false;`);
return rr;
}
return rr;
};
const deepEqualCodegen = (a) => {
const code = [];
codegenValue(a, code, 0);
const fn = ['(function(r0){', ...code, 'return true;', '})'];
// return fn.join('\n') as JavaScript<(b: unknown) => boolean>;
return fn.join('');
};
exports.deepEqualCodegen = deepEqualCodegen;
//# sourceMappingURL=v1.js.map
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqualCodegen/v1.ts"],"names":[],"mappings":"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"}