@honeybadger-io/js 4.6.2 → 4.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"honeybadger.min.js","sources":["../../../core/node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","../../../core/build/src/util.js","../../../core/build/src/store.js","../../../core/build/src/client.js","../../../core/build/src/types.js","../../../core/build/src/index.js","../../build/src/browser/util.js","../../build/src/browser/integrations/onerror.js","../../build/src/browser/integrations/onunhandledrejection.js","../../build/src/browser/integrations/breadcrumbs.js","../../build/src/browser/integrations/timers.js","../../build/src/browser/integrations/event_listeners.js","../../build/src/browser/transport.js","../../build/src/browser.js"],"sourcesContent":["var UNKNOWN_FUNCTION = '<unknown>';\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|<anonymous>|\\/|[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.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = exports.instrument = exports.isErrorObject = exports.makeNotice = exports.logger = exports.sanitize = exports.shallowClone = exports.runAfterNotifyHandlers = exports.runBeforeNotifyHandlers = exports.getSourceForBacktrace = exports.getCauses = exports.makeBacktrace = exports.objectIsExtensible = exports.objectIsEmpty = exports.mergeNotice = exports.merge = void 0;\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, shift) {\n if (shift === void 0) { shift = 0; }\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 backtrace.splice(0, shift);\n return backtrace;\n }\n catch (_err) {\n // TODO: log error\n return [];\n }\n}\nexports.makeBacktrace = makeBacktrace;\nfunction getCauses(notice) {\n if (notice.cause) {\n var causes = [];\n var cause = notice;\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) : 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 result = true;\n for (var i = 0, len = handlers.length; i < len; i++) {\n var handler = handlers[i];\n if (handler(notice) === false) {\n result = false;\n }\n }\n return result;\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 var original = object[name];\n while (original && original.__hb_original) {\n original = original.__hb_original;\n }\n try {\n object[name] = replacement(original);\n object[name].__hb_original = original;\n }\n catch (_e) {\n // Ignores errors like this one:\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;\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 || '<anonymous>');\n }\n else {\n stack.push('<anonymous>');\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","\"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","\"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.Client = void 0;\nvar util_1 = require(\"./util\");\nvar store_1 = require(\"./store\");\nvar notifier = {\n name: 'honeybadger-js',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n};\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.__pluginsExecuted = false;\n this.__store = null;\n this.__beforeNotifyHandlers = [];\n this.__afterNotifyHandlers = [];\n this.config = __assign({ apiKey: null, endpoint: 'https://api.honeybadger.io', environment: null, hostname: null, projectRoot: null, component: null, action: null, revision: null, reportData: null, breadcrumbsEnabled: true, maxBreadcrumbs: 40, maxObjectDepth: 8, logger: console, developmentEnvironments: ['dev', 'development', 'test'], debug: false, tags: null, enableUncaught: true, enableUnhandledRejection: true, afterUncaught: function () { return true; }, filters: ['creditcard', 'password'], __plugins: [] }, opts);\n this.__initStore();\n this.__transport = transport;\n this.logger = (0, util_1.logger)(this);\n }\n Client.prototype.getVersion = function () {\n return notifier.version;\n };\n Client.prototype.configure = function (opts) {\n var _this = this;\n if (opts === void 0) { opts = {}; }\n for (var k in opts) {\n this.config[k] = opts[k];\n }\n if (!this.__pluginsExecuted) {\n this.__pluginsExecuted = true;\n this.config.__plugins.forEach(function (plugin) { return plugin.load(_this); });\n }\n return this;\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 preConditionError = null;\n var notice = this.makeNotice(noticeable, name, extra);\n if (!notice) {\n this.logger.debug('failed to build error report');\n preConditionError = new Error('failed to build error report');\n }\n if (!preConditionError && 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 (!preConditionError && 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 (!preConditionError && !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 // 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 beforeNotifyResult = (0, util_1.runBeforeNotifyHandlers)(notice, this.__beforeNotifyHandlers);\n if (!preConditionError && !beforeNotifyResult) {\n this.logger.debug('skipping error report: beforeNotify handlers returned false', notice);\n preConditionError = new Error('beforeNotify handlers returned false');\n }\n if (preConditionError) {\n (0, util_1.runAfterNotifyHandlers)(notice, this.__afterNotifyHandlers, preConditionError);\n return false;\n }\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 var breadcrumbs = this.__store.getContents('breadcrumbs');\n notice.__breadcrumbs = this.config.breadcrumbsEnabled ? breadcrumbs : [];\n (0, util_1.getSourceForBacktrace)(sourceCodeData, this.__getSourceFileHandler)\n .then(function (sourcePerTrace) {\n sourcePerTrace.forEach(function (source, index) {\n notice.backtrace[index].source = source;\n });\n var payload = _this.__buildPayload(notice);\n _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 async: (0, util_1.isBrowserConfig)(_this.config) ? _this.config.async : undefined,\n }, payload)\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;\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 })\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 });\n });\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 var backtraceShift = 0;\n if (typeof notice.stack !== 'string' || !notice.stack.trim()) {\n notice.stack = (0, util_1.generateStackTrace)();\n backtraceShift = 2;\n }\n notice.backtrace = (0, util_1.makeBacktrace)(notice.stack, backtraceShift);\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 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: 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),\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 return Client;\n}());\nexports.Client = Client;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\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 __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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.Types = exports.Client = void 0;\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\"));\n","\"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;\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 <html> 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 if (!window.fetch) {\n return false;\n }\n if (isNative(window.fetch)) {\n return true;\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 // 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","\"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;\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 = window; }\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","\"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;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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","\"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;\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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 ['debug', 'info', 'warn', 'error', 'log'].forEach(function (level) {\n instrument(_window.console, level, function (original) {\n return function () {\n var args = Array.prototype.slice.call(arguments);\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 if (typeof original === 'function') {\n Function.prototype.apply.call(original, _window.console, arguments);\n }\n };\n });\n });\n })();\n // Breadcrumbs: instrument click events\n (function () {\n if (!breadcrumbsEnabled('dom')) {\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 }, true);\n })();\n // Breadcrumbs: instrument XMLHttpRequest\n (function () {\n if (!breadcrumbsEnabled('network')) {\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 url = arguments[1];\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 var message = \"\".concat(method, \" \").concat((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 // 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 // https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate\n instrument(_window, 'onpopstate', function (original) {\n return function () {\n recordUrlChange(lastHref, _window.location.href);\n if (original) {\n return original.apply(this, arguments);\n }\n };\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","\"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;\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@honeybadger-io/core\");\nvar instrument = core_1.Util.instrument;\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserTransport = void 0;\nvar core_1 = require(\"@honeybadger-io/core\");\nvar sanitize = core_1.Util.sanitize;\nvar BrowserTransport = /** @class */ (function () {\n function BrowserTransport() {\n }\n BrowserTransport.prototype.send = function (options, payload) {\n return new Promise(function (resolve, reject) {\n try {\n var x_1 = new XMLHttpRequest();\n x_1.open(options.method, options.endpoint, options.async);\n if (Object.keys(options.headers || []).length) {\n for (var i in options.headers) {\n if (typeof options.headers[i] !== 'undefined') {\n x_1.setRequestHeader(i, String(options.headers[i]));\n }\n }\n }\n x_1.send(payload ? JSON.stringify(sanitize(payload, options.maxObjectDepth)) : undefined);\n x_1.onload = function () { return resolve({ statusCode: x_1.status, body: x_1.response }); };\n }\n catch (err) {\n reject(err);\n }\n });\n };\n return BrowserTransport;\n}());\nexports.BrowserTransport = BrowserTransport;\n","\"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 __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Types = 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 merge = core_1.Util.merge, filter = core_1.Util.filter, objectIsExtensible = core_1.Util.objectIsExtensible;\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({ async: true, maxErrors: null, projectRoot: window.location.protocol + '//' + window.location.host }, opts), new transport_1.BrowserTransport()) || this;\n /** @internal */\n _this.__errorsSent = 0;\n /** @internal */\n _this.__lastWrapErr = 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) {\n notice.url = document.URL;\n }\n _this.__incrementErrorsCount();\n return true;\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 return new Honeybadger(opts);\n };\n Honeybadger.prototype.checkIn = function (_id) {\n throw new Error('Honeybadger.checkIn() is not supported on the browser');\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 cgiData.HTTP_USER_AGENT = navigator.userAgent;\n if (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 core_2 = require(\"@honeybadger-io/core\");\nObject.defineProperty(exports, \"Types\", { enumerable: true, get: function () { return core_2.Types; } });\nexports.default = 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 ]\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","this","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","throw","return","Symbol","iterator","n","op","TypeError","pop","length","util","isBrowserConfig","formatCGIData","filterUrl","generateStackTrace","endpoint","isErrorObject","makeNotice","sanitize","shallowClone","runBeforeNotifyHandlers","getSourceForBacktrace","makeBacktrace","objectIsExtensible","mergeNotice","merge","stackTraceParser","require$$0","obj1","obj2","shift","backtrace","parse","map","method","number","splice","_err","obj","thing","Error","toString","filterMatch","key","filters","i","toLowerCase","is","type","klass","slice","util$1","notice1","notice2","context","objectIsEmpty","isExtensible","getCauses","notice","cause","causes","class","name","message","getSourceFileHandler","index","trace","fileContent","_a","fileData","sourceRadius","lines","unshift","end","getSourceCodeSnippet","handlers","len","handler","runAfterNotifyHandlers","error","afterNotify","maxDepth","seenObjects","serialize","depth","typeOfObj","test","canSerialize","seen","Array","isArray","safeSerialize","ret","concat","logger","client","log","args","_i","config","debug","info","warn","String","instrument","object","replacement","original","__hb_original","_e","base","path","trim","replace","maxStackSize","curr","callee","RegExp","$1","caller","join","filter","newObj","url","query","forEach","pair","vars","prefix","formattedVars","keys","formattedKey","toUpperCase","clone","JSON","stringify","async","store","GlobalStore","util_1","contents","breadcrumbsLimit","available","getContents","setContext","addBreadcrumb","breadcrumb","breadcrumbs","clear","run","callback","__assign","assign","s","p","Client","store_1","require$$1","notifier","version","TAG_SEPARATOR","NOT_BLANK","opts","transport","__pluginsExecuted","__store","__beforeNotifyHandlers","__afterNotifyHandlers","apiKey","environment","hostname","projectRoot","component","action","revision","reportData","breadcrumbsEnabled","maxBreadcrumbs","maxObjectDepth","console","developmentEnvironments","tags","enableUncaught","enableUnhandledRejection","afterUncaught","__plugins","__initStore","__transport","getVersion","configure","_this","plugin","load","beforeNotify","resetContext","notify","noticeable","extra","preConditionError","__developmentMode","sourceCodeData","beforeNotifyResult","category","metadata","__breadcrumbs","__getSourceFileHandler","sourcePerTrace","source","payload","__buildPayload","send","headers","Accept","res","statusCode","uuid","id","catch","err","notifyAsync","objectToOverride","partialNotice","originalAfterNotify","noticeTags","__constructTags","contextTags","configTags","uniqueTags","item","backtraceShift","timestamp","Date","toISOString","__getBreadcrumbs","__getContext","includes","cgiData","enabled","trail","fingerprint","request","cgi_data","params","session","server","project_root","environment_name","time","toUTCString","details","tag","types","__exportStar","exports","Util","Types","client_1","require$$2","require$$3","stringNameOfElement","element","tagName","stringClassNames","getAttribute","className","attrName","attr","siblings","nodes","parentNode","childNodes","siblings_1","node","getSiblings","func","parseURL","match","protocol","host","pathname","preferCatch","encodeCookie","localURLPathname","stringTextOfElement","stringSelectorOfElement","parentName","text","textContent","innerText","string","substr","truncate","nativeFetch","window","fetch","sandbox","document","createElement","style","display","head","appendChild","contentWindow","removeChild","parsed","parsedDocURL","URL","decodeCookie","cookies","atob","ErrorEvent","colno","onerror","onError","ignoreNextOnError","currentTimeout","core_1","ignoreOnError","clearTimeout","setTimeout","_window","msg","col","onunhandledrejection","default","promiseRejectionEvent","reason","fileName","stackFallback","inspectArray","level","Function","addEventListener","event","selector","target","XMLHttpRequest","xhr","__hb_xhr","onreadystatechangeHandler","readyState","status_code","status","onreadystatechange","input","Request","response","lastHref","location","href","recordUrlChange","history","historyWrapper","from","to","timers","instrumentTimer","wrapOpts","delay","args_1","__wrap","event_listeners","prop","listener","useCapture","wantsUntrusted","handleEvent","BrowserTransport","options","x_1","open","setRequestHeader","onload","extendStatics","__extends","d","b","setPrototypeOf","__proto__","__","constructor","__importDefault","onerror_1","onunhandledrejection_1","breadcrumbs_1","require$$4","timers_1","require$$5","event_listeners_1","require$$6","transport_1","require$$7","Honeybadger","_super","maxErrors","__errorsSent","__lastWrapErr","__exceedsMaxErrors","__incrementErrorsCount","resetMaxErrors","factory","checkIn","_id","cookiesObject","HTTP_USER_AGENT","HTTP_REFERER","HTTP_COOKIE","navigator","userAgent","referrer","___hb","core_2"],"mappings":"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"}
1
+ {"version":3,"file":"honeybadger.min.js","sources":["../../../core/node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","../../../core/build/src/util.js","../../../core/build/src/store.js","../../../core/build/src/client.js","../../../core/build/src/types.js","../../../core/build/src/index.js","../../build/src/browser/util.js","../../build/src/browser/integrations/onerror.js","../../build/src/browser/integrations/onunhandledrejection.js","../../build/src/browser/integrations/breadcrumbs.js","../../build/src/browser/integrations/timers.js","../../build/src/browser/integrations/event_listeners.js","../../build/src/browser/transport.js","../../build/src/browser.js"],"sourcesContent":["var UNKNOWN_FUNCTION = '<unknown>';\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|<anonymous>|\\/|[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.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = exports.instrument = exports.isErrorObject = exports.makeNotice = exports.logger = exports.sanitize = exports.shallowClone = exports.runAfterNotifyHandlers = exports.runBeforeNotifyHandlers = exports.getSourceForBacktrace = exports.getCauses = exports.makeBacktrace = exports.objectIsExtensible = exports.objectIsEmpty = exports.mergeNotice = exports.merge = void 0;\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, shift) {\n if (shift === void 0) { shift = 0; }\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 backtrace.splice(0, shift);\n return backtrace;\n }\n catch (_err) {\n // TODO: log error\n return [];\n }\n}\nexports.makeBacktrace = makeBacktrace;\nfunction getCauses(notice) {\n if (notice.cause) {\n var causes = [];\n var cause = notice;\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) : 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 result = true;\n for (var i = 0, len = handlers.length; i < len; i++) {\n var handler = handlers[i];\n if (handler(notice) === false) {\n result = false;\n }\n }\n return result;\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 var original = object[name];\n while (original && original.__hb_original) {\n original = original.__hb_original;\n }\n try {\n object[name] = replacement(original);\n object[name].__hb_original = original;\n }\n catch (_e) {\n // Ignores errors like this one:\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;\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 || '<anonymous>');\n }\n else {\n stack.push('<anonymous>');\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//# sourceMappingURL=util.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","\"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.Client = void 0;\nvar util_1 = require(\"./util\");\nvar store_1 = require(\"./store\");\nvar notifier = {\n name: 'honeybadger-js',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n};\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.__pluginsExecuted = false;\n this.__store = null;\n this.__beforeNotifyHandlers = [];\n this.__afterNotifyHandlers = [];\n this.config = __assign({ apiKey: null, endpoint: 'https://api.honeybadger.io', environment: null, hostname: null, projectRoot: null, component: null, action: null, revision: null, reportData: null, breadcrumbsEnabled: true, maxBreadcrumbs: 40, maxObjectDepth: 8, logger: console, developmentEnvironments: ['dev', 'development', 'test'], debug: false, tags: null, enableUncaught: true, enableUnhandledRejection: true, afterUncaught: function () { return true; }, filters: ['creditcard', 'password'], __plugins: [] }, opts);\n this.__initStore();\n this.__transport = transport;\n this.logger = (0, util_1.logger)(this);\n }\n Client.prototype.getVersion = function () {\n return notifier.version;\n };\n Client.prototype.configure = function (opts) {\n var _this = this;\n if (opts === void 0) { opts = {}; }\n for (var k in opts) {\n this.config[k] = opts[k];\n }\n if (!this.__pluginsExecuted) {\n this.__pluginsExecuted = true;\n this.config.__plugins.forEach(function (plugin) { return plugin.load(_this); });\n }\n return this;\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 preConditionError = null;\n var notice = this.makeNotice(noticeable, name, extra);\n if (!notice) {\n this.logger.debug('failed to build error report');\n preConditionError = new Error('failed to build error report');\n }\n if (!preConditionError && 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 (!preConditionError && 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 (!preConditionError && !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 // 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 beforeNotifyResult = (0, util_1.runBeforeNotifyHandlers)(notice, this.__beforeNotifyHandlers);\n if (!preConditionError && !beforeNotifyResult) {\n this.logger.debug('skipping error report: beforeNotify handlers returned false', notice);\n preConditionError = new Error('beforeNotify handlers returned false');\n }\n if (preConditionError) {\n (0, util_1.runAfterNotifyHandlers)(notice, this.__afterNotifyHandlers, preConditionError);\n return false;\n }\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 var breadcrumbs = this.__store.getContents('breadcrumbs');\n notice.__breadcrumbs = this.config.breadcrumbsEnabled ? breadcrumbs : [];\n (0, util_1.getSourceForBacktrace)(sourceCodeData, this.__getSourceFileHandler)\n .then(function (sourcePerTrace) {\n sourcePerTrace.forEach(function (source, index) {\n notice.backtrace[index].source = source;\n });\n var payload = _this.__buildPayload(notice);\n _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 async: (0, util_1.isBrowserConfig)(_this.config) ? _this.config.async : undefined,\n }, payload)\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;\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 })\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 });\n });\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 var backtraceShift = 0;\n if (typeof notice.stack !== 'string' || !notice.stack.trim()) {\n notice.stack = (0, util_1.generateStackTrace)();\n backtraceShift = 2;\n }\n notice.backtrace = (0, util_1.makeBacktrace)(notice.stack, backtraceShift);\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 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: 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),\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 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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Util = exports.Types = exports.Client = void 0;\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\"));\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;\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 <html> 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 if (!window.fetch) {\n return false;\n }\n if (isNative(window.fetch)) {\n return true;\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 // 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;\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 = window; }\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;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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;\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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 ['debug', 'info', 'warn', 'error', 'log'].forEach(function (level) {\n instrument(_window.console, level, function (original) {\n return function () {\n var args = Array.prototype.slice.call(arguments);\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 if (typeof original === 'function') {\n Function.prototype.apply.call(original, _window.console, arguments);\n }\n };\n });\n });\n })();\n // Breadcrumbs: instrument click events\n (function () {\n if (!breadcrumbsEnabled('dom')) {\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 }, true);\n })();\n // Breadcrumbs: instrument XMLHttpRequest\n (function () {\n if (!breadcrumbsEnabled('network')) {\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 url = arguments[1];\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 var message = \"\".concat(method, \" \").concat((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 // 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 // https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate\n instrument(_window, 'onpopstate', function (original) {\n return function () {\n recordUrlChange(lastHref, _window.location.href);\n if (original) {\n return original.apply(this, arguments);\n }\n };\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;\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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;\nfunction default_1(_window) {\n if (_window === void 0) { _window = window; }\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\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserTransport = void 0;\nvar core_1 = require(\"@honeybadger-io/core\");\nvar sanitize = core_1.Util.sanitize;\nvar BrowserTransport = /** @class */ (function () {\n function BrowserTransport() {\n }\n BrowserTransport.prototype.send = function (options, payload) {\n return new Promise(function (resolve, reject) {\n try {\n var x_1 = new XMLHttpRequest();\n x_1.open(options.method, options.endpoint, options.async);\n if (Object.keys(options.headers || []).length) {\n for (var i in options.headers) {\n if (typeof options.headers[i] !== 'undefined') {\n x_1.setRequestHeader(i, String(options.headers[i]));\n }\n }\n }\n x_1.send(payload ? JSON.stringify(sanitize(payload, options.maxObjectDepth)) : undefined);\n x_1.onload = function () { return resolve({ statusCode: x_1.status, body: x_1.response }); };\n }\n catch (err) {\n reject(err);\n }\n });\n };\n return BrowserTransport;\n}());\nexports.BrowserTransport = BrowserTransport;\n//# sourceMappingURL=transport.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 __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Types = 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 merge = core_1.Util.merge, filter = core_1.Util.filter, objectIsExtensible = core_1.Util.objectIsExtensible;\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({ async: true, maxErrors: null, projectRoot: window.location.protocol + '//' + window.location.host }, opts), new transport_1.BrowserTransport()) || this;\n /** @internal */\n _this.__errorsSent = 0;\n /** @internal */\n _this.__lastWrapErr = 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) {\n notice.url = document.URL;\n }\n _this.__incrementErrorsCount();\n return true;\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 return new Honeybadger(opts);\n };\n Honeybadger.prototype.checkIn = function (_id) {\n throw new Error('Honeybadger.checkIn() is not supported on the browser');\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 cgiData.HTTP_USER_AGENT = navigator.userAgent;\n if (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 core_2 = require(\"@honeybadger-io/core\");\nObject.defineProperty(exports, \"Types\", { enumerable: true, get: function () { return core_2.Types; } });\nexports.default = 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 ]\n});\n//# sourceMappingURL=browser.js.map"],"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","this","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","throw","return","Symbol","iterator","n","op","TypeError","pop","length","util","isBrowserConfig","formatCGIData","filterUrl","generateStackTrace","endpoint","isErrorObject","makeNotice","sanitize","shallowClone","runBeforeNotifyHandlers","getSourceForBacktrace","makeBacktrace","objectIsExtensible","mergeNotice","merge","stackTraceParser","require$$0","obj1","obj2","shift","backtrace","parse","map","method","number","splice","_err","obj","thing","Error","toString","filterMatch","key","filters","i","toLowerCase","is","type","klass","slice","util$1","notice1","notice2","context","objectIsEmpty","isExtensible","getCauses","notice","cause","causes","class","name","message","getSourceFileHandler","index","trace","fileContent","_a","fileData","sourceRadius","lines","unshift","end","getSourceCodeSnippet","handlers","len","handler","runAfterNotifyHandlers","error","afterNotify","maxDepth","seenObjects","serialize","depth","typeOfObj","test","canSerialize","seen","Array","isArray","safeSerialize","ret","concat","logger","client","log","args","_i","config","debug","info","warn","String","instrument","object","replacement","original","__hb_original","_e","base","path","trim","replace","maxStackSize","curr","callee","RegExp","$1","caller","join","filter","newObj","url","query","forEach","pair","vars","prefix","formattedVars","keys","formattedKey","toUpperCase","clone","JSON","stringify","async","store","GlobalStore","util_1","contents","breadcrumbsLimit","available","getContents","setContext","addBreadcrumb","breadcrumb","breadcrumbs","clear","run","callback","__assign","assign","s","p","Client","store_1","require$$1","notifier","version","TAG_SEPARATOR","NOT_BLANK","opts","transport","__pluginsExecuted","__store","__beforeNotifyHandlers","__afterNotifyHandlers","apiKey","environment","hostname","projectRoot","component","action","revision","reportData","breadcrumbsEnabled","maxBreadcrumbs","maxObjectDepth","console","developmentEnvironments","tags","enableUncaught","enableUnhandledRejection","afterUncaught","__plugins","__initStore","__transport","getVersion","configure","_this","plugin","load","beforeNotify","resetContext","notify","noticeable","extra","preConditionError","__developmentMode","sourceCodeData","beforeNotifyResult","category","metadata","__breadcrumbs","__getSourceFileHandler","sourcePerTrace","source","payload","__buildPayload","send","headers","Accept","res","statusCode","uuid","id","catch","err","notifyAsync","objectToOverride","partialNotice","originalAfterNotify","noticeTags","__constructTags","contextTags","configTags","uniqueTags","item","backtraceShift","timestamp","Date","toISOString","__getBreadcrumbs","__getContext","includes","cgiData","enabled","trail","fingerprint","request","cgi_data","params","session","server","project_root","environment_name","time","toUTCString","details","tag","types","__exportStar","exports","Util","Types","client_1","require$$2","require$$3","stringNameOfElement","element","tagName","stringClassNames","getAttribute","className","attrName","attr","siblings","nodes","parentNode","childNodes","siblings_1","node","getSiblings","func","parseURL","match","protocol","host","pathname","preferCatch","encodeCookie","localURLPathname","stringTextOfElement","stringSelectorOfElement","parentName","text","textContent","innerText","string","substr","truncate","nativeFetch","window","fetch","sandbox","document","createElement","style","display","head","appendChild","contentWindow","removeChild","parsed","parsedDocURL","URL","decodeCookie","cookies","atob","ErrorEvent","colno","onerror","onError","ignoreNextOnError","currentTimeout","core_1","ignoreOnError","clearTimeout","setTimeout","_window","msg","col","onunhandledrejection","default","promiseRejectionEvent","reason","fileName","stackFallback","inspectArray","level","Function","addEventListener","event","selector","target","XMLHttpRequest","xhr","__hb_xhr","onreadystatechangeHandler","readyState","status_code","status","onreadystatechange","input","Request","response","lastHref","location","href","recordUrlChange","history","historyWrapper","from","to","timers","instrumentTimer","wrapOpts","delay","args_1","__wrap","event_listeners","prop","listener","useCapture","wantsUntrusted","handleEvent","BrowserTransport","options","x_1","open","setRequestHeader","onload","extendStatics","__extends","d","b","setPrototypeOf","__proto__","__","constructor","__importDefault","onerror_1","onunhandledrejection_1","breadcrumbs_1","require$$4","timers_1","require$$5","event_listeners_1","require$$6","transport_1","require$$7","Honeybadger","_super","maxErrors","__errorsSent","__lastWrapErr","__exceedsMaxErrors","__incrementErrorsCount","resetMaxErrors","factory","checkIn","_id","cookiesObject","HTTP_USER_AGENT","HTTP_REFERER","HTTP_COOKIE","navigator","userAgent","referrer","___hb","core_2"],"mappings":"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"}