{"version":3,"file":"honeybadger.js","mappings":"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","sources":["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","webpack://dockspot/./app/javascript/honeybadger.js"],"sourcesContent":["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.flushAsync = function () {\n this.logger.debug('[Honeybadger] Flushing events');\n return this.send();\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 this.send()\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.send = function () {\n return __awaiter(this, void 0, void 0, function () {\n var eventsData, data;\n return __generator(this, function (_a) {\n if (this.queue.length === 0) {\n return [2 /*return*/];\n }\n eventsData = this.queue.slice();\n this.queue = [];\n data = json_nd_1.NdJson.stringify(eventsData);\n return [2 /*return*/, this.makeHttpRequest(data)];\n });\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 /**\n * This method currently flushes the event (Insights) queue.\n * In the future, it should also flush the error queue (assuming an error throttler is implemented).\n */\n Client.prototype.flushAsync = function () {\n return this.__eventsLogger.flushAsync();\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","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 if (/Can't find variable: gmo/.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"],"names":["UNKNOWN_FUNCTION","chromeRe","chromeEvalRe","winjsRe","geckoRe","geckoEvalRe","javaScriptCoreRe","nodeRe","stackString","split","reduce","stack","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","debug","isFrameFromHbSourceCode","frame","hasHbFile","hasHbMethod","toLowerCase","shift","i","nextFrame","obj","thing","Error","toString","object","name","replacement","original","__hb_original","_e","notice1","notice2","context","isExtensible","notice","cause","causes","class","message","getSourceFileHandler","index","trace","fileContent","_a","fileData","sourceRadius","lines","unshift","end","getSourceCodeSnippet","handlers","results","len","handlerResult","handler","error","afterNotify","maxDepth","seenObjects","serialize","depth","typeOfObj","test","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","window","_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","apiKey","environment","hostname","projectRoot","component","action","revision","reportData","breadcrumbsEnabled","maxBreadcrumbs","maxObjectDepth","developmentEnvironments","tags","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","flushAsync","send","_this","setTimeout","eventsData","makeHttpRequest","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","metadata","category","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","document","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","location","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","options","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","Honeybadger","_super","maxErrors","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","_document$querySelect","querySelector","content","_document$querySelect2","_notice$context","_notice$context$signe","signedIn","_document$querySelect3","_unused","_document$querySelect4","_notice$context2","_notice$context2$user","userId","_unused2"],"sourceRoot":""}