Files
discord-decomp/sources/by-id/module-00071-createStringifySafeWithLimits.js
2026-07-28 01:06:53 +03:00

262 lines
12 KiB
JavaScript

/* Metro module 71; source: unknown; dependencies: [44] */
function _fun1455(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#1455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:96:6, offset: 0x00c5cb50, size: 87 bytes, params: 8, frame: 16
const createStringifySafeWithLimits2 = createStringifySafeWithLimits;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
exports.default = createStringifySafeWithLimits2({'maxDepth': 10, 'maxStringLimit': 100, 'maxArrayLimit': 50,
'maxObjectKeysLimit': 50});
exports.createStringifySafeWithLimits = createStringifySafeWithLimits2;
function createStringifySafeWithLimits({maxDepth, maxStringLimit, maxArrayLimit, maxObjectKeysLimit}) { // fn#1456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:96:44, offset: 0x00c5cba7, size: 143 bytes, params: 2, frame: 5
let r3 = maxDepth !== undefined ? maxDepth : global.Number.POSITIVE_INFINITY;
r3 = maxStringLimit !== undefined ? maxStringLimit : global.Number.POSITIVE_INFINITY;
r3 = maxArrayLimit !== undefined ? maxArrayLimit : global.Number.POSITIVE_INFINITY;
const env0_3 = maxObjectKeysLimit !== undefined ? maxObjectKeysLimit : global.Number.POSITIVE_INFINITY;
const env0_4 = [];
return stringifySafe;
function replacer(a0, a1) { // fn#1457, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:96:328, owner: createStringifySafeWithLimits.replacer, offset: 0x00c5cc36, size: 604 bytes, params: 3, frame: 20
var r6;
var r0;
var binding;
var shift;
var Array;
var isArray;
var value4;
var defaultImport;
var Object;
var keys;
var value5;
var object;
var slice;
var iterator;
var iterator2;
var item;
var item2;
var property;
var error;
var HermesInternal;
var concat;
var value6;
var concat2;
var unshift;
var substring;
let value = a1;
let length = env0_4.length;
reducibleJoin4: while (true) {
if (!length) {
break reducibleJoin4;
}
if (this === env0_4[0]) {
break reducibleJoin4;
}
reducibleLoop2: while (true) {
binding = env0_4;
shift = binding.shift;
Reflect.apply(shift, binding, []);
length = env0_4.length;
if (length) {
if (this !== env0_4[0]) {
continue reducibleLoop2;
}
break reducibleJoin4;
}
break reducibleJoin4;
}
}
const value3 = typeof value;
if (value3 === 'string') {
reducibleJoin26: while (true) {
if (value.length > env0_1 + 17) {
substring = value.substring;
value = Reflect.apply(substring, value, [0, env0_1]);
value += '...(truncated)...';
r0 = value;
break reducibleJoin26;
}
r0 = value;
break reducibleJoin26;
}
} else {
reducibleJoin12: while (true) {
reducibleJoin23: while (true) {
if (value3 !== 'object') {
break reducibleJoin23;
}
if (value !== null) {
Array = global.Array;
isArray = Array.isArray;
if (Reflect.apply(isArray, Array, [value])) {
length = env0_4.length;
if (length >= env0_0) {
length = value.length;
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
value = '[ ... array with ' + length + ' values ... ]';
r0 = value;
} else {
length = value.length;
reducibleJoin22: while (true) {
if (length > env0_2) {
slice = value.slice;
value6 = Reflect.apply(slice, value, [0, env0_2]);
concat = value6.concat;
length = value.length;
value = length - env0_2;
HermesInternal = global.HermesInternal;
concat2 = HermesInternal.concat;
value = '... extra ' + value + ' values truncated ...';
value = Reflect.apply(concat, value6, [[value]]);
r0 = value;
break reducibleJoin22;
}
r0 = value;
break reducibleJoin22;
}
}
} else {
value4 = environment.__proto__;
defaultImport = importDefault(44) /* metro dependency 44 */;
defaultImport(value3 === 'object', 'This was already found earlier');
Object = global.Object;
keys = Object.keys;
value5 = Reflect.apply(keys, Object, [value]);
length = env0_4.length;
if (length >= env0_0) {
length = value5.length;
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
value = '{ ... object with ' + length + ' keys ... }';
r0 = value;
} else {
length = value5.length;
reducibleJoin22: while (true) {
if (length > env0_3) {
object = {};
slice = value5.slice;
iterator = Reflect.apply(slice, value5, [0, env0_3])[Symbol.iterator]();
iterator2 = iterator.next;
r6 = iterator;
item2 = Reflect.apply(iterator2, r6, []);
item = item2.value;
item2 = item2.done ? undefined : r6;
if (item2 === undefined) {
length = value5.length;
object['...(truncated keys)...'] = length - env0_3;
r0 = object;
break reducibleJoin22;
}
break reducibleJoin12;
}
r0 = value;
break reducibleJoin22;
}
}
}
binding = env0_4;
unshift = binding.unshift;
Reflect.apply(unshift, binding, [r0]);
return r0;
}
break reducibleJoin23;
}
return value;
}
reducibleLoop12: while (true) {
try {
property = value[item];
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
try {
object[item] = property;
} catch (error) {
try {
item2.return();
} catch {
}
throw error;
}
r6 = item2;
item2 = Reflect.apply(iterator2, r6, []);
item = item2.value;
item2 = item2.done ? undefined : r6;
if (item2 === undefined) {
break reducibleLoop12;
}
continue reducibleLoop12;
}
object['...(truncated keys)...'] = value5.length - env0_3;
r0 = object;
env0_4.unshift(r0);
}
return r0;
}
function stringifySafe(a0) { // fn#1458, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:96:971, owner: createStringifySafeWithLimits.stringifySafe, offset: 0x00c5ce92, size: 258 bytes, params: 2, frame: 17
var r1;
var JSON;
var stringify;
var value2;
var value3;
var value4;
var value5;
var value6;
var error;
var toString;
var value7;
if (a0 === undefined) {
return 'undefined';
}
if (a0 === null) {
return 'null';
}
let value = typeof a0;
if (value === 'function') {
try {
value = a0.toString();
} catch (error) {
return '[function unknown]';
}
return value;
}
const Error = global.Error;
if (a0 instanceof Error) {
return a0.name + ': ' + a0.message;
}
try {
JSON = global.JSON;
stringify = JSON.stringify;
value2 = environment;
value3 = Reflect.apply(stringify, JSON, [a0, replacer]);
value4 = value3 === undefined;
if (value4) {
value5 = '["' + value;
value6 = value5 + '" failed to stringify]';
r1 = value6;
} else {
r1 = value3;
}
} catch (error) {
toString = a0.toString;
if (typeof toString !== 'function') {
return '["' + value + '" failed to stringify]';
}
try {
value7 = a0.toString();
} catch (error) {
return '["' + value + '" failed to stringify]';
}
return value7;
}
return r1;
}
}
}
global.__d(_fun1455, 71, [44]) /* metro module 71, dependencies: [44] */;