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/trycatch.js.map
{"version":3,"file":"trycatch.js","sources":["../../../../src/integrations/trycatch.ts"],"sourcesContent":["import type { Integration, WrappedFunction } from '@sentry/types';\nimport { fill, getFunctionName, getOriginalFunction } from '@sentry/utils';\n\nimport { WINDOW, wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n  'EventTarget',\n  'Window',\n  'Node',\n  'ApplicationCache',\n  'AudioTrackList',\n  'BroadcastChannel',\n  'ChannelMergerNode',\n  'CryptoOperation',\n  'EventSource',\n  'FileReader',\n  'HTMLUnknownElement',\n  'IDBDatabase',\n  'IDBRequest',\n  'IDBTransaction',\n  'KeyOperation',\n  'MediaController',\n  'MessagePort',\n  'ModalWindow',\n  'Notification',\n  'SVGElementInstance',\n  'Screen',\n  'SharedWorker',\n  'TextTrack',\n  'TextTrackCue',\n  'TextTrackList',\n  'WebSocket',\n  'WebSocketWorker',\n  'Worker',\n  'XMLHttpRequest',\n  'XMLHttpRequestEventTarget',\n  'XMLHttpRequestUpload',\n];\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\n/** JSDoc */\ninterface TryCatchOptions {\n  setTimeout: boolean;\n  setInterval: boolean;\n  requestAnimationFrame: boolean;\n  XMLHttpRequest: boolean;\n  eventTarget: boolean | string[];\n}\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nexport class TryCatch implements Integration {\n  /**\n   * @inheritDoc\n   */\n  public static id: string = 'TryCatch';\n\n  /**\n   * @inheritDoc\n   */\n  public name: string;\n\n  /** JSDoc */\n  private readonly _options: TryCatchOptions;\n\n  /**\n   * @inheritDoc\n   */\n  public constructor(options?: Partial<TryCatchOptions>) {\n    this.name = TryCatch.id;\n    this._options = {\n      XMLHttpRequest: true,\n      eventTarget: true,\n      requestAnimationFrame: true,\n      setInterval: true,\n      setTimeout: true,\n      ...options,\n    };\n  }\n\n  /**\n   * Wrap timer functions and event targets to catch errors\n   * and provide better metadata.\n   */\n  public setupOnce(): void {\n    if (this._options.setTimeout) {\n      fill(WINDOW, 'setTimeout', _wrapTimeFunction);\n    }\n\n    if (this._options.setInterval) {\n      fill(WINDOW, 'setInterval', _wrapTimeFunction);\n    }\n\n    if (this._options.requestAnimationFrame) {\n      fill(WINDOW, 'requestAnimationFrame', _wrapRAF);\n    }\n\n    if (this._options.XMLHttpRequest && 'XMLHttpRequest' in WINDOW) {\n      fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n    }\n\n    const eventTargetOption = this._options.eventTarget;\n    if (eventTargetOption) {\n      const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n      eventTarget.forEach(_wrapEventTarget);\n    }\n  }\n}\n\n/** JSDoc */\nfunction _wrapTimeFunction(original: () => void): () => number {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  return function (this: any, ...args: any[]): number {\n    const originalCallback = args[0];\n    args[0] = wrap(originalCallback, {\n      mechanism: {\n        data: { function: getFunctionName(original) },\n        handled: false,\n        type: 'instrument',\n      },\n    });\n    return original.apply(this, args);\n  };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  return function (this: any, callback: () => void): () => void {\n    // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n    return original.apply(this, [\n      wrap(callback, {\n        mechanism: {\n          data: {\n            function: 'requestAnimationFrame',\n            handler: getFunctionName(original),\n          },\n          handled: false,\n          type: 'instrument',\n        },\n      }),\n    ]);\n  };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend: () => void): () => void {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  return function (this: XMLHttpRequest, ...args: any[]): void {\n    // eslint-disable-next-line @typescript-eslint/no-this-alias\n    const xhr = this;\n    const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n    xmlHttpRequestProps.forEach(prop => {\n      if (prop in xhr && typeof xhr[prop] === 'function') {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        fill(xhr, prop, function (original: WrappedFunction): () => any {\n          const wrapOptions = {\n            mechanism: {\n              data: {\n                function: prop,\n                handler: getFunctionName(original),\n              },\n              handled: false,\n              type: 'instrument',\n            },\n          };\n\n          // If Instrument integration has been called before TryCatch, get the name of original function\n          const originalFunction = getOriginalFunction(original);\n          if (originalFunction) {\n            wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n          }\n\n          // Otherwise wrap directly\n          return wrap(original, wrapOptions);\n        });\n      }\n    });\n\n    return originalSend.apply(this, args);\n  };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target: string): void {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  const globalObject = WINDOW as { [key: string]: any };\n  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n  const proto = globalObject[target] && globalObject[target].prototype;\n\n  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n  if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n    return;\n  }\n\n  fill(proto, 'addEventListener', function (original: () => void): (\n    eventName: string,\n    fn: EventListenerObject,\n    options?: boolean | AddEventListenerOptions,\n  ) => void {\n    return function (\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      this: any,\n      eventName: string,\n      fn: EventListenerObject,\n      options?: boolean | AddEventListenerOptions,\n    ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n      try {\n        if (typeof fn.handleEvent === 'function') {\n          // ESlint disable explanation:\n          //  First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n          //  introduce a bug here, because bind returns a new function that doesn't have our\n          //  flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n          //  Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n          // eslint-disable-next-line @typescript-eslint/unbound-method\n          fn.handleEvent = wrap(fn.handleEvent, {\n            mechanism: {\n              data: {\n                function: 'handleEvent',\n                handler: getFunctionName(fn),\n                target,\n              },\n              handled: false,\n              type: 'instrument',\n            },\n          });\n        }\n      } catch (err) {\n        // can sometimes get 'Permission denied to access property \"handle Event'\n      }\n\n      return original.apply(this, [\n        eventName,\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        wrap(fn as any as WrappedFunction, {\n          mechanism: {\n            data: {\n              function: 'addEventListener',\n              handler: getFunctionName(fn),\n              target,\n            },\n            handled: false,\n            type: 'instrument',\n          },\n        }),\n        options,\n      ]);\n    };\n  });\n\n  fill(\n    proto,\n    'removeEventListener',\n    function (\n      originalRemoveEventListener: () => void,\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n      return function (\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        this: any,\n        eventName: string,\n        fn: EventListenerObject,\n        options?: boolean | EventListenerOptions,\n      ): () => void {\n        /**\n         * There are 2 possible scenarios here:\n         *\n         * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n         * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n         * as a pass-through, and call original `removeEventListener` with it.\n         *\n         * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n         * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n         * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n         * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n         * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n         *\n         * When someone adds a handler prior to initialization, and then do it again, but after,\n         * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n         * to get rid of the initial handler and it'd stick there forever.\n         */\n        const wrappedEventHandler = fn as unknown as WrappedFunction;\n        try {\n          const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n          if (originalEventHandler) {\n            originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n          }\n        } catch (e) {\n          // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n        }\n        return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n      };\n    },\n  );\n}\n"],"names":[],"mappings":"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"}