// 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; } } }