!function(t,e){"use strict";"function"==typeofdefine&&define.amd?define("stackframe",[],e):"object"==typeofexports?module.exports=e():t.StackFrame=e()}(this,function(){"use strict";functiont(t){returnt.charAt(0).toUpperCase()+t.substring(1)}functione(t){returnfunction(){returnthis[t]}}varr=["isConstructor","isEval","isNative","isToplevel"],n=["columnNumber","lineNumber"],i=["fileName","functionName","source"],o=r.concat(n,i,["args"],["evalOrigin"]);functions(e){if(e)for(varr=0;r<o.length;r++)void0!==e[o[r]]&&this["set"+t(o[r])](e[o[r]])}s.prototype={getArgs:function(){returnthis.args},setArgs:function(t){if("[object Array]"!==Object.prototype.toString.call(t))thrownewTypeError("Args must be an Array");this.args=t},getEvalOrigin:function(){returnthis.evalOrigin},setEvalOrigin:function(t){if(tinstanceofs)this.evalOrigin=t;else{if(!(tinstanceofObject))thrownewTypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=news(t)}},toString:function(){vart=this.getFileName()||"",e=this.getLineNumber()||"",r=this.getColumnNumber()||"",n=this.getFunctionName()||"";returnthis.getIsEval()?t?"[eval] ("+t+":"+e+":"+r+")":"[eval]:"+e+":"+r:n?n+" ("+t+":"+e+":"+r+")":t+":"+e+":"+r}},s.fromString=function(t){vare=t.indexOf("("),r=t.lastIndexOf(")"),n=t.substring(0,e),i=t.substring(e+1,r).split(","),o=t.substring(r+1);if(0===o.indexOf("@"))varu=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(o,""),a=u[1],f=u[2],c=u[3];returnnews({functionName:n,args:i||void0,fileName:a,lineNumber:f||void0,columnNumber:c||void0})};for(varu=0;u<r.length;u++)s.prototype["get"+t(r[u])]=e(r[u]),s.prototype["set"+t(r[u])]=function(t){returnfunction(e){this[t]=Boolean(e)}}(r[u]);for(vara=0;a<n.length;a++)s.prototype["get"+t(n[a])]=e(n[a]),s.prototype["set"+t(n[a])]=function(t){returnfunction(e){if(r=e,isNaN(parseFloat(r))||!isFinite(r))thrownewTypeError(t+" must be a Number");varr;this[t]=Number(e)}}(n[a]);for(varf=0;f<i.length;f++)s.prototype["get"+t(i[f])]=e(i[f]),s.prototype["set"+t(i[f])]=function(t){returnfunction(e){this[t]=String(e)}}(i[f]);returns});