Files
doneit-web/.angular/cache/14.2.12/babel-webpack/8ef47e981d07e3367055c3b1c48f0c27.json
T
Eudes Inácio 53b71ea16f its working
2023-06-30 09:54:21 +01:00

1 line
47 KiB
JSON

{"ast":null,"code":"import { getGlobalObject } from './global.js';\nimport { isInstanceOf, isString } from './is.js';\nimport { logger, CONSOLE_LEVELS } from './logger.js';\nimport { fill } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\nimport { supportsNativeFetch, supportsHistory } from './supports.js';\nvar global = getGlobalObject();\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nvar handlers = {};\nvar instrumented = {};\n\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n instrumented[type] = true;\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addInstrumentationHandler(type, callback) {\n handlers[type] = handlers[type] || [];\n handlers[type].push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n if (!type || !handlers[type]) {\n return;\n }\n for (var handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.error(`Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`, e);\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n CONSOLE_LEVELS.forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n fill(global.console, level, function (originalConsoleMethod) {\n return function (...args) {\n triggerHandlers('console', {\n args,\n level\n });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n fill(global, 'fetch', function (originalFetch) {\n return function (...args) {\n var handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args)\n },\n startTimestamp: Date.now()\n };\n triggerHandlers('fetch', {\n ...handlerData\n });\n return originalFetch.apply(global, args).then(response => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response\n });\n return response;\n }, error => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n });\n };\n });\n}\n\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs = []) {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs = []) {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function (...args) {\n var xhr = this;\n var url = args[1];\n var xhrInfo = xhr.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1]\n };\n\n // if Sentry key appears in URL, don't capture it as a request\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n var onreadystatechangeHandler = function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr\n });\n }\n };\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original) {\n return function (...readyStateArgs) {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n return originalOpen.apply(xhr, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function (...args) {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this\n });\n return originalSend.apply(this, args);\n };\n });\n}\nlet lastHref;\n\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function (...args) {\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function (...args) {\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\nvar debounceDuration = 1000;\nlet debounceTimerID;\nlet lastCapturedEvent;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous, current) {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event) {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n try {\n var target = event.target;\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler, globalListener = false) {\n return event => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n var name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n var triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n var globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach(target => {\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n var handlers = el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers[type] = handlers[type] || {\n refCount: 0\n };\n if (!handlerForType.handler) {\n var handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n fill(proto, 'removeEventListener', function (originalRemoveEventListener) {\n return function (type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this;\n var handlers = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers[type];\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type];\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n });\n });\n}\nlet _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url\n });\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n}\nlet _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return true;\n };\n}\nexport { addInstrumentationHandler };","map":{"version":3,"names":["getGlobalObject","isInstanceOf","isString","logger","CONSOLE_LEVELS","fill","getFunctionName","supportsNativeFetch","supportsHistory","global","handlers","instrumented","instrument","type","instrumentConsole","instrumentDOM","instrumentXHR","instrumentFetch","instrumentHistory","instrumentError","instrumentUnhandledRejection","__SENTRY_DEBUG__","warn","addInstrumentationHandler","callback","push","triggerHandlers","data","handler","e","error","forEach","level","console","originalConsoleMethod","args","apply","originalFetch","handlerData","fetchData","method","getFetchMethod","url","getFetchUrl","startTimestamp","Date","now","then","response","endTimestamp","fetchArgs","Request","String","toUpperCase","xhrproto","XMLHttpRequest","prototype","originalOpen","xhr","xhrInfo","__sentry_xhr__","match","__sentry_own_request__","onreadystatechangeHandler","readyState","status_code","status","onreadystatechange","original","readyStateArgs","addEventListener","originalSend","undefined","body","lastHref","oldOnPopState","onpopstate","to","location","href","from","_oO","historyReplacementFunction","originalHistoryFunction","length","history","debounceDuration","debounceTimerID","lastCapturedEvent","shouldShortcircuitPreviousDebounce","previous","current","target","shouldSkipDOMEvent","event","tagName","isContentEditable","makeDOMEventHandler","globalListener","name","clearTimeout","setTimeout","triggerDOMHandler","bind","globalDOMEventHandler","document","proto","hasOwnProperty","originalAddEventListener","listener","options","el","__sentry_instrumentation_handlers__","handlerForType","refCount","call","originalRemoveEventListener","Object","keys","_oldOnErrorHandler","onerror","msg","line","column","arguments","_oldOnUnhandledRejectionHandler","onunhandledrejection"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@sentry/utils/esm/instrument.js"],"sourcesContent":["import { getGlobalObject } from './global.js';\nimport { isInstanceOf, isString } from './is.js';\nimport { logger, CONSOLE_LEVELS } from './logger.js';\nimport { fill } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\nimport { supportsNativeFetch, supportsHistory } from './supports.js';\n\nvar global = getGlobalObject();\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nvar handlers = {};\nvar instrumented = {};\n\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addInstrumentationHandler(type, callback) {\n handlers[type] = handlers[type] || [];\n (handlers[type] ).push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (var handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n\n fill(global.console, level, function (originalConsoleMethod) {\n return function (...args) {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(global, 'fetch', function (originalFetch) {\n return function (...args) {\n var handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n return originalFetch.apply(global, args).then(\n (response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs = []) {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs = []) {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n\n var xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function (originalOpen) {\n return function ( ...args) {\n var xhr = this;\n var url = args[1];\n var xhrInfo = (xhr.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n });\n\n // if Sentry key appears in URL, don't capture it as a request\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n var onreadystatechangeHandler = function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original) {\n return function (...readyStateArgs) {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function (originalSend) {\n return function ( ...args) {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref;\n\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function ( ...args) {\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function ( ...args) {\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\nvar debounceDuration = 1000;\nlet debounceTimerID;\nlet lastCapturedEvent;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous, current) {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event) {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n var target = event.target ;\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler, globalListener = false) {\n return (event) => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n var name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n var triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n var globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target) => {\n var proto = (global )[target] && (global )[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener) {\n return function (\n \n type,\n listener,\n options,\n ) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this ;\n var handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n var handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n var handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener) {\n return function (\n \n type,\n listener,\n options,\n ) {\n if (type === 'click' || type == 'keypress') {\n try {\n var el = this ;\n var handlers = el.__sentry_instrumentation_handlers__ || {};\n var handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\nlet _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n\nexport { addInstrumentationHandler };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}