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/browser/esm/integrations/dedupe.js.map
{"version":3,"file":"dedupe.js","sources":["../../../../src/integrations/dedupe.ts"],"sourcesContent":["import type { Event, Exception, Integration, StackFrame } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\n/** Deduplication filter */\nexport class Dedupe implements Integration {\n  /**\n   * @inheritDoc\n   */\n  public static id: string = 'Dedupe';\n\n  /**\n   * @inheritDoc\n   */\n  public name: string;\n\n  /**\n   * @inheritDoc\n   */\n  private _previousEvent?: Event;\n\n  public constructor() {\n    this.name = Dedupe.id;\n  }\n\n  /** @inheritDoc */\n  public setupOnce(_addGlobaleventProcessor: unknown, _getCurrentHub: unknown): void {\n    // noop\n  }\n\n  /**\n   * @inheritDoc\n   */\n  public processEvent(currentEvent: Event): Event | null {\n    // We want to ignore any non-error type events, e.g. transactions or replays\n    // These should never be deduped, and also not be compared against as _previousEvent.\n    if (currentEvent.type) {\n      return currentEvent;\n    }\n\n    // Juuust in case something goes wrong\n    try {\n      if (_shouldDropEvent(currentEvent, this._previousEvent)) {\n        __DEBUG_BUILD__ && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n        return null;\n      }\n    } catch (_oO) {} // eslint-disable-line no-empty\n\n    return (this._previousEvent = currentEvent);\n  }\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n  if (!previousEvent) {\n    return false;\n  }\n\n  if (_isSameMessageEvent(currentEvent, previousEvent)) {\n    return true;\n  }\n\n  if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n    return true;\n  }\n\n  return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n  const currentMessage = currentEvent.message;\n  const previousMessage = previousEvent.message;\n\n  // If neither event has a message property, they were both exceptions, so bail out\n  if (!currentMessage && !previousMessage) {\n    return false;\n  }\n\n  // If only one event has a stacktrace, but not the other one, they are not the same\n  if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n    return false;\n  }\n\n  if (currentMessage !== previousMessage) {\n    return false;\n  }\n\n  if (!_isSameFingerprint(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  if (!_isSameStacktrace(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n  const previousException = _getExceptionFromEvent(previousEvent);\n  const currentException = _getExceptionFromEvent(currentEvent);\n\n  if (!previousException || !currentException) {\n    return false;\n  }\n\n  if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n    return false;\n  }\n\n  if (!_isSameFingerprint(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  if (!_isSameStacktrace(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n  let currentFrames = _getFramesFromEvent(currentEvent);\n  let previousFrames = _getFramesFromEvent(previousEvent);\n\n  // If neither event has a stacktrace, they are assumed to be the same\n  if (!currentFrames && !previousFrames) {\n    return true;\n  }\n\n  // If only one event has a stacktrace, but not the other one, they are not the same\n  if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n    return false;\n  }\n\n  currentFrames = currentFrames as StackFrame[];\n  previousFrames = previousFrames as StackFrame[];\n\n  // If number of frames differ, they are not the same\n  if (previousFrames.length !== currentFrames.length) {\n    return false;\n  }\n\n  // Otherwise, compare the two\n  for (let i = 0; i < previousFrames.length; i++) {\n    const frameA = previousFrames[i];\n    const frameB = currentFrames[i];\n\n    if (\n      frameA.filename !== frameB.filename ||\n      frameA.lineno !== frameB.lineno ||\n      frameA.colno !== frameB.colno ||\n      frameA.function !== frameB.function\n    ) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n  let currentFingerprint = currentEvent.fingerprint;\n  let previousFingerprint = previousEvent.fingerprint;\n\n  // If neither event has a fingerprint, they are assumed to be the same\n  if (!currentFingerprint && !previousFingerprint) {\n    return true;\n  }\n\n  // If only one event has a fingerprint, but not the other one, they are not the same\n  if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n    return false;\n  }\n\n  currentFingerprint = currentFingerprint as string[];\n  previousFingerprint = previousFingerprint as string[];\n\n  // Otherwise, compare the two\n  try {\n    return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n  } catch (_oO) {\n    return false;\n  }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n  return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event: Event): StackFrame[] | undefined {\n  const exception = event.exception;\n\n  if (exception) {\n    try {\n      // @ts-expect-error Object could be undefined\n      return exception.values[0].stacktrace.frames;\n    } catch (_oO) {\n      return undefined;\n    }\n  }\n  return undefined;\n}\n"],"names":[],"mappings":"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"}