decord/source/556_defaultOptions.js
2026-07-23 10:11:24 +00:00

304 lines
8.1 KiB
JavaScript

// Module ID: 556
// Function ID: 6709
// Name: defaultOptions
// Dependencies: []
// Module 556 (defaultOptions)
function defaultOptions() {
return { depthLimit: Number.MAX_SAFE_INTEGER, edgesLimit: Number.MAX_SAFE_INTEGER };
}
function stringify(arr, arg1, arg2, depthLimit) {
let tmp = depthLimit;
if (undefined === depthLimit) {
tmp = defaultOptions();
}
decirc(arr, "", 0, [], undefined, 0, tmp);
if (0 === arr2.length) {
const _JSON2 = JSON;
let json = JSON.stringify(arr, arg1, arg2);
} else {
const _JSON = JSON;
json = JSON.stringify(arr, replaceGetterValues(arg1), arg2);
}
if (0 !== arr.length) {
do {
let tmp11 = arr;
arr = arr.pop();
let tmp12 = arr;
if (4 === arr.length) {
let _Object = Object;
let tmp14 = arr;
let definePropertyResult = Object.defineProperty(tmp12[0], tmp12[1], tmp12[3]);
} else {
let tmp13 = arr;
tmp12[0][tmp12[1]] = tmp12[2];
}
let tmp16 = arr;
} while (0 !== arr.length);
}
return json;
}
function setReplace(c0, arr, arg2, arr) {
const ownPropertyDescriptor = Object.getOwnPropertyDescriptor(arr, arg2);
if (undefined !== ownPropertyDescriptor.get) {
if (ownPropertyDescriptor.configurable) {
const _Object = Object;
const obj = { value: c0 };
Object.defineProperty(arr, arg2, obj);
const items = [arr, arg2, arr, ownPropertyDescriptor];
arr = arr.push(items);
} else {
const items1 = [arr, arg2, c0];
arr = arr2.push(items1);
}
} else {
arr[arg2] = c0;
const items2 = [arr, arg2, arr];
arr.push(items2);
}
}
function decirc(arr, arg1, arg2, arr, arr, sum, depthLimit) {
let length;
let length2;
sum = sum + 1;
if ("object" === typeof arr) {
if (null !== arr) {
let num2 = 0;
let num3 = 0;
if (0 < arr.length) {
while (arr[num3] !== arr) {
num3 = num3 + 1;
}
setReplace(c1, arr, arg1, arr);
}
if (undefined !== depthLimit.depthLimit) {
if (sum > depthLimit.depthLimit) {
setReplace(c0, arr, arg1, arr);
}
}
if (undefined !== depthLimit.edgesLimit) {
if (arg2 + 1 > depthLimit.edgesLimit) {
setReplace(c0, arr, arg1, arr);
}
}
arr.push(arr);
const _Array = Array;
if (Array.isArray(arr)) {
num2 = 0;
if (tmp14) {
do {
let tmp15 = decirc;
let tmp16 = num2;
let tmp17 = num2;
let tmp18 = arr;
let tmp19 = arr;
let tmp20 = sum;
let tmp21 = depthLimit;
let tmp22 = decirc(arr[num2], num2, num2, arr, arr, sum, depthLimit);
num2 = num2 + 1;
length2 = arr.length;
} while (num2 < length2);
}
tmp14 = num2 < arr.length;
} else {
const _Object = Object;
const keys = Object.keys(arr);
let num = 0;
if (num2 < keys.length) {
do {
let tmp5 = keys[num];
let tmp6 = decirc;
let tmp7 = tmp5;
let tmp8 = num;
let tmp9 = arr;
let tmp10 = arr;
let tmp11 = sum;
let tmp12 = depthLimit;
let tmp13 = decirc(arr[tmp5], tmp5, num, arr, arr, sum, depthLimit);
num = num + 1;
length = keys.length;
} while (num < length);
}
}
arr.pop();
}
}
}
function compareFunction(arg0, arg1) {
let num = -1;
if (arg0 >= arg1) {
let num2 = 0;
if (arg0 > arg1) {
num2 = 1;
}
num = num2;
}
return num;
}
function deterministicStringify(arr, arg1, arg2, depthLimit) {
let tmp = depthLimit;
if (undefined === depthLimit) {
tmp = defaultOptions();
}
const tmp3 = deterministicDecirc(arr, "", 0, [], undefined, 0, tmp);
let tmp4 = tmp3;
if (!tmp3) {
tmp4 = arr;
}
if (0 === arr2.length) {
const _JSON2 = JSON;
let json = JSON.stringify(tmp4, arg1, arg2);
} else {
const _JSON = JSON;
json = JSON.stringify(tmp5, replaceGetterValues(arg1), arg2);
}
if (0 !== arr.length) {
do {
let tmp13 = arr;
arr = arr.pop();
let tmp14 = arr;
if (4 === arr.length) {
let _Object = Object;
let tmp16 = arr;
let definePropertyResult = Object.defineProperty(tmp14[0], tmp14[1], tmp14[3]);
} else {
let tmp15 = arr;
tmp14[0][tmp14[1]] = tmp14[2];
}
let tmp18 = arr;
} while (0 !== arr.length);
}
return json;
}
function deterministicDecirc(arr, arg1, arg2, arr, arr, sum, depthLimit) {
let length;
let length2;
let sum2;
let sum3;
sum = sum + 1;
if ("object" === typeof arr) {
if (null !== arr) {
let num4 = 0;
if (0 < arr.length) {
while (arr[num4] !== arr) {
let tmp71 = num4;
let sum1 = num4 + 1;
num4 = sum1;
let tmp73 = arr;
}
setReplace(c1, arr, arg1, arr);
}
if ("function" !== typeof arr.toJSON) {
if (undefined !== depthLimit.depthLimit) {
if (sum > depthLimit.depthLimit) {
setReplace(c0, arr, arg1, arr);
}
}
if (undefined !== depthLimit.edgesLimit) {
if (arg2 + 1 > depthLimit.edgesLimit) {
setReplace(c0, arr, arg1, arr);
}
}
arr = arr.push(arr);
const _Array = Array;
if (Array.isArray(arr)) {
let num2 = 0;
if (0 < arr.length) {
do {
let tmp38 = deterministicDecirc;
let tmp39 = arr;
let tmp40 = num2;
let tmp41 = arr;
let tmp42 = sum;
let tmp43 = depthLimit;
let tmp44 = num2;
let tmp45 = num2;
let tmp46 = arr;
let tmp47 = deterministicDecirc(arr[num2], num2, num2, arr, arr, sum, depthLimit);
sum2 = num2 + 1;
num2 = sum2;
length2 = arr.length;
} while (sum2 < length2);
}
let obj = arr;
arr = arr.pop();
} else {
obj = {};
const _Object = Object;
const keys = Object.keys(arr);
const sorted = keys.sort(compareFunction);
let num = 0;
if (0 < sorted.length) {
do {
let tmp16 = sorted;
let tmp17 = num;
let tmp18 = arr3[num];
let tmp19 = deterministicDecirc;
let tmp20 = arr;
let tmp21 = arr;
let tmp22 = sum;
let tmp23 = depthLimit;
let tmp24 = tmp18;
let tmp25 = num;
let tmp26 = arr;
let tmp27 = deterministicDecirc(arr[tmp18], tmp18, num, arr, arr, sum, depthLimit);
let tmp28 = obj;
obj[tmp18] = arr[tmp18];
sum3 = num + 1;
num = sum3;
length = arr3.length;
} while (sum3 < length);
}
if (undefined !== arr) {
const items = [arr, arg1, arr];
arr.push(items);
arr[arg1] = obj;
}
}
return obj;
}
}
}
}
function replaceGetterValues(arg0) {
let fn = arg0;
fn = arg0;
if (undefined === arg0) {
fn = (arg0, arg1) => arg1;
}
return function(arg0, arg1) {
let tmp4;
let tmp = arg1;
if (outer1_3.length > 0) {
let num2 = 0;
tmp = arg1;
if (0 < outer1_3.length) {
while (true) {
let tmp3 = outer1_3;
tmp4 = outer1_3[num2];
let tmp5 = num2;
if (tmp4[1] === arg0) {
if (tmp4[0] === arg1) {
break;
}
}
num2 = num2 + 1;
let tmp6 = outer1_3;
tmp = arg1;
}
tmp = tmp4[2];
outer1_3.splice(num2, 1);
}
}
return fn.call(this, arg0, tmp);
};
}
stringify.default = stringify;
stringify.stable = deterministicStringify;
stringify.stableStringify = deterministicStringify;
let c0 = "[...]";
let c1 = "[Circular]";
let closure_2 = [];
let closure_3 = [];
export default stringify;