![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/vreg/node_modules/@bugsnag/browser/dist/ |
{ "version": 3, "sources": [ "../../node_modules/browser-pack-flat/_prelude", "../core/lib/breadcrumb-types.js", "../core/lib/es-utils/reduce.js", "../core/lib/es-utils/filter.js", "../core/lib/es-utils/includes.js", "../core/lib/es-utils/is-array.js", "../core/lib/es-utils/keys.js", "../core/lib/validators/int-range.js", "../core/lib/validators/list-of-functions.js", "../core/lib/validators/string-with-length.js", "../core/config.js", "../core/lib/es-utils/assign.js", "../core/lib/es-utils/map.js", "src/config.js", "../core/breadcrumb.js", "../core/node_modules/stackframe/stackframe.js", "../core/node_modules/error-stack-parser/error-stack-parser.js", "../core/lib/error-stack-parser.js", "../core/lib/has-stack.js", "../core/node_modules/iserror/index.js", "../core/lib/iserror.js", "../core/lib/metadata-delegate.js", "../core/node_modules/stack-generator/stack-generator.js", "../core/event.js", "../core/lib/async-every.js", "../core/lib/callback-runner.js", "../core/lib/sync-callback-runner.js", "../core/node_modules/@bugsnag/cuid/lib/pad.js", "../core/node_modules/@bugsnag/cuid/lib/fingerprint.browser.js", "../core/node_modules/@bugsnag/cuid/index.js", "../core/session.js", "../core/client.js", "../core/node_modules/@bugsnag/safe-json-stringify/index.js", "../core/lib/json-payload.js", "../delivery-x-domain-request/delivery.js", "../delivery-xml-http-request/delivery.js", "../plugin-app-duration/app.js", "../plugin-browser-context/context.js", "../plugin-browser-device/device.js", "../plugin-browser-request/request.js", "../plugin-browser-session/session.js", "../plugin-client-ip/client-ip.js", "../plugin-console-breadcrumbs/console-breadcrumbs.js", "../plugin-inline-script-content/inline-script-content.js", "../plugin-interaction-breadcrumbs/interaction-breadcrumbs.js", "../plugin-navigation-breadcrumbs/navigation-breadcrumbs.js", "../plugin-network-breadcrumbs/network-breadcrumbs.js", "../plugin-simple-throttle/throttle.js", "../plugin-strip-query-string/strip-query-string.js", "../plugin-window-onerror/onerror.js", "../plugin-window-unhandled-rejection/unhandled-rejection.js", "src/notifier.js", "../../node_modules/browser-pack-flat/_postlude" ], "names": [], "mappings": "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", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Bugsnag = f()}})(function(){var define,module,exports;\n", "module.exports = ['navigation', 'request', 'process', 'log', 'user', 'state', 'error', 'manual']\n", "// Array#reduce\nmodule.exports = (arr, fn, accum) => {\n let val = accum\n for (let i = 0, len = arr.length; i < len; i++) val = fn(val, arr[i], i, arr)\n return val\n}\n", "const reduce = require('./reduce')\n\n// Array#filter\nmodule.exports = (arr, fn) =>\n reduce(arr, (accum, item, i, arr) => !fn(item, i, arr) ? accum : accum.concat(item), [])\n", "const reduce = require('./reduce')\n// Array#includes\nmodule.exports = (arr, x) =>\n reduce(arr, (accum, item, i, arr) => accum === true || item === x, false)\n", "// Array#isArray\nmodule.exports = obj => Object.prototype.toString.call(obj) === '[object Array]'\n", "/* eslint-disable-next-line no-prototype-builtins */\nconst _hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString')\nconst _dontEnums = [\n 'toString', 'toLocaleString', 'valueOf', 'hasOwnProperty',\n 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'\n]\n\n// Object#keys\nmodule.exports = obj => {\n // stripped down version of\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/Keys\n const result = []\n let prop\n for (prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) result.push(prop)\n }\n if (!_hasDontEnumBug) return result\n for (let i = 0, len = _dontEnums.length; i < len; i++) {\n if (Object.prototype.hasOwnProperty.call(obj, _dontEnums[i])) result.push(_dontEnums[i])\n }\n return result\n}\n", "module.exports = (min = 1, max = Infinity) => value =>\n typeof value === 'number' &&\n parseInt('' + value, 10) === value &&\n value >= min && value <= max\n", "const filter = require('../es-utils/filter')\nconst isArray = require('../es-utils/is-array')\n\nmodule.exports = value => typeof value === 'function' || (isArray(value) && filter(value, f => typeof f === 'function').length === value.length)\n", "module.exports = value => typeof value === 'string' && !!value.length\n", "const filter = require('./lib/es-utils/filter')\nconst reduce = require('./lib/es-utils/reduce')\nconst keys = require('./lib/es-utils/keys')\nconst isArray = require('./lib/es-utils/is-array')\nconst includes = require('./lib/es-utils/includes')\nconst intRange = require('./lib/validators/int-range')\nconst stringWithLength = require('./lib/validators/string-with-length')\nconst listOfFunctions = require('./lib/validators/list-of-functions')\n\nconst BREADCRUMB_TYPES = require('./lib/breadcrumb-types')\nconst defaultErrorTypes = () => ({ unhandledExceptions: true, unhandledRejections: true })\n\nmodule.exports.schema = {\n apiKey: {\n defaultValue: () => null,\n message: 'is required',\n validate: stringWithLength\n },\n appVersion: {\n defaultValue: () => undefined,\n message: 'should be a string',\n validate: value => value === undefined || stringWithLength(value)\n },\n appType: {\n defaultValue: () => undefined,\n message: 'should be a string',\n validate: value => value === undefined || stringWithLength(value)\n },\n autoDetectErrors: {\n defaultValue: () => true,\n message: 'should be true|false',\n validate: value => value === true || value === false\n },\n enabledErrorTypes: {\n defaultValue: () => defaultErrorTypes(),\n message: 'should be an object containing the flags { unhandledExceptions:true|false, unhandledRejections:true|false }',\n allowPartialObject: true,\n validate: value => {\n // ensure we have an object\n if (typeof value !== 'object' || !value) return false\n const providedKeys = keys(value)\n const defaultKeys = keys(defaultErrorTypes())\n // ensure it only has a subset of the allowed keys\n if (filter(providedKeys, k => includes(defaultKeys, k)).length < providedKeys.length) return false\n // ensure all of the values are boolean\n if (filter(keys(value), k => typeof value[k] !== 'boolean').length > 0) return false\n return true\n }\n },\n onError: {\n defaultValue: () => [],\n message: 'should be a function or array of functions',\n validate: listOfFunctions\n },\n onSession: {\n defaultValue: () => [],\n message: 'should be a function or array of functions',\n validate: listOfFunctions\n },\n onBreadcrumb: {\n defaultValue: () => [],\n message: 'should be a function or array of functions',\n validate: listOfFunctions\n },\n endpoints: {\n defaultValue: () => ({\n notify: 'https://notify.bugsnag.com',\n sessions: 'https://sessions.bugsnag.com'\n }),\n message: 'should be an object containing endpoint URLs { notify, sessions }',\n validate: val =>\n // first, ensure it's an object\n (val && typeof val === 'object') &&\n (\n // notify and sessions must always be set\n stringWithLength(val.notify) && stringWithLength(val.sessions)\n ) &&\n // ensure no keys other than notify/session are set on endpoints object\n filter(keys(val), k => !includes(['notify', 'sessions'], k)).length === 0\n },\n autoTrackSessions: {\n defaultValue: val => true,\n message: 'should be true|false',\n validate: val => val === true || val === false\n },\n enabledReleaseStages: {\n defaultValue: () => null,\n message: 'should be an array of strings',\n validate: value => value === null || (isArray(value) && filter(value, f => typeof f === 'string').length === value.length)\n },\n releaseStage: {\n defaultValue: () => 'production',\n message: 'should be a string',\n validate: value => typeof value === 'string' && value.length\n },\n maxBreadcrumbs: {\n defaultValue: () => 25,\n message: 'should be a number ≤100',\n validate: value => intRange(0, 100)(value)\n },\n enabledBreadcrumbTypes: {\n defaultValue: () => BREADCRUMB_TYPES,\n message: `should be null or a list of available breadcrumb types (${BREADCRUMB_TYPES.join(',')})`,\n validate: value => value === null || (isArray(value) && reduce(value, (accum, maybeType) => {\n if (accum === false) return accum\n return includes(BREADCRUMB_TYPES, maybeType)\n }, true))\n },\n context: {\n defaultValue: () => undefined,\n message: 'should be a string',\n validate: value => value === undefined || typeof value === 'string'\n },\n user: {\n defaultValue: () => ({}),\n message: 'should be an object with { id, email, name } properties',\n validate: value =>\n (value === null) ||\n (value && reduce(\n keys(value),\n (accum, key) => accum && includes(['id', 'email', 'name'], key),\n true\n ))\n },\n metadata: {\n defaultValue: () => ({}),\n message: 'should be an object',\n validate: (value) => typeof value === 'object' && value !== null\n },\n logger: {\n defaultValue: () => undefined,\n message: 'should be null or an object with methods { debug, info, warn, error }',\n validate: value =>\n (!value) ||\n (value && reduce(\n ['debug', 'info', 'warn', 'error'],\n (accum, method) => accum && typeof value[method] === 'function',\n true\n ))\n },\n redactedKeys: {\n defaultValue: () => ['password'],\n message: 'should be an array of strings|regexes',\n validate: value =>\n isArray(value) && value.length === filter(value, s =>\n (typeof s === 'string' || (s && typeof s.test === 'function'))\n ).length\n },\n plugins: {\n defaultValue: () => ([]),\n message: 'should be an array of plugin objects',\n validate: value =>\n isArray(value) && value.length === filter(value, p =>\n (p && typeof p === 'object' && typeof p.load === 'function')\n ).length\n }\n}\n", "// extends helper from babel\n// https://github.com/babel/babel/blob/916429b516e6466fd06588ee820e40e025d7f3a3/packages/babel-helpers/src/helpers.js#L377-L393\nmodule.exports = function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i]\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n return target\n}\n", "const reduce = require('./reduce')\n\n// Array#map\nmodule.exports = (arr, fn) =>\n reduce(arr, (accum, item, i, arr) => accum.concat(fn(item, i, arr)), [])\n", "const { schema } = require('@bugsnag/core/config')\nconst map = require('@bugsnag/core/lib/es-utils/map')\nconst assign = require('@bugsnag/core/lib/es-utils/assign')\n\nmodule.exports = {\n releaseStage: assign({}, schema.releaseStage, {\n defaultValue: () => {\n if (/^localhost(:\\d+)?$/.test(window.location.host)) return 'development'\n return 'production'\n }\n }),\n appType: {\n ...schema.appType,\n defaultValue: () => 'browser'\n },\n logger: assign({}, schema.logger, {\n defaultValue: () =>\n // set logger based on browser capability\n (typeof console !== 'undefined' && typeof console.debug === 'function')\n ? getPrefixedConsole()\n : undefined\n })\n}\n\nconst getPrefixedConsole = () => {\n const logger = {}\n const consoleLog = console.log\n map(['debug', 'info', 'warn', 'error'], (method) => {\n const consoleMethod = console[method]\n logger[method] = typeof consoleMethod === 'function'\n ? consoleMethod.bind(console, '[bugsnag]')\n : consoleLog.bind(console, '[bugsnag]')\n })\n return logger\n}\n", "class Breadcrumb {\n constructor (message, metadata, type, timestamp = new Date()) {\n this.type = type\n this.message = message\n this.metadata = metadata\n this.timestamp = timestamp\n }\n\n toJSON () {\n return {\n type: this.type,\n name: this.message,\n timestamp: this.timestamp,\n metaData: this.metadata\n }\n }\n}\n\nmodule.exports = Breadcrumb\n", "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.StackFrame = factory();\n }\n}(this, function() {\n 'use strict';\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n\n function _getter(p) {\n return function() {\n return this[p];\n };\n }\n\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n\n var props = booleanProps.concat(numericProps, stringProps, arrayProps);\n\n function StackFrame(obj) {\n if (obj instanceof Object) {\n for (var i = 0; i < props.length; i++) {\n if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n }\n\n StackFrame.prototype = {\n getArgs: function() {\n return this.args;\n },\n setArgs: function(v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n\n getEvalOrigin: function() {\n return this.evalOrigin;\n },\n setEvalOrigin: function(v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n\n toString: function() {\n var functionName = this.getFunctionName() || '{anonymous}';\n var args = '(' + (this.getArgs() || []).join(',') + ')';\n var fileName = this.getFileName() ? ('@' + this.getFileName()) : '';\n var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : '';\n var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : '';\n return functionName + args + fileName + lineNumber + columnNumber;\n }\n };\n\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = (function(p) {\n return function(v) {\n this[p] = Boolean(v);\n };\n })(booleanProps[i]);\n }\n\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = (function(p) {\n return function(v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n this[p] = Number(v);\n };\n })(numericProps[j]);\n }\n\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = (function(p) {\n return function(v) {\n this[p] = String(v);\n };\n })(stringProps[k]);\n }\n\n return StackFrame;\n}));\n", "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+\\:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+\\:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code\\])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?:\\:(\\d+))?(?:\\:(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[\\(\\)]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^\\()]*)|(\\)\\,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(');\n\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/);\n\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n\n var tokens = sanitizedLine.split(/\\s+/).slice(1);\n // if a location was matched, pass it to extractLocation() otherwise pop the last token\n var locationParts = this.extractLocation(location ? location[1] : tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = ['eval', '<anonymous>'].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval\\:\\d+\\:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(/<anonymous function(: (\\w+))?>/, '$2')\n .replace(/\\([^\\)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^\\)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^\\(]+\\(([^\\)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n}));\n", "module.exports = require('error-stack-parser')\n", "// Given `err` which may be an error, does it have a stack property which is a string?\nmodule.exports = err =>\n !!err &&\n (!!err.stack || !!err.stacktrace || !!err['opera#sourceloc']) &&\n typeof (err.stack || err.stacktrace || err['opera#sourceloc']) === 'string' &&\n err.stack !== `${err.name}: ${err.message}`\n", "\n/**\n * Expose `isError`.\n */\n\nmodule.exports = isError;\n\n/**\n * Test whether `value` is error object.\n *\n * @param {*} value\n * @returns {boolean}\n */\n\nfunction isError(value) {\n switch (Object.prototype.toString.call(value)) {\n case '[object Error]': return true;\n case '[object Exception]': return true;\n case '[object DOMException]': return true;\n default: return value instanceof Error;\n }\n}\n", "module.exports = require('iserror')\n", "const assign = require('./es-utils/assign')\n\nconst add = (state, section, keyOrObj, maybeVal) => {\n if (!section) return\n let updates\n\n // addMetadata(\"section\", null) -> clears section\n if (keyOrObj === null) return clear(state, section)\n\n // normalise the two supported input types into object form\n if (typeof keyOrObj === 'object') updates = keyOrObj\n if (typeof keyOrObj === 'string') updates = { [keyOrObj]: maybeVal }\n\n // exit if we don't have an updates object at this point\n if (!updates) return\n\n // ensure a section with this name exists\n if (!state[section]) state[section] = {}\n\n // merge the updates with the existing section\n state[section] = assign({}, state[section], updates)\n}\n\nconst get = (state, section, key) => {\n if (typeof section !== 'string') return undefined\n if (!key) {\n return state[section]\n }\n if (state[section]) {\n return state[section][key]\n }\n return undefined\n}\n\nconst clear = (state, section, key) => {\n if (typeof section !== 'string') return\n\n // clear an entire section\n if (!key) {\n delete state[section]\n return\n }\n\n // clear a single value from a section\n if (state[section]) {\n delete state[section][key]\n }\n}\n\nmodule.exports = { add, get, clear }\n", "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stack-generator', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.StackGenerator = factory(root.StackFrame);\n }\n}(this, function(StackFrame) {\n return {\n backtrace: function StackGenerator$$backtrace(opts) {\n var stack = [];\n var maxStackSize = 10;\n\n if (typeof opts === 'object' && typeof opts.maxStackSize === 'number') {\n maxStackSize = opts.maxStackSize;\n }\n\n var curr = arguments.callee;\n while (curr && stack.length < maxStackSize && curr['arguments']) {\n // Allow V8 optimizations\n var args = new Array(curr['arguments'].length);\n for (var i = 0; i < args.length; ++i) {\n args[i] = curr['arguments'][i];\n }\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(new StackFrame({functionName: RegExp.$1 || undefined, args: args}));\n } else {\n stack.push(new StackFrame({args: args}));\n }\n\n try {\n curr = curr.caller;\n } catch (e) {\n break;\n }\n }\n return stack;\n }\n };\n}));\n", "const ErrorStackParser = require('./lib/error-stack-parser')\nconst StackGenerator = require('stack-generator')\nconst hasStack = require('./lib/has-stack')\nconst map = require('./lib/es-utils/map')\nconst reduce = require('./lib/es-utils/reduce')\nconst filter = require('./lib/es-utils/filter')\nconst assign = require('./lib/es-utils/assign')\nconst metadataDelegate = require('./lib/metadata-delegate')\nconst isError = require('./lib/iserror')\n\nclass Event {\n constructor (errorClass, errorMessage, stacktrace = [], handledState = defaultHandledState(), originalError) {\n this.apiKey = undefined\n this.context = undefined\n this.groupingHash = undefined\n this.originalError = originalError\n\n this._handledState = handledState\n this.severity = this._handledState.severity\n this.unhandled = this._handledState.unhandled\n\n this.app = {}\n this.device = {}\n this.request = {}\n\n this.breadcrumbs = []\n this.threads = []\n\n this._metadata = {}\n this._user = {}\n this._session = undefined\n\n this.errors = [\n {\n errorClass: ensureString(errorClass),\n errorMessage: ensureString(errorMessage),\n type: Event.__type,\n stacktrace: reduce(stacktrace, (accum, frame) => {\n const f = formatStackframe(frame)\n // don't include a stackframe if none of its properties are defined\n try {\n if (JSON.stringify(f) === '{}') return accum\n return accum.concat(f)\n } catch (e) {\n return accum\n }\n }, [])\n }\n ]\n\n // Flags.\n // Note these are not initialised unless they are used\n // to save unnecessary bytes in the browser bundle\n\n /* this.attemptImmediateDelivery, default: true */\n }\n\n addMetadata (section, keyOrObj, maybeVal) {\n return metadataDelegate.add(this._metadata, section, keyOrObj, maybeVal)\n }\n\n getMetadata (section, key) {\n return metadataDelegate.get(this._metadata, section, key)\n }\n\n clearMetadata (section, key) {\n return metadataDelegate.clear(this._metadata, section, key)\n }\n\n getUser () {\n return this._user\n }\n\n setUser (id, email, name) {\n this._user = { id, email, name }\n }\n\n toJSON () {\n return {\n payloadVersion: '4',\n exceptions: map(this.errors, er => assign({}, er, { message: er.errorMessage })),\n severity: this.severity,\n unhandled: this._handledState.unhandled,\n severityReason: this._handledState.severityReason,\n app: this.app,\n device: this.device,\n request: this.request,\n breadcrumbs: this.breadcrumbs,\n context: this.context,\n groupingHash: this.groupingHash,\n metaData: this._metadata,\n user: this._user,\n session: this._session\n }\n }\n}\n\n// takes a stacktrace.js style stackframe (https://github.com/stacktracejs/stackframe)\n// and returns a Bugsnag compatible stackframe (https://docs.bugsnag.com/api/error-reporting/#json-payload)\nconst formatStackframe = frame => {\n const f = {\n file: frame.fileName,\n method: normaliseFunctionName(frame.functionName),\n lineNumber: frame.lineNumber,\n columnNumber: frame.columnNumber,\n code: undefined,\n inProject: undefined\n }\n // Some instances result in no file:\n // - calling notify() from chrome's terminal results in no file/method.\n // - non-error exception thrown from global code in FF\n // This adds one.\n if (f.lineNumber > -1 && !f.file && !f.method) {\n f.file = 'global code'\n }\n return f\n}\n\nconst normaliseFunctionName = name => /^global code$/i.test(name) ? 'global code' : name\n\nconst defaultHandledState = () => ({\n unhandled: false,\n severity: 'warning',\n severityReason: { type: 'handledException' }\n})\n\nconst ensureString = (str) => typeof str === 'string' ? str : ''\n\n// Helpers\n\nEvent.getStacktrace = function (error, errorFramesToSkip, backtraceFramesToSkip) {\n if (hasStack(error)) return ErrorStackParser.parse(error).slice(errorFramesToSkip)\n // error wasn't provided or didn't have a stacktrace so try to walk the callstack\n try {\n return filter(StackGenerator.backtrace(), frame =>\n (frame.functionName || '').indexOf('StackGenerator$$') === -1\n ).slice(1 + backtraceFramesToSkip)\n } catch (e) {\n return []\n }\n}\n\nEvent.create = function (maybeError, tolerateNonErrors, handledState, component, errorFramesToSkip = 0, logger) {\n const [error, internalFrames] = normaliseError(maybeError, tolerateNonErrors, component, logger)\n let event\n try {\n const stacktrace = Event.getStacktrace(\n error,\n // if an error was created/throw in the normaliseError() function, we need to\n // tell the getStacktrace() function to skip the number of frames we know will\n // be from our own functions. This is added to the number of frames deep we\n // were told about\n internalFrames > 0 ? 1 + internalFrames + errorFramesToSkip : 0,\n // if there's no stacktrace, the callstack may be walked to generated one.\n // this is how many frames should be removed because they come from our library\n 1 + errorFramesToSkip\n )\n event = new Event(error.name, error.message, stacktrace, handledState, maybeError)\n } catch (e) {\n event = new Event(error.name, error.message, [], handledState, maybeError)\n }\n if (error.name === 'InvalidError') {\n event.addMetadata(`${component}`, 'non-error parameter', makeSerialisable(maybeError))\n }\n return event\n}\n\nconst makeSerialisable = (err) => {\n if (err === null) return 'null'\n if (err === undefined) return 'undefined'\n return err\n}\n\nconst normaliseError = (maybeError, tolerateNonErrors, component, logger) => {\n let error\n let internalFrames = 0\n\n const createAndLogInputError = (reason) => {\n if (logger) logger.warn(`${component} received a non-error: \"${reason}\"`)\n const err = new Error(`${component} received a non-error. See \"${component}\" tab for more detail.`)\n err.name = 'InvalidError'\n return err\n }\n\n // In some cases:\n //\n // - the promise rejection handler (both in the browser and node)\n // - the node uncaughtException handler\n //\n // We are really limited in what we can do to get a stacktrace. So we use the\n // tolerateNonErrors option to ensure that the resulting error communicates as\n // such.\n if (!tolerateNonErrors) {\n if (isError(maybeError)) {\n error = maybeError\n } else {\n error = createAndLogInputError(typeof maybeError)\n internalFrames += 2\n }\n } else {\n switch (typeof maybeError) {\n case 'string':\n case 'number':\n case 'boolean':\n error = new Error(String(maybeError))\n internalFrames += 1\n break\n case 'function':\n error = createAndLogInputError('function')\n internalFrames += 2\n break\n case 'object':\n if (maybeError !== null && isError(maybeError)) {\n error = maybeError\n } else if (maybeError !== null && hasNecessaryFields(maybeError)) {\n error = new Error(maybeError.message || maybeError.errorMessage)\n error.name = maybeError.name || maybeError.errorClass\n internalFrames += 1\n } else {\n error = createAndLogInputError(maybeError === null ? 'null' : 'unsupported object')\n internalFrames += 2\n }\n break\n default:\n error = createAndLogInputError('nothing')\n internalFrames += 2\n }\n }\n\n if (!hasStack(error)) {\n // in IE10/11 a new Error() doesn't have a stacktrace until you throw it, so try that here\n try {\n throw error\n } catch (e) {\n if (hasStack(e)) {\n error = e\n // if the error only got a stacktrace after we threw it here, we know it\n // will only have one extra internal frame from this function, regardless\n // of whether it went through createAndLogInputError() or not\n internalFrames = 1\n }\n }\n }\n\n return [error, internalFrames]\n}\n\n// default value for stacktrace.type\nEvent.__type = 'browserjs'\n\nconst hasNecessaryFields = error =>\n (typeof error.name === 'string' || typeof error.errorClass === 'string') &&\n (typeof error.message === 'string' || typeof error.errorMessage === 'string')\n\nmodule.exports = Event\n", "// This is a heavily modified/simplified version of\n// https://github.com/othiym23/async-some\n// with the logic flipped so that it is akin to the\n// synchronous \"every\" method instead of \"some\".\n\n// run the asynchronous test function (fn) over each item in the array (arr)\n// in series until:\n// - fn(item, cb) => calls cb(null, false)\n// - or the end of the array is reached\n// the callback (cb) will be passed (null, false) if any of the items in arr\n// caused fn to call back with false, otherwise it will be passed (null, true)\nmodule.exports = (arr, fn, cb) => {\n let index = 0\n\n const next = () => {\n if (index >= arr.length) return cb(null, true)\n fn(arr[index], (err, result) => {\n if (err) return cb(err)\n if (result === false) return cb(null, false)\n index++\n next()\n })\n }\n\n next()\n}\n", "const some = require('./async-every')\n\nmodule.exports = (callbacks, event, onCallbackError, cb) => {\n // This function is how we support different kinds of callback:\n // - synchronous - return value\n // - node-style async with callback - cb(err, value)\n // - promise/thenable - resolve(value)\n // It normalises each of these into the lowest common denominator – a node-style callback\n const runMaybeAsyncCallback = (fn, cb) => {\n if (typeof fn !== 'function') return cb(null)\n try {\n // if function appears sync…\n if (fn.length !== 2) {\n const ret = fn(event)\n // check if it returned a \"thenable\" (promise)\n if (ret && typeof ret.then === 'function') {\n return ret.then(\n // resolve\n val => setTimeout(() => cb(null, val)),\n // reject\n err => {\n setTimeout(() => {\n onCallbackError(err)\n return cb(null, true)\n })\n }\n )\n }\n return cb(null, ret)\n }\n // if function is async…\n fn(event, (err, result) => {\n if (err) {\n onCallbackError(err)\n return cb(null)\n }\n cb(null, result)\n })\n } catch (e) {\n onCallbackError(e)\n cb(null)\n }\n }\n\n some(callbacks, runMaybeAsyncCallback, cb)\n}\n", "module.exports = (callbacks, callbackArg, callbackType, logger) => {\n let ignore = false\n const cbs = callbacks.slice()\n while (!ignore) {\n if (!cbs.length) break\n try {\n ignore = cbs.pop()(callbackArg) === false\n } catch (e) {\n logger.error(`Error occurred in ${callbackType} callback, continuing anyway…`)\n logger.error(e)\n }\n }\n return ignore\n}\n", "module.exports = function pad (num, size) {\n var s = '000000000' + num;\n return s.substr(s.length - size);\n};\n", "var pad = require('./pad.js');\n\nvar env = typeof window === 'object' ? window : self;\nvar globalCount = 0;\nfor (var prop in env) {\n if (Object.hasOwnProperty.call(env, prop)) globalCount++;\n}\nvar mimeTypesLength = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\nvar clientId = pad((mimeTypesLength +\n navigator.userAgent.length).toString(36) +\n globalCount.toString(36), 4);\n\nmodule.exports = function fingerprint () {\n return clientId;\n};\n", "/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n\nvar fingerprint = require('./lib/fingerprint.js');\nvar pad = require('./lib/pad.js');\n\nvar c = 0,\n blockSize = 4,\n base = 36,\n discreteValues = Math.pow(base, blockSize);\n\nfunction randomBlock () {\n return pad((Math.random() *\n discreteValues << 0)\n .toString(base), blockSize);\n}\n\nfunction safeCounter () {\n c = c < discreteValues ? c : 0;\n c++; // this is not subliminal\n return c - 1;\n}\n\nfunction cuid () {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c', // hard-coded allows for sequential access\n\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = (new Date().getTime()).toString(base),\n\n // Prevent same-machine collisions.\n counter = pad(safeCounter().toString(base), blockSize),\n\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n print = fingerprint(),\n\n // Grab some more chars from Math.random()\n random = randomBlock() + randomBlock();\n\n return letter + timestamp + counter + print + random;\n}\n\ncuid.fingerprint = fingerprint;\n\nmodule.exports = cuid;\n", "const cuid = require('@bugsnag/cuid')\n\nclass Session {\n constructor () {\n this.id = cuid()\n this.startedAt = new Date()\n this._handled = 0\n this._unhandled = 0\n this._user = {}\n this.app = {}\n this.device = {}\n }\n\n getUser () {\n return this._user\n }\n\n setUser (id, email, name) {\n this._user = { id, email, name }\n }\n\n toJSON () {\n return {\n id: this.id,\n startedAt: this.startedAt,\n events: { handled: this._handled, unhandled: this._unhandled }\n }\n }\n\n _track (event) {\n this[event._handledState.unhandled ? '_unhandled' : '_handled'] += 1\n }\n}\n\nmodule.exports = Session\n", "const config = require('./config')\nconst Event = require('./event')\nconst Breadcrumb = require('./breadcrumb')\nconst Session = require('./session')\nconst map = require('./lib/es-utils/map')\nconst includes = require('./lib/es-utils/includes')\nconst filter = require('./lib/es-utils/filter')\nconst reduce = require('./lib/es-utils/reduce')\nconst keys = require('./lib/es-utils/keys')\nconst assign = require('./lib/es-utils/assign')\nconst runCallbacks = require('./lib/callback-runner')\nconst metadataDelegate = require('./lib/metadata-delegate')\nconst runSyncCallbacks = require('./lib/sync-callback-runner')\nconst BREADCRUMB_TYPES = require('./lib/breadcrumb-types')\n\nconst noop = () => {}\n\nclass Client {\n constructor (configuration, schema = config.schema, internalPlugins = [], notifier) {\n // notifier id\n this._notifier = notifier\n\n // intialise opts and config\n this._config = {}\n this._schema = schema\n\n // i/o\n this._delivery = { sendSession: noop, sendEvent: noop }\n this._logger = { debug: noop, info: noop, warn: noop, error: noop }\n\n // plugins\n this._plugins = {}\n\n // state\n this._breadcrumbs = []\n this._session = null\n this._metadata = {}\n this._context = undefined\n this._user = {}\n\n // callbacks:\n // e: onError\n // s: onSession\n // sp: onSessionPayload\n // b: onBreadcrumb\n // (note these names are minified by hand because object\n // properties are not safe to minify automatically)\n this._cbs = {\n e: [],\n s: [],\n sp: [],\n b: []\n }\n\n // expose internal constructors\n this.Client = Client\n this.Event = Event\n this.Breadcrumb = Breadcrumb\n this.Session = Session\n\n this._config = this._configure(configuration, internalPlugins)\n map(internalPlugins.concat(this._config.plugins), pl => {\n if (pl) this._loadPlugin(pl)\n })\n\n // when notify() is called we need to know how many frames are from our own source\n // this inital value is 1 not 0 because we wrap notify() to ensure it is always\n // bound to have the client as its `this` value – see below.\n this._depth = 1\n\n const self = this\n const notify = this.notify\n this.notify = function () {\n return notify.apply(self, arguments)\n }\n }\n\n addMetadata (section, keyOrObj, maybeVal) {\n return metadataDelegate.add(this._metadata, section, keyOrObj, maybeVal)\n }\n\n getMetadata (section, key) {\n return metadataDelegate.get(this._metadata, section, key)\n }\n\n clearMetadata (section, key) {\n return metadataDelegate.clear(this._metadata, section, key)\n }\n\n getContext () {\n return this._context\n }\n\n setContext (c) {\n this._context = c\n }\n\n _configure (opts, internalPlugins) {\n const schema = reduce(internalPlugins, (schema, plugin) => {\n if (plugin && plugin.configSchema) return assign({}, schema, plugin.configSchema)\n return schema\n }, this._schema)\n\n // accumulate configuration and error messages\n const { errors, config } = reduce(keys(schema), (accum, key) => {\n const defaultValue = schema[key].defaultValue(opts[key])\n\n if (opts[key] !== undefined) {\n const valid = schema[key].validate(opts[key])\n if (!valid) {\n accum.errors[key] = schema[key].message\n accum.config[key] = defaultValue\n } else {\n if (schema[key].allowPartialObject) {\n accum.config[key] = assign(defaultValue, opts[key])\n } else {\n accum.config[key] = opts[key]\n }\n }\n } else {\n accum.config[key] = defaultValue\n }\n\n return accum\n }, { errors: {}, config: {} })\n\n if (schema.apiKey) {\n // missing api key is the only fatal error\n if (!config.apiKey) throw new Error('No Bugsnag API Key set')\n // warn about an apikey that is not of the expected format\n if (!/^[0-9a-f]{32}$/i.test(config.apiKey)) errors.apiKey = 'should be a string of 32 hexadecimal characters'\n }\n\n // update and elevate some options\n this._metadata = assign({}, config.metadata)\n this._user = assign({}, config.user)\n this._context = config.context\n if (config.logger) this._logger = config.logger\n\n // add callbacks\n if (config.onError) this._cbs.e = this._cbs.e.concat(config.onError)\n if (config.onBreadcrumb) this._cbs.b = this._cbs.b.concat(config.onBreadcrumb)\n if (config.onSession) this._cbs.s = this._cbs.s.concat(config.onSession)\n\n // finally warn about any invalid config where we fell back to the default\n if (keys(errors).length) {\n this._logger.warn(generateConfigErrorMessage(errors, opts))\n }\n\n return config\n }\n\n getUser () {\n return this._user\n }\n\n setUser (id, email, name) {\n this._user = { id, email, name }\n }\n\n _loadPlugin (plugin) {\n const result = plugin.load(this)\n // JS objects are not the safest way to store arbitrarily keyed values,\n // so bookend the key with some characters that prevent tampering with\n // stuff like __proto__ etc. (only store the result if the plugin had a\n // name)\n if (plugin.name) this._plugins[`~${plugin.name}~`] = result\n return this\n }\n\n getPlugin (name) {\n return this._plugins[`~${name}~`]\n }\n\n _setDelivery (d) {\n this._delivery = d(this)\n }\n\n startSession () {\n const session = new Session()\n\n session.app.releaseStage = this._config.releaseStage\n session.app.version = this._config.appVersion\n session.app.type = this._config.appType\n\n session._user = assign({}, this._user)\n\n // run onSession callbacks\n const ignore = runSyncCallbacks(this._cbs.s, session, 'onSession', this._logger)\n\n if (ignore) {\n this._logger.debug('Session not started due to onSession callback')\n return this\n }\n return this._sessionDelegate.startSession(this, session)\n }\n\n addOnError (fn, front = false) {\n this._cbs.e[front ? 'unshift' : 'push'](fn)\n }\n\n removeOnError (fn) {\n this._cbs.e = filter(this._cbs.e, f => f !== fn)\n }\n\n _addOnSessionPayload (fn) {\n this._cbs.sp.push(fn)\n }\n\n addOnSession (fn) {\n this._cbs.s.push(fn)\n }\n\n removeOnSession (fn) {\n this._cbs.s = filter(this._cbs.s, f => f !== fn)\n }\n\n addOnBreadcrumb (fn, front = false) {\n this._cbs.b[front ? 'unshift' : 'push'](fn)\n }\n\n removeOnBreadcrumb (fn) {\n this._cbs.b = filter(this._cbs.b, f => f !== fn)\n }\n\n pauseSession () {\n return this._sessionDelegate.pauseSession(this)\n }\n\n resumeSession () {\n return this._sessionDelegate.resumeSession(this)\n }\n\n leaveBreadcrumb (message, metadata, type) {\n // coerce bad values so that the defaults get set\n message = typeof message === 'string' ? message : ''\n type = (typeof type === 'string' && includes(BREADCRUMB_TYPES, type)) ? type : 'manual'\n metadata = typeof metadata === 'object' && metadata !== null ? metadata : {}\n\n // if no message, discard\n if (!message) return\n\n const crumb = new Breadcrumb(message, metadata, type)\n\n // run onBreadcrumb callbacks\n const ignore = runSyncCallbacks(this._cbs.b, crumb, 'onBreadcrumb', this._logger)\n\n if (ignore) {\n this._logger.debug('Breadcrumb not attached due to onBreadcrumb callback')\n return\n }\n\n // push the valid crumb onto the queue and maintain the length\n this._breadcrumbs.push(crumb)\n if (this._breadcrumbs.length > this._config.maxBreadcrumbs) {\n this._breadcrumbs = this._breadcrumbs.slice(this._breadcrumbs.length - this._config.maxBreadcrumbs)\n }\n }\n\n _isBreadcrumbTypeEnabled (type) {\n const types = this._config.enabledBreadcrumbTypes\n\n return types === null || includes(types, type)\n }\n\n notify (maybeError, onError, cb = noop) {\n const event = Event.create(maybeError, true, undefined, 'notify()', this._depth + 1, this._logger)\n this._notify(event, onError, cb)\n }\n\n _notify (event, onError, cb = noop) {\n event.app = assign({}, event.app, {\n releaseStage: this._config.releaseStage,\n version: this._config.appVersion,\n type: this._config.appType\n })\n event.context = event.context || this._context\n event._metadata = assign({}, event._metadata, this._metadata)\n event._user = assign({}, event._user, this._user)\n event.breadcrumbs = this._breadcrumbs.slice()\n\n // exit early if events should not be sent on the current releaseStage\n if (this._config.enabledReleaseStages !== null && !includes(this._config.enabledReleaseStages, this._config.releaseStage)) {\n this._logger.warn('Event not sent due to releaseStage/enabledReleaseStages configuration')\n return cb(null, event)\n }\n\n const originalSeverity = event.severity\n\n const onCallbackError = err => {\n // errors in callbacks are tolerated but we want to log them out\n this._logger.error('Error occurred in onError callback, continuing anyway…')\n this._logger.error(err)\n }\n\n const callbacks = [].concat(this._cbs.e).concat(onError)\n runCallbacks(callbacks, event, onCallbackError, (err, shouldSend) => {\n if (err) onCallbackError(err)\n\n if (!shouldSend) {\n this._logger.debug('Event not sent due to onError callback')\n return cb(null, event)\n }\n\n if (this._isBreadcrumbTypeEnabled('error')) {\n // only leave a crumb for the error if actually got sent\n Client.prototype.leaveBreadcrumb.call(this, event.errors[0].errorClass, {\n errorClass: event.errors[0].errorClass,\n errorMessage: event.errors[0].errorMessage,\n severity: event.severity\n }, 'error')\n }\n\n if (originalSeverity !== event.severity) {\n event._handledState.severityReason = { type: 'userCallbackSetSeverity' }\n }\n\n if (event.unhandled !== event._handledState.unhandled) {\n event._handledState.severityReason.unhandledOverridden = true\n event._handledState.unhandled = event.unhandled\n }\n\n if (this._session) {\n this._session._track(event)\n event._session = this._session\n }\n\n this._delivery.sendEvent({\n apiKey: event.apiKey || this._config.apiKey,\n notifier: this._notifier,\n events: [event]\n }, (err) => cb(err, event))\n })\n }\n}\n\nconst generateConfigErrorMessage = (errors, rawInput) => {\n const er = new Error(\n `Invalid configuration\\n${map(keys(errors), key => ` - ${key} ${errors[key]}, got ${stringify(rawInput[key])}`).join('\\n\\n')}`)\n return er\n}\n\nconst stringify = val => {\n switch (typeof val) {\n case 'string':\n case 'number':\n case 'object':\n return JSON.stringify(val)\n default: return String(val)\n }\n}\n\nmodule.exports = Client\n", "module.exports = function (data, replacer, space, opts) {\n var redactedKeys = opts && opts.redactedKeys ? opts.redactedKeys : []\n var redactedPaths = opts && opts.redactedPaths ? opts.redactedPaths : []\n return JSON.stringify(\n prepareObjForSerialization(data, redactedKeys, redactedPaths),\n replacer,\n space\n )\n}\n\nvar MAX_DEPTH = 20\nvar MAX_EDGES = 25000\nvar MIN_PRESERVED_DEPTH = 8\n\nvar REPLACEMENT_NODE = '...'\n\nfunction isError (o) {\n return o instanceof Error ||\n /^\\[object (Error|(Dom)?Exception)\\]$/.test(Object.prototype.toString.call(o))\n}\n\nfunction throwsMessage (err) {\n return '[Throws: ' + (err ? err.message : '?') + ']'\n}\n\nfunction find (haystack, needle) {\n for (var i = 0, len = haystack.length; i < len; i++) {\n if (haystack[i] === needle) return true\n }\n return false\n}\n\n// returns true if the string `path` starts with any of the provided `paths`\nfunction isDescendent (paths, path) {\n for (var i = 0, len = paths.length; i < len; i++) {\n if (path.indexOf(paths[i]) === 0) return true\n }\n return false\n}\n\nfunction shouldRedact (patterns, key) {\n for (var i = 0, len = patterns.length; i < len; i++) {\n if (typeof patterns[i] === 'string' && patterns[i].toLowerCase() === key.toLowerCase()) return true\n if (patterns[i] && typeof patterns[i].test === 'function' && patterns[i].test(key)) return true\n }\n return false\n}\n\nfunction isArray (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nfunction safelyGetProp (obj, prop) {\n try {\n return obj[prop]\n } catch (err) {\n return throwsMessage(err)\n }\n}\n\nfunction prepareObjForSerialization (obj, redactedKeys, redactedPaths) {\n var seen = [] // store references to objects we have seen before\n var edges = 0\n\n function visit (obj, path) {\n function edgesExceeded () {\n return path.length > MIN_PRESERVED_DEPTH && edges > MAX_EDGES\n }\n\n edges++\n\n if (path.length > MAX_DEPTH) return REPLACEMENT_NODE\n if (edgesExceeded()) return REPLACEMENT_NODE\n if (obj === null || typeof obj !== 'object') return obj\n if (find(seen, obj)) return '[Circular]'\n\n seen.push(obj)\n\n if (typeof obj.toJSON === 'function') {\n try {\n // we're not going to count this as an edge because it\n // replaces the value of the currently visited object\n edges--\n var fResult = visit(obj.toJSON(), path)\n seen.pop()\n return fResult\n } catch (err) {\n return throwsMessage(err)\n }\n }\n\n var er = isError(obj)\n if (er) {\n edges--\n var eResult = visit({ name: obj.name, message: obj.message }, path)\n seen.pop()\n return eResult\n }\n\n if (isArray(obj)) {\n var aResult = []\n for (var i = 0, len = obj.length; i < len; i++) {\n if (edgesExceeded()) {\n aResult.push(REPLACEMENT_NODE)\n break\n }\n aResult.push(visit(obj[i], path.concat('[]')))\n }\n seen.pop()\n return aResult\n }\n\n var result = {}\n try {\n for (var prop in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) continue\n if (isDescendent(redactedPaths, path.join('.')) && shouldRedact(redactedKeys, prop)) {\n result[prop] = '[REDACTED]'\n continue\n }\n if (edgesExceeded()) {\n result[prop] = REPLACEMENT_NODE\n break\n }\n result[prop] = visit(safelyGetProp(obj, prop), path.concat(prop))\n }\n } catch (e) {}\n seen.pop()\n return result\n }\n\n return visit(obj, [])\n}\n", "const jsonStringify = require('@bugsnag/safe-json-stringify')\nconst EVENT_REDACTION_PATHS = [\n 'events.[].metaData',\n 'events.[].breadcrumbs.[].metaData',\n 'events.[].request'\n]\n\nmodule.exports.event = (event, redactedKeys) => {\n let payload = jsonStringify(event, null, null, { redactedPaths: EVENT_REDACTION_PATHS, redactedKeys })\n if (payload.length > 10e5) {\n event.events[0]._metadata = {\n notifier:\n`WARNING!\nSerialized payload was ${payload.length / 10e5}MB (limit = 1MB)\nmetadata was removed`\n }\n payload = jsonStringify(event, null, null, { redactedPaths: EVENT_REDACTION_PATHS, redactedKeys })\n if (payload.length > 10e5) throw new Error('payload exceeded 1MB limit')\n }\n return payload\n}\n\nmodule.exports.session = (event, redactedKeys) => {\n const payload = jsonStringify(event, null, null)\n if (payload.length > 10e5) throw new Error('payload exceeded 1MB limit')\n return payload\n}\n", "const payload = require('@bugsnag/core/lib/json-payload')\n\nmodule.exports = (client, win = window) => ({\n sendEvent: (event, cb = () => {}) => {\n const url = getApiUrl(client._config, 'notify', '4', win)\n const req = new win.XDomainRequest()\n req.onload = function () {\n cb(null)\n }\n req.open('POST', url)\n setTimeout(() => {\n try {\n req.send(payload.event(event, client._config.redactedKeys))\n } catch (e) {\n client._logger.error(e)\n cb(e)\n }\n }, 0)\n },\n sendSession: (session, cb = () => {}) => {\n const url = getApiUrl(client._config, 'sessions', '1', win)\n const req = new win.XDomainRequest()\n req.onload = function () {\n cb(null)\n }\n req.open('POST', url)\n setTimeout(() => {\n try {\n req.send(payload.session(session, client._config.redactedKeys))\n } catch (e) {\n client._logger.error(e)\n cb(e)\n }\n }, 0)\n }\n})\n\nconst getApiUrl = (config, endpoint, version, win) => {\n // IE8 doesn't support Date.prototype.toISOstring(), but it does convert a date\n // to an ISO string when you use JSON stringify. Simply parsing the result of\n // JSON.stringify is smaller than using a toISOstring() polyfill.\n const isoDate = JSON.parse(JSON.stringify(new Date()))\n const url = matchPageProtocol(config.endpoints[endpoint], win.location.protocol)\n return `${url}?apiKey=${encodeURIComponent(config.apiKey)}&payloadVersion=${version}&sentAt=${encodeURIComponent(isoDate)}`\n}\n\nconst matchPageProtocol = module.exports._matchPageProtocol = (endpoint, pageProtocol) =>\n pageProtocol === 'http:'\n ? endpoint.replace(/^https:/, 'http:')\n : endpoint\n", "const payload = require('@bugsnag/core/lib/json-payload')\n\nmodule.exports = (client, win = window) => ({\n sendEvent: (event, cb = () => {}) => {\n try {\n const url = client._config.endpoints.notify\n const req = new win.XMLHttpRequest()\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) cb(null)\n }\n req.open('POST', url)\n req.setRequestHeader('Content-Type', 'application/json')\n req.setRequestHeader('Bugsnag-Api-Key', event.apiKey || client._config.apiKey)\n req.setRequestHeader('Bugsnag-Payload-Version', '4')\n req.setRequestHeader('Bugsnag-Sent-At', (new Date()).toISOString())\n req.send(payload.event(event, client._config.redactedKeys))\n } catch (e) {\n client._logger.error(e)\n }\n },\n sendSession: (session, cb = () => {}) => {\n try {\n const url = client._config.endpoints.sessions\n const req = new win.XMLHttpRequest()\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) cb(null)\n }\n req.open('POST', url)\n req.setRequestHeader('Content-Type', 'application/json')\n req.setRequestHeader('Bugsnag-Api-Key', client._config.apiKey)\n req.setRequestHeader('Bugsnag-Payload-Version', '1')\n req.setRequestHeader('Bugsnag-Sent-At', (new Date()).toISOString())\n req.send(payload.session(session, client._config.redactedKeys))\n } catch (e) {\n client._logger.error(e)\n }\n }\n})\n", "let appStart = new Date()\nconst reset = () => { appStart = new Date() }\n\nmodule.exports = {\n name: 'appDuration',\n load: client => {\n client.addOnError(event => {\n const now = new Date()\n\n event.app.duration = now - appStart\n }, true)\n\n return { reset }\n }\n}\n", "/*\n * Sets the default context to be the current URL\n */\nmodule.exports = (win = window) => ({\n load: (client) => {\n client.addOnError(event => {\n if (event.context !== undefined) return\n event.context = win.location.pathname\n }, true)\n }\n})\n", "const cuid = require('@bugsnag/cuid')\nconst assign = require('@bugsnag/core/lib/es-utils/assign')\nconst BUGSNAG_ANONYMOUS_ID_KEY = 'bugsnag-anonymous-id'\n\nconst getDeviceId = () => {\n try {\n const storage = window.localStorage\n\n let id = storage.getItem(BUGSNAG_ANONYMOUS_ID_KEY)\n\n // If we get an ID, make sure it looks like a valid cuid. The length can\n // fluctuate slightly, so some leeway is built in\n if (id && /^c[a-z0-9]{20,32}$/.test(id)) {\n return id\n }\n\n id = cuid()\n\n storage.setItem(BUGSNAG_ANONYMOUS_ID_KEY, id)\n\n return id\n } catch (err) {\n // If localStorage is not available (e.g. because it's disabled) then give up\n }\n}\n\n/*\n * Automatically detects browser device details\n */\nmodule.exports = (nav = navigator, screen = window.screen) => ({\n load: (client) => {\n const device = {\n locale: nav.browserLanguage || nav.systemLanguage || nav.userLanguage || nav.language,\n userAgent: nav.userAgent\n }\n\n if (screen && screen.orientation && screen.orientation.type) {\n device.orientation = screen.orientation.type\n } else {\n device.orientation =\n document.documentElement.clientWidth > document.documentElement.clientHeight\n ? 'landscape'\n : 'portrait'\n }\n\n if (client._config.generateAnonymousId) {\n device.id = getDeviceId()\n }\n\n client.addOnSession(session => {\n session.device = assign({}, session.device, device)\n // only set device id if collectUserIp is false\n if (!client._config.collectUserIp) setDefaultUserId(session)\n })\n\n // add time just as the event is sent\n client.addOnError((event) => {\n event.device = assign({},\n event.device,\n device,\n { time: new Date() }\n )\n if (!client._config.collectUserIp) setDefaultUserId(event)\n }, true)\n },\n configSchema: {\n generateAnonymousId: {\n validate: value => value === true || value === false,\n defaultValue: () => true,\n message: 'should be true|false'\n }\n }\n})\n\nconst setDefaultUserId = (eventOrSession) => {\n // device id is also used to populate the user id field, if it's not already set\n const user = eventOrSession.getUser()\n if (!user || !user.id) {\n eventOrSession.setUser(eventOrSession.device.id)\n }\n}\n", "const assign = require('@bugsnag/core/lib/es-utils/assign')\n\n/*\n * Sets the event request: { url } to be the current href\n */\nmodule.exports = (win = window) => ({\n load: (client) => {\n client.addOnError(event => {\n if (event.request && event.request.url) return\n event.request = assign({}, event.request, { url: win.location.href })\n }, true)\n }\n})\n", "const includes = require('@bugsnag/core/lib/es-utils/includes')\n\nmodule.exports = {\n load: client => { client._sessionDelegate = sessionDelegate }\n}\n\nconst sessionDelegate = {\n startSession: (client, session) => {\n const sessionClient = client\n sessionClient._session = session\n sessionClient._pausedSession = null\n\n // exit early if the current releaseStage is not enabled\n if (sessionClient._config.enabledReleaseStages !== null && !includes(sessionClient._config.enabledReleaseStages, sessionClient._config.releaseStage)) {\n sessionClient._logger.warn('Session not sent due to releaseStage/enabledReleaseStages configuration')\n return sessionClient\n }\n\n sessionClient._delivery.sendSession({\n notifier: sessionClient._notifier,\n device: session.device,\n app: session.app,\n sessions: [\n {\n id: session.id,\n startedAt: session.startedAt,\n user: session._user\n }\n ]\n })\n return sessionClient\n },\n resumeSession: (client) => {\n // Do nothing if there's already an active session\n if (client._session) {\n return client\n }\n\n // If we have a paused session then make it the active session\n if (client._pausedSession) {\n client._session = client._pausedSession\n client._pausedSession = null\n\n return client\n }\n\n // Otherwise start a new session\n return client.startSession()\n },\n pauseSession: (client) => {\n client._pausedSession = client._session\n client._session = null\n }\n}\n", "const assign = require('@bugsnag/core/lib/es-utils/assign')\n\n/*\n * Prevent collection of user IPs\n */\nmodule.exports = {\n load: (client) => {\n if (client._config.collectUserIp) return\n\n client.addOnError(event => {\n // If user.id is explicitly undefined, it will be missing from the payload. It needs\n // removing so that the following line replaces it\n if (event._user && typeof event._user.id === 'undefined') delete event._user.id\n event._user = assign({ id: '[REDACTED]' }, event._user)\n event.request = assign({ clientIp: '[REDACTED]' }, event.request)\n })\n },\n configSchema: {\n collectUserIp: {\n defaultValue: () => true,\n message: 'should be true|false',\n validate: value => value === true || value === false\n }\n }\n}\n", "const map = require('@bugsnag/core/lib/es-utils/map')\nconst reduce = require('@bugsnag/core/lib/es-utils/reduce')\nconst filter = require('@bugsnag/core/lib/es-utils/filter')\n\n/*\n * Leaves breadcrumbs when console log methods are called\n */\nexports.load = (client) => {\n const isDev = /^(local-)?dev(elopment)?$/.test(client._config.releaseStage)\n\n if (isDev || !client._isBreadcrumbTypeEnabled('log')) return\n\n map(CONSOLE_LOG_METHODS, method => {\n const original = console[method]\n console[method] = (...args) => {\n client.leaveBreadcrumb('Console output', reduce(args, (accum, arg, i) => {\n // do the best/simplest stringification of each argument\n let stringified = '[Unknown value]'\n // this may fail if the input is:\n // - an object whose [[Prototype]] is null (no toString)\n // - an object with a broken toString or @@toPrimitive implementation\n try { stringified = String(arg) } catch (e) {}\n // if it stringifies to [object Object] attempt to JSON stringify\n if (stringified === '[object Object]') {\n // catch stringify errors and fallback to [object Object]\n try { stringified = JSON.stringify(arg) } catch (e) {}\n }\n accum[`[${i}]`] = stringified\n return accum\n }, {\n severity: method.indexOf('group') === 0 ? 'log' : method\n }), 'log')\n original.apply(console, args)\n }\n console[method]._restore = () => { console[method] = original }\n })\n}\n\nif (process.env.NODE_ENV !== 'production') {\n exports.destroy = () => CONSOLE_LOG_METHODS.forEach(method => {\n if (typeof console[method]._restore === 'function') console[method]._restore()\n })\n}\n\nconst CONSOLE_LOG_METHODS = filter(['log', 'debug', 'info', 'warn', 'error'], method =>\n typeof console !== 'undefined' && typeof console[method] === 'function'\n)\n", "const map = require('@bugsnag/core/lib/es-utils/map')\nconst reduce = require('@bugsnag/core/lib/es-utils/reduce')\nconst filter = require('@bugsnag/core/lib/es-utils/filter')\n\nconst MAX_LINE_LENGTH = 200\nconst MAX_SCRIPT_LENGTH = 500000\n\nmodule.exports = (doc = document, win = window) => ({\n load: (client) => {\n if (!client._config.trackInlineScripts) return\n\n const originalLocation = win.location.href\n let html = ''\n\n // in IE8-10 the 'interactive' state can fire too soon (before scripts have finished executing), so in those\n // we wait for the 'complete' state before assuming that synchronous scripts are no longer executing\n const isOldIe = !!doc.attachEvent\n let DOMContentLoaded = isOldIe ? doc.readyState === 'complete' : doc.readyState !== 'loading'\n const getHtml = () => doc.documentElement.outerHTML\n\n // get whatever HTML exists at this point in time\n html = getHtml()\n const prev = doc.onreadystatechange\n // then update it when the DOM content has loaded\n doc.onreadystatechange = function () {\n // IE8 compatible alternative to document#DOMContentLoaded\n if (doc.readyState === 'interactive') {\n html = getHtml()\n DOMContentLoaded = true\n }\n try { prev.apply(this, arguments) } catch (e) {}\n }\n\n let _lastScript = null\n const updateLastScript = script => {\n _lastScript = script\n }\n\n const getCurrentScript = () => {\n let script = doc.currentScript || _lastScript\n if (!script && !DOMContentLoaded) {\n const scripts = doc.scripts || doc.getElementsByTagName('script')\n script = scripts[scripts.length - 1]\n }\n return script\n }\n\n const addSurroundingCode = lineNumber => {\n // get whatever html has rendered at this point\n if (!DOMContentLoaded || !html) html = getHtml()\n // simulate the raw html\n const htmlLines = ['<!-- DOC START -->'].concat(html.split('\\n'))\n const zeroBasedLine = lineNumber - 1\n const start = Math.max(zeroBasedLine - 3, 0)\n const end = Math.min(zeroBasedLine + 3, htmlLines.length)\n return reduce(htmlLines.slice(start, end), (accum, line, i) => {\n accum[start + 1 + i] = line.length <= MAX_LINE_LENGTH ? line : line.substr(0, MAX_LINE_LENGTH)\n return accum\n }, {})\n }\n\n client.addOnError(event => {\n // remove any of our own frames that may be part the stack this\n // happens before the inline script check as it happens for all errors\n event.errors[0].stacktrace = filter(event.errors[0].stacktrace, f => !(/__trace__$/.test(f.method)))\n\n const frame = event.errors[0].stacktrace[0]\n\n // if frame.file exists and is not the original location of the page, this can't be an inline script\n if (frame && frame.file && frame.file.replace(/#.*$/, '') !== originalLocation.replace(/#.*$/, '')) return\n\n // grab the last script known to have run\n const currentScript = getCurrentScript()\n if (currentScript) {\n const content = currentScript.innerHTML\n event.addMetadata(\n 'script',\n 'content',\n content.length <= MAX_SCRIPT_LENGTH ? content : content.substr(0, MAX_SCRIPT_LENGTH)\n )\n\n // only attempt to grab some surrounding code if we have a line number\n if (frame && frame.lineNumber) {\n frame.code = addSurroundingCode(frame.lineNumber)\n }\n }\n }, true)\n\n // Proxy all the timer functions whose callback is their 0th argument.\n // Keep a reference to the original setTimeout because we need it later\n const [_setTimeout] = map([\n 'setTimeout',\n 'setInterval',\n 'setImmediate',\n 'requestAnimationFrame'\n ], fn =>\n __proxy(win, fn, original =>\n __traceOriginalScript(original, args => ({\n get: () => args[0],\n replace: fn => { args[0] = fn }\n }))\n )\n )\n\n // Proxy all the host objects whose prototypes have an addEventListener function\n map([\n 'EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode',\n 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase',\n 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow',\n 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList',\n 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'\n ], o => {\n if (!win[o] || !win[o].prototype || !Object.prototype.hasOwnProperty.call(win[o].prototype, 'addEventListener')) return\n __proxy(win[o].prototype, 'addEventListener', original =>\n __traceOriginalScript(original, eventTargetCallbackAccessor)\n )\n __proxy(win[o].prototype, 'removeEventListener', original =>\n __traceOriginalScript(original, eventTargetCallbackAccessor, true)\n )\n })\n\n function __traceOriginalScript (fn, callbackAccessor, alsoCallOriginal = false) {\n return function () {\n // this is required for removeEventListener to remove anything added with\n // addEventListener before the functions started being wrapped by Bugsnag\n const args = [].slice.call(arguments)\n try {\n const cba = callbackAccessor(args)\n const cb = cba.get()\n if (alsoCallOriginal) fn.apply(this, args)\n if (typeof cb !== 'function') return fn.apply(this, args)\n if (cb.__trace__) {\n cba.replace(cb.__trace__)\n } else {\n const script = getCurrentScript()\n // this function mustn't be annonymous due to a bug in the stack\n // generation logic, meaning it gets tripped up\n // see: https://github.com/stacktracejs/stack-generator/issues/6\n cb.__trace__ = function __trace__ () {\n // set the script that called this function\n updateLastScript(script)\n // immediately unset the currentScript synchronously below, however\n // if this cb throws an error the line after will not get run so schedule\n // an almost-immediate aysnc update too\n _setTimeout(function () { updateLastScript(null) }, 0)\n const ret = cb.apply(this, arguments)\n updateLastScript(null)\n return ret\n }\n cb.__trace__.__trace__ = cb.__trace__\n cba.replace(cb.__trace__)\n }\n } catch (e) {\n // swallow these errors on Selenium:\n // Permission denied to access property '__trace__'\n // WebDriverException: Message: Permission denied to access property \"handleEvent\"\n }\n // IE8 doesn't let you call .apply() on setTimeout/setInterval\n if (fn.apply) return fn.apply(this, args)\n switch (args.length) {\n case 1: return fn(args[0])\n case 2: return fn(args[0], args[1])\n default: return fn()\n }\n }\n }\n },\n configSchema: {\n trackInlineScripts: {\n validate: value => value === true || value === false,\n defaultValue: () => true,\n message: 'should be true|false'\n }\n }\n})\n\nfunction __proxy (host, name, replacer) {\n const original = host[name]\n if (!original) return original\n const replacement = replacer(original)\n host[name] = replacement\n return original\n}\n\nfunction eventTargetCallbackAccessor (args) {\n const isEventHandlerObj = !!args[1] && typeof args[1].handleEvent === 'function'\n return {\n get: function () {\n return isEventHandlerObj ? args[1].handleEvent : args[1]\n },\n replace: function (fn) {\n if (isEventHandlerObj) {\n args[1].handleEvent = fn\n } else {\n args[1] = fn\n }\n }\n }\n}\n", "/*\n * Leaves breadcrumbs when the user interacts with the DOM\n */\nmodule.exports = (win = window) => ({\n load: (client) => {\n if (!('addEventListener' in win)) return\n if (!client._isBreadcrumbTypeEnabled('user')) return\n\n win.addEventListener('click', (event) => {\n let targetText, targetSelector\n try {\n targetText = getNodeText(event.target)\n targetSelector = getNodeSelector(event.target, win)\n } catch (e) {\n targetText = '[hidden]'\n targetSelector = '[hidden]'\n client._logger.error('Cross domain error when tracking click event. See docs: https://tinyurl.com/yy3rn63z')\n }\n client.leaveBreadcrumb('UI click', { targetText, targetSelector }, 'user')\n }, true)\n }\n})\n\n// extract text content from a element\nconst getNodeText = el => {\n let text = el.textContent || el.innerText || ''\n if (!text && (el.type === 'submit' || el.type === 'button')) text = el.value\n text = text.replace(/^\\s+|\\s+$/g, '') // trim whitespace\n return truncate(text, 140)\n}\n\n// Create a label from tagname, id and css class of the element\nfunction getNodeSelector (el, win) {\n const parts = [el.tagName]\n if (el.id) parts.push('#' + el.id)\n if (el.className && el.className.length) parts.push(`.${el.className.split(' ').join('.')}`)\n // Can't get much more advanced with the current browser\n if (!win.document.querySelectorAll || !Array.prototype.indexOf) return parts.join('')\n try {\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('')\n } catch (e) {\n // Sometimes the query selector can be invalid just return it as-is\n return parts.join('')\n }\n // try to get a more specific selector if this one matches more than one element\n if (el.parentNode.childNodes.length > 1) {\n const index = Array.prototype.indexOf.call(el.parentNode.childNodes, el) + 1\n parts.push(`:nth-child(${index})`)\n }\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('')\n // try prepending the parent node selector\n if (el.parentNode) return `${getNodeSelector(el.parentNode, win)} > ${parts.join('')}`\n return parts.join('')\n}\n\nfunction truncate (value, length) {\n const ommision = '(...)'\n if (value && value.length <= length) return value\n return value.slice(0, length - ommision.length) + ommision\n}\n", "/*\n* Leaves breadcrumbs when navigation methods are called or events are emitted\n*/\nmodule.exports = (win = window) => {\n const plugin = {\n load: (client) => {\n if (!('addEventListener' in win)) return\n if (!client._isBreadcrumbTypeEnabled('navigation')) return\n\n // returns a function that will drop a breadcrumb with a given name\n const drop = name => () => client.leaveBreadcrumb(name, {}, 'navigation')\n\n // simple drops – just names, no meta\n win.addEventListener('pagehide', drop('Page hidden'), true)\n win.addEventListener('pageshow', drop('Page shown'), true)\n win.addEventListener('load', drop('Page loaded'), true)\n win.document.addEventListener('DOMContentLoaded', drop('DOMContentLoaded'), true)\n // some browsers like to emit popstate when the page loads, so only add the popstate listener after that\n win.addEventListener('load', () => win.addEventListener('popstate', drop('Navigated back'), true))\n\n // hashchange has some metadata that we care about\n win.addEventListener('hashchange', event => {\n const metadata = event.oldURL\n ? { from: relativeLocation(event.oldURL, win), to: relativeLocation(event.newURL, win), state: getCurrentState(win) }\n : { to: relativeLocation(win.location.href, win) }\n client.leaveBreadcrumb('Hash changed', metadata, 'navigation')\n }, true)\n\n // the only way to know about replaceState/pushState is to wrap them… >_<\n\n if (win.history.replaceState) wrapHistoryFn(client, win.history, 'replaceState', win)\n if (win.history.pushState) wrapHistoryFn(client, win.history, 'pushState', win)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n plugin.destroy = (win = window) => {\n win.history.replaceState._restore()\n win.history.pushState._restore()\n }\n }\n\n return plugin\n}\n\nif (process.env.NODE_ENV !== 'production') {\n exports.destroy = (win = window) => {\n win.history.replaceState._restore()\n win.history.pushState._restore()\n }\n}\n\n// takes a full url like http://foo.com:1234/pages/01.html?yes=no#section-2 and returns\n// just the path and hash parts, e.g. /pages/01.html?yes=no#section-2\nconst relativeLocation = (url, win) => {\n const a = win.document.createElement('A')\n a.href = url\n return `${a.pathname}${a.search}${a.hash}`\n}\n\nconst stateChangeToMetadata = (win, state, title, url) => {\n const currentPath = relativeLocation(win.location.href, win)\n return { title, state, prevState: getCurrentState(win), to: url || currentPath, from: currentPath }\n}\n\nconst wrapHistoryFn = (client, target, fn, win) => {\n const orig = target[fn]\n target[fn] = (state, title, url) => {\n client.leaveBreadcrumb(`History ${fn}`, stateChangeToMetadata(win, state, title, url), 'navigation')\n // if throttle plugin is in use, reset the event sent count\n if (typeof client.resetEventCount === 'function') client.resetEventCount()\n // if the client is operating in auto session-mode, a new route should trigger a new session\n if (client._config.autoTrackSessions) client.startSession()\n // Internet Explorer will convert `undefined` to a string when passed, causing an unintended redirect\n // to '/undefined'. therefore we only pass the url if it's not undefined.\n orig.apply(target, [state, title].concat(url !== undefined ? url : []))\n }\n if (process.env.NODE_ENV !== 'production') {\n target[fn]._restore = () => { target[fn] = orig }\n }\n}\n\nconst getCurrentState = (win) => {\n try {\n return win.history.state\n } catch (e) {}\n}\n", "const BREADCRUMB_TYPE = 'request'\n\n// keys to safely store metadata on the request object\nconst REQUEST_SETUP_KEY = 'BS~~S'\nconst REQUEST_URL_KEY = 'BS~~U'\nconst REQUEST_METHOD_KEY = 'BS~~M'\n\nconst includes = require('@bugsnag/core/lib/es-utils/includes')\n\n/*\n * Leaves breadcrumbs when network requests occur\n */\nmodule.exports = (_ignoredUrls = [], win = window) => {\n let restoreFunctions = []\n const plugin = {\n load: client => {\n if (!client._isBreadcrumbTypeEnabled('request')) return\n\n const ignoredUrls = [\n client._config.endpoints.notify,\n client._config.endpoints.sessions\n ].concat(_ignoredUrls)\n\n monkeyPatchXMLHttpRequest()\n monkeyPatchFetch()\n\n // XMLHttpRequest monkey patch\n function monkeyPatchXMLHttpRequest () {\n if (!('addEventListener' in win.XMLHttpRequest.prototype)) return\n const nativeOpen = win.XMLHttpRequest.prototype.open\n\n // override native open()\n win.XMLHttpRequest.prototype.open = function open (method, url) {\n // store url and HTTP method for later\n this[REQUEST_URL_KEY] = url\n this[REQUEST_METHOD_KEY] = method\n\n // if we have already setup listeners, it means open() was called twice, we need to remove\n // the listeners and recreate them\n if (this[REQUEST_SETUP_KEY]) {\n this.removeEventListener('load', handleXHRLoad)\n this.removeEventListener('error', handleXHRError)\n }\n\n // attach load event listener\n this.addEventListener('load', handleXHRLoad)\n // attach error event listener\n this.addEventListener('error', handleXHRError)\n\n this[REQUEST_SETUP_KEY] = true\n\n nativeOpen.apply(this, arguments)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n restoreFunctions.push(() => {\n win.XMLHttpRequest.prototype.open = nativeOpen\n })\n }\n }\n\n function handleXHRLoad () {\n if (includes(ignoredUrls, this[REQUEST_URL_KEY].replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return\n }\n const metadata = {\n status: this.status,\n request: `${this[REQUEST_METHOD_KEY]} ${this[REQUEST_URL_KEY]}`\n }\n if (this.status >= 400) {\n // contacted server but got an error response\n client.leaveBreadcrumb('XMLHttpRequest failed', metadata, BREADCRUMB_TYPE)\n } else {\n client.leaveBreadcrumb('XMLHttpRequest succeeded', metadata, BREADCRUMB_TYPE)\n }\n }\n\n function handleXHRError () {\n if (includes(ignoredUrls, this[REQUEST_URL_KEY].replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return\n }\n // failed to contact server\n client.leaveBreadcrumb('XMLHttpRequest error', {\n request: `${this[REQUEST_METHOD_KEY]} ${this[REQUEST_URL_KEY]}`\n }, BREADCRUMB_TYPE)\n }\n\n // window.fetch monkey patch\n function monkeyPatchFetch () {\n // only patch it if it exists and if it is not a polyfill (patching a polyfilled\n // fetch() results in duplicate breadcrumbs for the same request because the\n // implementation uses XMLHttpRequest which is also patched)\n if (!('fetch' in win) || win.fetch.polyfill) return\n\n const oldFetch = win.fetch\n win.fetch = function fetch () {\n const urlOrRequest = arguments[0]\n const options = arguments[1]\n\n let method\n let url = null\n\n if (urlOrRequest && typeof urlOrRequest === 'object') {\n url = urlOrRequest.url\n if (options && 'method' in options) {\n method = options.method\n } else if (urlOrRequest && 'method' in urlOrRequest) {\n method = urlOrRequest.method\n }\n } else {\n url = urlOrRequest\n if (options && 'method' in options) {\n method = options.method\n }\n }\n\n if (method === undefined) {\n method = 'GET'\n }\n\n return new Promise((resolve, reject) => {\n // pass through to native fetch\n oldFetch(...arguments)\n .then(response => {\n handleFetchSuccess(response, method, url)\n resolve(response)\n })\n .catch(error => {\n handleFetchError(method, url)\n reject(error)\n })\n })\n }\n\n if (process.env.NODE_ENV !== 'production') {\n restoreFunctions.push(() => {\n win.fetch = oldFetch\n })\n }\n }\n\n const handleFetchSuccess = (response, method, url) => {\n const metadata = {\n status: response.status,\n request: `${method} ${url}`\n }\n if (response.status >= 400) {\n // when the request comes back with a 4xx or 5xx status it does not reject the fetch promise,\n client.leaveBreadcrumb('fetch() failed', metadata, BREADCRUMB_TYPE)\n } else {\n client.leaveBreadcrumb('fetch() succeeded', metadata, BREADCRUMB_TYPE)\n }\n }\n\n const handleFetchError = (method, url) => {\n client.leaveBreadcrumb('fetch() error', { request: `${method} ${url}` }, BREADCRUMB_TYPE)\n }\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n plugin.destroy = () => {\n restoreFunctions.forEach(fn => fn())\n restoreFunctions = []\n }\n }\n\n return plugin\n}\n", "const intRange = require('@bugsnag/core/lib/validators/int-range')\n\n/*\n * Throttles and dedupes events\n */\n\nmodule.exports = {\n load: (client) => {\n // track sent events for each init of the plugin\n let n = 0\n\n // add onError hook\n client.addOnError((event) => {\n // have max events been sent already?\n if (n >= client._config.maxEvents) return false\n n++\n })\n\n client.resetEventCount = () => { n = 0 }\n },\n configSchema: {\n maxEvents: {\n defaultValue: () => 10,\n message: 'should be a positive integer ≤100',\n validate: val => intRange(1, 100)(val)\n }\n }\n}\n", "/*\n * Remove query strings (and fragments) from stacktraces\n */\nconst map = require('@bugsnag/core/lib/es-utils/map')\nconst reduce = require('@bugsnag/core/lib/es-utils/reduce')\n\nmodule.exports = {\n load: (client) => {\n client.addOnError(event => {\n const allFrames = reduce(event.errors, (accum, er) => accum.concat(er.stacktrace), [])\n map(allFrames, frame => {\n frame.file = strip(frame.file)\n })\n })\n }\n}\n\nconst strip = module.exports._strip = str =>\n typeof str === 'string'\n ? str.replace(/\\?.*$/, '').replace(/#.*$/, '')\n : str\n", "/*\n * Automatically notifies Bugsnag when window.onerror is called\n */\n\nmodule.exports = (win = window) => ({\n load: (client) => {\n if (!client._config.autoDetectErrors) return\n if (!client._config.enabledErrorTypes.unhandledExceptions) return\n function onerror (messageOrEvent, url, lineNo, charNo, error) {\n // Ignore errors with no info due to CORS settings\n if (lineNo === 0 && /Script error\\.?/.test(messageOrEvent)) {\n client._logger.warn('Ignoring cross-domain or eval script error. See docs: https://tinyurl.com/yy3rn63z')\n } else {\n // any error sent to window.onerror is unhandled and has severity=error\n const handledState = { severity: 'error', unhandled: true, severityReason: { type: 'unhandledException' } }\n\n let event\n\n // window.onerror can be called in a number of ways. This big if-else is how we\n // figure out which arguments were supplied, and what kind of values it received.\n\n if (error) {\n // if the last parameter (error) was supplied, this is a modern browser's\n // way of saying \"this value was thrown and not caught\"\n event = client.Event.create(error, true, handledState, 'window onerror', 1)\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo)\n } else if (\n // This complex case detects \"error\" events that are typically synthesised\n // by jquery's trigger method (although can be created in other ways). In\n // order to detect this:\n // - the first argument (message) must exist and be an object (most likely it's a jQuery event)\n // - the second argument (url) must either not exist or be something other than a string (if it\n // exists and is not a string, it'll be the extraParameters argument from jQuery's trigger()\n // function)\n // - the third, fourth and fifth arguments must not exist (lineNo, charNo and error)\n (typeof messageOrEvent === 'object' && messageOrEvent !== null) &&\n (!url || typeof url !== 'string') &&\n !lineNo && !charNo && !error\n ) {\n // The jQuery event may have a \"type\" property, if so use it as part of the error message\n const name = messageOrEvent.type ? `Event: ${messageOrEvent.type}` : 'Error'\n // attempt to find a message from one of the conventional properties, but\n // default to empty string (the event will fill it with a placeholder)\n const message = messageOrEvent.message || messageOrEvent.detail || ''\n\n event = client.Event.create({ name, message }, true, handledState, 'window onerror', 1)\n\n // provide the original thing onerror received – not our error-like object we passed to _notify\n event.originalError = messageOrEvent\n\n // include the raw input as metadata – it might contain more info than we extracted\n event.addMetadata('window onerror', { event: messageOrEvent, extraParameters: url })\n } else {\n // Lastly, if there was no \"error\" parameter this event was probably from an old\n // browser that doesn't support that. Instead we need to generate a stacktrace.\n event = client.Event.create(messageOrEvent, true, handledState, 'window onerror', 1)\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo)\n }\n\n client._notify(event)\n }\n\n if (typeof prevOnError === 'function') prevOnError.apply(this, arguments)\n }\n\n const prevOnError = win.onerror\n win.onerror = onerror\n }\n})\n\n// Sometimes the stacktrace has less information than was passed to window.onerror.\n// This function will augment the first stackframe with any useful info that was\n// received as arguments to the onerror callback.\nconst decorateStack = (stack, url, lineNo, charNo) => {\n if (!stack[0]) stack.push({})\n const culprit = stack[0]\n if (!culprit.file && typeof url === 'string') culprit.file = url\n if (!culprit.lineNumber && isActualNumber(lineNo)) culprit.lineNumber = lineNo\n if (!culprit.columnNumber) {\n if (isActualNumber(charNo)) {\n culprit.columnNumber = charNo\n } else if (window.event && isActualNumber(window.event.errorCharacter)) {\n culprit.columnNumber = window.event.errorCharacter\n }\n }\n}\n\nconst isActualNumber = (n) => typeof n === 'number' && String.call(n) !== 'NaN'\n", "const map = require('@bugsnag/core/lib/es-utils/map')\nconst isError = require('@bugsnag/core/lib/iserror')\n\nlet _listener\n/*\n * Automatically notifies Bugsnag when window.onunhandledrejection is called\n */\nmodule.exports = (win = window) => {\n const plugin = {\n load: (client) => {\n if (!client._config.autoDetectErrors || !client._config.enabledErrorTypes.unhandledRejections) return\n const listener = evt => {\n let error = evt.reason\n let isBluebird = false\n\n // accessing properties on evt.detail can throw errors (see #394)\n try {\n if (evt.detail && evt.detail.reason) {\n error = evt.detail.reason\n isBluebird = true\n }\n } catch (e) {}\n\n const event = client.Event.create(error, false, {\n severity: 'error',\n unhandled: true,\n severityReason: { type: 'unhandledPromiseRejection' }\n }, 'unhandledrejection handler', 1, client._logger)\n\n if (isBluebird) {\n map(event.errors[0].stacktrace, fixBluebirdStacktrace(error))\n }\n\n client._notify(event, (event) => {\n if (isError(event.originalError) && !event.originalError.stack) {\n event.addMetadata('unhandledRejection handler', {\n [Object.prototype.toString.call(event.originalError)]: {\n name: event.originalError.name,\n message: event.originalError.message,\n code: event.originalError.code\n }\n })\n }\n })\n }\n if ('addEventListener' in win) {\n win.addEventListener('unhandledrejection', listener)\n } else {\n win.onunhandledrejection = (reason, promise) => {\n listener({ detail: { reason, promise } })\n }\n }\n _listener = listener\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n plugin.destroy = (win = window) => {\n if (_listener) {\n if ('addEventListener' in win) {\n win.removeEventListener('unhandledrejection', _listener)\n } else {\n win.onunhandledrejection = null\n }\n }\n _listener = null\n }\n }\n\n return plugin\n}\n\n// The stack parser on bluebird stacks in FF get a suprious first frame:\n//\n// Error: derp\n// b@http://localhost:5000/bluebird.html:22:24\n// a@http://localhost:5000/bluebird.html:18:9\n// @http://localhost:5000/bluebird.html:14:9\n//\n// results in\n// […]\n// 0: Object { file: \"Error: derp\", method: undefined, lineNumber: undefined, … }\n// 1: Object { file: \"http://localhost:5000/bluebird.html\", method: \"b\", lineNumber: 22, … }\n// 2: Object { file: \"http://localhost:5000/bluebird.html\", method: \"a\", lineNumber: 18, … }\n// 3: Object { file: \"http://localhost:5000/bluebird.html\", lineNumber: 14, columnNumber: 9, … }\n//\n// so the following reduce/accumulator function removes such frames\n//\n// Bluebird pads method names with spaces so trim that too…\n// https://github.com/petkaantonov/bluebird/blob/b7f21399816d02f979fe434585334ce901dcaf44/src/debuggability.js#L568-L571\nconst fixBluebirdStacktrace = (error) => (frame) => {\n if (frame.file === error.toString()) return\n if (frame.method) {\n frame.method = frame.method.replace(/^\\s+/, '')\n }\n}\n", "const name = 'Bugsnag JavaScript'\nconst version = '7.11.0'\nconst url = 'https://github.com/bugsnag/bugsnag-js'\n\nconst Client = require('@bugsnag/core/client')\nconst Event = require('@bugsnag/core/event')\nconst Session = require('@bugsnag/core/session')\nconst Breadcrumb = require('@bugsnag/core/breadcrumb')\n\nconst map = require('@bugsnag/core/lib/es-utils/map')\nconst keys = require('@bugsnag/core/lib/es-utils/keys')\nconst assign = require('@bugsnag/core/lib/es-utils/assign')\n\n// extend the base config schema with some browser-specific options\nconst schema = assign({}, require('@bugsnag/core/config').schema, require('./config'))\n\nconst pluginWindowOnerror = require('@bugsnag/plugin-window-onerror')\nconst pluginUnhandledRejection = require('@bugsnag/plugin-window-unhandled-rejection')\nconst pluginApp = require('@bugsnag/plugin-app-duration')\nconst pluginDevice = require('@bugsnag/plugin-browser-device')\nconst pluginContext = require('@bugsnag/plugin-browser-context')\nconst pluginRequest = require('@bugsnag/plugin-browser-request')\nconst pluginThrottle = require('@bugsnag/plugin-simple-throttle')\nconst pluginConsoleBreadcrumbs = require('@bugsnag/plugin-console-breadcrumbs')\nconst pluginNetworkBreadcrumbs = require('@bugsnag/plugin-network-breadcrumbs')\nconst pluginNavigationBreadcrumbs = require('@bugsnag/plugin-navigation-breadcrumbs')\nconst pluginInteractionBreadcrumbs = require('@bugsnag/plugin-interaction-breadcrumbs')\nconst pluginInlineScriptContent = require('@bugsnag/plugin-inline-script-content')\nconst pluginSession = require('@bugsnag/plugin-browser-session')\nconst pluginIp = require('@bugsnag/plugin-client-ip')\nconst pluginStripQueryString = require('@bugsnag/plugin-strip-query-string')\n\n// delivery mechanisms\nconst dXDomainRequest = require('@bugsnag/delivery-x-domain-request')\nconst dXMLHttpRequest = require('@bugsnag/delivery-xml-http-request')\n\nconst Bugsnag = {\n _client: null,\n createClient: (opts) => {\n // handle very simple use case where user supplies just the api key as a string\n if (typeof opts === 'string') opts = { apiKey: opts }\n if (!opts) opts = {}\n\n const internalPlugins = [\n // add browser-specific plugins\n pluginApp,\n pluginDevice(),\n pluginContext(),\n pluginRequest(),\n pluginThrottle,\n pluginSession,\n pluginIp,\n pluginStripQueryString,\n pluginWindowOnerror(),\n pluginUnhandledRejection(),\n pluginNavigationBreadcrumbs(),\n pluginInteractionBreadcrumbs(),\n pluginNetworkBreadcrumbs(),\n pluginConsoleBreadcrumbs,\n\n // this one added last to avoid wrapping functionality before bugsnag uses it\n pluginInlineScriptContent()\n ]\n\n // configure a client with user supplied options\n const bugsnag = new Client(opts, schema, internalPlugins, { name, version, url })\n\n // set delivery based on browser capability (IE 8+9 have an XDomainRequest object)\n bugsnag._setDelivery(window.XDomainRequest ? dXDomainRequest : dXMLHttpRequest)\n\n bugsnag._logger.debug('Loaded!')\n bugsnag.leaveBreadcrumb('Bugsnag loaded', {}, 'state')\n\n return bugsnag._config.autoTrackSessions\n ? bugsnag.startSession()\n : bugsnag\n },\n start: (opts) => {\n if (Bugsnag._client) {\n Bugsnag._client._logger.warn('Bugsnag.start() was called more than once. Ignoring.')\n return Bugsnag._client\n }\n Bugsnag._client = Bugsnag.createClient(opts)\n return Bugsnag._client\n }\n}\n\nmap(['resetEventCount'].concat(keys(Client.prototype)), (m) => {\n if (/^_/.test(m)) return\n Bugsnag[m] = function () {\n if (!Bugsnag._client) return console.log(`Bugsnag.${m}() was called before Bugsnag.start()`)\n Bugsnag._client._depth += 1\n const ret = Bugsnag._client[m].apply(Bugsnag._client, arguments)\n Bugsnag._client._depth -= 1\n return ret\n }\n})\n\nmodule.exports = Bugsnag\n\nmodule.exports.Client = Client\nmodule.exports.Event = Event\nmodule.exports.Session = Session\nmodule.exports.Breadcrumb = Breadcrumb\n\n// Export a \"default\" property for compatibility with ESM imports\nmodule.exports.default = Bugsnag\n", "\nreturn _$notifier_2;\n\n});\n" ] }