MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/cafsindia/snap.cafsinfotech.in/node_modules/@sentry/utils/cjs/stacktrace.js.map
{"version":3,"file":"stacktrace.js","sources":["../../src/stacktrace.ts"],"sourcesContent":["import type { StackFrame, StackLineParser, StackParser } from '@sentry/types';\n\nimport type { GetModuleFn } from './node-stack-trace';\nimport { filenameIsInApp, node } from './node-stack-trace';\n\nexport { filenameIsInApp };\n\nconst STACKTRACE_FRAME_LIMIT = 50;\n// Used to sanitize webpack (error: *) wrapped stack errors\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nexport function createStackParser(...parsers: StackLineParser[]): StackParser {\n  const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n  return (stack: string, skipFirst: number = 0): StackFrame[] => {\n    const frames: StackFrame[] = [];\n    const lines = stack.split('\\n');\n\n    for (let i = skipFirst; i < lines.length; i++) {\n      const line = lines[i];\n      // Ignore lines over 1kb as they are unlikely to be stack frames.\n      // Many of the regular expressions use backtracking which results in run time that increases exponentially with\n      // input size. Huge strings can result in hangs/Denial of Service:\n      // https://github.com/getsentry/sentry-javascript/issues/2286\n      if (line.length > 1024) {\n        continue;\n      }\n\n      // https://github.com/getsentry/sentry-javascript/issues/5459\n      // Remove webpack (error: *) wrappers\n      const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, '$1') : line;\n\n      // https://github.com/getsentry/sentry-javascript/issues/7813\n      // Skip Error: lines\n      if (cleanedLine.match(/\\S*Error: /)) {\n        continue;\n      }\n\n      for (const parser of sortedParsers) {\n        const frame = parser(cleanedLine);\n\n        if (frame) {\n          frames.push(frame);\n          break;\n        }\n      }\n\n      if (frames.length >= STACKTRACE_FRAME_LIMIT) {\n        break;\n      }\n    }\n\n    return stripSentryFramesAndReverse(frames);\n  };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nexport function stackParserFromStackParserOptions(stackParser: StackParser | StackLineParser[]): StackParser {\n  if (Array.isArray(stackParser)) {\n    return createStackParser(...stackParser);\n  }\n  return stackParser;\n}\n\n/**\n * Removes Sentry frames from the top and bottom of the stack if present and enforces a limit of max number of frames.\n * Assumes stack input is ordered from top to bottom and returns the reverse representation so call site of the\n * function that caused the crash is the last frame in the array.\n * @hidden\n */\nexport function stripSentryFramesAndReverse(stack: ReadonlyArray<StackFrame>): StackFrame[] {\n  if (!stack.length) {\n    return [];\n  }\n\n  const localStack = Array.from(stack);\n\n  // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n  if (/sentryWrapped/.test(localStack[localStack.length - 1].function || '')) {\n    localStack.pop();\n  }\n\n  // Reversing in the middle of the procedure allows us to just pop the values off the stack\n  localStack.reverse();\n\n  // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n  if (STRIP_FRAME_REGEXP.test(localStack[localStack.length - 1].function || '')) {\n    localStack.pop();\n\n    // When using synthetic events, we will have a 2 levels deep stack, as `new Error('Sentry syntheticException')`\n    // is produced within the hub itself, making it:\n    //\n    //   Sentry.captureException()\n    //   getCurrentHub().captureException()\n    //\n    // instead of just the top `Sentry` call itself.\n    // This forces us to possibly strip an additional frame in the exact same was as above.\n    if (STRIP_FRAME_REGEXP.test(localStack[localStack.length - 1].function || '')) {\n      localStack.pop();\n    }\n  }\n\n  return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map(frame => ({\n    ...frame,\n    filename: frame.filename || localStack[localStack.length - 1].filename,\n    function: frame.function || '?',\n  }));\n}\n\nconst defaultFunctionName = '<anonymous>';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n  try {\n    if (!fn || typeof fn !== 'function') {\n      return defaultFunctionName;\n    }\n    return fn.name || defaultFunctionName;\n  } catch (e) {\n    // Just accessing custom props in some Selenium environments\n    // can cause a \"Permission denied\" exception (see raven-js#495).\n    return defaultFunctionName;\n  }\n}\n\n/**\n * Node.js stack line parser\n *\n * This is in @sentry/utils so it can be used from the Electron SDK in the browser for when `nodeIntegration == true`.\n * This allows it to be used without referencing or importing any node specific code which causes bundlers to complain\n */\nexport function nodeStackLineParser(getModule?: GetModuleFn): StackLineParser {\n  return [90, node(getModule)];\n}\n"],"names":["node"],"mappings":"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"}