{"version":3,"file":"honeybadger.js","mappings":"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","sources":["webpack://dockspot/./app/javascript/honeybadger.js","webpack://dockspot/../../core/node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","webpack://dockspot/../../core/build/src/util.js","webpack://dockspot/../../core/build/src/plugins/events.js","webpack://dockspot/../../core/build/src/store.js","webpack://dockspot/../../core/node_modules/json-nd/dist/module/index.js","webpack://dockspot/../../core/build/src/defaults.js","webpack://dockspot/../../core/build/src/throttled_events_logger.js","webpack://dockspot/../../core/build/src/client.js","webpack://dockspot/../../core/build/src/types.js","webpack://dockspot/../../core/build/src/index.js","webpack://dockspot/../../build/src/browser/util.js","webpack://dockspot/../../build/src/browser/integrations/onerror.js","webpack://dockspot/../../build/src/browser/integrations/onunhandledrejection.js","webpack://dockspot/../../build/src/browser/integrations/breadcrumbs.js","webpack://dockspot/../../build/src/browser/integrations/timers.js","webpack://dockspot/../../build/src/browser/integrations/event_listeners.js","webpack://dockspot/../../build/src/browser/transport.js","webpack://dockspot/../../build/src/browser/feedback-form.js","webpack://dockspot/../../build/src/browser.js"],"sourcesContent":["let reportException;\nimport Honeybadger from \"@honeybadger-io/js\";\n\nconst apiKey = \"55f170f4\";\nconst environment = document.querySelector(\"meta[name='environment']\")?.content || \"test\";\nconst revision = document.querySelector(\"meta[name='revision']\")?.content || \"main\";\nconst debug = false;\nconst isSignedIn = () => document.querySelector(\"meta[name='signed-in']\")?.content || \"unknown\";\nconst currentUserId = () => document.querySelector(\"meta[name='current-user-id']\")?.content;\n\n// https://docs.honeybadger.io/lib/javascript/guides/using-source-maps/#improving-error-grouping-and-linking-to-source-code\n//\n// Looks like everything starts with `webpack://dockspot/.`, e.g. Stimulus says:\n// webpack://dockspot/./node_modules/@hotwired/stimulus/dist/stimulus.js:1668:16:in `connect'\nconst projectRoot = \"webpack://dockspot/./\"\n\nHoneybadger.configure({\n debug,\n apiKey,\n environment,\n revision,\n projectRoot,\n breadcrumbsEnabled: true,\n maxErrors: 20,\n tags: [\"frontend\"]\n});\n\nHoneybadger.beforeNotify(function(notice) {\n // plugins / extensions\n if (/__gCrWeb\\.edgeTranslate/.test(notice.message)) { return false; }\n if (/__gCrWeb\\.instantSearch/.test(notice.message)) { return false; }\n if (/safari-extension/.test(notice.message)) { return false; }\n if (/webkitExitFullScreen/.test(notice.message)) { return false; }\n if (/a\\[b\\]\\.target\\.className\\.indexOf\\(Zb\\)/.test(notice.message)) { return false; }\n if (/window\\.webkit\\.messageHandlers/.test(notice.message)) { return false; }\n if (/undefined is not an object \\(evaluating 'a\\.L'\\)/.test(notice.message)) { return false; }\n if (/_AutofillCallbackHandler/.test(notice.message)) { return false; }\n\n // Twilio\n if (/UnhandledPromiseRejectionWarning: disconnected/.test(notice.message)) { return false; }\n if (/UnhandledPromiseRejectionWarning: n: disconnected/.test(notice.message)) { return false; }\n\n // Network errors\n if (/AbortError: Fetch is aborted/.test(notice.message)) { return false; }\n if (/AbortError: The user aborted a request/.test(notice.message)) { return false; }\n if (/TypeError: NetworkError when attempting to fetch resource/.test(notice.message)) { return false; }\n if (/AjaxNetworkError/.test(notice.name)) { return false; }\n if (/AjaxUnauthorizedResponseError/.test(notice.name)) { return false; }\n if (/UnhandledPromiseRejectionWarning:\\sObject\\sNot\\sFound\\sMatching\\sId:/.test(notice.message)) { return false; }\n\n // Google Maps\n if (/maps\\.googleapis\\.com/.test(notice.stack)) { return false; }\n if (/b\\.getBoundingClientRect/.test(notice.message)) { return false; }\n\n // Accessibe\n if (/acsbapp\\.com/.test(notice.stack)) { return false; }\n if (/acsbJS is not defined/.test(notice.message)) { return false; }\n if (/Can't find variable: acsbJS/.test(notice.message)) { return false; }\n\n try { notice.context.signedIn ??= isSignedIn() } catch { /* no-op */ }\n try { notice.context.userId ??= currentUserId() } catch { /* no-op */ }\n});\n\n// See documentation for a list of options:\n// https://docs.honeybadger.io/lib/javascript/guides/reporting-errors/#additional-options\nexport default reportException = function(error, options) {\n Honeybadger.notify(error, options);\n};\n\nHoneybadger.addBreadcrumb('Page loaded', {\n category: 'navigation',\n metadata: window.location\n});\n","var UNKNOWN_FUNCTION = '';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction parse(stackString) {\n var lines = stackString.split('\\n');\n return lines.reduce(function (stack, line) {\n var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\nvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n var parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n var submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n var parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n var parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n var parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n var parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nexport { parse };\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logDeprecatedMethod = exports.globalThisOrWindow = exports.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = exports.instrumentConsole = exports.instrument = exports.isErrorObject = exports.makeNotice = exports.logger = exports.sanitize = exports.shallowClone = exports.runAfterNotifyHandlers = exports.runBeforeNotifyHandlers = exports.getSourceForBacktrace = exports.getCauses = exports.calculateBacktraceShift = exports.DEFAULT_BACKTRACE_SHIFT = exports.makeBacktrace = exports.objectIsExtensible = exports.objectIsEmpty = exports.mergeNotice = exports.merge = void 0;\n/* eslint-disable prefer-rest-params */\nvar stackTraceParser = __importStar(require(\"stacktrace-parser\"));\nfunction merge(obj1, obj2) {\n var result = {};\n for (var k in obj1) {\n result[k] = obj1[k];\n }\n for (var k in obj2) {\n result[k] = obj2[k];\n }\n return result;\n}\nexports.merge = merge;\nfunction mergeNotice(notice1, notice2) {\n var result = merge(notice1, notice2);\n if (notice1.context && notice2.context) {\n result.context = merge(notice1.context, notice2.context);\n }\n return result;\n}\nexports.mergeNotice = mergeNotice;\nfunction objectIsEmpty(obj) {\n for (var k in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, k)) {\n return false;\n }\n }\n return true;\n}\nexports.objectIsEmpty = objectIsEmpty;\nfunction objectIsExtensible(obj) {\n if (typeof Object.isExtensible !== 'function') {\n return true;\n }\n return Object.isExtensible(obj);\n}\nexports.objectIsExtensible = objectIsExtensible;\nfunction makeBacktrace(stack, filterHbSourceCode, logger) {\n if (filterHbSourceCode === void 0) { filterHbSourceCode = false; }\n if (logger === void 0) { logger = console; }\n if (!stack) {\n return [];\n }\n try {\n var backtrace = stackTraceParser\n .parse(stack)\n .map(function (line) {\n return {\n file: line.file,\n method: line.methodName,\n number: line.lineNumber,\n column: line.column\n };\n });\n if (filterHbSourceCode) {\n backtrace.splice(0, calculateBacktraceShift(backtrace));\n }\n return backtrace;\n }\n catch (err) {\n logger.debug(err);\n return [];\n }\n}\nexports.makeBacktrace = makeBacktrace;\nfunction isFrameFromHbSourceCode(frame) {\n var hasHbFile = false;\n var hasHbMethod = false;\n if (frame.file) {\n hasHbFile = frame.file.toLowerCase().indexOf('@honeybadger-io') > -1;\n }\n if (frame.method) {\n hasHbMethod = frame.method.toLowerCase().indexOf('@honeybadger-io') > -1;\n }\n return hasHbFile || hasHbMethod;\n}\nexports.DEFAULT_BACKTRACE_SHIFT = 3;\n/**\n * If {@link generateStackTrace} is used, we want to exclude frames that come from\n * Honeybadger's source code.\n *\n * Logic:\n * - For each frame, increment the shift if source code is from Honeybadger\n * - If a frame from an file is encountered increment the shift ONLY if between Honeybadger source code\n * (i.e. previous and next frames are from Honeybadger)\n * - Exit when frame encountered is not from Honeybadger source code\n *\n * Note: this will not always work, especially in browser versions where code\n * is minified, uglified and bundled.\n * For those cases we default to 3:\n * - generateStackTrace\n * - makeNotice\n * - notify\n */\nfunction calculateBacktraceShift(backtrace) {\n var shift = 0;\n for (var i = 0; i < backtrace.length; i++) {\n var frame = backtrace[i];\n if (isFrameFromHbSourceCode(frame)) {\n shift++;\n continue;\n }\n if (!frame.file || frame.file === '') {\n var nextFrame = backtrace[i + 1];\n if (nextFrame && isFrameFromHbSourceCode(nextFrame)) {\n shift++;\n continue;\n }\n }\n break;\n }\n return shift || exports.DEFAULT_BACKTRACE_SHIFT;\n}\nexports.calculateBacktraceShift = calculateBacktraceShift;\nfunction getCauses(notice, logger) {\n if (notice.cause) {\n var causes = [];\n var cause = notice;\n // @ts-ignore this throws an error if tsconfig.json has strict: true\n while (causes.length < 3 && (cause = cause.cause)) {\n causes.push({\n class: cause.name,\n message: cause.message,\n backtrace: typeof cause.stack == 'string' ? makeBacktrace(cause.stack, false, logger) : null\n });\n }\n return causes;\n }\n return [];\n}\nexports.getCauses = getCauses;\nfunction getSourceForBacktrace(backtrace, getSourceFileHandler) {\n return __awaiter(this, void 0, void 0, function () {\n var result, index, trace, fileContent;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n result = [];\n if (!getSourceFileHandler || !backtrace || !backtrace.length) {\n return [2 /*return*/, result];\n }\n index = 0;\n _a.label = 1;\n case 1:\n if (!backtrace.length) return [3 /*break*/, 3];\n trace = backtrace.splice(0)[index];\n return [4 /*yield*/, getSourceFileHandler(trace.file)];\n case 2:\n fileContent = _a.sent();\n result[index] = getSourceCodeSnippet(fileContent, trace.number);\n index++;\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/, result];\n }\n });\n });\n}\nexports.getSourceForBacktrace = getSourceForBacktrace;\nfunction runBeforeNotifyHandlers(notice, handlers) {\n var results = [];\n var result = true;\n for (var i = 0, len = handlers.length; i < len; i++) {\n var handler = handlers[i];\n var handlerResult = handler(notice);\n if (handlerResult === false) {\n result = false;\n }\n results.push(handlerResult);\n }\n return {\n results: results,\n result: result\n };\n}\nexports.runBeforeNotifyHandlers = runBeforeNotifyHandlers;\nfunction runAfterNotifyHandlers(notice, handlers, error) {\n if (notice && notice.afterNotify) {\n notice.afterNotify(error, notice);\n }\n for (var i = 0, len = handlers.length; i < len; i++) {\n handlers[i](error, notice);\n }\n return true;\n}\nexports.runAfterNotifyHandlers = runAfterNotifyHandlers;\n// Returns a new object with properties from other object.\nfunction shallowClone(obj) {\n if (typeof (obj) !== 'object' || obj === null) {\n return {};\n }\n var result = {};\n for (var k in obj) {\n result[k] = obj[k];\n }\n return result;\n}\nexports.shallowClone = shallowClone;\nfunction sanitize(obj, maxDepth) {\n if (maxDepth === void 0) { maxDepth = 8; }\n var seenObjects = [];\n function seen(obj) {\n if (!obj || typeof (obj) !== 'object') {\n return false;\n }\n for (var i = 0; i < seenObjects.length; i++) {\n var value = seenObjects[i];\n if (value === obj) {\n return true;\n }\n }\n seenObjects.push(obj);\n return false;\n }\n function canSerialize(obj) {\n var typeOfObj = typeof obj;\n // Functions are TMI\n if (/function/.test(typeOfObj)) {\n // Let special toJSON method pass as it's used by JSON.stringify (#722)\n return obj.name === 'toJSON';\n }\n // Symbols can't convert to strings.\n if (/symbol/.test(typeOfObj)) {\n return false;\n }\n if (obj === null) {\n return false;\n }\n // No prototype, likely created with `Object.create(null)`.\n if (typeof obj === 'object' && typeof obj.hasOwnProperty === 'undefined') {\n return false;\n }\n return true;\n }\n function serialize(obj, depth) {\n if (depth === void 0) { depth = 0; }\n if (depth >= maxDepth) {\n return '[DEPTH]';\n }\n // Inspect invalid types\n if (!canSerialize(obj)) {\n return Object.prototype.toString.call(obj);\n }\n // Halt circular references\n if (seen(obj)) {\n return '[RECURSION]';\n }\n // Serialize inside arrays\n if (Array.isArray(obj)) {\n return obj.map(function (o) { return safeSerialize(o, depth + 1); });\n }\n // Serialize inside objects\n if (typeof (obj) === 'object') {\n var ret = {};\n for (var k in obj) {\n var v = obj[k];\n if (Object.prototype.hasOwnProperty.call(obj, k) && (k != null) && (v != null)) {\n ret[k] = safeSerialize(v, depth + 1);\n }\n }\n return ret;\n }\n // Return everything else untouched\n return obj;\n }\n function safeSerialize(obj, depth) {\n if (depth === void 0) { depth = 0; }\n try {\n return serialize(obj, depth);\n }\n catch (e) {\n return \"[ERROR] \".concat(e);\n }\n }\n return safeSerialize(obj);\n}\nexports.sanitize = sanitize;\nfunction logger(client) {\n var log = function (method) {\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (method === 'debug') {\n if (!client.config.debug) {\n return;\n }\n // Log at default level so that you don't need to also enable verbose\n // logging in Chrome.\n method = 'log';\n }\n args.unshift('[Honeybadger]');\n (_a = client.config.logger)[method].apply(_a, args);\n };\n };\n return {\n log: log('log'),\n info: log('info'),\n debug: log('debug'),\n warn: log('warn'),\n error: log('error')\n };\n}\nexports.logger = logger;\n/**\n * Converts any object into a notice object (which at minimum has the same\n * properties as Error, but supports additional Honeybadger properties.)\n */\nfunction makeNotice(thing) {\n var notice;\n if (!thing) {\n notice = {};\n }\n else if (isErrorObject(thing)) {\n var e = thing;\n notice = merge(thing, { name: e.name, message: e.message, stack: e.stack, cause: e.cause });\n }\n else if (typeof thing === 'object') {\n notice = shallowClone(thing);\n }\n else {\n var m = String(thing);\n notice = { message: m };\n }\n return notice;\n}\nexports.makeNotice = makeNotice;\nfunction isErrorObject(thing) {\n return thing instanceof Error\n || Object.prototype.toString.call(thing) === '[object Error]'; // Important for cross-realm objects\n}\nexports.isErrorObject = isErrorObject;\n/**\n * Instrument an existing function inside an object (usually global).\n * @param {!Object} object\n * @param {!String} name\n * @param {!Function} replacement\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction instrument(object, name, replacement) {\n if (!object || !name || !replacement || !(name in object)) {\n return;\n }\n try {\n var original = object[name];\n while (original && original.__hb_original) {\n original = original.__hb_original;\n }\n object[name] = replacement(original);\n object[name].__hb_original = original;\n }\n catch (_e) {\n // Ignores errors where \"original\" is a restricted object (see #1001)\n // Uncaught Error: Permission denied to access property \"__hb_original\"\n // Also ignores:\n // Error: TypeError: Cannot set property onunhandledrejection of [object Object] which has only a getter\n // User-Agent: Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-G960F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/12.1 Chrome/79.0.3945.136 Mobile Safari/537.36\n }\n}\nexports.instrument = instrument;\nvar _consoleAlreadyInstrumented = false;\nvar listeners = [];\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction instrumentConsole(_window, handler) {\n if (!_window || !_window.console || !handler) {\n return;\n }\n listeners.push(handler);\n if (_consoleAlreadyInstrumented) {\n return;\n }\n _consoleAlreadyInstrumented = true;\n ['debug', 'info', 'warn', 'error', 'log'].forEach(function (level) {\n instrument(_window.console, level, function hbLogger(original) {\n return function () {\n var args = Array.prototype.slice.call(arguments);\n listeners.forEach(function (listener) {\n try {\n listener(level, args);\n }\n catch (_e) {\n // ignore\n // should never reach here because instrument method already wraps with try/catch block\n }\n });\n if (typeof original === 'function') {\n Function.prototype.apply.call(original, _window.console, arguments);\n }\n };\n });\n });\n}\nexports.instrumentConsole = instrumentConsole;\nfunction endpoint(base, path) {\n var endpoint = base.trim().replace(/\\/$/, '');\n path = path.trim().replace(/(^\\/|\\/$)/g, '');\n return \"\".concat(endpoint, \"/\").concat(path);\n}\nexports.endpoint = endpoint;\nfunction generateStackTrace() {\n try {\n throw new Error('');\n }\n catch (e) {\n if (e.stack) {\n return e.stack;\n }\n }\n var maxStackSize = 10;\n var stack = [];\n var curr = arguments.callee;\n while (curr && stack.length < maxStackSize) {\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(RegExp.$1 || '');\n }\n else {\n stack.push('');\n }\n try {\n curr = curr.caller;\n }\n catch (e) {\n break;\n }\n }\n return stack.join('\\n');\n}\nexports.generateStackTrace = generateStackTrace;\nfunction filter(obj, filters) {\n if (!is('Object', obj)) {\n return;\n }\n if (!is('Array', filters)) {\n filters = [];\n }\n var seen = [];\n function filter(obj) {\n var k, newObj;\n if (is('Object', obj) || is('Array', obj)) {\n if (seen.indexOf(obj) !== -1) {\n return '[CIRCULAR DATA STRUCTURE]';\n }\n seen.push(obj);\n }\n if (is('Object', obj)) {\n newObj = {};\n for (k in obj) {\n if (filterMatch(k, filters)) {\n newObj[k] = '[FILTERED]';\n }\n else {\n newObj[k] = filter(obj[k]);\n }\n }\n return newObj;\n }\n if (is('Array', obj)) {\n return obj.map(function (v) {\n return filter(v);\n });\n }\n if (is('Function', obj)) {\n return '[FUNC]';\n }\n return obj;\n }\n return filter(obj);\n}\nexports.filter = filter;\nfunction filterMatch(key, filters) {\n for (var i = 0; i < filters.length; i++) {\n if (key.toLowerCase().indexOf(filters[i].toLowerCase()) !== -1) {\n return true;\n }\n }\n return false;\n}\nfunction is(type, obj) {\n var klass = Object.prototype.toString.call(obj).slice(8, -1);\n return obj !== undefined && obj !== null && klass === type;\n}\nfunction filterUrl(url, filters) {\n if (!filters) {\n return url;\n }\n if (typeof url !== 'string') {\n return url;\n }\n var query = url.split(/\\?/, 2)[1];\n if (!query) {\n return url;\n }\n var result = url;\n query.split(/[&]\\s?/).forEach(function (pair) {\n var _a = pair.split('=', 2), key = _a[0], value = _a[1];\n if (filterMatch(key, filters)) {\n result = result.replace(\"\".concat(key, \"=\").concat(value), \"\".concat(key, \"=[FILTERED]\"));\n }\n });\n return result;\n}\nexports.filterUrl = filterUrl;\nfunction formatCGIData(vars, prefix) {\n if (prefix === void 0) { prefix = ''; }\n var formattedVars = {};\n Object.keys(vars).forEach(function (key) {\n var formattedKey = prefix + key.replace(/\\W/g, '_').toUpperCase();\n formattedVars[formattedKey] = vars[key];\n });\n return formattedVars;\n}\nexports.formatCGIData = formatCGIData;\nfunction clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\nexports.clone = clone;\nfunction getSourceCodeSnippet(fileData, lineNumber, sourceRadius) {\n if (sourceRadius === void 0) { sourceRadius = 2; }\n if (!fileData) {\n return null;\n }\n var lines = fileData.split('\\n');\n // add one empty line because array index starts from 0, but error line number is counted from 1\n lines.unshift('');\n var start = lineNumber - sourceRadius;\n var end = lineNumber + sourceRadius;\n var result = {};\n for (var i = start; i <= end; i++) {\n var line = lines[i];\n if (typeof line === 'string') {\n result[i] = line;\n }\n }\n return result;\n}\nfunction isBrowserConfig(config) {\n return config.async !== undefined;\n}\nexports.isBrowserConfig = isBrowserConfig;\n/** globalThis has fairly good support. But just in case, lets check its defined.\n * @see {https://caniuse.com/?search=globalThis}\n */\nfunction globalThisOrWindow() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof self !== 'undefined') {\n return self;\n }\n return window;\n}\nexports.globalThisOrWindow = globalThisOrWindow;\nvar _deprecatedMethodCalls = {};\n/**\n * Logs a deprecation warning, every X calls to the method.\n */\nfunction logDeprecatedMethod(logger, oldMethod, newMethod, callCountThreshold) {\n if (callCountThreshold === void 0) { callCountThreshold = 100; }\n var key = \"\".concat(oldMethod, \"-\").concat(newMethod);\n if (typeof _deprecatedMethodCalls[key] === 'undefined') {\n _deprecatedMethodCalls[key] = 0;\n }\n if (_deprecatedMethodCalls[key] % callCountThreshold !== 0) {\n _deprecatedMethodCalls[key]++;\n return;\n }\n var msg = \"Deprecation warning: \".concat(oldMethod, \" has been deprecated; please use \").concat(newMethod, \" instead.\");\n logger.warn(msg);\n _deprecatedMethodCalls[key]++;\n}\nexports.logDeprecatedMethod = logDeprecatedMethod;\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_1 = require(\"../util\");\nfunction default_1(_window) {\n if (_window === void 0) { _window = (0, util_1.globalThisOrWindow)(); }\n return {\n shouldReloadOnConfigure: false,\n load: function (client) {\n function sendEventsToInsights() {\n return client.config.eventsEnabled;\n }\n if (!sendEventsToInsights()) {\n return;\n }\n (0, util_1.instrumentConsole)(_window, function (level, args) {\n if (!sendEventsToInsights()) {\n return;\n }\n if (args.length === 0) {\n return;\n }\n var data = {\n severity: level,\n };\n if (typeof args[0] === 'string') {\n data.message = args[0];\n data.args = args.slice(1);\n }\n else {\n data.args = args;\n }\n client.event('log', data);\n });\n }\n };\n}\nexports.default = default_1;\n//# sourceMappingURL=events.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GlobalStore = void 0;\nvar util_1 = require(\"./util\");\nvar GlobalStore = /** @class */ (function () {\n function GlobalStore(contents, breadcrumbsLimit) {\n this.contents = contents;\n this.breadcrumbsLimit = breadcrumbsLimit;\n }\n GlobalStore.create = function (contents, breadcrumbsLimit) {\n return new GlobalStore(contents, breadcrumbsLimit);\n };\n GlobalStore.prototype.available = function () {\n return true;\n };\n GlobalStore.prototype.getContents = function (key) {\n var value = key ? this.contents[key] : this.contents;\n return JSON.parse(JSON.stringify(value));\n };\n GlobalStore.prototype.setContext = function (context) {\n this.contents.context = (0, util_1.merge)(this.contents.context, context || {});\n };\n GlobalStore.prototype.addBreadcrumb = function (breadcrumb) {\n if (this.contents.breadcrumbs.length == this.breadcrumbsLimit) {\n this.contents.breadcrumbs.shift();\n }\n this.contents.breadcrumbs.push(breadcrumb);\n };\n GlobalStore.prototype.clear = function () {\n this.contents.context = {};\n this.contents.breadcrumbs = [];\n };\n GlobalStore.prototype.run = function (callback) {\n return callback();\n };\n return GlobalStore;\n}());\nexports.GlobalStore = GlobalStore;\n//# sourceMappingURL=store.js.map","export class NdJson {\n static parse(data) {\n const lines = data.trim().split('\\n');\n return lines.map(line => JSON.parse(line));\n }\n static stringify(data) {\n return data.map(item => JSON.stringify(item)).join('\\n');\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CONFIG = void 0;\nexports.CONFIG = {\n apiKey: null,\n endpoint: 'https://api.honeybadger.io',\n environment: null,\n hostname: null,\n projectRoot: null,\n component: null,\n action: null,\n revision: null,\n reportData: null,\n breadcrumbsEnabled: true,\n // we could decide the value of eventsEnabled based on `env` and `developmentEnvironments`\n eventsEnabled: false,\n maxBreadcrumbs: 40,\n maxObjectDepth: 8,\n logger: console,\n developmentEnvironments: ['dev', 'development', 'test'],\n debug: false,\n tags: null,\n enableUncaught: true,\n enableUnhandledRejection: true,\n afterUncaught: function () { return true; },\n filters: ['creditcard', 'password'],\n __plugins: [],\n};\n//# sourceMappingURL=defaults.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ThrottledEventsLogger = void 0;\nvar json_nd_1 = require(\"json-nd\");\nvar util_1 = require(\"./util\");\nvar defaults_1 = require(\"./defaults\");\nvar ThrottledEventsLogger = /** @class */ (function () {\n function ThrottledEventsLogger(config, transport) {\n this.config = config;\n this.transport = transport;\n this.queue = [];\n this.isProcessing = false;\n this.config = __assign(__assign({}, defaults_1.CONFIG), config);\n this.logger = this.originalLogger();\n }\n ThrottledEventsLogger.prototype.configure = function (opts) {\n for (var k in opts) {\n this.config[k] = opts[k];\n }\n };\n ThrottledEventsLogger.prototype.log = function (payload) {\n this.queue.push(payload);\n if (!this.isProcessing) {\n this.processQueue();\n }\n };\n ThrottledEventsLogger.prototype.processQueue = function () {\n var _this = this;\n if (this.queue.length === 0 || this.isProcessing) {\n return;\n }\n this.isProcessing = true;\n var eventsData = this.queue.slice();\n this.queue = [];\n var data = json_nd_1.NdJson.stringify(eventsData);\n this.makeHttpRequest(data)\n .then(function () {\n setTimeout(function () {\n _this.isProcessing = false;\n _this.processQueue();\n }, 50);\n })\n .catch(function (error) {\n _this.logger.error('[Honeybadger] Error making HTTP request:', error);\n // Continue processing the queue even if there's an error\n setTimeout(function () {\n _this.isProcessing = false;\n _this.processQueue();\n }, 50);\n });\n };\n ThrottledEventsLogger.prototype.makeHttpRequest = function (data) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.transport\n .send({\n headers: {\n 'X-API-Key': this.config.apiKey,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n endpoint: (0, util_1.endpoint)(this.config.endpoint, '/v1/events'),\n maxObjectDepth: this.config.maxObjectDepth,\n logger: this.logger,\n }, data)\n .then(function () {\n if (_this.config.debug) {\n _this.logger.debug('[Honeybadger] Events sent successfully');\n }\n })\n .catch(function (err) {\n _this.logger.error(\"[Honeybadger] Error sending events: \".concat(err.message));\n })];\n });\n });\n };\n /**\n * todo: improve this\n *\n * The EventsLogger overrides the console methods to enable automatic instrumentation\n * of console logs to the Honeybadger API.\n * So if we want to log something in here we need to use the original methods.\n */\n ThrottledEventsLogger.prototype.originalLogger = function () {\n var _a, _b, _c, _d, _e;\n return {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n log: (_a = console.log.__hb_original) !== null && _a !== void 0 ? _a : console.log,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n info: (_b = console.info.__hb_original) !== null && _b !== void 0 ? _b : console.info,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n debug: (_c = console.debug.__hb_original) !== null && _c !== void 0 ? _c : console.debug,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n warn: (_d = console.warn.__hb_original) !== null && _d !== void 0 ? _d : console.warn,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n error: (_e = console.error.__hb_original) !== null && _e !== void 0 ? _e : console.error,\n };\n };\n return ThrottledEventsLogger;\n}());\nexports.ThrottledEventsLogger = ThrottledEventsLogger;\n//# sourceMappingURL=throttled_events_logger.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Client = void 0;\nvar util_1 = require(\"./util\");\nvar store_1 = require(\"./store\");\nvar throttled_events_logger_1 = require(\"./throttled_events_logger\");\nvar defaults_1 = require(\"./defaults\");\n// Split at commas and spaces\nvar TAG_SEPARATOR = /,|\\s+/;\n// Checks for non-blank characters\nvar NOT_BLANK = /\\S/;\nvar Client = /** @class */ (function () {\n function Client(opts, transport) {\n if (opts === void 0) { opts = {}; }\n this.__pluginsLoaded = false;\n this.__store = null;\n this.__beforeNotifyHandlers = [];\n this.__afterNotifyHandlers = [];\n this.__notifier = {\n name: '@honeybadger-io/core',\n url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/core',\n version: '__VERSION__'\n };\n this.config = __assign(__assign({}, defaults_1.CONFIG), opts);\n this.__initStore();\n this.__transport = transport;\n this.__eventsLogger = new throttled_events_logger_1.ThrottledEventsLogger(this.config, this.__transport);\n this.logger = (0, util_1.logger)(this);\n }\n Client.prototype.getVersion = function () {\n return this.__notifier.version;\n };\n Client.prototype.getNotifier = function () {\n return this.__notifier;\n };\n /**\n * CAREFUL: When adding a new notifier or updating the name of an existing notifier,\n * the Honeybadger rails project may need its mappings updated.\n * See https://github.com/honeybadger-io/honeybadger/blob/master/app/presenters/breadcrumbs_presenter.rb\n * https://github.com/honeybadger-io/honeybadger/blob/master/app/models/parser/java_script.rb\n * https://github.com/honeybadger-io/honeybadger/blob/master/app/models/language.rb\n **/\n Client.prototype.setNotifier = function (notifier) {\n this.__notifier = notifier;\n };\n Client.prototype.configure = function (opts) {\n if (opts === void 0) { opts = {}; }\n for (var k in opts) {\n this.config[k] = opts[k];\n }\n this.__eventsLogger.configure(this.config);\n this.loadPlugins();\n return this;\n };\n Client.prototype.loadPlugins = function () {\n var _this = this;\n var pluginsToLoad = this.__pluginsLoaded\n ? this.config.__plugins.filter(function (plugin) { return plugin.shouldReloadOnConfigure; })\n : this.config.__plugins;\n pluginsToLoad.forEach(function (plugin) { return plugin.load(_this); });\n this.__pluginsLoaded = true;\n };\n Client.prototype.__initStore = function () {\n this.__store = new store_1.GlobalStore({ context: {}, breadcrumbs: [] }, this.config.maxBreadcrumbs);\n };\n Client.prototype.beforeNotify = function (handler) {\n this.__beforeNotifyHandlers.push(handler);\n return this;\n };\n Client.prototype.afterNotify = function (handler) {\n this.__afterNotifyHandlers.push(handler);\n return this;\n };\n Client.prototype.setContext = function (context) {\n if (typeof context === 'object' && context != null) {\n this.__store.setContext(context);\n }\n return this;\n };\n Client.prototype.resetContext = function (context) {\n this.logger.warn('Deprecation warning: `Honeybadger.resetContext()` has been deprecated; please use `Honeybadger.clear()` instead.');\n this.__store.clear();\n if (typeof context === 'object' && context !== null) {\n this.__store.setContext(context);\n }\n return this;\n };\n Client.prototype.clear = function () {\n this.__store.clear();\n return this;\n };\n Client.prototype.notify = function (noticeable, name, extra) {\n var _this = this;\n if (name === void 0) { name = undefined; }\n if (extra === void 0) { extra = undefined; }\n var notice = this.makeNotice(noticeable, name, extra);\n // we need to have the source file data before the beforeNotifyHandlers,\n // in case they modify them\n var sourceCodeData = notice && notice.backtrace ? notice.backtrace.map(function (trace) { return (0, util_1.shallowClone)(trace); }) : null;\n var preConditionsResult = this.__runPreconditions(notice);\n if (preConditionsResult instanceof Error) {\n (0, util_1.runAfterNotifyHandlers)(notice, this.__afterNotifyHandlers, preConditionsResult);\n return false;\n }\n if (preConditionsResult instanceof Promise) {\n preConditionsResult.then(function (result) {\n if (result instanceof Error) {\n (0, util_1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, result);\n return false;\n }\n return _this.__send(notice, sourceCodeData);\n });\n return true;\n }\n this.__send(notice, sourceCodeData).catch(function (_err) { });\n return true;\n };\n /**\n * An async version of {@link notify} that resolves only after the notice has been reported to Honeybadger.\n * Implemented using the {@link afterNotify} hook.\n * Rejects if for any reason the report failed to be reported.\n * Useful in serverless environments (AWS Lambda).\n */\n Client.prototype.notifyAsync = function (noticeable, name, extra) {\n var _this = this;\n if (name === void 0) { name = undefined; }\n if (extra === void 0) { extra = undefined; }\n return new Promise(function (resolve, reject) {\n var applyAfterNotify = function (partialNotice) {\n var originalAfterNotify = partialNotice.afterNotify;\n partialNotice.afterNotify = function (err) {\n originalAfterNotify === null || originalAfterNotify === void 0 ? void 0 : originalAfterNotify.call(_this, err);\n if (err) {\n return reject(err);\n }\n resolve();\n };\n };\n // We have to respect any afterNotify hooks that come from the arguments\n var objectToOverride;\n if (noticeable.afterNotify) {\n objectToOverride = noticeable;\n }\n else if (name && name.afterNotify) {\n objectToOverride = name;\n }\n else if (extra && extra.afterNotify) {\n objectToOverride = extra;\n }\n else if (name && typeof name === 'object') {\n objectToOverride = name;\n }\n else if (extra) {\n objectToOverride = extra;\n }\n else {\n objectToOverride = name = {};\n }\n applyAfterNotify(objectToOverride);\n _this.notify(noticeable, name, extra);\n });\n };\n Client.prototype.makeNotice = function (noticeable, name, extra) {\n if (name === void 0) { name = undefined; }\n if (extra === void 0) { extra = undefined; }\n var notice = (0, util_1.makeNotice)(noticeable);\n if (name && !(typeof name === 'object')) {\n var n = String(name);\n name = { name: n };\n }\n if (name) {\n notice = (0, util_1.mergeNotice)(notice, name);\n }\n if (typeof extra === 'object' && extra !== null) {\n notice = (0, util_1.mergeNotice)(notice, extra);\n }\n if ((0, util_1.objectIsEmpty)(notice)) {\n return null;\n }\n var context = this.__store.getContents('context');\n var noticeTags = this.__constructTags(notice.tags);\n var contextTags = this.__constructTags(context['tags']);\n var configTags = this.__constructTags(this.config.tags);\n // Turning into a Set will remove duplicates\n var tags = noticeTags.concat(contextTags).concat(configTags);\n var uniqueTags = tags.filter(function (item, index) { return tags.indexOf(item) === index; });\n notice = (0, util_1.merge)(notice, {\n name: notice.name || 'Error',\n context: (0, util_1.merge)(context, notice.context),\n projectRoot: notice.projectRoot || this.config.projectRoot,\n environment: notice.environment || this.config.environment,\n component: notice.component || this.config.component,\n action: notice.action || this.config.action,\n revision: notice.revision || this.config.revision,\n tags: uniqueTags,\n });\n // If we're passed a custom backtrace array, use it\n // Otherwise we make one.\n if (!Array.isArray(notice.backtrace) || !notice.backtrace.length) {\n if (typeof notice.stack !== 'string' || !notice.stack.trim()) {\n notice.stack = (0, util_1.generateStackTrace)();\n notice.backtrace = (0, util_1.makeBacktrace)(notice.stack, true, this.logger);\n }\n else {\n notice.backtrace = (0, util_1.makeBacktrace)(notice.stack, false, this.logger);\n }\n }\n return notice;\n };\n Client.prototype.addBreadcrumb = function (message, opts) {\n if (!this.config.breadcrumbsEnabled) {\n return;\n }\n opts = opts || {};\n var metadata = (0, util_1.shallowClone)(opts.metadata);\n var category = opts.category || 'custom';\n var timestamp = new Date().toISOString();\n this.__store.addBreadcrumb({\n category: category,\n message: message,\n metadata: metadata,\n timestamp: timestamp\n });\n return this;\n };\n /**\n * @deprecated Use {@link event} instead.\n */\n Client.prototype.logEvent = function (data) {\n (0, util_1.logDeprecatedMethod)(this.logger, 'Honeybadger.logEvent', 'Honeybadger.event');\n this.event('log', data);\n };\n Client.prototype.event = function (type, data) {\n var _a;\n if (typeof type === 'object') {\n data = type;\n type = (_a = type['event_type']) !== null && _a !== void 0 ? _a : undefined;\n }\n this.__eventsLogger.log(__assign({ event_type: type, ts: new Date().toISOString() }, data));\n };\n Client.prototype.__getBreadcrumbs = function () {\n return this.__store.getContents('breadcrumbs').slice();\n };\n Client.prototype.__getContext = function () {\n return this.__store.getContents('context');\n };\n Client.prototype.__developmentMode = function () {\n if (this.config.reportData === true) {\n return false;\n }\n return (this.config.environment && this.config.developmentEnvironments.includes(this.config.environment));\n };\n Client.prototype.__buildPayload = function (notice) {\n var headers = (0, util_1.filter)(notice.headers, this.config.filters) || {};\n var cgiData = (0, util_1.filter)(__assign(__assign({}, notice.cgiData), (0, util_1.formatCGIData)(headers, 'HTTP_')), this.config.filters);\n return {\n notifier: this.__notifier,\n breadcrumbs: {\n enabled: !!this.config.breadcrumbsEnabled,\n trail: notice.__breadcrumbs || []\n },\n error: {\n class: notice.name,\n message: notice.message,\n backtrace: notice.backtrace,\n fingerprint: notice.fingerprint,\n tags: notice.tags,\n causes: (0, util_1.getCauses)(notice, this.logger),\n },\n request: {\n url: (0, util_1.filterUrl)(notice.url, this.config.filters),\n component: notice.component,\n action: notice.action,\n context: notice.context,\n cgi_data: cgiData,\n params: (0, util_1.filter)(notice.params, this.config.filters) || {},\n session: (0, util_1.filter)(notice.session, this.config.filters) || {}\n },\n server: {\n project_root: notice.projectRoot,\n environment_name: notice.environment,\n revision: notice.revision,\n hostname: this.config.hostname,\n time: new Date().toUTCString()\n },\n details: notice.details || {}\n };\n };\n Client.prototype.__constructTags = function (tags) {\n if (!tags) {\n return [];\n }\n return tags.toString().split(TAG_SEPARATOR).filter(function (tag) { return NOT_BLANK.test(tag); });\n };\n Client.prototype.__runPreconditions = function (notice) {\n var _this = this;\n var preConditionError = null;\n if (!notice) {\n this.logger.debug('failed to build error report');\n preConditionError = new Error('failed to build error report');\n }\n if (this.config.reportData === false) {\n this.logger.debug('skipping error report: honeybadger.js is disabled', notice);\n preConditionError = new Error('honeybadger.js is disabled');\n }\n if (this.__developmentMode()) {\n this.logger.log('honeybadger.js is in development mode; the following error report will be sent in production.', notice);\n preConditionError = new Error('honeybadger.js is in development mode');\n }\n if (!this.config.apiKey) {\n this.logger.warn('could not send error report: no API key has been configured', notice);\n preConditionError = new Error('missing API key');\n }\n var beforeNotifyResult = (0, util_1.runBeforeNotifyHandlers)(notice, this.__beforeNotifyHandlers);\n if (!preConditionError && !beforeNotifyResult.result) {\n this.logger.debug('skipping error report: one or more beforeNotify handlers returned false', notice);\n preConditionError = new Error('beforeNotify handlers returned false');\n }\n if (beforeNotifyResult.results.length && beforeNotifyResult.results.some(function (result) { return result instanceof Promise; })) {\n return Promise.allSettled(beforeNotifyResult.results)\n .then(function (results) {\n if (!preConditionError && (results.some(function (result) { return result.status === 'rejected' || result.value === false; }))) {\n _this.logger.debug('skipping error report: one or more beforeNotify handlers returned false', notice);\n preConditionError = new Error('beforeNotify handlers (async) returned false');\n }\n if (preConditionError) {\n return preConditionError;\n }\n });\n }\n return preConditionError;\n };\n Client.prototype.__send = function (notice, originalBacktrace) {\n var _this = this;\n if (this.config.breadcrumbsEnabled) {\n this.addBreadcrumb('Honeybadger Notice', {\n category: 'notice',\n metadata: {\n message: notice.message,\n name: notice.name,\n stack: notice.stack\n }\n });\n notice.__breadcrumbs = this.__store.getContents('breadcrumbs');\n }\n else {\n notice.__breadcrumbs = [];\n }\n return (0, util_1.getSourceForBacktrace)(originalBacktrace, this.__getSourceFileHandler)\n .then(function (sourcePerTrace) { return __awaiter(_this, void 0, void 0, function () {\n var payload;\n return __generator(this, function (_a) {\n sourcePerTrace.forEach(function (source, index) {\n notice.backtrace[index].source = source;\n });\n payload = this.__buildPayload(notice);\n return [2 /*return*/, this.__transport\n .send({\n headers: {\n 'X-API-Key': this.config.apiKey,\n 'Content-Type': 'application/json',\n 'Accept': 'text/json, application/json'\n },\n method: 'POST',\n endpoint: (0, util_1.endpoint)(this.config.endpoint, '/v1/notices/js'),\n maxObjectDepth: this.config.maxObjectDepth,\n logger: this.logger,\n }, payload)];\n });\n }); })\n .then(function (res) {\n if (res.statusCode !== 201) {\n (0, util_1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, new Error(\"Bad HTTP response: \".concat(res.statusCode)));\n _this.logger.warn(\"Error report failed: unknown response from server. code=\".concat(res.statusCode));\n return false;\n }\n var uuid = JSON.parse(res.body).id;\n (0, util_1.runAfterNotifyHandlers)((0, util_1.merge)(notice, {\n id: uuid\n }), _this.__afterNotifyHandlers);\n _this.logger.info(\"Error report sent \\u26A1 https://app.honeybadger.io/notice/\".concat(uuid));\n return true;\n })\n .catch(function (err) {\n _this.logger.error('Error report failed: an unknown error occurred.', \"message=\".concat(err.message));\n (0, util_1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, err);\n return false;\n });\n };\n return Client;\n}());\nexports.Client = Client;\n//# sourceMappingURL=client.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Plugins = exports.Util = exports.Types = exports.Client = void 0;\nvar events_1 = __importDefault(require(\"./plugins/events\"));\nvar client_1 = require(\"./client\");\nObject.defineProperty(exports, \"Client\", { enumerable: true, get: function () { return client_1.Client; } });\n__exportStar(require(\"./store\"), exports);\nexports.Types = __importStar(require(\"./types\"));\nexports.Util = __importStar(require(\"./util\"));\nexports.Plugins = {\n events: events_1.default\n};\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.preferCatch = exports.encodeCookie = exports.decodeCookie = exports.localURLPathname = exports.parseURL = exports.nativeFetch = exports.stringTextOfElement = exports.stringSelectorOfElement = exports.stringNameOfElement = void 0;\nvar core_1 = require(\"@honeybadger-io/core\");\nvar globalThisOrWindow = core_1.Util.globalThisOrWindow;\n/**\n * Converts an HTMLElement into a human-readable string.\n * @param {!HTMLElement} element\n * @return {string}\n */\nfunction stringNameOfElement(element) {\n if (!element || !element.tagName) {\n return '';\n }\n var name = element.tagName.toLowerCase();\n // Ignore the root element in selectors and events.\n if (name === 'html') {\n return '';\n }\n if (element.id) {\n name += \"#\".concat(element.id);\n }\n var stringClassNames = element.getAttribute('class');\n if (stringClassNames) {\n stringClassNames.split(/\\s+/).forEach(function (className) {\n name += \".\".concat(className);\n });\n }\n ['alt', 'name', 'title', 'type'].forEach(function (attrName) {\n var attr = element.getAttribute(attrName);\n if (attr) {\n name += \"[\".concat(attrName, \"=\\\"\").concat(attr, \"\\\"]\");\n }\n });\n var siblings = getSiblings(element);\n if (siblings.length > 1) {\n name += \":nth-child(\".concat(Array.prototype.indexOf.call(siblings, element) + 1, \")\");\n }\n return name;\n}\nexports.stringNameOfElement = stringNameOfElement;\nfunction stringSelectorOfElement(element) {\n var name = stringNameOfElement(element);\n if (element.parentNode && element.parentNode.tagName) {\n var parentName = stringSelectorOfElement(element.parentNode);\n if (parentName.length > 0) {\n return \"\".concat(parentName, \" > \").concat(name);\n }\n }\n return name;\n}\nexports.stringSelectorOfElement = stringSelectorOfElement;\nfunction stringTextOfElement(element) {\n var text = element.textContent || element.innerText || '';\n if (!text && (element.type === 'submit' || element.type === 'button')) {\n text = element.value;\n }\n return truncate(text.trim(), 300);\n}\nexports.stringTextOfElement = stringTextOfElement;\nfunction nativeFetch() {\n var global = globalThisOrWindow();\n if (!global.fetch) {\n return false;\n }\n if (isNative(global.fetch)) {\n return true;\n }\n if (typeof document === 'undefined') {\n return false;\n }\n // If fetch isn't native, it may be wrapped by someone else. Try to get\n // a pristine function from an iframe.\n try {\n var sandbox = document.createElement('iframe');\n sandbox.style.display = 'none';\n document.head.appendChild(sandbox);\n var result = sandbox.contentWindow.fetch && isNative(sandbox.contentWindow.fetch);\n document.head.removeChild(sandbox);\n return result;\n }\n catch (err) {\n if (console && console.warn) {\n console.warn('failed to detect native fetch via iframe: ' + err);\n }\n }\n return false;\n}\nexports.nativeFetch = nativeFetch;\nfunction isNative(func) {\n return func.toString().indexOf('native') !== -1;\n}\nfunction parseURL(url) {\n // Regexp: https://tools.ietf.org/html/rfc3986#appendix-B\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/) || {};\n return {\n protocol: match[2],\n host: match[4],\n pathname: match[5]\n };\n}\nexports.parseURL = parseURL;\nfunction localURLPathname(url) {\n var parsed = parseURL(url);\n var parsedDocURL = parseURL(document.URL);\n // URL must be relative\n if (!parsed.host || !parsed.protocol) {\n return parsed.pathname;\n }\n // Same domain\n if (parsed.protocol === parsedDocURL.protocol && parsed.host === parsedDocURL.host) {\n return parsed.pathname;\n }\n // x-domain\n return \"\".concat(parsed.protocol, \"://\").concat(parsed.host).concat(parsed.pathname);\n}\nexports.localURLPathname = localURLPathname;\nfunction decodeCookie(string) {\n var result = {};\n string.split(/[;,]\\s?/).forEach(function (pair) {\n var _a = pair.split('=', 2), key = _a[0], value = _a[1];\n result[key] = value;\n });\n return result;\n}\nexports.decodeCookie = decodeCookie;\nfunction encodeCookie(object) {\n if (typeof object !== 'object') {\n return undefined;\n }\n var cookies = [];\n for (var k in object) {\n cookies.push(k + '=' + object[k]);\n }\n return cookies.join(';');\n}\nexports.encodeCookie = encodeCookie;\n// Helpers\nfunction getSiblings(element) {\n try {\n var nodes = element.parentNode.childNodes;\n var siblings_1 = [];\n Array.prototype.forEach.call(nodes, function (node) {\n if (node.tagName && node.tagName === element.tagName) {\n siblings_1.push(node);\n }\n });\n return siblings_1;\n }\n catch (e) {\n return [];\n }\n}\nfunction truncate(string, length) {\n if (string.length > length) {\n string = string.substr(0, length) + '...';\n }\n return string;\n}\n// Used to decide which error handling method to use when wrapping async\n// handlers: try/catch, or `window.onerror`. When available, `window.onerror`\n// will provide more information in modern browsers.\nexports.preferCatch = (function () {\n var preferCatch = true;\n // In case we're in an environment without access to \"window\", lets make sure theres a window.\n if (typeof window === 'undefined')\n return preferCatch;\n // IE < 10\n if (!window.atob) {\n preferCatch = false;\n }\n // Modern browsers support the full ErrorEvent API\n // See https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent\n if (window.ErrorEvent) {\n try {\n if ((new window.ErrorEvent('')).colno === 0) {\n preferCatch = false;\n }\n // eslint-disable-next-line no-empty\n }\n catch (_e) { }\n }\n return preferCatch;\n})();\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.onError = exports.ignoreNextOnError = void 0;\n/* eslint-disable prefer-rest-params */\nvar core_1 = require(\"@honeybadger-io/core\");\nvar instrument = core_1.Util.instrument, makeNotice = core_1.Util.makeNotice, globalThisOrWindow = core_1.Util.globalThisOrWindow;\nvar ignoreOnError = 0;\nvar currentTimeout;\nfunction ignoreNextOnError() {\n ignoreOnError += 1;\n clearTimeout(currentTimeout);\n currentTimeout = setTimeout(function () {\n ignoreOnError = 0;\n });\n}\nexports.ignoreNextOnError = ignoreNextOnError;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction onError(_window) {\n if (_window === void 0) { _window = globalThisOrWindow(); }\n return {\n load: function (client) {\n instrument(_window, 'onerror', function (original) {\n var onerror = function (msg, url, line, col, err) {\n client.logger.debug('window.onerror callback invoked', arguments);\n if (ignoreOnError > 0) {\n client.logger.debug('Ignoring window.onerror (error likely reported earlier)', arguments);\n ignoreOnError -= 1;\n return;\n }\n // See https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onerror#Notes\n if (line === 0 && /Script error\\.?/.test(msg)) {\n if (client.config.enableUncaught) {\n // Log only if the user wants to report uncaught errors\n client.logger.warn('Ignoring cross-domain script error: enable CORS to track these types of errors', arguments);\n }\n return;\n }\n var notice = makeNotice(err);\n if (!notice.name) {\n notice.name = 'window.onerror';\n }\n if (!notice.message) {\n notice.message = msg;\n }\n if (!notice.stack) {\n // Simulate v8 stack\n notice.stack = [notice.message, '\\n at ? (', url || 'unknown', ':', line || 0, ':', col || 0, ')'].join('');\n }\n client.addBreadcrumb((notice.name === 'window.onerror' || !notice.name) ? 'window.onerror' : \"window.onerror: \".concat(notice.name), {\n category: 'error',\n metadata: {\n name: notice.name,\n message: notice.message,\n stack: notice.stack\n }\n });\n if (client.config.enableUncaught) {\n client.notify(notice);\n }\n };\n return function (msg, url, line, col, err) {\n onerror(msg, url, line, col, err);\n if (typeof original === 'function') {\n return original.apply(_window, arguments);\n }\n return false;\n };\n });\n }\n };\n}\nexports.onError = onError;\n//# sourceMappingURL=onerror.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint-disable prefer-rest-params */\nvar core_1 = require(\"@honeybadger-io/core\");\nvar instrument = core_1.Util.instrument, globalThisOrWindow = core_1.Util.globalThisOrWindow;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction default_1(_window) {\n if (_window === void 0) { _window = globalThisOrWindow(); }\n return {\n load: function (client) {\n if (!client.config.enableUnhandledRejection) {\n return;\n }\n instrument(_window, 'onunhandledrejection', function (original) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event\n function onunhandledrejection(promiseRejectionEvent) {\n var _a;\n client.logger.debug('window.onunhandledrejection callback invoked', arguments);\n if (!client.config.enableUnhandledRejection) {\n return;\n }\n var reason = promiseRejectionEvent.reason;\n if (reason instanceof Error) {\n // simulate v8 stack\n // const fileName = reason.fileName || 'unknown'\n // const lineNumber = reason.lineNumber || 0\n var fileName = 'unknown';\n var lineNumber = 0;\n var stackFallback = \"\".concat(reason.message, \"\\n at ? (\").concat(fileName, \":\").concat(lineNumber, \")\");\n var stack = reason.stack || stackFallback;\n var err = {\n name: reason.name,\n message: \"UnhandledPromiseRejectionWarning: \".concat(reason),\n stack: stack\n };\n client.addBreadcrumb(\"window.onunhandledrejection: \".concat(err.name), {\n category: 'error',\n metadata: err\n });\n client.notify(err);\n return;\n }\n var message = typeof reason === 'string' ? reason : ((_a = JSON.stringify(reason)) !== null && _a !== void 0 ? _a : 'Unspecified reason');\n client.notify({\n name: 'window.onunhandledrejection',\n message: \"UnhandledPromiseRejectionWarning: \".concat(message)\n });\n }\n return function (promiseRejectionEvent) {\n onunhandledrejection(promiseRejectionEvent);\n if (typeof original === 'function') {\n original.apply(this, arguments);\n }\n };\n });\n }\n };\n}\nexports.default = default_1;\n//# sourceMappingURL=onunhandledrejection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint-disable prefer-rest-params */\nvar core_1 = require(\"@honeybadger-io/core\");\nvar util_1 = require(\"../util\");\nvar sanitize = core_1.Util.sanitize, instrument = core_1.Util.instrument, instrumentConsole = core_1.Util.instrumentConsole, globalThisOrWindow = core_1.Util.globalThisOrWindow;\nfunction default_1(_window) {\n if (_window === void 0) { _window = globalThisOrWindow(); }\n return {\n load: function (client) {\n function breadcrumbsEnabled(type) {\n if (client.config.breadcrumbsEnabled === true) {\n return true;\n }\n if (type) {\n return client.config.breadcrumbsEnabled[type] === true;\n }\n return client.config.breadcrumbsEnabled !== false;\n }\n // Breadcrumbs: instrument console\n (function () {\n if (!breadcrumbsEnabled('console')) {\n return;\n }\n function inspectArray(obj) {\n if (!Array.isArray(obj)) {\n return '';\n }\n return obj.map(function (value) {\n try {\n return String(value);\n }\n catch (e) {\n return '[unknown]';\n }\n }).join(' ');\n }\n instrumentConsole(_window, function (level, args) {\n var message = inspectArray(args);\n var opts = {\n category: 'log',\n metadata: {\n level: level,\n arguments: sanitize(args, 3)\n }\n };\n client.addBreadcrumb(message, opts);\n });\n })();\n // Breadcrumbs: instrument click events\n (function () {\n if (!breadcrumbsEnabled('dom')) {\n return;\n }\n if (typeof _window.addEventListener !== 'function') {\n return;\n }\n _window.addEventListener('click', function (event) {\n var message, selector, text;\n try {\n message = (0, util_1.stringNameOfElement)(event.target);\n selector = (0, util_1.stringSelectorOfElement)(event.target);\n text = (0, util_1.stringTextOfElement)(event.target);\n }\n catch (e) {\n message = 'UI Click';\n selector = '[unknown]';\n text = '[unknown]';\n }\n // There's nothing to display\n if (message.length === 0) {\n return;\n }\n client.addBreadcrumb(message, {\n category: 'ui.click',\n metadata: {\n selector: selector,\n text: text,\n event: event\n }\n });\n }, _window.location ? true : false); // In CloudFlare workers useCapture must be false. window.location is a hacky way to detect it.\n })();\n // Breadcrumbs: instrument XMLHttpRequest\n (function () {\n if (!breadcrumbsEnabled('network')) {\n return;\n }\n // Some environments may not support XMLHttpRequest.\n if (typeof XMLHttpRequest === 'undefined') {\n return;\n }\n // -- On xhr.open: capture initial metadata\n instrument(XMLHttpRequest.prototype, 'open', function (original) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var xhr = this;\n var rawUrl = arguments[1];\n // in case of url being URL object (which is valid input) we need to stringify it\n var url = typeof rawUrl === 'string' ? rawUrl : String(rawUrl);\n var method = typeof arguments[0] === 'string' ? arguments[0].toUpperCase() : arguments[0];\n var message = \"\".concat(method, \" \").concat((0, util_1.localURLPathname)(url));\n this.__hb_xhr = {\n type: 'xhr',\n method: method,\n url: url,\n message: message\n };\n if (typeof original === 'function') {\n original.apply(xhr, arguments);\n }\n };\n });\n // -- On xhr.send: set up xhr.onreadystatechange to report breadcrumb\n instrument(XMLHttpRequest.prototype, 'send', function (original) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var xhr = this;\n function onreadystatechangeHandler() {\n if (xhr.readyState === 4) {\n var message = void 0;\n if (xhr.__hb_xhr) {\n xhr.__hb_xhr.status_code = xhr.status;\n message = xhr.__hb_xhr.message;\n delete xhr.__hb_xhr.message;\n }\n client.addBreadcrumb(message || 'XMLHttpRequest', {\n category: 'request',\n metadata: xhr.__hb_xhr\n });\n }\n }\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n instrument(xhr, 'onreadystatechange', function (original) {\n return function () {\n onreadystatechangeHandler();\n if (typeof original === 'function') {\n // eslint-disable-next-line prefer-rest-params\n original.apply(this, arguments);\n }\n };\n });\n }\n else {\n xhr.onreadystatechange = onreadystatechangeHandler;\n }\n if (typeof original === 'function') {\n // eslint-disable-next-line prefer-rest-params\n original.apply(xhr, arguments);\n }\n };\n });\n })();\n // Breadcrumbs: instrument fetch\n (function () {\n if (!breadcrumbsEnabled('network')) {\n return;\n }\n if (!(0, util_1.nativeFetch)()) {\n // Polyfills use XHR.\n return;\n }\n instrument(_window, 'fetch', function (original) {\n return function () {\n // eslint-disable-next-line prefer-rest-params\n var input = arguments[0];\n var method = 'GET';\n var url;\n if (typeof input === 'string') {\n url = input;\n }\n else if ('Request' in _window && input instanceof Request) {\n url = input.url;\n if (input.method) {\n method = input.method;\n }\n }\n else {\n url = String(input);\n }\n if (arguments[1] && arguments[1].method) {\n method = arguments[1].method;\n }\n if (typeof method === 'string') {\n method = method.toUpperCase();\n }\n // localURLPathname cant be constructed for CF workers due to reliance on \"document\".\n var message = \"\".concat(method, \" \").concat(typeof document === 'undefined' ? url : (0, util_1.localURLPathname)(url));\n var metadata = {\n type: 'fetch',\n method: method,\n url: url\n };\n return original\n .apply(this, arguments)\n .then(function (response) {\n metadata['status_code'] = response.status;\n client.addBreadcrumb(message, {\n category: 'request',\n metadata: metadata\n });\n return response;\n })\n .catch(function (error) {\n client.addBreadcrumb('fetch error', {\n category: 'error',\n metadata: metadata\n });\n throw error;\n });\n };\n });\n })();\n // Breadcrumbs: instrument navigation\n (function () {\n if (!breadcrumbsEnabled('navigation')) {\n return;\n }\n if (_window.location == null) {\n // Most likely in a CF worker, we should be listening to fetch requests instead.\n return;\n }\n // The last known href of the current page\n var lastHref = _window.location.href;\n function recordUrlChange(from, to) {\n lastHref = to;\n client.addBreadcrumb('Page changed', {\n category: 'navigation',\n metadata: {\n from: from,\n to: to\n }\n });\n }\n if (typeof addEventListener === 'function') {\n addEventListener('popstate', function (_event) {\n recordUrlChange(lastHref, _window.location.href);\n });\n }\n if (typeof _window.history === 'undefined') {\n return;\n }\n // https://developer.mozilla.org/en-US/docs/Web/API/History/pushState\n // https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState\n function historyWrapper(original) {\n return function () {\n var url = arguments.length > 2 ? arguments[2] : undefined;\n if (url) {\n recordUrlChange(lastHref, String(url));\n }\n return original.apply(this, arguments);\n };\n }\n instrument(_window.history, 'pushState', historyWrapper);\n instrument(_window.history, 'replaceState', historyWrapper);\n })();\n }\n };\n}\nexports.default = default_1;\n//# sourceMappingURL=breadcrumbs.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint-disable prefer-rest-params */\nvar core_1 = require(\"@honeybadger-io/core\");\nvar instrument = core_1.Util.instrument, globalThisOrWindow = core_1.Util.globalThisOrWindow;\nfunction default_1(_window) {\n if (_window === void 0) { _window = globalThisOrWindow(); }\n return {\n load: function (client) {\n // Wrap timers\n (function () {\n function instrumentTimer(wrapOpts) {\n return function (original) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout\n return function (func, delay) {\n if (typeof func === 'function') {\n var args_1 = Array.prototype.slice.call(arguments, 2);\n func = client.__wrap(func, wrapOpts);\n return original(function () {\n func.apply(void 0, args_1);\n }, delay);\n }\n else {\n return original(func, delay);\n }\n };\n };\n }\n instrument(_window, 'setTimeout', instrumentTimer({ component: 'setTimeout' }));\n instrument(_window, 'setInterval', instrumentTimer({ component: 'setInterval' }));\n })();\n }\n };\n}\nexports.default = default_1;\n//# sourceMappingURL=timers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@honeybadger-io/core\");\nvar instrument = core_1.Util.instrument, globalThisOrWindow = core_1.Util.globalThisOrWindow;\nfunction default_1(_window) {\n if (_window === void 0) { _window = globalThisOrWindow(); }\n return {\n load: function (client) {\n // Wrap event listeners\n // Event targets borrowed from bugsnag-js:\n // See https://github.com/bugsnag/bugsnag-js/blob/d55af916a4d3c7757f979d887f9533fe1a04cc93/src/bugsnag.js#L542\n var targets = ['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'];\n targets.forEach(function (prop) {\n var prototype = _window[prop] && _window[prop].prototype;\n if (prototype && Object.prototype.hasOwnProperty.call(prototype, 'addEventListener')) {\n instrument(prototype, 'addEventListener', function (original) {\n var wrapOpts = { component: \"\".concat(prop, \".prototype.addEventListener\") };\n // See https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n return function (type, listener, useCapture, wantsUntrusted) {\n try {\n if (listener && listener.handleEvent != null) {\n listener.handleEvent = client.__wrap(listener.handleEvent, wrapOpts);\n }\n }\n catch (e) {\n // Ignore 'Permission denied to access property \"handleEvent\"' errors.\n client.logger.error(e);\n }\n return original.call(this, type, client.__wrap(listener, wrapOpts), useCapture, wantsUntrusted);\n };\n });\n instrument(prototype, 'removeEventListener', function (original) {\n return function (type, listener, useCapture, wantsUntrusted) {\n original.call(this, type, listener, useCapture, wantsUntrusted);\n return original.call(this, type, client.__wrap(listener), useCapture, wantsUntrusted);\n };\n });\n }\n });\n }\n };\n}\nexports.default = default_1;\n//# sourceMappingURL=event_listeners.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserTransport = void 0;\nvar core_1 = require(\"@honeybadger-io/core\");\nvar sanitize = core_1.Util.sanitize, globalThisOrWindow = core_1.Util.globalThisOrWindow;\n/**\n * Helper function to get typesafe Object.entries()\n * https://twitter.com/mattpocockuk/status/1502264005251018754?lang=en\n */\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nvar BrowserTransport = /** @class */ (function () {\n function BrowserTransport(headers) {\n if (headers === void 0) { headers = {}; }\n this.headers = {};\n this.headers = headers;\n }\n BrowserTransport.prototype.defaultHeaders = function () {\n return this.headers;\n };\n BrowserTransport.prototype.send = function (options, payload) {\n return __awaiter(this, void 0, void 0, function () {\n var headerArray, headers, requestInit, response, body;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n headerArray = options.headers ? objectEntries(options.headers) : [];\n headers = this.defaultHeaders();\n headerArray.forEach(function (_a) {\n var key = _a[0], value = _a[1];\n if (key != null && value != null) {\n headers[String(key)] = String(value);\n }\n });\n requestInit = {\n method: options.method,\n headers: headers\n };\n // GET methods cannot have a body.\n if (options.method === 'POST' && payload) {\n requestInit.body = typeof payload === 'string' ? payload : JSON.stringify(sanitize(payload, options.maxObjectDepth));\n }\n return [4 /*yield*/, globalThisOrWindow().fetch(options.endpoint, requestInit)];\n case 1:\n response = _a.sent();\n return [4 /*yield*/, response.text()];\n case 2:\n body = _a.sent();\n return [2 /*return*/, Promise.resolve({ statusCode: response.status, body: body })];\n }\n });\n });\n };\n return BrowserTransport;\n}());\nexports.BrowserTransport = BrowserTransport;\n//# sourceMappingURL=transport.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserFeedbackForm = void 0;\nvar core_1 = require(\"@honeybadger-io/core\");\nvar globalThisOrWindow = core_1.Util.globalThisOrWindow;\nvar BrowserFeedbackForm = /** @class */ (function () {\n function BrowserFeedbackForm(config, logger, scriptUrl) {\n this.config = config;\n this.logger = logger;\n this.scriptUrl = scriptUrl;\n }\n /* ROLLUP_STRIP_CODE_CHROME_EXTENSION_START */\n BrowserFeedbackForm.prototype.appendUserFeedbackTag = function (window, options) {\n if (options === void 0) { options = {}; }\n var script = window.document.createElement('script');\n script.setAttribute('src', this.scriptUrl);\n script.setAttribute('async', 'true');\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n (global.document.head || global.document.body).appendChild(script);\n };\n BrowserFeedbackForm.prototype.isUserFeedbackUrlAlreadyVisible = function () {\n var global = globalThisOrWindow();\n var feedbackScriptUrl = this.scriptUrl;\n for (var i = 0; i < global.document.scripts.length; i++) {\n var script = global.document.scripts[i];\n if (script.src === feedbackScriptUrl) {\n return true;\n }\n }\n return false;\n };\n /* ROLLUP_STRIP_CODE_CHROME_EXTENSION_END */\n BrowserFeedbackForm.prototype.show = function (lastNoticeId, options) {\n if (options === void 0) { options = {}; }\n if (typeof (this.appendUserFeedbackTag) !== 'function') {\n this.logger.debug('Feedback form is not available in this environment');\n return;\n }\n if (!this.config || !this.config.apiKey) {\n this.logger.debug('Client not initialized');\n return;\n }\n if (!lastNoticeId) {\n this.logger.debug(\"Can't show user feedback form without a notice already reported\");\n return;\n }\n var global = globalThisOrWindow();\n if (typeof global.document === 'undefined') {\n this.logger.debug('global.document is undefined. Cannot attach script');\n return;\n }\n if (this.isUserFeedbackUrlAlreadyVisible()) {\n this.logger.debug('User feedback form is already visible');\n return;\n }\n global['honeybadgerUserFeedbackOptions'] = __assign(__assign({}, options), { apiKey: this.config.apiKey, endpoint: this.config.userFeedbackEndpoint, noticeId: lastNoticeId });\n this.appendUserFeedbackTag(global, options);\n };\n return BrowserFeedbackForm;\n}());\nexports.BrowserFeedbackForm = BrowserFeedbackForm;\n//# sourceMappingURL=feedback-form.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Types = exports.getUserFeedbackScriptUrl = void 0;\nvar core_1 = require(\"@honeybadger-io/core\");\nvar util_1 = require(\"./browser/util\");\nvar onerror_1 = require(\"./browser/integrations/onerror\");\nvar onunhandledrejection_1 = __importDefault(require(\"./browser/integrations/onunhandledrejection\"));\nvar breadcrumbs_1 = __importDefault(require(\"./browser/integrations/breadcrumbs\"));\nvar timers_1 = __importDefault(require(\"./browser/integrations/timers\"));\nvar event_listeners_1 = __importDefault(require(\"./browser/integrations/event_listeners\"));\nvar transport_1 = require(\"./browser/transport\");\nvar feedback_form_1 = require(\"./browser/feedback-form\");\nvar merge = core_1.Util.merge, filter = core_1.Util.filter, objectIsExtensible = core_1.Util.objectIsExtensible, globalThisOrWindow = core_1.Util.globalThisOrWindow;\nvar getProjectRoot = function () {\n var global = globalThisOrWindow();\n var projectRoot = '';\n // Cloudflare workers do not have access to location API.\n if (global.location != null) {\n projectRoot = global.location.protocol + '//' + global.location.host;\n }\n return projectRoot;\n};\nvar getUserFeedbackScriptUrl = function (version) {\n var majorMinorVersion = version.split('.').slice(0, 2).join('.');\n return \"https://js.honeybadger.io/v\".concat(majorMinorVersion, \"/honeybadger-feedback-form.js\");\n};\nexports.getUserFeedbackScriptUrl = getUserFeedbackScriptUrl;\nvar Honeybadger = /** @class */ (function (_super) {\n __extends(Honeybadger, _super);\n function Honeybadger(opts) {\n if (opts === void 0) { opts = {}; }\n var _this = _super.call(this, __assign({ userFeedbackEndpoint: 'https://api.honeybadger.io/v2/feedback', async: true, maxErrors: null, projectRoot: getProjectRoot() }, opts), new transport_1.BrowserTransport({\n 'User-Agent': userAgent(),\n })) || this;\n /** @internal */\n _this.__errorsSent = 0;\n /** @internal */\n _this.__lastWrapErr = undefined;\n /** @internal */\n _this.__lastNoticeId = undefined;\n /** @internal */\n _this.__beforeNotifyHandlers = [\n function (notice) {\n if (_this.__exceedsMaxErrors()) {\n _this.logger.debug('Dropping notice: max errors exceeded', notice);\n return false;\n }\n if (notice && !notice.url && typeof document !== 'undefined') {\n notice.url = document.URL;\n }\n _this.__incrementErrorsCount();\n return true;\n }\n ];\n _this.__afterNotifyHandlers = [\n function (_error, notice) {\n if (notice) {\n _this.__lastNoticeId = notice.id;\n }\n }\n ];\n return _this;\n }\n Honeybadger.prototype.configure = function (opts) {\n if (opts === void 0) { opts = {}; }\n return _super.prototype.configure.call(this, opts);\n };\n Honeybadger.prototype.resetMaxErrors = function () {\n return (this.__errorsSent = 0);\n };\n Honeybadger.prototype.factory = function (opts) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var clone = new Honeybadger(opts);\n clone.setNotifier(this.getNotifier());\n return clone;\n };\n Honeybadger.prototype.checkIn = function (_id) {\n throw new Error('Honeybadger.checkIn() is not supported on the browser');\n };\n Honeybadger.prototype.showUserFeedbackForm = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var form;\n return __generator(this, function (_a) {\n form = new feedback_form_1.BrowserFeedbackForm(this.config, this.logger, this.getUserFeedbackSubmitUrl());\n form.show(this.__lastNoticeId, options);\n return [2 /*return*/];\n });\n });\n };\n Honeybadger.prototype.getUserFeedbackSubmitUrl = function () {\n return (0, exports.getUserFeedbackScriptUrl)(this.getVersion());\n };\n /** @internal */\n Honeybadger.prototype.__buildPayload = function (notice) {\n var cgiData = {\n HTTP_USER_AGENT: undefined,\n HTTP_REFERER: undefined,\n HTTP_COOKIE: undefined\n };\n if (typeof navigator !== 'undefined' && navigator.userAgent) {\n cgiData.HTTP_USER_AGENT = navigator.userAgent;\n }\n if (typeof document !== 'undefined' && document.referrer.match(/\\S/)) {\n cgiData.HTTP_REFERER = document.referrer;\n }\n var cookiesObject;\n if (typeof notice.cookies === 'string') {\n cookiesObject = (0, util_1.decodeCookie)(notice.cookies);\n }\n else {\n cookiesObject = notice.cookies;\n }\n if (cookiesObject) {\n cgiData.HTTP_COOKIE = (0, util_1.encodeCookie)(filter(cookiesObject, this.config.filters));\n }\n var payload = _super.prototype.__buildPayload.call(this, notice);\n payload.request.cgi_data = merge(cgiData, payload.request.cgi_data);\n return payload;\n };\n /**\n * wrap always returns the same function so that callbacks can be removed via\n * removeEventListener.\n * @internal\n */\n Honeybadger.prototype.__wrap = function (f, opts) {\n if (opts === void 0) { opts = {}; }\n var func = f;\n if (!opts) {\n opts = {};\n }\n try {\n if (typeof func !== 'function') {\n return func;\n }\n if (!objectIsExtensible(func)) {\n return func;\n }\n if (!func.___hb) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var client_1 = this;\n func.___hb = function () {\n if (util_1.preferCatch) {\n try {\n // eslint-disable-next-line prefer-rest-params\n return func.apply(this, arguments);\n }\n catch (err) {\n if (client_1.__lastWrapErr === err) {\n throw (err);\n }\n client_1.__lastWrapErr = err;\n (0, onerror_1.ignoreNextOnError)();\n client_1.addBreadcrumb(opts.component ? \"\".concat(opts.component, \": \").concat(err.name) : err.name, {\n category: 'error',\n metadata: {\n message: err.message,\n name: err.name,\n stack: err.stack\n }\n });\n if (client_1.config.enableUncaught) {\n client_1.notify(err);\n }\n throw (err);\n }\n }\n else {\n // eslint-disable-next-line prefer-rest-params\n return func.apply(this, arguments);\n }\n };\n }\n func.___hb.___hb = func.___hb;\n return func.___hb;\n }\n catch (_e) {\n return func;\n }\n };\n /** @internal */\n Honeybadger.prototype.__incrementErrorsCount = function () {\n return this.__errorsSent++;\n };\n /** @internal */\n Honeybadger.prototype.__exceedsMaxErrors = function () {\n return this.config.maxErrors && this.__errorsSent >= this.config.maxErrors;\n };\n return Honeybadger;\n}(core_1.Client));\nvar NOTIFIER = {\n name: '@honeybadger-io/js',\n url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/js',\n version: '__VERSION__'\n};\nvar userAgent = function () {\n if (typeof navigator !== 'undefined') {\n return \"Honeybadger JS Browser Client \".concat(NOTIFIER.version, \"; \").concat(navigator.userAgent);\n }\n return \"Honeybadger JS Browser Client \".concat(NOTIFIER.version, \"; n/a; n/a\");\n};\nvar singleton = new Honeybadger({\n __plugins: [\n (0, onerror_1.onError)(),\n (0, onunhandledrejection_1.default)(),\n (0, timers_1.default)(),\n (0, event_listeners_1.default)(),\n (0, breadcrumbs_1.default)(),\n core_1.Plugins.events(),\n ]\n});\nsingleton.setNotifier(NOTIFIER);\nvar core_2 = require(\"@honeybadger-io/core\");\nObject.defineProperty(exports, \"Types\", { enumerable: true, get: function () { return core_2.Types; } });\nexports.default = singleton;\n//# sourceMappingURL=browser.js.map"],"names":["environment","_document$querySelect","document","querySelector","content","revision","_document$querySelect2","Honeybadger","debug","apiKey","projectRoot","breadcrumbsEnabled","maxErrors","tags","notice","test","message","name","stack","_notice$context","_notice$context$signe","context","signedIn","_document$querySelect3","_unused","_document$querySelect4","_notice$context2","_notice$context2$user","userId","_unused2","error","options","category","metadata","window","location","UNKNOWN_FUNCTION","chromeRe","chromeEvalRe","winjsRe","geckoRe","geckoEvalRe","javaScriptCoreRe","nodeRe","stackString","split","reduce","line","parseResult","parts","exec","isNative","indexOf","isEval","submatch","file","methodName","arguments","lineNumber","column","parseChrome","parseWinjs","parseGecko","parseNode","parseJSC","push","__createBinding","commonjsGlobal","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","this","n","op","TypeError","pop","length","exports","logDeprecatedMethod","globalThisOrWindow","isBrowserConfig","clone","formatCGIData","filterUrl","filter","generateStackTrace","endpoint","instrumentConsole","instrument","isErrorObject","makeNotice","logger","sanitize","shallowClone","runAfterNotifyHandlers","runBeforeNotifyHandlers","getSourceForBacktrace","getCauses","calculateBacktraceShift","DEFAULT_BACKTRACE_SHIFT","makeBacktrace","objectIsExtensible","objectIsEmpty","mergeNotice","merge","stackTraceParser","require$$0$1","obj1","obj2","filterHbSourceCode","console","backtrace","parse","map","method","number","splice","err","isFrameFromHbSourceCode","frame","hasHbFile","hasHbMethod","toLowerCase","shift","i","nextFrame","obj","thing","Error","toString","object","replacement","original","__hb_original","_e","notice1","notice2","isExtensible","cause","causes","class","getSourceFileHandler","index","trace","fileContent","_a","fileData","sourceRadius","lines","unshift","end","getSourceCodeSnippet","handlers","results","len","handlerResult","handler","afterNotify","maxDepth","seenObjects","serialize","depth","typeOfObj","canSerialize","seen","Array","isArray","safeSerialize","ret","concat","client","log","args","_i","config","info","warn","String","_consoleAlreadyInstrumented","listeners","filterMatch","key","filters","is","type","klass","slice","_window","forEach","level","listener","Function","base","path","trim","replace","curr","callee","RegExp","$1","caller","join","newObj","url","query","pair","vars","prefix","formattedVars","keys","formattedKey","toUpperCase","JSON","stringify","async","globalThis","self","_deprecatedMethodCalls","oldMethod","newMethod","callCountThreshold","msg","events","util_1$4","util$1","shouldReloadOnConfigure","load","sendEventsToInsights","eventsEnabled","data","severity","event","store","GlobalStore","util_1$3","contents","breadcrumbsLimit","available","getContents","setContext","addBreadcrumb","breadcrumb","breadcrumbs","clear","run","callback","NdJson","_classCallCheck","item","defaults","CONFIG","hostname","component","action","reportData","maxBreadcrumbs","maxObjectDepth","developmentEnvironments","enableUncaught","enableUnhandledRejection","afterUncaught","__plugins","__assign$2","__assign","assign","s","p","__awaiter$2","__generator$2","throttled_events_logger","ThrottledEventsLogger","json_nd_1","require$$0","util_1$2","defaults_1$1","transport","queue","isProcessing","originalLogger","configure","opts","payload","processQueue","_this","eventsData","makeHttpRequest","setTimeout","send","headers","_b","_c","_d","__assign$1","__awaiter$1","__generator$1","Client","util_1$1","store_1","throttled_events_logger_1","defaults_1","TAG_SEPARATOR","NOT_BLANK","__pluginsLoaded","__store","__beforeNotifyHandlers","__afterNotifyHandlers","__notifier","version","__initStore","__transport","__eventsLogger","getVersion","getNotifier","setNotifier","notifier","loadPlugins","plugin","beforeNotify","resetContext","notify","noticeable","extra","sourceCodeData","preConditionsResult","__runPreconditions","__send","_err","notifyAsync","partialNotice","originalAfterNotify","noticeTags","__constructTags","contextTags","configTags","uniqueTags","timestamp","Date","toISOString","logEvent","event_type","ts","__getBreadcrumbs","__getContext","__developmentMode","includes","__buildPayload","cgiData","enabled","trail","__breadcrumbs","fingerprint","request","cgi_data","params","session","server","project_root","environment_name","time","toUTCString","details","tag","preConditionError","beforeNotifyResult","some","allSettled","status","originalBacktrace","__getSourceFileHandler","sourcePerTrace","source","res","statusCode","uuid","id","types","__exportStar","__importDefault","Plugins","Util","Types","events_1","client_1","util","preferCatch","encodeCookie","decodeCookie","localURLPathname","parseURL","nativeFetch","stringTextOfElement","stringSelectorOfElement","stringNameOfElement","globalThisOrWindow$7","src","element","tagName","stringClassNames","getAttribute","className","attrName","attr","siblings","nodes","parentNode","childNodes","siblings_1","node","getSiblings","func","match","protocol","host","pathname","parentName","string","text","textContent","innerText","substr","global","fetch","sandbox","createElement","style","display","head","appendChild","contentWindow","removeChild","parsed","parsedDocURL","URL","cookies","atob","ErrorEvent","colno","onerror","onError","ignoreNextOnError","currentTimeout","core_1$6","instrument$4","globalThisOrWindow$6","ignoreOnError","clearTimeout","col","onunhandledrejection","core_1$5","instrument$3","globalThisOrWindow$5","promiseRejectionEvent","reason","stackFallback","core_1$4","util_1","sanitize$1","instrument$2","globalThisOrWindow$4","addEventListener","selector","target","XMLHttpRequest","rawUrl","__hb_xhr","xhr","onreadystatechangeHandler","readyState","status_code","onreadystatechange","input","Request","response","lastHref","href","_event","recordUrlChange","history","historyWrapper","from","to","timers","core_1$3","instrument$1","globalThisOrWindow$3","instrumentTimer","wrapOpts","delay","args_1","__wrap","event_listeners","core_1$2","globalThisOrWindow$2","prop","useCapture","wantsUntrusted","handleEvent","BrowserTransport","core_1$1","globalThisOrWindow$1","defaultHeaders","headerArray","requestInit","entries","feedbackForm","BrowserFeedbackForm","scriptUrl","appendUserFeedbackTag","script","setAttribute","onLoad","onload","isUserFeedbackUrlAlreadyVisible","feedbackScriptUrl","scripts","show","lastNoticeId","userFeedbackEndpoint","noticeId","extendStatics","__extends","d","b","setPrototypeOf","__proto__","__","constructor","getUserFeedbackScriptUrl","core_1","onerror_1","onunhandledrejection_1","breadcrumbs_1","timers_1","event_listeners_1","transport_1","feedback_form_1","majorMinorVersion","_super","userAgent","__errorsSent","__lastWrapErr","__lastNoticeId","__exceedsMaxErrors","__incrementErrorsCount","_error","resetMaxErrors","factory","checkIn","_id","showUserFeedbackForm","getUserFeedbackSubmitUrl","cookiesObject","HTTP_USER_AGENT","HTTP_REFERER","HTTP_COOKIE","navigator","referrer","___hb","NOTIFIER","singleton","core_2"],"sourceRoot":""}