@honeybadger-io/js 3.2.6 → 3.2.9
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/dist/browser/honeybadger.js +24 -9
- 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/types/core/util.d.ts +1 -1
- package/dist/server/honeybadger.js +35 -10
- package/dist/server/types/core/util.d.ts +1 -1
- package/package.json +2 -2
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
return true;
|
|
249
249
|
}
|
|
250
250
|
// Returns a new object with properties from other object.
|
|
251
|
-
function
|
|
251
|
+
function shallowClone(obj) {
|
|
252
252
|
if (typeof (obj) !== 'object' || obj === null) {
|
|
253
253
|
return {};
|
|
254
254
|
}
|
|
@@ -275,8 +275,14 @@
|
|
|
275
275
|
return false;
|
|
276
276
|
}
|
|
277
277
|
function canSerialize(obj) {
|
|
278
|
-
|
|
279
|
-
|
|
278
|
+
var typeOfObj = typeof obj;
|
|
279
|
+
// Functions are TMI
|
|
280
|
+
if (/function/.test(typeOfObj)) {
|
|
281
|
+
// Let special toJSON method pass as it's used by JSON.stringify (#722)
|
|
282
|
+
return obj.name === 'toJSON';
|
|
283
|
+
}
|
|
284
|
+
// Symbols can't convert to strings.
|
|
285
|
+
if (/symbol/.test(typeOfObj)) {
|
|
280
286
|
return false;
|
|
281
287
|
}
|
|
282
288
|
if (obj === null) {
|
|
@@ -303,7 +309,7 @@
|
|
|
303
309
|
}
|
|
304
310
|
// Serialize inside arrays
|
|
305
311
|
if (Array.isArray(obj)) {
|
|
306
|
-
return obj.map(function (o) { return
|
|
312
|
+
return obj.map(function (o) { return safeSerialize(o, depth + 1); });
|
|
307
313
|
}
|
|
308
314
|
// Serialize inside objects
|
|
309
315
|
if (typeof (obj) === 'object') {
|
|
@@ -311,7 +317,7 @@
|
|
|
311
317
|
for (var k in obj) {
|
|
312
318
|
var v = obj[k];
|
|
313
319
|
if (Object.prototype.hasOwnProperty.call(obj, k) && (k != null) && (v != null)) {
|
|
314
|
-
ret[k] =
|
|
320
|
+
ret[k] = safeSerialize(v, depth + 1);
|
|
315
321
|
}
|
|
316
322
|
}
|
|
317
323
|
return ret;
|
|
@@ -319,7 +325,16 @@
|
|
|
319
325
|
// Return everything else untouched
|
|
320
326
|
return obj;
|
|
321
327
|
}
|
|
322
|
-
|
|
328
|
+
function safeSerialize(obj, depth) {
|
|
329
|
+
if (depth === void 0) { depth = 0; }
|
|
330
|
+
try {
|
|
331
|
+
return serialize(obj, depth);
|
|
332
|
+
}
|
|
333
|
+
catch (e) {
|
|
334
|
+
return "[ERROR] " + e;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
return safeSerialize(obj);
|
|
323
338
|
}
|
|
324
339
|
function logger(client) {
|
|
325
340
|
var log = function (method) {
|
|
@@ -358,7 +373,7 @@
|
|
|
358
373
|
notice = merge(thing, { name: e.name, message: e.message, stack: e.stack });
|
|
359
374
|
}
|
|
360
375
|
else if (typeof thing === 'object') {
|
|
361
|
-
notice =
|
|
376
|
+
notice = shallowClone(thing);
|
|
362
377
|
}
|
|
363
378
|
else {
|
|
364
379
|
var m = String(thing);
|
|
@@ -507,7 +522,7 @@
|
|
|
507
522
|
var notifier = {
|
|
508
523
|
name: 'honeybadger-js',
|
|
509
524
|
url: 'https://github.com/honeybadger-io/honeybadger-js',
|
|
510
|
-
version: '3.2.
|
|
525
|
+
version: '3.2.9'
|
|
511
526
|
};
|
|
512
527
|
// Split at commas
|
|
513
528
|
var TAG_SEPARATOR = /,/;
|
|
@@ -650,7 +665,7 @@
|
|
|
650
665
|
return;
|
|
651
666
|
}
|
|
652
667
|
opts = opts || {};
|
|
653
|
-
var metadata =
|
|
668
|
+
var metadata = shallowClone(opts.metadata);
|
|
654
669
|
var category = opts.category || 'custom';
|
|
655
670
|
var timestamp = new Date().toISOString();
|
|
656
671
|
this.__breadcrumbs.push({
|
|
@@ -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/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.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, Config, BacktraceFrame, Notice, Noticeable, BeforeNotifyHandler, AfterNotifyHandler\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) { result[k] = obj1[k] }\n for (const k in obj2) { result[k] = obj2[k] }\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') { return true }\n return Object.isExtensible(obj)\n}\n\nexport function makeBacktrace(stack: string, shift = 0): BacktraceFrame[] {\n try {\n const backtrace = stackTraceParser.parse(stack).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 function runBeforeNotifyHandlers(notice, handlers: BeforeNotifyHandler[]): boolean {\n for (let i = 0, len = handlers.length; i < len; i++) {\n const handler = handlers[i]\n if (handler(notice) === false) {\n return false\n }\n }\n return true\n}\n\nexport function runAfterNotifyHandlers(notice, handlers: AfterNotifyHandler[], error = undefined): boolean {\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 newObject<T>(obj: T): T|Record<string, unknown> {\n if (typeof (obj) !== 'object' || obj === null) { return {} }\n const result = {} as T\n for (const k in obj) { result[k] = obj[k] }\n return result\n}\n\nexport function sanitize(obj, maxDepth = 8) {\n const seenObjects = []\n function seen(obj) {\n if (!obj || typeof (obj) !== 'object') { return false }\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 // Functions are TMI and Symbols can't convert to strings.\n if (/function|symbol/.test(typeof (obj))) { return false }\n\n if (obj === null) { return false }\n\n // No prototype, likely created with `Object.create(null)`.\n if (typeof obj === 'object' && typeof obj.hasOwnProperty === 'undefined') { return false }\n\n return true\n }\n\n function serialize(obj: any, depth = 0) {\n if (depth >= maxDepth) {\n return '[DEPTH]'\n }\n\n // Inspect invalid types\n if (!canSerialize(obj)) { return Object.prototype.toString.call(obj) }\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 => serialize(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] = serialize(v, depth + 1)\n }\n }\n return ret\n }\n\n // Return everything else untouched\n return obj\n }\n\n return serialize(obj)\n}\n\nexport function logger(client: Client): Logger {\n const log = (method: string) => {\n return function (...args: unknown[]) {\n if (method === 'debug' && !client.config.debug) { return }\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 (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 = newObject(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)) { return }\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(config: Config, path: string): string {\n const endpoint = config.endpoint.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 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) { return filter(v) })\n }\n\n if (is('Function', obj)) { return '[FUNC]' }\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) { return url }\n if (typeof url !== 'string') { return url }\n\n const query = url.split(/\\?/, 2)[1]\n if (!query) { 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\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","import { merge, mergeNotice, objectIsEmpty, makeNotice, makeBacktrace, runBeforeNotifyHandlers, newObject, logger, generateStackTrace, filter, filterUrl, formatCGIData } from './util'\nimport {\n Config, Logger, BreadcrumbRecord, BeforeNotifyHandler, AfterNotifyHandler, Notice, Noticeable\n} from './types'\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\nconst TAG_SEPARATOR = /,/\n\n// Removes any non-word characters\nconst TAG_SANITIZER = /[^\\w]/g\n\n// Checks for blank strings\nconst STRING_EMPTY = ''\n\n// Checks for non-blank characters\nconst NOT_BLANK = /\\S/\n\nexport default class Client {\n /** @internal */\n private __pluginsExecuted = false\n\n /** @internal */\n protected __context: Record<string, unknown> = {}\n /** @internal */\n protected __breadcrumbs: BreadcrumbRecord[] = []\n /** @internal */\n protected __beforeNotifyHandlers: BeforeNotifyHandler[] = []\n /** @internal */\n protected __afterNotifyHandlers: AfterNotifyHandler[] = []\n\n config: Config\n logger: Logger\n\n constructor(opts: Partial<Config> = {}) {\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 disabled: false,\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 this.logger = logger(this)\n }\n\n factory(_opts?: Record<string, unknown>): unknown {\n throw (new Error('Must implement __factory in subclass'))\n }\n\n getVersion(): string {\n return notifier.version\n }\n\n configure(opts:Partial<Config> = {}): Client {\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\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 this.__context = merge(this.__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 if (typeof context === 'object' && context !== null) {\n this.__context = merge({}, context)\n } else {\n this.__context = {}\n }\n return this\n }\n\n clear(): Client {\n this.__context = {}\n this.__breadcrumbs = []\n return this\n }\n\n notify(notice: Noticeable, name: string | Partial<Notice> = undefined, extra: Partial<Notice> = undefined): Record<string, unknown> | false | unknown {\n if (this.config.disabled) {\n this.logger.warn('Deprecation warning: instead of `disabled: true`, use `reportData: false` to explicitly disable Honeybadger reporting. (Dropping notice: honeybadger.js is disabled)')\n return false\n }\n\n if (!this.__reportData()) {\n this.logger.debug('Dropping notice: honeybadger.js is in development mode')\n return false\n }\n\n if (!this.config.apiKey) {\n this.logger.warn('Unable to send error report: no API key has been configured')\n return false\n }\n\n notice = makeNotice(notice)\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)) { return false }\n\n const noticeTags = this.__constructTags(notice.tags)\n const contextTags = this.__constructTags(this.__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(this.__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 notice.backtrace = makeBacktrace(notice.stack, backtraceShift)\n\n if (!runBeforeNotifyHandlers(notice, this.__beforeNotifyHandlers)) { 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\n notice.__breadcrumbs = this.config.breadcrumbsEnabled ? this.__breadcrumbs.slice() : []\n\n return this.__send(notice)\n }\n\n addBreadcrumb(message: string, opts?: Record<string, unknown>): Client {\n if (!this.config.breadcrumbsEnabled) { return }\n\n opts = opts || {}\n\n const metadata = newObject(opts.metadata)\n const category = opts.category || 'custom'\n const timestamp = new Date().toISOString()\n\n this.__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 (this.__breadcrumbs.length > limit) {\n this.__breadcrumbs = this.__breadcrumbs.slice(this.__breadcrumbs.length - limit)\n }\n\n return this\n }\n\n /** @internal */\n protected __reportData(): boolean {\n if (this.config.reportData !== null) {\n return this.config.reportData\n }\n return !(this.config.environment && this.config.developmentEnvironments.includes(this.config.environment))\n }\n\n /** @internal */\n protected __send(_notice: Partial<Notice>): boolean {\n throw (new Error('Must implement send in subclass'))\n }\n\n /** @internal */\n protected __buildPayload(notice: Notice): Record<string, Record<string, unknown>> {\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 /** @internal */\n protected __constructTags(tags: unknown): Array<string> {\n if (!tags) {\n return []\n }\n\n return tags.toString().split(TAG_SEPARATOR).map((tag: string) => {\n return tag.replace(TAG_SANITIZER, STRING_EMPTY)\n }).filter((tag) => NOT_BLANK.test(tag))\n }\n}\n","/**\n * Converts an HTMLElement into a human-readable string.\n * @param {!HTMLElement} element\n * @return {string}\n */\nexport function stringNameOfElement(element: any): 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 if (!client.config.enableUncaught) { return }\n\n if (line === 0 && /Script error\\.?/.test(msg)) {\n // See https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onerror#Notes\n client.logger.info('Ignoring cross-domain script error: enable CORS to track these types of errors', arguments)\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 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}\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)\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 Client from './core/client'\nimport { Config, Notice, BeforeNotifyHandler } from './core/types'\nimport { merge, sanitize, filter, runAfterNotifyHandlers, objectIsExtensible, endpoint } 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'\n\ninterface BrowserConfig extends Config {\n async: boolean\n maxErrors: number\n}\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 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 })\n }\n\n configure(opts: Partial<BrowserConfig> = {}) {\n return super.configure(opts)\n }\n\n resetMaxErrors(): number {\n return (this.__errorsSent = 0)\n }\n\n factory(opts?: Partial<BrowserConfig>): Honeybadger {\n return new Honeybadger(opts)\n }\n\n /** @internal */\n protected __buildPayload(notice:Notice): Record<string, Record<string, unknown>> {\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 /** @internal */\n protected __send(notice) {\n this.__incrementErrorsCount()\n\n const payload = this.__buildPayload(notice)\n const handlers = Array.prototype.slice.call(this.__afterNotifyHandlers)\n if (notice.afterNotify) { handlers.unshift(notice.afterNotify) }\n\n try {\n const x = new XMLHttpRequest()\n x.open('POST', endpoint(this.config, '/v1/notices/js'), this.config.async)\n\n x.setRequestHeader('X-API-Key', this.config.apiKey)\n x.setRequestHeader('Content-Type', 'application/json')\n x.setRequestHeader('Accept', 'text/json, application/json')\n\n x.send(JSON.stringify(sanitize(payload, this.config.maxObjectDepth)))\n x.onload = () => {\n if (x.status !== 201) {\n runAfterNotifyHandlers(notice, handlers, new Error(`Bad HTTP response: ${x.status}`))\n this.logger.debug(`Unable to send error report: ${x.status}: ${x.statusText}`, x, notice)\n return\n }\n runAfterNotifyHandlers(merge(notice, {\n id: JSON.parse(x.response).id\n }), handlers)\n this.logger.debug('Error report sent', notice)\n }\n } catch (err) {\n runAfterNotifyHandlers(notice, handlers, err)\n this.logger.error('Unable to send error report: error while initializing request', err, notice)\n }\n\n return true\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 const onErrorEnabled = client.config.enableUncaught\n // Catch if:\n // 1. We explicitly want to catch (i.e. if the error could be\n // caught before reaching window.onerror)\n // 2. The browser provides less information via the window.onerror\n // handler\n // 3. The window.onerror handler is unavailable\n if (opts.catch || preferCatch || !onErrorEnabled) {\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 client.notify(err)\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.parse"],"mappings":"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"}
|
|
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/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.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, Config, BacktraceFrame, Notice, Noticeable, BeforeNotifyHandler, AfterNotifyHandler\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) { result[k] = obj1[k] }\n for (const k in obj2) { result[k] = obj2[k] }\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') { return true }\n return Object.isExtensible(obj)\n}\n\nexport function makeBacktrace(stack: string, shift = 0): BacktraceFrame[] {\n try {\n const backtrace = stackTraceParser.parse(stack).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 function runBeforeNotifyHandlers(notice, handlers: BeforeNotifyHandler[]): boolean {\n for (let i = 0, len = handlers.length; i < len; i++) {\n const handler = handlers[i]\n if (handler(notice) === false) {\n return false\n }\n }\n return true\n}\n\nexport function runAfterNotifyHandlers(notice, handlers: AfterNotifyHandler[], error = undefined): boolean {\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) { return {} }\n const result = {} as T\n for (const k in obj) { result[k] = obj[k] }\n return result\n}\n\nexport function sanitize(obj, maxDepth = 8) {\n const seenObjects = []\n function seen(obj) {\n if (!obj || typeof (obj) !== 'object') { return false }\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) { return false }\n\n // No prototype, likely created with `Object.create(null)`.\n if (typeof obj === 'object' && typeof obj.hasOwnProperty === 'undefined') { return false }\n\n return true\n }\n\n function serialize(obj: any, depth = 0) {\n if (depth >= maxDepth) {\n return '[DEPTH]'\n }\n\n // Inspect invalid types\n if (!canSerialize(obj)) { return Object.prototype.toString.call(obj) }\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' && !client.config.debug) { return }\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 (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)) { return }\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(config: Config, path: string): string {\n const endpoint = config.endpoint.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 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) { return filter(v) })\n }\n\n if (is('Function', obj)) { return '[FUNC]' }\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) { return url }\n if (typeof url !== 'string') { return url }\n\n const query = url.split(/\\?/, 2)[1]\n if (!query) { 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\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","import { merge, mergeNotice, objectIsEmpty, makeNotice, makeBacktrace, runBeforeNotifyHandlers, shallowClone, logger, generateStackTrace, filter, filterUrl, formatCGIData } from './util'\nimport {\n Config, Logger, BreadcrumbRecord, BeforeNotifyHandler, AfterNotifyHandler, Notice, Noticeable\n} from './types'\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\nconst TAG_SEPARATOR = /,/\n\n// Removes any non-word characters\nconst TAG_SANITIZER = /[^\\w]/g\n\n// Checks for blank strings\nconst STRING_EMPTY = ''\n\n// Checks for non-blank characters\nconst NOT_BLANK = /\\S/\n\nexport default class Client {\n /** @internal */\n private __pluginsExecuted = false\n\n /** @internal */\n protected __context: Record<string, unknown> = {}\n /** @internal */\n protected __breadcrumbs: BreadcrumbRecord[] = []\n /** @internal */\n protected __beforeNotifyHandlers: BeforeNotifyHandler[] = []\n /** @internal */\n protected __afterNotifyHandlers: AfterNotifyHandler[] = []\n\n config: Config\n logger: Logger\n\n constructor(opts: Partial<Config> = {}) {\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 disabled: false,\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 this.logger = logger(this)\n }\n\n factory(_opts?: Record<string, unknown>): unknown {\n throw (new Error('Must implement __factory in subclass'))\n }\n\n getVersion(): string {\n return notifier.version\n }\n\n configure(opts:Partial<Config> = {}): Client {\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\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 this.__context = merge(this.__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 if (typeof context === 'object' && context !== null) {\n this.__context = merge({}, context)\n } else {\n this.__context = {}\n }\n return this\n }\n\n clear(): Client {\n this.__context = {}\n this.__breadcrumbs = []\n return this\n }\n\n notify(notice: Noticeable, name: string | Partial<Notice> = undefined, extra: Partial<Notice> = undefined): Record<string, unknown> | false | unknown {\n if (this.config.disabled) {\n this.logger.warn('Deprecation warning: instead of `disabled: true`, use `reportData: false` to explicitly disable Honeybadger reporting. (Dropping notice: honeybadger.js is disabled)')\n return false\n }\n\n if (!this.__reportData()) {\n this.logger.debug('Dropping notice: honeybadger.js is in development mode')\n return false\n }\n\n if (!this.config.apiKey) {\n this.logger.warn('Unable to send error report: no API key has been configured')\n return false\n }\n\n notice = makeNotice(notice)\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)) { return false }\n\n const noticeTags = this.__constructTags(notice.tags)\n const contextTags = this.__constructTags(this.__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(this.__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 notice.backtrace = makeBacktrace(notice.stack, backtraceShift)\n\n if (!runBeforeNotifyHandlers(notice, this.__beforeNotifyHandlers)) { 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\n notice.__breadcrumbs = this.config.breadcrumbsEnabled ? this.__breadcrumbs.slice() : []\n\n return this.__send(notice)\n }\n\n addBreadcrumb(message: string, opts?: Record<string, unknown>): Client {\n if (!this.config.breadcrumbsEnabled) { return }\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 this.__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 (this.__breadcrumbs.length > limit) {\n this.__breadcrumbs = this.__breadcrumbs.slice(this.__breadcrumbs.length - limit)\n }\n\n return this\n }\n\n /** @internal */\n protected __reportData(): boolean {\n if (this.config.reportData !== null) {\n return this.config.reportData\n }\n return !(this.config.environment && this.config.developmentEnvironments.includes(this.config.environment))\n }\n\n /** @internal */\n protected __send(_notice: Partial<Notice>): boolean {\n throw (new Error('Must implement send in subclass'))\n }\n\n /** @internal */\n protected __buildPayload(notice: Notice): Record<string, Record<string, unknown>> {\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 /** @internal */\n protected __constructTags(tags: unknown): Array<string> {\n if (!tags) {\n return []\n }\n\n return tags.toString().split(TAG_SEPARATOR).map((tag: string) => {\n return tag.replace(TAG_SANITIZER, STRING_EMPTY)\n }).filter((tag) => NOT_BLANK.test(tag))\n }\n}\n","/**\n * Converts an HTMLElement into a human-readable string.\n * @param {!HTMLElement} element\n * @return {string}\n */\nexport function stringNameOfElement(element: any): 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 if (!client.config.enableUncaught) { return }\n\n if (line === 0 && /Script error\\.?/.test(msg)) {\n // See https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onerror#Notes\n client.logger.info('Ignoring cross-domain script error: enable CORS to track these types of errors', arguments)\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 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}\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)\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 Client from './core/client'\nimport { Config, Notice, BeforeNotifyHandler } from './core/types'\nimport { merge, sanitize, filter, runAfterNotifyHandlers, objectIsExtensible, endpoint } 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'\n\ninterface BrowserConfig extends Config {\n async: boolean\n maxErrors: number\n}\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 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 })\n }\n\n configure(opts: Partial<BrowserConfig> = {}) {\n return super.configure(opts)\n }\n\n resetMaxErrors(): number {\n return (this.__errorsSent = 0)\n }\n\n factory(opts?: Partial<BrowserConfig>): Honeybadger {\n return new Honeybadger(opts)\n }\n\n /** @internal */\n protected __buildPayload(notice:Notice): Record<string, Record<string, unknown>> {\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 /** @internal */\n protected __send(notice) {\n this.__incrementErrorsCount()\n\n const payload = this.__buildPayload(notice)\n const handlers = Array.prototype.slice.call(this.__afterNotifyHandlers)\n if (notice.afterNotify) { handlers.unshift(notice.afterNotify) }\n\n try {\n const x = new XMLHttpRequest()\n x.open('POST', endpoint(this.config, '/v1/notices/js'), this.config.async)\n\n x.setRequestHeader('X-API-Key', this.config.apiKey)\n x.setRequestHeader('Content-Type', 'application/json')\n x.setRequestHeader('Accept', 'text/json, application/json')\n\n x.send(JSON.stringify(sanitize(payload, this.config.maxObjectDepth)))\n x.onload = () => {\n if (x.status !== 201) {\n runAfterNotifyHandlers(notice, handlers, new Error(`Bad HTTP response: ${x.status}`))\n this.logger.debug(`Unable to send error report: ${x.status}: ${x.statusText}`, x, notice)\n return\n }\n runAfterNotifyHandlers(merge(notice, {\n id: JSON.parse(x.response).id\n }), handlers)\n this.logger.debug('Error report sent', notice)\n }\n } catch (err) {\n runAfterNotifyHandlers(notice, handlers, err)\n this.logger.error('Unable to send error report: error while initializing request', err, notice)\n }\n\n return true\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 const onErrorEnabled = client.config.enableUncaught\n // Catch if:\n // 1. We explicitly want to catch (i.e. if the error could be\n // caught before reaching window.onerror)\n // 2. The browser provides less information via the window.onerror\n // handler\n // 3. The window.onerror handler is unavailable\n if (opts.catch || preferCatch || !onErrorEnabled) {\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 client.notify(err)\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.parse"],"mappings":"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"}
|