first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
@@ -0,0 +1 @@
export * from './v1';
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./v1"), exports);
//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqualCodegen/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB"}
@@ -0,0 +1,2 @@
import { JavaScript } from '../../codegen';
export declare const deepEqualCodegen: (a: unknown) => JavaScript<(b: unknown) => boolean>;
+63
View File
@@ -0,0 +1,63 @@
"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';
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;
}
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;
}
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;
}
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;
}
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('');
};
exports.deepEqualCodegen = deepEqualCodegen;
//# sourceMappingURL=v1.js.map
@@ -0,0 +1 @@
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/json-equal/deepEqualCodegen/v1.ts"],"names":[],"mappings":"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"}