import { GLOBAL_OBJ } from '../worldwide.js'; import { addHandler, maybeInstrument, triggerHandlers } from './_handlers.js'; let _oldOnUnhandledRejectionHandler = null; /** * Add an instrumentation handler for when an unhandled promise rejection is captured. * * Use at your own risk, this might break without changelog notice, only used internally. * @hidden */ function addGlobalUnhandledRejectionInstrumentationHandler( handler, ) { const type = 'unhandledrejection'; addHandler(type, handler); maybeInstrument(type, instrumentUnhandledRejection); } function instrumentUnhandledRejection() { _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection; GLOBAL_OBJ.onunhandledrejection = function (e) { const handlerData = e; triggerHandlers('unhandledrejection', handlerData); if (_oldOnUnhandledRejectionHandler && !_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__) { // eslint-disable-next-line prefer-rest-params return _oldOnUnhandledRejectionHandler.apply(this, arguments); } return true; }; GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true; } export { addGlobalUnhandledRejectionInstrumentationHandler }; //# sourceMappingURL=globalUnhandledRejection.js.map