error-stack-parser.js 6.17 KB
module.exports=(()=>{var e={176:function(e,r,t){(function(r,a){"use strict";if(typeof define==="function"&&define.amd){define("error-stack-parser",["stackframe"],a)}else if(true){e.exports=a(t(46))}else{}})(this,function ErrorStackParser(e){"use strict";var r=/(^|@)\S+:\d+/;var t=/^\s*at .*(\S+:\d+|\(native\))/m;var a=/^(eval@)?(\[native code])?$/;return{parse:function ErrorStackParser$$parse(e){if(typeof e.stacktrace!=="undefined"||typeof e["opera#sourceloc"]!=="undefined"){return this.parseOpera(e)}else if(e.stack&&e.stack.match(t)){return this.parseV8OrIE(e)}else if(e.stack){return this.parseFFOrSafari(e)}else{throw new Error("Cannot parse given Error object")}},extractLocation:function ErrorStackParser$$extractLocation(e){if(e.indexOf(":")===-1){return[e]}var r=/(.+?)(?::(\d+))?(?::(\d+))?$/;var t=r.exec(e.replace(/[()]/g,""));return[t[1],t[2]||undefined,t[3]||undefined]},parseV8OrIE:function ErrorStackParser$$parseV8OrIE(r){var a=r.stack.split("\n").filter(function(e){return!!e.match(t)},this);return a.map(function(r){if(r.indexOf("(eval ")>-1){r=r.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,"")}var t=r.replace(/^\s+/,"").replace(/\(eval code/g,"(");var a=t.match(/ (\((.+):(\d+):(\d+)\)$)/);t=a?t.replace(a[0],""):t;var n=t.split(/\s+/).slice(1);var i=this.extractLocation(a?a[1]:n.pop());var s=n.join(" ")||undefined;var c=["eval","<anonymous>"].indexOf(i[0])>-1?undefined:i[0];return new e({functionName:s,fileName:c,lineNumber:i[1],columnNumber:i[2],source:r})},this)},parseFFOrSafari:function ErrorStackParser$$parseFFOrSafari(r){var t=r.stack.split("\n").filter(function(e){return!e.match(a)},this);return t.map(function(r){if(r.indexOf(" > eval")>-1){r=r.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")}if(r.indexOf("@")===-1&&r.indexOf(":")===-1){return new e({functionName:r})}else{var t=/((.*".+"[^@]*)?[^@]*)(?:@)/;var a=r.match(t);var n=a&&a[1]?a[1]:undefined;var i=this.extractLocation(r.replace(t,""));return new e({functionName:n,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:r})}},this)},parseOpera:function ErrorStackParser$$parseOpera(e){if(!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length){return this.parseOpera9(e)}else if(!e.stack){return this.parseOpera10(e)}else{return this.parseOpera11(e)}},parseOpera9:function ErrorStackParser$$parseOpera9(r){var t=/Line (\d+).*script (?:in )?(\S+)/i;var a=r.message.split("\n");var n=[];for(var i=2,s=a.length;i<s;i+=2){var c=t.exec(a[i]);if(c){n.push(new e({fileName:c[2],lineNumber:c[1],source:a[i]}))}}return n},parseOpera10:function ErrorStackParser$$parseOpera10(r){var t=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i;var a=r.stacktrace.split("\n");var n=[];for(var i=0,s=a.length;i<s;i+=2){var c=t.exec(a[i]);if(c){n.push(new e({functionName:c[3]||undefined,fileName:c[2],lineNumber:c[1],source:a[i]}))}}return n},parseOpera11:function ErrorStackParser$$parseOpera11(t){var a=t.stack.split("\n").filter(function(e){return!!e.match(r)&&!e.match(/^Error created at/)},this);return a.map(function(r){var t=r.split("@");var a=this.extractLocation(t.pop());var n=t.shift()||"";var i=n.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||undefined;var s;if(n.match(/\(([^)]*)\)/)){s=n.replace(/^[^(]+\(([^)]*)\)$/,"$1")}var c=s===undefined||s==="[arguments not available]"?undefined:s.split(",");return new e({functionName:i,args:c,fileName:a[0],lineNumber:a[1],columnNumber:a[2],source:r})},this)}}})},46:function(e){(function(r,t){"use strict";if(typeof define==="function"&&define.amd){define("stackframe",[],t)}else if(true){e.exports=t()}else{}})(this,function(){"use strict";function _isNumber(e){return!isNaN(parseFloat(e))&&isFinite(e)}function _capitalize(e){return e.charAt(0).toUpperCase()+e.substring(1)}function _getter(e){return function(){return this[e]}}var e=["isConstructor","isEval","isNative","isToplevel"];var r=["columnNumber","lineNumber"];var t=["fileName","functionName","source"];var a=["args"];var n=["evalOrigin"];var i=e.concat(r,t,a,n);function StackFrame(e){if(!e)return;for(var r=0;r<i.length;r++){if(e[i[r]]!==undefined){this["set"+_capitalize(i[r])](e[i[r]])}}}StackFrame.prototype={getArgs:function(){return this.args},setArgs:function(e){if(Object.prototype.toString.call(e)!=="[object Array]"){throw new TypeError("Args must be an Array")}this.args=e},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(e){if(e instanceof StackFrame){this.evalOrigin=e}else if(e instanceof Object){this.evalOrigin=new StackFrame(e)}else{throw new TypeError("Eval Origin must be an Object or StackFrame")}},toString:function(){var e=this.getFileName()||"";var r=this.getLineNumber()||"";var t=this.getColumnNumber()||"";var a=this.getFunctionName()||"";if(this.getIsEval()){if(e){return"[eval] ("+e+":"+r+":"+t+")"}return"[eval]:"+r+":"+t}if(a){return a+" ("+e+":"+r+":"+t+")"}return e+":"+r+":"+t}};StackFrame.fromString=function StackFrame$$fromString(e){var r=e.indexOf("(");var t=e.lastIndexOf(")");var a=e.substring(0,r);var n=e.substring(r+1,t).split(",");var i=e.substring(t+1);if(i.indexOf("@")===0){var s=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(i,"");var c=s[1];var u=s[2];var o=s[3]}return new StackFrame({functionName:a,args:n||undefined,fileName:c,lineNumber:u||undefined,columnNumber:o||undefined})};for(var s=0;s<e.length;s++){StackFrame.prototype["get"+_capitalize(e[s])]=_getter(e[s]);StackFrame.prototype["set"+_capitalize(e[s])]=function(e){return function(r){this[e]=Boolean(r)}}(e[s])}for(var c=0;c<r.length;c++){StackFrame.prototype["get"+_capitalize(r[c])]=_getter(r[c]);StackFrame.prototype["set"+_capitalize(r[c])]=function(e){return function(r){if(!_isNumber(r)){throw new TypeError(e+" must be a Number")}this[e]=Number(r)}}(r[c])}for(var u=0;u<t.length;u++){StackFrame.prototype["get"+_capitalize(t[u])]=_getter(t[u]);StackFrame.prototype["set"+_capitalize(t[u])]=function(e){return function(r){this[e]=String(r)}}(t[u])}return StackFrame})}};var r={};function __nccwpck_require__(t){if(r[t]){return r[t].exports}var a=r[t]={exports:{}};var n=true;try{e[t].call(a.exports,a,a.exports,__nccwpck_require__);n=false}finally{if(n)delete r[t]}return a.exports}__nccwpck_require__.ab=__dirname+"/";return __nccwpck_require__(176)})();