Files
discord-decomp/_bundle/createStackParser_6371.js
T
2026-11-01 12:12:55 +02:00

96 lines
2.6 KiB
JavaScript

// Metro module 6371 (f6372).
let c4068_0, c4068_1, stripSentryFramesAndReverse, c4068_4;
const createStackParser = function createStackParser(...args) {
let c15688_0 = args.sort((a, b) => a[0] - b[0]).map((item) => item[1]);
return function(a0, r10 = 0, r4 = 0) {
const r3 = [];
const r8 = a0.split("\n");
while (r10 < r8.length) {
const r15 = r8[r10];
const length = r15.length;
const r32 = r10;
if (!(length > 1024)) {
const r13 = c4068_0.test(r15) ? r15.replace(c4068_0, "$1") : r15;
const r38 = r13.match(/\S*Error: /);
if (!r38) {
for (const item of c15688_0) {
const r46 = item(r13);
if (!r46) {
continue;
}
r3.push(r46);
break;
}
if (r3.length >= 50 + r4) {
break;
}
}
}
r10 = r32 + 1;
}
return stripSentryFramesAndReverse(r3.slice(r4));
};
};
stripSentryFramesAndReverse = function stripSentryFramesAndReverse(a0) {
if (a0.length) {
const r10 = Array.from(a0);
let c15689_0 = r10;
if (/sentryWrapped/.test((r10[r10.length - 1] || {}).function || "")) {
r10.pop();
}
r10.reverse();
if (c4068_1.test((r10[r10.length - 1] || {}).function || "")) {
r10.pop();
if (c4068_1.test((r10[r10.length - 1] || {}).function || "")) {
r10.pop();
}
}
return r10.slice(0, 50).map((item) => {
let filename = item.filename;
if (!filename) {
filename = (c15689_0[c15689_0.length - 1] || {}).filename;
}
return {
...item,
filename,
function: item.function || "?"
};
});
}
return [];
};
c4068_0 = /\(error: (.*)\)/;
c4068_1 = /captureMessage|captureException/;
c4068_4 = "<anonymous>";
export const UNKNOWN_FUNCTION = "?";
export { createStackParser };
export function getFramesFromEvent({ exception }) {
if (exception) {
const r5 = [];
let c15690_0 = r5;
try {
exception.values.forEach((value) => {
if (value.stacktrace.frames) {
c15690_0.push.apply(c15690_0, [...value.stacktrace.frames]);
}
});
} catch ($e) {
return void 0;
}
return r5;
}
}
export function getFunctionName(a0) {
let r1;
try {
r1 = (a0 ? typeof a0 === "function" : a0) && a0.name || c4068_4;
} catch ($e) {
return c4068_4;
}
return r1;
}
export function stackParserFromStackParserOptions(a0) {
return Array.isArray(a0) ? createStackParser.apply(void 0, [...a0]) : a0;
}
export { stripSentryFramesAndReverse };