UNPKG

@airbrake/browser

Version:
57 lines 1.63 kB
import ErrorStackParser from 'error-stack-parser'; var hasConsole = typeof console === 'object' && console.warn; function parse(err) { try { return ErrorStackParser.parse(err); } catch (parseErr) { if (hasConsole && err.stack) { console.warn('ErrorStackParser:', parseErr.toString(), err.stack); } } if (err.fileName) { return [err]; } return []; } export function espProcessor(err) { var backtrace = []; if (err.noStack) { backtrace.push({ function: err.functionName || '', file: err.fileName || '', line: err.lineNumber || 0, column: err.columnNumber || 0, }); } else { var frames_2 = parse(err); if (frames_2.length === 0) { try { throw new Error('fake'); } catch (fakeErr) { frames_2 = parse(fakeErr); frames_2.shift(); frames_2.shift(); } } for (var _i = 0, frames_1 = frames_2; _i < frames_1.length; _i++) { var frame = frames_1[_i]; backtrace.push({ function: frame.functionName || '', file: frame.fileName || '', line: frame.lineNumber || 0, column: frame.columnNumber || 0, }); } } var type = err.name ? err.name : ''; var msg = err.message ? String(err.message) : String(err); return { type: type, message: msg, backtrace: backtrace, }; } //# sourceMappingURL=esp.js.map