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

140 lines
3.6 KiB
JavaScript

// Metro module 837 (f838).
import * as _slicedToArray from "./_slicedToArray";
import { consoleSandbox, debug } from "./consoleSandbox";
import { DEBUG_BUILD } from "./Module823";
let c677_3, c677_4;
const dsnFromString = function dsnFromString(a0) {
const r15 = c677_4.exec(a0);
if (r15) {
const r27 = _slicedToArray(r15.slice(1), 6);
const protocol = r27[0];
let publicKey = r27[1];
const r28 = r27[2];
let pass = r28 !== void 0 ? r28 : "";
const r30 = r27[3];
const host = r30 !== void 0 ? r30 : "";
const r31 = r27[4];
let port = r31 !== void 0 ? r31 : "";
const r33 = r27[5];
const r34 = r33 !== void 0 ? r33 : "";
const r13 = r34.split("/");
const r37 = r13.length > 1;
let r12 = r34;
let path = "";
if (r37) {
path = r13.slice(0, -1).join("/");
r12 = r13.pop();
}
let projectId = r12;
if (projectId) {
const r48 = r12.match(/^\d+/);
projectId = r48 ? r48[0] : r12;
}
if (!publicKey) {
publicKey = "";
}
if (!pass) {
pass = "";
}
if (!port) {
port = "";
}
if (!path) {
path = "";
}
return {
protocol,
publicKey,
pass,
host,
port,
path,
projectId
};
}
consoleSandbox(() => {
console.error(`Invalid Sentry Dsn: ${a0}`);
});
};
Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module"
});
c677_3 = /^o(\d+)\./;
c677_4 = /^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;
export { dsnFromString };
export function dsnToString(a0, r1 = false) {
const { host, path, pass, port } = a0;
return `${a0.protocol}://${a0.publicKey}${r1 ? pass ? `:${pass}` : "" : ""}@${host}${port ? `:${port}` : ""}/${path && `${path}/`}${a0.projectId}`;
}
export function extractOrgIdFromClient(a0) {
let r10;
const options = a0.getOptions();
const host = (a0.getDsn() || {}).host;
if (options.orgId) {
r10 = String(options.orgId);
} else {
r10 = void 0;
if (host) {
const r13 = host.match(c677_3);
r10 = r13 == null ? void 0 : r13[1];
}
}
return r10;
}
export function extractOrgIdFromDsnHost(a0) {
const r5 = a0.match(c677_3);
return r5 == null ? void 0 : r5[1];
}
export function makeDsn(a0) {
let r43, r56;
const r5 = typeof a0 === "string" ? dsnFromString(a0) : {
protocol: a0.protocol,
publicKey: a0.publicKey || "",
pass: a0.pass || "",
host: a0.host,
port: a0.port || "",
path: a0.path || "",
projectId: a0.projectId
};
if (r5) {
let c12505_0 = r5;
let r27 = true;
if (DEBUG_BUILD) {
const { port, projectId, protocol } = r5;
let r31 = ["protocol", "publicKey", "host", "projectId"].find((item) => {
const r9 = c12505_0[item];
let r0 = !r9;
if (!r9) {
debug.error(`Invalid Sentry Dsn: ${item} missing`);
r0 = true;
}
return r0;
});
if (!r31) {
if (projectId.match(/^\d+$/)) {
if (protocol === "http" || protocol === "https") {
let r57 = port && isNaN(parseInt(port, 10));
if (r57) {
debug.error(`Invalid Sentry Dsn: Invalid port ${port}`);
r57 = 1;
}
r56 = r57;
} else {
debug.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);
r56 = 1;
}
r43 = r56;
} else {
debug.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);
r43 = 1;
}
r31 = r43;
}
r27 = !r31;
}
if (r27) {
return r5;
}
}
}