yeet
This commit is contained in:
140
node_modules/stacktrace-parser/dist/stack-trace-parser.cjs.js
generated
vendored
Normal file
140
node_modules/stacktrace-parser/dist/stack-trace-parser.cjs.js
generated
vendored
Normal file
@ -0,0 +1,140 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
var UNKNOWN_FUNCTION = '<unknown>';
|
||||
/**
|
||||
* This parses the different stack traces and puts them into one format
|
||||
* This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)
|
||||
*/
|
||||
|
||||
function parse(stackString) {
|
||||
var lines = stackString.split('\n');
|
||||
return lines.reduce(function (stack, line) {
|
||||
var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);
|
||||
|
||||
if (parseResult) {
|
||||
stack.push(parseResult);
|
||||
}
|
||||
|
||||
return stack;
|
||||
}, []);
|
||||
}
|
||||
var chromeRe = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
||||
var chromeEvalRe = /\((\S*)(?::(\d+))(?::(\d+))\)/;
|
||||
|
||||
function parseChrome(line) {
|
||||
var parts = chromeRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
|
||||
|
||||
var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
|
||||
|
||||
var submatch = chromeEvalRe.exec(parts[2]);
|
||||
|
||||
if (isEval && submatch != null) {
|
||||
// throw out eval line/column and use top-most line/column number
|
||||
parts[2] = submatch[1]; // url
|
||||
|
||||
parts[3] = submatch[2]; // line
|
||||
|
||||
parts[4] = submatch[3]; // column
|
||||
}
|
||||
|
||||
return {
|
||||
file: !isNative ? parts[2] : null,
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: isNative ? [parts[2]] : [],
|
||||
lineNumber: parts[3] ? +parts[3] : null,
|
||||
column: parts[4] ? +parts[4] : null
|
||||
};
|
||||
}
|
||||
|
||||
var winjsRe = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
|
||||
function parseWinjs(line) {
|
||||
var parts = winjsRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[2],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: [],
|
||||
lineNumber: +parts[3],
|
||||
column: parts[4] ? +parts[4] : null
|
||||
};
|
||||
}
|
||||
|
||||
var geckoRe = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
|
||||
var geckoEvalRe = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
|
||||
|
||||
function parseGecko(line) {
|
||||
var parts = geckoRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
|
||||
var submatch = geckoEvalRe.exec(parts[3]);
|
||||
|
||||
if (isEval && submatch != null) {
|
||||
// throw out eval line/column and use top-most line number
|
||||
parts[3] = submatch[1];
|
||||
parts[4] = submatch[2];
|
||||
parts[5] = null; // no column when eval
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[3],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: parts[2] ? parts[2].split(',') : [],
|
||||
lineNumber: parts[4] ? +parts[4] : null,
|
||||
column: parts[5] ? +parts[5] : null
|
||||
};
|
||||
}
|
||||
|
||||
var javaScriptCoreRe = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;
|
||||
|
||||
function parseJSC(line) {
|
||||
var parts = javaScriptCoreRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[3],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: [],
|
||||
lineNumber: +parts[4],
|
||||
column: parts[5] ? +parts[5] : null
|
||||
};
|
||||
}
|
||||
|
||||
var nodeRe = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
|
||||
function parseNode(line) {
|
||||
var parts = nodeRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[2],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: [],
|
||||
lineNumber: +parts[3],
|
||||
column: parts[4] ? +parts[4] : null
|
||||
};
|
||||
}
|
||||
|
||||
exports.parse = parse;
|
17
node_modules/stacktrace-parser/dist/stack-trace-parser.d.ts
generated
vendored
Normal file
17
node_modules/stacktrace-parser/dist/stack-trace-parser.d.ts
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
import { LiteralUnion } from 'type-fest';
|
||||
|
||||
export interface StackFrame {
|
||||
file: string | null;
|
||||
methodName: LiteralUnion<'<unknown>', string>;
|
||||
arguments: string[];
|
||||
lineNumber: number | null;
|
||||
column: number | null;
|
||||
}
|
||||
|
||||
/**
|
||||
* This parser parses a stack trace from any browser or Node.js and returns an array of hashes representing a line.
|
||||
*
|
||||
* @param stackString - The stack to parse, usually from `error.stack` property.
|
||||
* @returns The parsed stack frames.
|
||||
*/
|
||||
export function parse(stackString: string): StackFrame[];
|
136
node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js
generated
vendored
Normal file
136
node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js
generated
vendored
Normal file
@ -0,0 +1,136 @@
|
||||
var UNKNOWN_FUNCTION = '<unknown>';
|
||||
/**
|
||||
* This parses the different stack traces and puts them into one format
|
||||
* This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)
|
||||
*/
|
||||
|
||||
function parse(stackString) {
|
||||
var lines = stackString.split('\n');
|
||||
return lines.reduce(function (stack, line) {
|
||||
var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);
|
||||
|
||||
if (parseResult) {
|
||||
stack.push(parseResult);
|
||||
}
|
||||
|
||||
return stack;
|
||||
}, []);
|
||||
}
|
||||
var chromeRe = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
|
||||
var chromeEvalRe = /\((\S*)(?::(\d+))(?::(\d+))\)/;
|
||||
|
||||
function parseChrome(line) {
|
||||
var parts = chromeRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
|
||||
|
||||
var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
|
||||
|
||||
var submatch = chromeEvalRe.exec(parts[2]);
|
||||
|
||||
if (isEval && submatch != null) {
|
||||
// throw out eval line/column and use top-most line/column number
|
||||
parts[2] = submatch[1]; // url
|
||||
|
||||
parts[3] = submatch[2]; // line
|
||||
|
||||
parts[4] = submatch[3]; // column
|
||||
}
|
||||
|
||||
return {
|
||||
file: !isNative ? parts[2] : null,
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: isNative ? [parts[2]] : [],
|
||||
lineNumber: parts[3] ? +parts[3] : null,
|
||||
column: parts[4] ? +parts[4] : null
|
||||
};
|
||||
}
|
||||
|
||||
var winjsRe = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
|
||||
function parseWinjs(line) {
|
||||
var parts = winjsRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[2],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: [],
|
||||
lineNumber: +parts[3],
|
||||
column: parts[4] ? +parts[4] : null
|
||||
};
|
||||
}
|
||||
|
||||
var geckoRe = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
|
||||
var geckoEvalRe = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
|
||||
|
||||
function parseGecko(line) {
|
||||
var parts = geckoRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
|
||||
var submatch = geckoEvalRe.exec(parts[3]);
|
||||
|
||||
if (isEval && submatch != null) {
|
||||
// throw out eval line/column and use top-most line number
|
||||
parts[3] = submatch[1];
|
||||
parts[4] = submatch[2];
|
||||
parts[5] = null; // no column when eval
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[3],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: parts[2] ? parts[2].split(',') : [],
|
||||
lineNumber: parts[4] ? +parts[4] : null,
|
||||
column: parts[5] ? +parts[5] : null
|
||||
};
|
||||
}
|
||||
|
||||
var javaScriptCoreRe = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;
|
||||
|
||||
function parseJSC(line) {
|
||||
var parts = javaScriptCoreRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[3],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: [],
|
||||
lineNumber: +parts[4],
|
||||
column: parts[5] ? +parts[5] : null
|
||||
};
|
||||
}
|
||||
|
||||
var nodeRe = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;
|
||||
|
||||
function parseNode(line) {
|
||||
var parts = nodeRe.exec(line);
|
||||
|
||||
if (!parts) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
file: parts[2],
|
||||
methodName: parts[1] || UNKNOWN_FUNCTION,
|
||||
arguments: [],
|
||||
lineNumber: +parts[3],
|
||||
column: parts[4] ? +parts[4] : null
|
||||
};
|
||||
}
|
||||
|
||||
export { parse };
|
Reference in New Issue
Block a user