{"version":3,"file":"debug-ids.js","sources":["../../src/debug-ids.ts"],"sourcesContent":["import type { DebugImage, StackFrame, StackParser } from '@sentry/types';\nimport { GLOBAL_OBJ } from './worldwide';\n\nconst debugIdStackParserCache = new WeakMap>();\n\n/**\n * Returns a map of filenames to debug identifiers.\n */\nexport function getFilenameToDebugIdMap(stackParser: StackParser): Record {\n const debugIdMap = GLOBAL_OBJ._sentryDebugIds;\n if (!debugIdMap) {\n return {};\n }\n\n let debugIdStackFramesCache: Map;\n const cachedDebugIdStackFrameCache = debugIdStackParserCache.get(stackParser);\n if (cachedDebugIdStackFrameCache) {\n debugIdStackFramesCache = cachedDebugIdStackFrameCache;\n } else {\n debugIdStackFramesCache = new Map();\n debugIdStackParserCache.set(stackParser, debugIdStackFramesCache);\n }\n\n // Build a map of filename -> debug_id.\n return Object.keys(debugIdMap).reduce>((acc, debugIdStackTrace) => {\n let parsedStack: StackFrame[];\n\n const cachedParsedStack = debugIdStackFramesCache.get(debugIdStackTrace);\n if (cachedParsedStack) {\n parsedStack = cachedParsedStack;\n } else {\n parsedStack = stackParser(debugIdStackTrace);\n debugIdStackFramesCache.set(debugIdStackTrace, parsedStack);\n }\n\n for (let i = parsedStack.length - 1; i >= 0; i--) {\n const stackFrame = parsedStack[i];\n const file = stackFrame && stackFrame.filename;\n\n if (stackFrame && file) {\n acc[file] = debugIdMap[debugIdStackTrace] as string;\n break;\n }\n }\n return acc;\n }, {});\n}\n\n/**\n * Returns a list of debug images for the given resources.\n */\nexport function getDebugImagesForResources(\n stackParser: StackParser,\n resource_paths: ReadonlyArray,\n): DebugImage[] {\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n const images: DebugImage[] = [];\n for (const path of resource_paths) {\n if (path && filenameDebugIdMap[path]) {\n images.push({\n type: 'sourcemap',\n code_file: path,\n debug_id: filenameDebugIdMap[path] as string,\n });\n }\n }\n\n return images;\n}\n"],"names":[],"mappings":";;AAGA,MAAM,uBAAwB,GAAE,IAAI,OAAO,EAA0C;;AAErF;AACA;AACA;AACO,SAAS,uBAAuB,CAAC,WAAW,EAAuC;AAC1F,EAAE,MAAM,UAAA,GAAa,UAAU,CAAC,eAAe;AAC/C,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,OAAO,EAAE;AACb;;AAEA,EAAE,IAAI,uBAAuB;AAC7B,EAAE,MAAM,+BAA+B,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC;AAC/E,EAAE,IAAI,4BAA4B,EAAE;AACpC,IAAI,uBAAA,GAA0B,4BAA4B;AAC1D,SAAS;AACT,IAAI,uBAAwB,GAAE,IAAI,GAAG,EAAwB;AAC7D,IAAI,uBAAuB,CAAC,GAAG,CAAC,WAAW,EAAE,uBAAuB,CAAC;AACrE;;AAEA;AACA,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,iBAAiB,KAAK;AAC5F,IAAI,IAAI,WAAW;;AAEnB,IAAI,MAAM,oBAAoB,uBAAuB,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAC5E,IAAI,IAAI,iBAAiB,EAAE;AAC3B,MAAM,WAAA,GAAc,iBAAiB;AACrC,WAAW;AACX,MAAM,WAAY,GAAE,WAAW,CAAC,iBAAiB,CAAC;AAClD,MAAM,uBAAuB,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC;AACjE;;AAEA,IAAI,KAAK,IAAI,CAAE,GAAE,WAAW,CAAC,MAAA,GAAS,CAAC,EAAE,CAAE,IAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACtD,MAAM,MAAM,UAAW,GAAE,WAAW,CAAC,CAAC,CAAC;AACvC,MAAM,MAAM,IAAK,GAAE,cAAc,UAAU,CAAC,QAAQ;;AAEpD,MAAM,IAAI,UAAW,IAAG,IAAI,EAAE;AAC9B,QAAQ,GAAG,CAAC,IAAI,CAAA,GAAI,UAAU,CAAC,iBAAiB,CAAE;AAClD,QAAQ;AACR;AACA;AACA,IAAI,OAAO,GAAG;AACd,GAAG,EAAE,EAAE,CAAC;AACR;;AAEA;AACA;AACA;AACO,SAAS,0BAA0B;AAC1C,EAAE,WAAW;AACb,EAAE,cAAc;AAChB,EAAgB;AAChB,EAAE,MAAM,kBAAmB,GAAE,uBAAuB,CAAC,WAAW,CAAC;;AAEjE,EAAE,MAAM,MAAM,GAAiB,EAAE;AACjC,EAAE,KAAK,MAAM,IAAK,IAAG,cAAc,EAAE;AACrC,IAAI,IAAI,IAAK,IAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAC1C,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,WAAW;AACzB,QAAQ,SAAS,EAAE,IAAI;AACvB,QAAQ,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAE;AAC3C,OAAO,CAAC;AACR;AACA;;AAEA,EAAE,OAAO,MAAM;AACf;;;;"}