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/esm/anr.js.map
{"version":3,"file":"anr.js","sources":["../../src/anr.ts"],"sourcesContent":["import type { StackFrame } from '@sentry/types';\n\nimport { dropUndefinedKeys } from './object';\nimport { filenameIsInApp, stripSentryFramesAndReverse } from './stacktrace';\n\ntype WatchdogReturn = {\n  /** Resets the watchdog timer */\n  poll: () => void;\n  /** Enables or disables the watchdog timer */\n  enabled: (state: boolean) => void;\n};\n\ntype CreateTimerImpl = () => { getTimeMs: () => number; reset: () => void };\n\n/**\n * A node.js watchdog timer\n * @param pollInterval The interval that we expect to get polled at\n * @param anrThreshold The threshold for when we consider ANR\n * @param callback The callback to call for ANR\n * @returns An object with `poll` and `enabled` functions {@link WatchdogReturn}\n */\nexport function watchdogTimer(\n  createTimer: CreateTimerImpl,\n  pollInterval: number,\n  anrThreshold: number,\n  callback: () => void,\n): WatchdogReturn {\n  const timer = createTimer();\n  let triggered = false;\n  let enabled = true;\n\n  setInterval(() => {\n    const diffMs = timer.getTimeMs();\n\n    if (triggered === false && diffMs > pollInterval + anrThreshold) {\n      triggered = true;\n      if (enabled) {\n        callback();\n      }\n    }\n\n    if (diffMs < pollInterval + anrThreshold) {\n      triggered = false;\n    }\n  }, 20);\n\n  return {\n    poll: () => {\n      timer.reset();\n    },\n    enabled: (state: boolean) => {\n      enabled = state;\n    },\n  };\n}\n\n// types copied from inspector.d.ts\ninterface Location {\n  scriptId: string;\n  lineNumber: number;\n  columnNumber?: number;\n}\n\ninterface CallFrame {\n  functionName: string;\n  location: Location;\n  url: string;\n}\n\ninterface ScriptParsedEventDataType {\n  scriptId: string;\n  url: string;\n}\n\ninterface PausedEventDataType {\n  callFrames: CallFrame[];\n  reason: string;\n}\n\n/**\n * Converts Debugger.CallFrame to Sentry StackFrame\n */\nfunction callFrameToStackFrame(\n  frame: CallFrame,\n  url: string | undefined,\n  getModuleFromFilename: (filename: string | undefined) => string | undefined,\n): StackFrame {\n  const filename = url ? url.replace(/^file:\\/\\//, '') : undefined;\n\n  // CallFrame row/col are 0 based, whereas StackFrame are 1 based\n  const colno = frame.location.columnNumber ? frame.location.columnNumber + 1 : undefined;\n  const lineno = frame.location.lineNumber ? frame.location.lineNumber + 1 : undefined;\n\n  return dropUndefinedKeys({\n    filename,\n    module: getModuleFromFilename(filename),\n    function: frame.functionName || '?',\n    colno,\n    lineno,\n    in_app: filename ? filenameIsInApp(filename) : undefined,\n  });\n}\n\n// The only messages we care about\ntype DebugMessage =\n  | { method: 'Debugger.scriptParsed'; params: ScriptParsedEventDataType }\n  | { method: 'Debugger.paused'; params: PausedEventDataType };\n\n/**\n * Creates a message handler from the v8 debugger protocol and passed stack frames to the callback when paused.\n */\nexport function createDebugPauseMessageHandler(\n  sendCommand: (message: string) => void,\n  getModuleFromFilename: (filename?: string) => string | undefined,\n  pausedStackFrames: (frames: StackFrame[]) => void,\n): (message: DebugMessage) => void {\n  // Collect scriptId -> url map so we can look up the filenames later\n  const scripts = new Map<string, string>();\n\n  return message => {\n    if (message.method === 'Debugger.scriptParsed') {\n      scripts.set(message.params.scriptId, message.params.url);\n    } else if (message.method === 'Debugger.paused') {\n      // copy the frames\n      const callFrames = [...message.params.callFrames];\n      // and resume immediately\n      sendCommand('Debugger.resume');\n      sendCommand('Debugger.disable');\n\n      const stackFrames = stripSentryFramesAndReverse(\n        callFrames.map(frame =>\n          callFrameToStackFrame(frame, scripts.get(frame.location.scriptId), getModuleFromFilename),\n        ),\n      );\n\n      pausedStackFrames(stackFrames);\n    }\n  };\n}\n"],"names":[],"mappings":"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"}