@honeybadger-io/js 4.0.3 → 4.1.0
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.
- package/README.md +13 -64
- package/dist/browser/honeybadger.d.ts +6 -6
- package/dist/browser/honeybadger.js +1791 -1694
- package/dist/browser/honeybadger.js.map +1 -1
- package/dist/browser/honeybadger.min.js +1 -1
- package/dist/browser/honeybadger.min.js.map +1 -1
- package/dist/browser/integrations/breadcrumbs.d.ts +3 -0
- package/dist/browser/integrations/event_listeners.d.ts +3 -0
- package/dist/browser/integrations/onerror.d.ts +4 -0
- package/dist/browser/integrations/onunhandledrejection.d.ts +3 -0
- package/dist/browser/integrations/timers.d.ts +3 -0
- package/dist/browser/transport.d.ts +8 -0
- package/dist/browser/{types/browser/util.d.ts → util.d.ts} +1 -0
- package/dist/server/async_store.d.ts +6 -0
- package/dist/server/{types/server/aws_lambda.d.ts → aws_lambda.d.ts} +1 -1
- package/dist/server/honeybadger.d.ts +8 -8
- package/dist/server/honeybadger.js +644 -504
- package/dist/server/integrations/uncaught_exception.d.ts +3 -0
- package/dist/server/integrations/unhandled_rejection.d.ts +3 -0
- package/dist/server/middleware.d.ts +5 -0
- package/dist/server/transport.d.ts +10 -0
- package/dist/server/{types/server/util.d.ts → util.d.ts} +3 -2
- package/honeybadger.d.ts +2 -2
- package/package.json +28 -40
- package/dist/browser/types/browser/integrations/breadcrumbs.d.ts +0 -2
- package/dist/browser/types/browser/integrations/event_listeners.d.ts +0 -2
- package/dist/browser/types/browser/integrations/onerror.d.ts +0 -3
- package/dist/browser/types/browser/integrations/onunhandledrejection.d.ts +0 -2
- package/dist/browser/types/browser/integrations/timers.d.ts +0 -2
- package/dist/browser/types/browser/transport.d.ts +0 -7
- package/dist/browser/types/browser.d.ts +0 -12
- package/dist/browser/types/core/client.d.ts +0 -37
- package/dist/browser/types/core/store.d.ts +0 -7
- package/dist/browser/types/core/types.d.ts +0 -160
- package/dist/browser/types/core/util.d.ts +0 -32
- package/dist/browser/types/server/async_store.d.ts +0 -5
- package/dist/browser/types/server/aws_lambda.d.ts +0 -10
- package/dist/browser/types/server/integrations/uncaught_exception.d.ts +0 -2
- package/dist/browser/types/server/integrations/unhandled_rejection.d.ts +0 -2
- package/dist/browser/types/server/middleware.d.ts +0 -4
- package/dist/browser/types/server/transport.d.ts +0 -9
- package/dist/browser/types/server/util.d.ts +0 -9
- package/dist/browser/types/server.d.ts +0 -17
- package/dist/server/types/browser/integrations/breadcrumbs.d.ts +0 -2
- package/dist/server/types/browser/integrations/event_listeners.d.ts +0 -2
- package/dist/server/types/browser/integrations/onerror.d.ts +0 -3
- package/dist/server/types/browser/integrations/onunhandledrejection.d.ts +0 -2
- package/dist/server/types/browser/integrations/timers.d.ts +0 -2
- package/dist/server/types/browser/transport.d.ts +0 -7
- package/dist/server/types/browser/util.d.ts +0 -18
- package/dist/server/types/browser.d.ts +0 -12
- package/dist/server/types/core/client.d.ts +0 -37
- package/dist/server/types/core/store.d.ts +0 -7
- package/dist/server/types/core/types.d.ts +0 -160
- package/dist/server/types/core/util.d.ts +0 -32
- package/dist/server/types/server/async_store.d.ts +0 -5
- package/dist/server/types/server/integrations/uncaught_exception.d.ts +0 -2
- package/dist/server/types/server/integrations/unhandled_rejection.d.ts +0 -2
- package/dist/server/types/server/middleware.d.ts +0 -4
- package/dist/server/types/server/transport.d.ts +0 -9
- package/dist/server/types/server.d.ts +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"honeybadger.js","sources":["../../node_modules/tslib/tslib.es6.js","../../node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","../../src/core/util.ts","../../src/core/store.ts","../../src/core/client.ts","../../src/browser/util.ts","../../src/browser/integrations/onerror.ts","../../src/browser/integrations/onunhandledrejection.ts","../../src/browser/integrations/breadcrumbs.ts","../../src/browser/integrations/timers.ts","../../src/browser/integrations/event_listeners.ts","../../src/browser/transport.ts","../../src/browser.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","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","import * as stackTraceParser from 'stacktrace-parser'\nimport Client from '../core/client'\nimport {\n Logger, BacktraceFrame, Notice, Noticeable, BeforeNotifyHandler, AfterNotifyHandler, Config, BrowserConfig\n} from './types'\n\nexport function merge<T1 extends Record<string, unknown>, T2 extends Record<string, unknown>>(obj1: T1, obj2: T2): T1 & T2 {\n const result = {} as Record<keyof T1 | keyof T2, unknown>\n for (const k in obj1) {\n result[k] = obj1[k]\n }\n for (const k in obj2) {\n result[k] = obj2[k]\n }\n return result as T1 & T2\n}\n\nexport function mergeNotice(notice1: Partial<Notice>, notice2: Partial<Notice>): Partial<Notice> {\n const result = merge(notice1, notice2)\n if (notice1.context && notice2.context) {\n result.context = merge(notice1.context, notice2.context)\n }\n return result\n}\n\nexport function objectIsEmpty(obj): boolean {\n for (const k in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, k)) {\n return false\n }\n }\n return true\n}\n\nexport function objectIsExtensible(obj): boolean {\n if (typeof Object.isExtensible !== 'function') {\n return true\n }\n return Object.isExtensible(obj)\n}\n\nexport function makeBacktrace(stack: string, shift = 0): BacktraceFrame[] {\n try {\n const backtrace = stackTraceParser\n .parse(stack)\n .map(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 } catch (_err) {\n // TODO: log error\n return []\n }\n}\n\nexport async function getSourceForBacktrace(backtrace: BacktraceFrame[],\n getSourceFileHandler: (path: string) => Promise<string>): Promise<Record<string, string>[]> {\n\n const result: Record<string, string>[] = []\n if (!getSourceFileHandler || !backtrace || !backtrace.length) {\n return result\n }\n\n let index = 0\n while (backtrace.length) {\n const trace = backtrace.splice(0)[index]\n\n const fileContent = await getSourceFileHandler(trace.file)\n result[index] = getSourceCodeSnippet(fileContent, trace.number)\n index++\n }\n return result\n}\n\nexport function runBeforeNotifyHandlers(notice: Notice | null, handlers: BeforeNotifyHandler[]): boolean {\n let result = true\n for (let i = 0, len = handlers.length; i < len; i++) {\n const handler = handlers[i]\n if (handler(notice) === false) {\n result = false\n }\n }\n return result\n}\n\nexport function runAfterNotifyHandlers(notice: Notice | null, handlers: AfterNotifyHandler[], error?: Error): boolean {\n if (notice && notice.afterNotify) {\n notice.afterNotify(error, notice)\n }\n\n for (let i = 0, len = handlers.length; i < len; i++) {\n handlers[i](error, notice)\n }\n return true\n}\n\n// Returns a new object with properties from other object.\nexport function shallowClone<T>(obj: T): T | Record<string, unknown> {\n if (typeof (obj) !== 'object' || obj === null) {\n return {}\n }\n const result = {} as T\n for (const k in obj) {\n result[k] = obj[k]\n }\n return result\n}\n\nexport function sanitize(obj, maxDepth = 8) {\n const seenObjects = []\n\n function seen(obj) {\n if (!obj || typeof (obj) !== 'object') {\n return false\n }\n for (let i = 0; i < seenObjects.length; i++) {\n const value = seenObjects[i]\n if (value === obj) {\n return true\n }\n }\n seenObjects.push(obj)\n return false\n }\n\n function canSerialize(obj) {\n const typeOfObj = typeof obj\n\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\n // Symbols can't convert to strings.\n if (/symbol/.test(typeOfObj)) {\n return false\n }\n\n if (obj === null) {\n return false\n }\n\n // No prototype, likely created with `Object.create(null)`.\n if (typeof obj === 'object' && typeof obj.hasOwnProperty === 'undefined') {\n return false\n }\n\n return true\n }\n\n function serialize(obj: unknown, depth = 0) {\n if (depth >= maxDepth) {\n return '[DEPTH]'\n }\n\n // Inspect invalid types\n if (!canSerialize(obj)) {\n return Object.prototype.toString.call(obj)\n }\n\n // Halt circular references\n if (seen(obj)) {\n return '[RECURSION]'\n }\n\n // Serialize inside arrays\n if (Array.isArray(obj)) {\n return obj.map(o => safeSerialize(o, depth + 1))\n }\n\n // Serialize inside objects\n if (typeof (obj) === 'object') {\n const ret = {}\n for (const k in obj) {\n const 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\n // Return everything else untouched\n return obj\n }\n\n function safeSerialize(obj: unknown, depth = 0) {\n try {\n return serialize(obj, depth)\n } catch(e) {\n return `[ERROR] ${e}`\n }\n }\n\n return safeSerialize(obj)\n}\n\nexport function logger(client: Client): Logger {\n const log = (method: string) => {\n return function (...args: unknown[]) {\n if (method === 'debug') {\n if (!client.config.debug) { return }\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 client.config.logger[method](...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}\n\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 */\nexport function makeNotice(thing: Noticeable): Partial<Notice> {\n let notice\n\n if (!thing) {\n notice = {}\n } else if (thing instanceof Error || Object.prototype.toString.call(thing) === '[object Error]') {\n const e = thing as Error\n notice = merge(thing as Record<string, unknown>, { name: e.name, message: e.message, stack: e.stack })\n } else if (typeof thing === 'object') {\n notice = shallowClone(thing)\n } else {\n const m = String(thing)\n notice = { message: m }\n }\n\n return notice\n}\n\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\nexport function instrument(object: Record<string, any>, name: string, replacement: (unknown) => void): void {\n if (!object || !name || !replacement || !(name in object)) {\n return\n }\n\n let original = object[name]\n while (original && original.__hb_original) {\n original = original.__hb_original\n }\n\n try {\n object[name] = replacement(original)\n object[name].__hb_original = original\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}\n\nexport function endpoint(base: string, path: string): string {\n const endpoint = base.trim().replace(/\\/$/, '')\n path = path.trim().replace(/(^\\/|\\/$)/g, '')\n return `${endpoint}/${path}`;\n}\n\nexport function generateStackTrace(): string {\n try {\n throw new Error('')\n } catch (e) {\n if (e.stack) {\n return e.stack\n }\n }\n\n const maxStackSize = 10\n const stack = []\n let 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 } else {\n stack.push('<anonymous>')\n }\n try {\n curr = curr.caller\n } catch (e) {\n break\n }\n }\n\n return stack.join('\\n')\n}\n\nexport function filter(obj: Record<string, unknown>, filters: string[]): Record<string, unknown> {\n if (!is('Object', obj)) {\n return\n }\n\n if (!is('Array', filters)) {\n filters = []\n }\n\n const seen = []\n\n function filter(obj) {\n let k: string, newObj: Record<string, unknown>\n\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\n if (is('Object', obj)) {\n newObj = {}\n for (k in obj) {\n if (filterMatch(k, filters)) {\n newObj[k] = '[FILTERED]'\n } else {\n newObj[k] = filter(obj[k])\n }\n }\n return newObj\n }\n\n if (is('Array', obj)) {\n return obj.map(function (v) {\n return filter(v)\n })\n }\n\n if (is('Function', obj)) {\n return '[FUNC]'\n }\n\n return obj\n }\n\n return filter(obj)\n}\n\nfunction filterMatch(key: string, filters: string[]): boolean {\n for (let i = 0; i < filters.length; i++) {\n if (key.toLowerCase().indexOf(filters[i].toLowerCase()) !== -1) {\n return true\n }\n }\n return false\n}\n\nfunction is(type: string, obj: unknown): boolean {\n const klass = Object.prototype.toString.call(obj).slice(8, -1)\n return obj !== undefined && obj !== null && klass === type\n}\n\nexport function filterUrl(url: string, filters: string[]): string {\n if (!filters) {\n return url\n }\n if (typeof url !== 'string') {\n return url\n }\n\n const query = url.split(/\\?/, 2)[1]\n if (!query) {\n return url\n }\n\n let result = url\n query.split(/[&]\\s?/).forEach((pair) => {\n const [key, value] = pair.split('=', 2)\n if (filterMatch(key, filters)) {\n result = result.replace(`${key}=${value}`, `${key}=[FILTERED]`)\n }\n })\n\n return result\n}\n\nexport function formatCGIData(vars: Record<string, unknown>, prefix = ''): Record<string, unknown> {\n const formattedVars = {}\n\n Object.keys(vars).forEach(function (key) {\n const formattedKey = prefix + key.replace(/\\W/g, '_').toUpperCase()\n formattedVars[formattedKey] = vars[key]\n })\n\n return formattedVars\n}\n\nexport function clone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction getSourceCodeSnippet(fileData: string, lineNumber: number, sourceRadius = 2): Record<string, string> {\n if (!fileData) {\n return null\n }\n const 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 const start = lineNumber - sourceRadius\n const end = lineNumber + sourceRadius\n const result = {}\n for (let i = start; i <= end; i++) {\n const line = lines[i]\n if (typeof line === 'string') {\n result[i] = line\n }\n }\n return result\n}\n\nexport function isBrowserConfig(config: BrowserConfig | Config): config is BrowserConfig {\n return (config as BrowserConfig).async !== undefined\n}\n","import { HoneybadgerStore } from './types';\n\nexport class GlobalStore<T> implements HoneybadgerStore<T> {\n private store: T\n\n constructor(store: T) {\n this.store = store;\n }\n\n getStore(): T {\n return this.store\n }\n\n run<R, TArgs extends never[]>(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R {\n this.store = store;\n return callback(...args);\n }\n}","import {\n merge,\n mergeNotice,\n objectIsEmpty,\n makeNotice,\n makeBacktrace,\n runBeforeNotifyHandlers,\n shallowClone,\n logger,\n generateStackTrace,\n filter,\n filterUrl,\n formatCGIData,\n getSourceForBacktrace,\n runAfterNotifyHandlers, endpoint, isBrowserConfig\n} from './util'\nimport {\n Config,\n Logger,\n BeforeNotifyHandler,\n AfterNotifyHandler,\n Notice,\n Noticeable,\n HoneybadgerStore,\n BacktraceFrame,\n BreadcrumbRecord,\n DefaultStoreContents, Transport, NoticeTransportPayload\n} from './types'\nimport { GlobalStore } from './store';\n\nconst notifier = {\n name: 'honeybadger-js',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n}\n\n// Split at commas and spaces\nconst TAG_SEPARATOR = /,|\\s+/\n\n// Checks for non-blank characters\nconst NOT_BLANK = /\\S/\n\nexport default abstract class Client {\n protected __pluginsExecuted = false\n\n protected __store: HoneybadgerStore<{ context: Record<string, unknown>; breadcrumbs: BreadcrumbRecord[] }> = null;\n protected __beforeNotifyHandlers: BeforeNotifyHandler[] = []\n protected __afterNotifyHandlers: AfterNotifyHandler[] = []\n protected __getSourceFileHandler: (path: string) => Promise<string>\n\n protected readonly __transport: Transport;\n\n config: Config\n logger: Logger\n\n protected constructor(opts: Partial<Config> = {}, transport: Transport) {\n this.config = {\n apiKey: null,\n endpoint: 'https://api.honeybadger.io',\n environment: null,\n hostname: null,\n projectRoot: null,\n component: null,\n action: null,\n revision: null,\n reportData: null,\n breadcrumbsEnabled: true,\n maxBreadcrumbs: 40,\n maxObjectDepth: 8,\n logger: console,\n developmentEnvironments: ['dev', 'development', 'test'],\n debug: false,\n tags: null,\n enableUncaught: true,\n enableUnhandledRejection: true,\n afterUncaught: () => true,\n filters: ['creditcard', 'password'],\n __plugins: [],\n\n ...opts,\n }\n\n // First, we go with the global (shared) store.\n // Webserver middleware can then switch to the AsyncStore for async context tracking.\n this.__store = new GlobalStore({ context: {}, breadcrumbs: [] })\n this.__transport = transport\n this.logger = logger(this)\n }\n\n protected abstract factory(opts: Partial<Config>): this\n\n protected abstract checkIn(id: string): Promise<void>\n\n getVersion(): string {\n return notifier.version\n }\n\n configure(opts: Partial<Config> = {}): this {\n for (const k in opts) {\n this.config[k] = opts[k]\n }\n if (!this.__pluginsExecuted) {\n this.__pluginsExecuted = true\n this.config.__plugins.forEach((plugin) => plugin.load(this))\n }\n\n return this\n }\n\n /** @internal */\n __setStore(store: HoneybadgerStore<{ context: Record<string, unknown>; breadcrumbs: BreadcrumbRecord[] }>) {\n this.__store = store\n }\n\n beforeNotify(handler: BeforeNotifyHandler): Client {\n this.__beforeNotifyHandlers.push(handler)\n return this\n }\n\n afterNotify(handler: AfterNotifyHandler): Client {\n this.__afterNotifyHandlers.push(handler)\n return this\n }\n\n setContext(context: Record<string, unknown>): Client {\n if (typeof context === 'object') {\n const store = this.__store.getStore()\n store.context = merge(store.context, context)\n }\n return this\n }\n\n resetContext(context?: Record<string, unknown>): Client {\n this.logger.warn('Deprecation warning: `Honeybadger.resetContext()` has been deprecated; please use `Honeybadger.clear()` instead.')\n const store = this.__store.getStore()\n\n if (typeof context === 'object' && context !== null) {\n store.context = context\n }\n else {\n store.context = {}\n }\n\n return this\n }\n\n clear(): Client {\n const store = this.__store.getStore()\n store.context = {}\n store.breadcrumbs = []\n\n return this\n }\n\n notify(noticeable: Noticeable, name: string | Partial<Notice> = undefined, extra: Partial<Notice> = undefined): boolean {\n let preConditionError: Error = null\n const 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\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\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\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 const sourceCodeData = notice && notice.backtrace ? notice.backtrace.map(trace => shallowClone(trace) as BacktraceFrame) : null\n const beforeNotifyResult = 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\n if (preConditionError) {\n runAfterNotifyHandlers(notice, this.__afterNotifyHandlers, preConditionError)\n return false\n }\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\n const breadcrumbs = this.__getStoreContentsOrDefault().breadcrumbs\n notice.__breadcrumbs = this.config.breadcrumbsEnabled ? breadcrumbs.slice() : []\n\n getSourceForBacktrace(sourceCodeData, this.__getSourceFileHandler)\n .then(sourcePerTrace => {\n sourcePerTrace.forEach((source, index) => {\n notice.backtrace[index].source = source\n })\n\n const 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: endpoint(this.config.endpoint, '/v1/notices/js'),\n maxObjectDepth: this.config.maxObjectDepth,\n logger: this.logger,\n async: isBrowserConfig(this.config) ? this.config.async : undefined,\n }, payload)\n .then(res => {\n if (res.statusCode !== 201) {\n runAfterNotifyHandlers(notice, this.__afterNotifyHandlers, new Error(`Bad HTTP response: ${res.statusCode}`))\n this.logger.warn(`Error report failed: unknown response from server. code=${res.statusCode}`)\n return\n }\n const uuid = JSON.parse(res.body).id\n runAfterNotifyHandlers(merge(notice, {\n id: uuid\n }), this.__afterNotifyHandlers)\n this.logger.info(`Error report sent ⚡ https://app.honeybadger.io/notice/${uuid}`)\n })\n .catch(err => {\n this.logger.error('Error report failed: an unknown error occurred.', `message=${err.message}`)\n runAfterNotifyHandlers(notice, this.__afterNotifyHandlers, err)\n })\n })\n\n return true\n }\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 notifyAsync(noticeable: Noticeable, name: string | Partial<Notice> = undefined, extra: Partial<Notice> = undefined): Promise<void> {\n return new Promise((resolve, reject) => {\n const applyAfterNotify = (partialNotice: Partial<Notice>) => {\n const originalAfterNotify = partialNotice.afterNotify\n partialNotice.afterNotify = (err?: Error) => {\n originalAfterNotify?.call(this, err)\n if (err) {\n return reject(err)\n }\n resolve()\n }\n }\n\n // We have to respect any afterNotify hooks that come from the arguments\n let objectToOverride: Partial<Notice>\n if ((noticeable as Partial<Notice>).afterNotify) {\n objectToOverride = noticeable as Partial<Notice>\n }\n else if (name && (name as Partial<Notice>).afterNotify) {\n objectToOverride = name as Partial<Notice>\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\n applyAfterNotify(objectToOverride)\n this.notify(noticeable, name, extra)\n })\n }\n\n protected makeNotice(noticeable: Noticeable, name: string | Partial<Notice> = undefined, extra: Partial<Notice> = undefined): Notice | null {\n let notice = makeNotice(noticeable)\n\n if (name && !(typeof name === 'object')) {\n const n = String(name)\n name = { name: n }\n }\n\n if (name) {\n notice = mergeNotice(notice, name as Partial<Notice>)\n }\n if (typeof extra === 'object' && extra !== null) {\n notice = mergeNotice(notice, extra)\n }\n\n if (objectIsEmpty(notice)) {\n return null\n }\n\n const context = this.__getStoreContentsOrDefault().context\n const noticeTags = this.__constructTags(notice.tags)\n const contextTags = this.__constructTags(context['tags'])\n const configTags = this.__constructTags(this.config.tags)\n\n // Turning into a Set will remove duplicates\n const tags = noticeTags.concat(contextTags).concat(configTags)\n const uniqueTags = tags.filter((item, index) => tags.indexOf(item) === index)\n\n notice = merge(notice, {\n name: notice.name || 'Error',\n context: 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\n let backtraceShift = 0\n if (typeof notice.stack !== 'string' || !notice.stack.trim()) {\n notice.stack = generateStackTrace()\n backtraceShift = 2\n }\n\n notice.backtrace = makeBacktrace(notice.stack, backtraceShift)\n\n return notice as Notice\n }\n\n addBreadcrumb(message: string, opts?: Record<string, unknown>): Client {\n if (!this.config.breadcrumbsEnabled) {\n return\n }\n\n opts = opts || {}\n\n const metadata = shallowClone(opts.metadata)\n const category = opts.category || 'custom'\n const timestamp = new Date().toISOString()\n\n const store = this.__store.getStore()\n let breadcrumbs = store.breadcrumbs\n breadcrumbs.push({\n category: category as string,\n message: message,\n metadata: metadata as Record<string, unknown>,\n timestamp: timestamp\n })\n\n const limit = this.config.maxBreadcrumbs\n if (breadcrumbs.length > limit) {\n breadcrumbs = breadcrumbs.slice(breadcrumbs.length - limit)\n }\n store.breadcrumbs = breadcrumbs\n\n return this\n }\n\n protected __developmentMode(): boolean {\n if (this.config.reportData === true) { return false }\n return (this.config.environment && this.config.developmentEnvironments.includes(this.config.environment))\n }\n\n protected __buildPayload(notice: Notice): NoticeTransportPayload {\n const headers = filter(notice.headers, this.config.filters) || {}\n const cgiData = filter({\n ...notice.cgiData,\n ...formatCGIData(headers, 'HTTP_')\n }, this.config.filters)\n\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 },\n request: {\n url: filterUrl(notice.url, this.config.filters),\n component: notice.component,\n action: notice.action,\n context: notice.context,\n cgi_data: cgiData,\n params: filter(notice.params, this.config.filters) || {},\n session: 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\n protected __constructTags(tags: unknown): Array<string> {\n if (!tags) {\n return []\n }\n\n return tags.toString().split(TAG_SEPARATOR).filter((tag) => NOT_BLANK.test(tag))\n }\n\n /**\n * For ALS, the store may be uninitialized (if .run()` has not been called).\n * This provides an easy way to read the existing store object or fall back to a default.\n * Returns *a copy* of the store contents.\n * @internal\n */\n protected __getStoreContentsOrDefault(): DefaultStoreContents {\n const existingStoreContents = this.__store.getStore();\n const storeContents = existingStoreContents || {};\n return {\n context: {},\n breadcrumbs: [],\n ...storeContents\n };\n }\n}\n","/**\n * Converts an HTMLElement into a human-readable string.\n * @param {!HTMLElement} element\n * @return {string}\n */\nexport function stringNameOfElement(element: HTMLElement): string {\n if (!element || !element.tagName) { return '' }\n\n let name = element.tagName.toLowerCase()\n\n // Ignore the root <html> element in selectors and events.\n if (name === 'html') { return '' }\n\n if (element.id) {\n name += `#${element.id}`\n }\n\n const stringClassNames = element.getAttribute('class')\n if (stringClassNames) {\n stringClassNames.split(/\\s+/).forEach(className => {\n name += `.${className}`\n })\n }\n\n ['alt', 'name', 'title', 'type'].forEach(attrName => {\n const attr = element.getAttribute(attrName)\n if (attr) {\n name += `[${attrName}=\"${attr}\"]`\n }\n })\n\n const siblings = getSiblings(element)\n if (siblings.length > 1) {\n name += `:nth-child(${Array.prototype.indexOf.call(siblings, element) + 1})`\n }\n\n return name\n}\n\nexport function stringSelectorOfElement(element) {\n const name = stringNameOfElement(element)\n\n if (element.parentNode && element.parentNode.tagName) {\n const parentName = stringSelectorOfElement(element.parentNode)\n if (parentName.length > 0) {\n return `${parentName} > ${name}`\n }\n }\n\n return name\n}\n\nexport function stringTextOfElement(element) {\n let text = element.textContent || element.innerText || ''\n if (!text && (element.type === 'submit' || element.type === 'button')) { text = element.value }\n return truncate(text.trim(), 300)\n}\n\nexport function nativeFetch() {\n if (!window.fetch) { return false }\n if (isNative(window.fetch)) { 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 const sandbox = document.createElement('iframe')\n sandbox.style.display = 'none'\n document.head.appendChild(sandbox)\n const result = sandbox.contentWindow.fetch && isNative(sandbox.contentWindow.fetch)\n document.head.removeChild(sandbox)\n return result\n } catch (err) {\n if (console && console.warn) {\n console.warn('failed to detect native fetch via iframe: ' + err)\n }\n }\n\n return false\n}\n\nfunction isNative(func) {\n return func.toString().indexOf('native') !== -1\n}\n\nexport function parseURL(url) {\n // Regexp: https://tools.ietf.org/html/rfc3986#appendix-B\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/) || {}\n\n return {\n protocol: match[2],\n host: match[4],\n pathname: match[5]\n }\n}\n\nexport function localURLPathname(url) {\n const parsed = parseURL(url)\n const parsedDocURL = parseURL(document.URL)\n\n // URL must be relative\n if (!parsed.host || !parsed.protocol) { return parsed.pathname }\n\n // Same domain\n if (parsed.protocol === parsedDocURL.protocol && parsed.host === parsedDocURL.host) {\n return parsed.pathname\n }\n\n // x-domain\n return `${parsed.protocol}://${parsed.host}${parsed.pathname}`\n}\n\nexport function decodeCookie(string:string): Record<string, unknown> {\n const result = {}\n string.split(/[;,]\\s?/).forEach((pair) => {\n const [key, value] = pair.split('=', 2)\n result[key] = value\n })\n\n return result\n}\n\nexport function encodeCookie(object) {\n if (typeof object !== 'object') {\n return undefined\n }\n\n const cookies = []\n for (const k in object) {\n cookies.push(k + '=' + object[k])\n }\n\n return cookies.join(';')\n}\n\n// Helpers\n\nfunction getSiblings(element) {\n try {\n const nodes = element.parentNode.childNodes\n const siblings = []\n\n Array.prototype.forEach.call(nodes, node => {\n if (node.tagName && node.tagName === element.tagName) {\n siblings.push(node)\n }\n })\n\n return siblings\n } catch (e) {\n return []\n }\n}\n\nfunction truncate(string, length) {\n if (string.length > length) {\n string = string.substr(0, length) + '...'\n }\n return string\n}\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.\nexport const preferCatch = (function() {\n let preferCatch = true\n // IE < 10\n if (!window.atob) { preferCatch = false }\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 } catch (_e) { }\n }\n return preferCatch\n})()\n","/* eslint-disable prefer-rest-params */\nimport { makeNotice, instrument } from '../../../src/core/util'\nimport { Plugin } from '../../core/types'\nimport Client from '../../browser'\n\nlet ignoreOnError = 0\nlet currentTimeout\n\nexport function ignoreNextOnError(): void {\n ignoreOnError += 1\n clearTimeout(currentTimeout)\n currentTimeout = setTimeout(() => {\n ignoreOnError = 0\n })\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function onError(_window: any = window): Plugin {\n return {\n load: (client: typeof Client) => {\n instrument(_window, 'onerror', function (original) {\n const onerror = function (msg, url, line, col, err) {\n client.logger.debug('window.onerror callback invoked', arguments)\n\n if (ignoreOnError > 0) {\n client.logger.debug('Ignoring window.onerror (error likely reported earlier)', arguments)\n ignoreOnError -= 1\n return\n }\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\n const notice = makeNotice(err)\n if (!notice.name) { notice.name = 'window.onerror' }\n if (!notice.message) { notice.message = msg }\n if (!notice.stack) {\n // Simulate v8 stack\n notice.stack = [notice.message, '\\n at ? (', url || 'unknown', ':', line || 0, ':', col || 0, ')'].join('')\n }\n\n client.addBreadcrumb(\n (notice.name === 'window.onerror' || !notice.name) ? 'window.onerror' : `window.onerror: ${notice.name}`,\n {\n category: 'error',\n metadata: {\n name: notice.name,\n message: notice.message,\n stack: notice.stack\n }\n }\n )\n\n if (client.config.enableUncaught) {\n client.notify(notice)\n }\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}\n","/* eslint-disable prefer-rest-params */\nimport { instrument } from '../../core/util'\nimport { Plugin } from '../../core/types'\nimport Client from '../../browser'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default function (_window: any = window): Plugin {\n return {\n load: (client: typeof Client) => {\n if (!client.config.enableUnhandledRejection) { 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 client.logger.debug('window.onunhandledrejection callback invoked', arguments)\n\n if (!client.config.enableUnhandledRejection) { return }\n\n const { reason } = promiseRejectionEvent\n\n if (reason instanceof Error) {\n // simulate v8 stack\n // const fileName = reason.fileName || 'unknown'\n // const lineNumber = reason.lineNumber || 0\n const fileName = 'unknown'\n const lineNumber = 0\n const stackFallback = `${reason.message}\\n at ? (${fileName}:${lineNumber})`\n const stack = reason.stack || stackFallback\n const err = {\n name: reason.name,\n message: `UnhandledPromiseRejectionWarning: ${reason}`,\n stack\n }\n client.addBreadcrumb(\n `window.onunhandledrejection: ${err.name}`,\n {\n category: 'error',\n metadata: err\n }\n )\n client.notify(err)\n return\n }\n\n const message = typeof reason === 'string' ? reason : (JSON.stringify(reason) ?? 'Unspecified reason')\n client.notify({\n name: 'window.onunhandledrejection',\n message: `UnhandledPromiseRejectionWarning: ${message}`\n })\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}\n","/* eslint-disable prefer-rest-params */\nimport { sanitize, instrument } from '../../core/util'\nimport { Plugin } from '../../core/types'\nimport Client from '../../browser'\nimport { stringNameOfElement, stringSelectorOfElement, stringTextOfElement, localURLPathname, nativeFetch } from '../util'\n\nexport default function (_window = window): Plugin {\n return {\n load: (client: typeof Client) => {\n function breadcrumbsEnabled(type) {\n if (client.config.breadcrumbsEnabled === true) { return true }\n if (type) { return client.config.breadcrumbsEnabled[type] === true }\n return client.config.breadcrumbsEnabled !== false\n }\n\n // Breadcrumbs: instrument console\n (function () {\n if (!breadcrumbsEnabled('console')) { return }\n\n function inspectArray(obj) {\n if (!Array.isArray(obj)) { return '' }\n\n return obj.map(value => {\n try {\n return String(value)\n } catch (e) {\n return '[unknown]'\n }\n }).join(' ')\n }\n\n ['debug', 'info', 'warn', 'error', 'log'].forEach(level => {\n instrument(_window.console, level, function (original) {\n return function () {\n const args = Array.prototype.slice.call(arguments)\n const message = inspectArray(args)\n const opts = {\n category: 'log',\n metadata: {\n level: level,\n arguments: sanitize(args, 3)\n }\n }\n\n client.addBreadcrumb(message, opts)\n\n if (typeof original === 'function') {\n Function.prototype.apply.call(original, _window.console, arguments)\n }\n }\n })\n })\n })();\n\n // Breadcrumbs: instrument click events\n (function () {\n if (!breadcrumbsEnabled('dom')) { return }\n\n _window.addEventListener('click', (event) => {\n let message, selector, text\n try {\n message = stringNameOfElement(event.target as HTMLElement)\n selector = stringSelectorOfElement(event.target)\n text = stringTextOfElement(event.target)\n } catch (e) {\n message = 'UI Click'\n selector = '[unknown]'\n text = '[unknown]'\n }\n\n // There's nothing to display\n if (message.length === 0) { return}\n\n client.addBreadcrumb(message, {\n category: 'ui.click',\n metadata: {\n selector,\n text,\n event\n }\n })\n }, true)\n })();\n\n // Breadcrumbs: instrument XMLHttpRequest\n (function () {\n if (!breadcrumbsEnabled('network')) { 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 const xhr = this\n const url = arguments[1]\n const method = typeof arguments[0] === 'string' ? arguments[0].toUpperCase() : arguments[0]\n const message = `${method} ${localURLPathname(url)}`\n\n this.__hb_xhr = {\n type: 'xhr',\n method,\n url,\n message\n }\n\n if (typeof original === 'function') {\n original.apply(xhr, arguments)\n }\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 const xhr = this\n\n function onreadystatechangeHandler() {\n if (xhr.readyState === 4) {\n let message\n\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\n client.addBreadcrumb(message || 'XMLHttpRequest', {\n category: 'request',\n metadata: xhr.__hb_xhr\n })\n }\n }\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n instrument(xhr, 'onreadystatechange', function (original) {\n return function () {\n onreadystatechangeHandler()\n\n if (typeof original === 'function') {\n // eslint-disable-next-line prefer-rest-params\n original.apply(this, arguments)\n }\n }\n })\n } else {\n xhr.onreadystatechange = onreadystatechangeHandler\n }\n\n if (typeof original === 'function') {\n // eslint-disable-next-line prefer-rest-params\n original.apply(xhr, arguments)\n }\n }\n })\n })();\n\n // Breadcrumbs: instrument fetch\n (function () {\n if (!breadcrumbsEnabled('network')) { return }\n\n if (!nativeFetch()) {\n // Polyfills use XHR.\n return\n }\n\n instrument(_window, 'fetch', function (original) {\n return function () {\n // eslint-disable-next-line prefer-rest-params\n const input = arguments[0]\n\n let method = 'GET'\n let url\n\n if (typeof input === 'string') {\n url = input\n } else if ('Request' in _window && input instanceof Request) {\n url = input.url\n if (input.method) {\n method = input.method\n }\n } else {\n url = String(input)\n }\n\n if (arguments[1] && arguments[1].method) {\n method = arguments[1].method\n }\n\n if (typeof method === 'string') {\n method = method.toUpperCase()\n }\n\n const message = `${method} ${localURLPathname(url)}`\n const metadata = {\n type: 'fetch',\n method,\n url\n }\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\n })\n return response\n })\n .catch(function (error) {\n client.addBreadcrumb('fetch error', {\n category: 'error',\n metadata\n })\n\n throw error\n })\n }\n })\n })();\n\n // Breadcrumbs: instrument navigation\n (function () {\n if (!breadcrumbsEnabled('navigation')) { return }\n\n // The last known href of the current page\n let lastHref = _window.location.href\n\n function recordUrlChange(from, to) {\n lastHref = to\n client.addBreadcrumb('Page changed', {\n category: 'navigation',\n metadata: {\n from,\n to\n }\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\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 const 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}\n","/* eslint-disable prefer-rest-params */\nimport { instrument } from '../../core/util'\nimport { Plugin } from '../../core/types'\nimport Client from '../../browser'\n\nexport default function (_window = window): Plugin {\n return {\n load: (client: typeof 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 const args = Array.prototype.slice.call(arguments, 2)\n func = client.__wrap(func, wrapOpts)\n return original(function () {\n func(...args)\n }, delay)\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}\n","import { instrument } from '../../core/util'\nimport { Plugin } from '../../core/types'\nimport Client from '../../browser'\n\nexport default function (_window = window): Plugin {\n return {\n load: (client: typeof 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 const 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 const prototype = _window[prop] && _window[prop].prototype\n if (prototype && Object.prototype.hasOwnProperty.call(prototype, 'addEventListener')) {\n instrument(prototype, 'addEventListener', function (original) {\n const wrapOpts = { component: `${prop}.prototype.addEventListener` }\n\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 } 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}\n","import { Transport, TransportOptions, NoticeTransportPayload } from '../core/types';\nimport { sanitize } from '../core/util';\n\nexport class BrowserTransport implements Transport {\n send(options: TransportOptions, payload?: NoticeTransportPayload | undefined): Promise<{ statusCode: number; body: string; }> {\n return new Promise((resolve, reject) => {\n try {\n const x = new XMLHttpRequest()\n x.open(options.method, options.endpoint, options.async)\n\n if (Object.keys(options.headers || []).length) {\n for (const i in options.headers) {\n if (typeof options.headers[i] !== 'undefined') {\n x.setRequestHeader(i, String(options.headers[i]))\n }\n }\n }\n\n x.send(payload ? JSON.stringify(sanitize(payload, options.maxObjectDepth)) : undefined)\n x.onload = () => resolve({ statusCode: x.status, body: x.response })\n } catch (err) {\n reject(err)\n }\n })\n }\n}\n","import Client from './core/client'\nimport { Notice, BeforeNotifyHandler, NoticeTransportPayload, BrowserConfig } from './core/types'\nimport { merge, filter, objectIsExtensible } from './core/util'\nimport { encodeCookie, decodeCookie, preferCatch } from './browser/util'\nimport { onError, ignoreNextOnError } from './browser/integrations/onerror'\nimport onUnhandledRejection from './browser/integrations/onunhandledrejection'\nimport breadcrumbs from './browser/integrations/breadcrumbs'\nimport timers from './browser/integrations/timers'\nimport eventListeners from './browser/integrations/event_listeners'\nimport { BrowserTransport } from './browser/transport';\n\ninterface WrappedFunc {\n (): (...args: unknown[]) => unknown\n ___hb: WrappedFunc\n}\n\nclass Honeybadger extends Client {\n /** @internal */\n private __errorsSent = 0\n /** @internal */\n private __lastWrapErr = undefined\n\n config: BrowserConfig\n\n /** @internal */\n protected __beforeNotifyHandlers: BeforeNotifyHandler[] = [\n (notice: Notice) => {\n if (this.__exceedsMaxErrors()) {\n this.logger.debug('Dropping notice: max errors exceeded', notice)\n return false\n }\n\n if (!notice.url) { notice.url = document.URL }\n\n this.__incrementErrorsCount()\n\n return true\n }\n ]\n\n constructor(opts: Partial<BrowserConfig> = {}) {\n super({\n async: true,\n maxErrors: null,\n projectRoot: window.location.protocol + '//' + window.location.host,\n ...opts\n }, new BrowserTransport())\n }\n\n configure(opts: Partial<BrowserConfig> = {}): this {\n return super.configure(opts)\n }\n\n resetMaxErrors(): number {\n return (this.__errorsSent = 0)\n }\n\n public factory(opts?: Partial<BrowserConfig>): this {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new Honeybadger(opts) as any\n }\n\n public checkIn(_id: string): Promise<void> {\n throw new Error('Honeybadger.checkIn() is not supported on the browser')\n }\n\n /** @internal */\n protected __buildPayload(notice:Notice): NoticeTransportPayload {\n const cgiData = {\n HTTP_USER_AGENT: undefined,\n HTTP_REFERER: undefined,\n HTTP_COOKIE: undefined\n }\n\n cgiData.HTTP_USER_AGENT = navigator.userAgent\n if (document.referrer.match(/\\S/)) {\n cgiData.HTTP_REFERER = document.referrer\n }\n\n let cookiesObject: Record<string, unknown>\n if (typeof notice.cookies === 'string') {\n cookiesObject = decodeCookie(notice.cookies)\n } else {\n cookiesObject = notice.cookies\n }\n if (cookiesObject) {\n cgiData.HTTP_COOKIE = encodeCookie(filter(cookiesObject, this.config.filters))\n }\n\n const payload = super.__buildPayload(notice)\n payload.request.cgi_data = merge(cgiData, payload.request.cgi_data as Record<string, unknown>)\n\n return payload\n }\n\n /**\n * wrap always returns the same function so that callbacks can be removed via\n * removeEventListener.\n * @internal\n */\n __wrap(f:unknown, opts:Record<string, unknown> = {}):WrappedFunc {\n const func = f as WrappedFunc\n if (!opts) { opts = {} }\n try {\n if (typeof func !== 'function') { return func }\n if (!objectIsExtensible(func)) { return func }\n if (!func.___hb) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const client = this\n func.___hb = <WrappedFunc>function () {\n if (preferCatch) {\n try {\n // eslint-disable-next-line prefer-rest-params\n return func.apply(this, arguments)\n } catch (err) {\n if (client.__lastWrapErr === err) { throw (err) }\n client.__lastWrapErr = err\n ignoreNextOnError()\n client.addBreadcrumb(\n opts.component ? `${opts.component}: ${err.name}` : err.name,\n {\n category: 'error',\n metadata: {\n message: err.message,\n name: err.name,\n stack: err.stack\n }\n }\n )\n if (client.config.enableUncaught) {\n client.notify(err)\n }\n throw (err)\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 } catch (_e) {\n return func\n }\n }\n\n /** @internal */\n private __incrementErrorsCount(): number {\n return this.__errorsSent++\n }\n\n /** @internal */\n private __exceedsMaxErrors(): boolean {\n return this.config.maxErrors && this.__errorsSent >= this.config.maxErrors\n }\n}\n\nexport default new Honeybadger({\n __plugins: [\n onError(),\n onUnhandledRejection(),\n timers(),\n eventListeners(),\n breadcrumbs()\n ]\n})\n"],"names":["stackTraceParser\n .parse"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"honeybadger.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};\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;\nconst stackTraceParser = __importStar(require(\"stacktrace-parser\"));\nfunction merge(obj1, obj2) {\n const result = {};\n for (const k in obj1) {\n result[k] = obj1[k];\n }\n for (const k in obj2) {\n result[k] = obj2[k];\n }\n return result;\n}\nexports.merge = merge;\nfunction mergeNotice(notice1, notice2) {\n const 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 (const 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 = 0) {\n try {\n const backtrace = stackTraceParser\n .parse(stack)\n .map(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 const causes = [];\n let 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 const result = [];\n if (!getSourceFileHandler || !backtrace || !backtrace.length) {\n return result;\n }\n let index = 0;\n while (backtrace.length) {\n const trace = backtrace.splice(0)[index];\n const fileContent = yield getSourceFileHandler(trace.file);\n result[index] = getSourceCodeSnippet(fileContent, trace.number);\n index++;\n }\n return result;\n });\n}\nexports.getSourceForBacktrace = getSourceForBacktrace;\nfunction runBeforeNotifyHandlers(notice, handlers) {\n let result = true;\n for (let i = 0, len = handlers.length; i < len; i++) {\n const 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 (let 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 const result = {};\n for (const k in obj) {\n result[k] = obj[k];\n }\n return result;\n}\nexports.shallowClone = shallowClone;\nfunction sanitize(obj, maxDepth = 8) {\n const seenObjects = [];\n function seen(obj) {\n if (!obj || typeof (obj) !== 'object') {\n return false;\n }\n for (let i = 0; i < seenObjects.length; i++) {\n const 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 const 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 = 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(o => safeSerialize(o, depth + 1));\n }\n // Serialize inside objects\n if (typeof (obj) === 'object') {\n const ret = {};\n for (const k in obj) {\n const 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 = 0) {\n try {\n return serialize(obj, depth);\n }\n catch (e) {\n return `[ERROR] ${e}`;\n }\n }\n return safeSerialize(obj);\n}\nexports.sanitize = sanitize;\nfunction logger(client) {\n const log = (method) => {\n return function (...args) {\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 client.config.logger[method](...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 let notice;\n if (!thing) {\n notice = {};\n }\n else if (isErrorObject(thing)) {\n const 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 const 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 let 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 const endpoint = base.trim().replace(/\\/$/, '');\n path = path.trim().replace(/(^\\/|\\/$)/g, '');\n return `${endpoint}/${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 const maxStackSize = 10;\n const stack = [];\n let 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 const seen = [];\n function filter(obj) {\n let 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 (let 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 const 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 const query = url.split(/\\?/, 2)[1];\n if (!query) {\n return url;\n }\n let result = url;\n query.split(/[&]\\s?/).forEach((pair) => {\n const [key, value] = pair.split('=', 2);\n if (filterMatch(key, filters)) {\n result = result.replace(`${key}=${value}`, `${key}=[FILTERED]`);\n }\n });\n return result;\n}\nexports.filterUrl = filterUrl;\nfunction formatCGIData(vars, prefix = '') {\n const formattedVars = {};\n Object.keys(vars).forEach(function (key) {\n const 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 = 2) {\n if (!fileData) {\n return null;\n }\n const 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 const start = lineNumber - sourceRadius;\n const end = lineNumber + sourceRadius;\n const result = {};\n for (let i = start; i <= end; i++) {\n const 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;\nclass GlobalStore {\n constructor(store) {\n this.store = store;\n }\n getStore() {\n return this.store;\n }\n run(store, callback, ...args) {\n this.store = store;\n return callback(...args);\n }\n}\nexports.GlobalStore = GlobalStore;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Client = void 0;\nconst util_1 = require(\"./util\");\nconst store_1 = require(\"./store\");\nconst notifier = {\n name: 'honeybadger-js',\n url: 'https://github.com/honeybadger-io/honeybadger-js',\n version: '__VERSION__'\n};\n// Split at commas and spaces\nconst TAG_SEPARATOR = /,|\\s+/;\n// Checks for non-blank characters\nconst NOT_BLANK = /\\S/;\nclass Client {\n constructor(opts = {}, transport) {\n this.__pluginsExecuted = false;\n this.__store = null;\n this.__beforeNotifyHandlers = [];\n this.__afterNotifyHandlers = [];\n this.config = Object.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: () => true, filters: ['creditcard', 'password'], __plugins: [] }, opts);\n // First, we go with the global (shared) store.\n // Webserver middleware can then switch to the AsyncStore for async context tracking.\n this.__store = new store_1.GlobalStore({ context: {}, breadcrumbs: [] });\n this.__transport = transport;\n this.logger = (0, util_1.logger)(this);\n }\n getVersion() {\n return notifier.version;\n }\n configure(opts = {}) {\n for (const k in opts) {\n this.config[k] = opts[k];\n }\n if (!this.__pluginsExecuted) {\n this.__pluginsExecuted = true;\n this.config.__plugins.forEach((plugin) => plugin.load(this));\n }\n return this;\n }\n __setStore(store) {\n this.__store = store;\n }\n beforeNotify(handler) {\n this.__beforeNotifyHandlers.push(handler);\n return this;\n }\n afterNotify(handler) {\n this.__afterNotifyHandlers.push(handler);\n return this;\n }\n setContext(context) {\n if (typeof context === 'object') {\n const store = this.__store.getStore();\n store.context = (0, util_1.merge)(store.context, context);\n }\n return this;\n }\n resetContext(context) {\n this.logger.warn('Deprecation warning: `Honeybadger.resetContext()` has been deprecated; please use `Honeybadger.clear()` instead.');\n const store = this.__store.getStore();\n if (typeof context === 'object' && context !== null) {\n store.context = context;\n }\n else {\n store.context = {};\n }\n return this;\n }\n clear() {\n const store = this.__store.getStore();\n store.context = {};\n store.breadcrumbs = [];\n return this;\n }\n notify(noticeable, name = undefined, extra = undefined) {\n let preConditionError = null;\n const 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 const sourceCodeData = notice && notice.backtrace ? notice.backtrace.map(trace => (0, util_1.shallowClone)(trace)) : null;\n const 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 const breadcrumbs = this.__getStoreContentsOrDefault().breadcrumbs;\n notice.__breadcrumbs = this.config.breadcrumbsEnabled ? breadcrumbs.slice() : [];\n (0, util_1.getSourceForBacktrace)(sourceCodeData, this.__getSourceFileHandler)\n .then(sourcePerTrace => {\n sourcePerTrace.forEach((source, index) => {\n notice.backtrace[index].source = source;\n });\n const 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(res => {\n if (res.statusCode !== 201) {\n (0, util_1.runAfterNotifyHandlers)(notice, this.__afterNotifyHandlers, new Error(`Bad HTTP response: ${res.statusCode}`));\n this.logger.warn(`Error report failed: unknown response from server. code=${res.statusCode}`);\n return;\n }\n const 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 ⚡ https://app.honeybadger.io/notice/${uuid}`);\n })\n .catch(err => {\n this.logger.error('Error report failed: an unknown error occurred.', `message=${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 notifyAsync(noticeable, name = undefined, extra = undefined) {\n return new Promise((resolve, reject) => {\n const applyAfterNotify = (partialNotice) => {\n const originalAfterNotify = partialNotice.afterNotify;\n partialNotice.afterNotify = (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 let 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 makeNotice(noticeable, name = undefined, extra = undefined) {\n let notice = (0, util_1.makeNotice)(noticeable);\n if (name && !(typeof name === 'object')) {\n const 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 const context = this.__getStoreContentsOrDefault().context;\n const noticeTags = this.__constructTags(notice.tags);\n const contextTags = this.__constructTags(context['tags']);\n const configTags = this.__constructTags(this.config.tags);\n // Turning into a Set will remove duplicates\n const tags = noticeTags.concat(contextTags).concat(configTags);\n const uniqueTags = tags.filter((item, index) => 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 let 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 addBreadcrumb(message, opts) {\n if (!this.config.breadcrumbsEnabled) {\n return;\n }\n opts = opts || {};\n const metadata = (0, util_1.shallowClone)(opts.metadata);\n const category = opts.category || 'custom';\n const timestamp = new Date().toISOString();\n const store = this.__store.getStore();\n let breadcrumbs = store.breadcrumbs;\n breadcrumbs.push({\n category: category,\n message: message,\n metadata: metadata,\n timestamp: timestamp\n });\n const limit = this.config.maxBreadcrumbs;\n if (breadcrumbs.length > limit) {\n breadcrumbs = breadcrumbs.slice(breadcrumbs.length - limit);\n }\n store.breadcrumbs = breadcrumbs;\n return this;\n }\n __developmentMode() {\n if (this.config.reportData === true) {\n return false;\n }\n return (this.config.environment && this.config.developmentEnvironments.includes(this.config.environment));\n }\n __buildPayload(notice) {\n const headers = (0, util_1.filter)(notice.headers, this.config.filters) || {};\n const cgiData = (0, util_1.filter)(Object.assign(Object.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 __constructTags(tags) {\n if (!tags) {\n return [];\n }\n return tags.toString().split(TAG_SEPARATOR).filter((tag) => NOT_BLANK.test(tag));\n }\n /**\n * For ALS, the store may be uninitialized (if .run()` has not been called).\n * This provides an easy way to read the existing store object or fall back to a default.\n * Returns *a copy* of the s tore contents.\n */\n __getStoreContentsOrDefault() {\n const existingStoreContents = this.__store.getStore();\n const storeContents = existingStoreContents || {};\n return Object.assign({ context: {}, breadcrumbs: [] }, storeContents);\n }\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 __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.Store = exports.Client = void 0;\nvar client_1 = require(\"./client\");\nObject.defineProperty(exports, \"Client\", { enumerable: true, get: function () { return client_1.Client; } });\nexports.Store = __importStar(require(\"./store\"));\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 let 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 += `#${element.id}`;\n }\n const stringClassNames = element.getAttribute('class');\n if (stringClassNames) {\n stringClassNames.split(/\\s+/).forEach(className => {\n name += `.${className}`;\n });\n }\n ['alt', 'name', 'title', 'type'].forEach(attrName => {\n const attr = element.getAttribute(attrName);\n if (attr) {\n name += `[${attrName}=\"${attr}\"]`;\n }\n });\n const siblings = getSiblings(element);\n if (siblings.length > 1) {\n name += `:nth-child(${Array.prototype.indexOf.call(siblings, element) + 1})`;\n }\n return name;\n}\nexports.stringNameOfElement = stringNameOfElement;\nfunction stringSelectorOfElement(element) {\n const name = stringNameOfElement(element);\n if (element.parentNode && element.parentNode.tagName) {\n const parentName = stringSelectorOfElement(element.parentNode);\n if (parentName.length > 0) {\n return `${parentName} > ${name}`;\n }\n }\n return name;\n}\nexports.stringSelectorOfElement = stringSelectorOfElement;\nfunction stringTextOfElement(element) {\n let 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 const sandbox = document.createElement('iframe');\n sandbox.style.display = 'none';\n document.head.appendChild(sandbox);\n const 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 const 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 const parsed = parseURL(url);\n const 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 `${parsed.protocol}://${parsed.host}${parsed.pathname}`;\n}\nexports.localURLPathname = localURLPathname;\nfunction decodeCookie(string) {\n const result = {};\n string.split(/[;,]\\s?/).forEach((pair) => {\n const [key, value] = pair.split('=', 2);\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 const cookies = [];\n for (const 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 const nodes = element.parentNode.childNodes;\n const siblings = [];\n Array.prototype.forEach.call(nodes, node => {\n if (node.tagName && node.tagName === element.tagName) {\n siblings.push(node);\n }\n });\n return siblings;\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 let 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 */\nconst core_1 = require(\"@honeybadger-io/core\");\nconst { instrument, makeNotice } = core_1.Util;\nlet ignoreOnError = 0;\nlet currentTimeout;\nfunction ignoreNextOnError() {\n ignoreOnError += 1;\n clearTimeout(currentTimeout);\n currentTimeout = setTimeout(() => {\n ignoreOnError = 0;\n });\n}\nexports.ignoreNextOnError = ignoreNextOnError;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction onError(_window = window) {\n return {\n load: (client) => {\n instrument(_window, 'onerror', function (original) {\n const 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 const 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: ${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 */\nconst core_1 = require(\"@honeybadger-io/core\");\nconst { instrument } = core_1.Util;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction default_1(_window = window) {\n return {\n load: (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 const { reason } = promiseRejectionEvent;\n if (reason instanceof Error) {\n // simulate v8 stack\n // const fileName = reason.fileName || 'unknown'\n // const lineNumber = reason.lineNumber || 0\n const fileName = 'unknown';\n const lineNumber = 0;\n const stackFallback = `${reason.message}\\n at ? (${fileName}:${lineNumber})`;\n const stack = reason.stack || stackFallback;\n const err = {\n name: reason.name,\n message: `UnhandledPromiseRejectionWarning: ${reason}`,\n stack\n };\n client.addBreadcrumb(`window.onunhandledrejection: ${err.name}`, {\n category: 'error',\n metadata: err\n });\n client.notify(err);\n return;\n }\n const 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: ${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 */\nconst core_1 = require(\"@honeybadger-io/core\");\nconst util_1 = require(\"../util\");\nconst { sanitize, instrument } = core_1.Util;\nfunction default_1(_window = window) {\n return {\n load: (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(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(level => {\n instrument(_window.console, level, function (original) {\n return function () {\n const args = Array.prototype.slice.call(arguments);\n const message = inspectArray(args);\n const 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', (event) => {\n let 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,\n text,\n 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 const xhr = this;\n const url = arguments[1];\n const method = typeof arguments[0] === 'string' ? arguments[0].toUpperCase() : arguments[0];\n const message = `${method} ${(0, util_1.localURLPathname)(url)}`;\n this.__hb_xhr = {\n type: 'xhr',\n method,\n url,\n 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 const xhr = this;\n function onreadystatechangeHandler() {\n if (xhr.readyState === 4) {\n let message;\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 const input = arguments[0];\n let method = 'GET';\n let 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 const message = `${method} ${(0, util_1.localURLPathname)(url)}`;\n const metadata = {\n type: 'fetch',\n method,\n 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\n });\n return response;\n })\n .catch(function (error) {\n client.addBreadcrumb('fetch error', {\n category: 'error',\n 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 let lastHref = _window.location.href;\n function recordUrlChange(from, to) {\n lastHref = to;\n client.addBreadcrumb('Page changed', {\n category: 'navigation',\n metadata: {\n from,\n 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 const 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 */\nconst core_1 = require(\"@honeybadger-io/core\");\nconst { instrument } = core_1.Util;\nfunction default_1(_window = window) {\n return {\n load: (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 const args = Array.prototype.slice.call(arguments, 2);\n func = client.__wrap(func, wrapOpts);\n return original(function () {\n func(...args);\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 });\nconst core_1 = require(\"@honeybadger-io/core\");\nconst { instrument } = core_1.Util;\nfunction default_1(_window = window) {\n return {\n load: (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 const 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 const prototype = _window[prop] && _window[prop].prototype;\n if (prototype && Object.prototype.hasOwnProperty.call(prototype, 'addEventListener')) {\n instrument(prototype, 'addEventListener', function (original) {\n const wrapOpts = { component: `${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;\nconst core_1 = require(\"@honeybadger-io/core\");\nconst { sanitize } = core_1.Util;\nclass BrowserTransport {\n send(options, payload) {\n return new Promise((resolve, reject) => {\n try {\n const x = new XMLHttpRequest();\n x.open(options.method, options.endpoint, options.async);\n if (Object.keys(options.headers || []).length) {\n for (const i in options.headers) {\n if (typeof options.headers[i] !== 'undefined') {\n x.setRequestHeader(i, String(options.headers[i]));\n }\n }\n }\n x.send(payload ? JSON.stringify(sanitize(payload, options.maxObjectDepth)) : undefined);\n x.onload = () => resolve({ statusCode: x.status, body: x.response });\n }\n catch (err) {\n reject(err);\n }\n });\n }\n}\nexports.BrowserTransport = BrowserTransport;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core_1 = require(\"@honeybadger-io/core\");\nconst util_1 = require(\"./browser/util\");\nconst onerror_1 = require(\"./browser/integrations/onerror\");\nconst onunhandledrejection_1 = __importDefault(require(\"./browser/integrations/onunhandledrejection\"));\nconst breadcrumbs_1 = __importDefault(require(\"./browser/integrations/breadcrumbs\"));\nconst timers_1 = __importDefault(require(\"./browser/integrations/timers\"));\nconst event_listeners_1 = __importDefault(require(\"./browser/integrations/event_listeners\"));\nconst transport_1 = require(\"./browser/transport\");\nconst { merge, filter, objectIsExtensible } = core_1.Util;\nclass Honeybadger extends core_1.Client {\n constructor(opts = {}) {\n super(Object.assign({ async: true, maxErrors: null, projectRoot: window.location.protocol + '//' + window.location.host }, opts), new transport_1.BrowserTransport());\n /** @internal */\n this.__errorsSent = 0;\n /** @internal */\n this.__lastWrapErr = undefined;\n /** @internal */\n this.__beforeNotifyHandlers = [\n (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 }\n configure(opts = {}) {\n return super.configure(opts);\n }\n resetMaxErrors() {\n return (this.__errorsSent = 0);\n }\n factory(opts) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new Honeybadger(opts);\n }\n checkIn(_id) {\n throw new Error('Honeybadger.checkIn() is not supported on the browser');\n }\n /** @internal */\n __buildPayload(notice) {\n const 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 let 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 const payload = super.__buildPayload(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 __wrap(f, opts = {}) {\n const 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 const client = 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.__lastWrapErr === err) {\n throw (err);\n }\n client.__lastWrapErr = err;\n (0, onerror_1.ignoreNextOnError)();\n client.addBreadcrumb(opts.component ? `${opts.component}: ${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.config.enableUncaught) {\n client.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 __incrementErrorsCount() {\n return this.__errorsSent++;\n }\n /** @internal */\n __exceedsMaxErrors() {\n return this.config.maxErrors && this.__errorsSent >= this.config.maxErrors;\n }\n}\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":["this","util","merge","objectIsExtensible","sanitize","makeNotice","instrument","filter","util_1","require$$0","require$$1","require$$2","require$$3","core_1","default_1","require$$4","require$$5","require$$6","require$$7"],"mappings":"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"}
|