You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
4.0 KiB
JavaScript
1 line
4.0 KiB
JavaScript
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e():"function"==typeof define&&define.amd?define(e):e()}(this,function(){"use strict";Zone.__load_patch("Error",function(r,e,t){function n(r){for(var e={zoneName:r.zone.name},t=e;r.parent;){r=r.parent;var n={zoneName:r.zone.name};e.parent=n,e=n}return t}function a(r,e,t){void 0===t&&(t=!0);for(var n=r.split("\n"),a=0;n[a]!==i&&n[a]!==c&&n[a]!==s&&n[a]!==u&&n[a]!==f&&a<n.length;)a++;for(;a<n.length&&e;a++){var o=n[a];if(o.trim())switch(p[o]){case 0:n.splice(a,1),a--;break;case 1:e=e.parent?e.parent:null,n.splice(a,1),a--;break;default:n[a]+=t?" ["+e.zone.name+"]":" ["+e.zoneName+"]"}}return n.join("\n")}function o(){var r=this,e=l.apply(this,arguments),i=e.originalStack=e.stack;if(o[d]&&i){var c=t.currentZoneFrame();if("lazy"===h)e[t.symbol("zoneFrameNames")]=n(c);else if("default"===h)try{e.stack=e.zoneAwareStack=a(i,c)}catch(s){}}return this instanceof l&&this.constructor!=l?(Object.keys(e).concat("stack","message").forEach(function(t){var n=e[t];if(void 0!==n)try{r[t]=n}catch(a){}}),this):e}var i,c,s,u,f,k=t.symbol("blacklistedStackFrames"),l=r[t.symbol("Error")]=r.Error,p={};r.Error=o;var d="stackRewrite",h=r.__Zone_Error_BlacklistedStackFrames_policy||"default";o.prototype=l.prototype,o[k]=p,o[d]=!1;var m=t.symbol("zoneAwareStack");"lazy"===h&&Object.defineProperty(o.prototype,"zoneAwareStack",{configurable:!0,enumerable:!0,get:function(){return this[m]||(this[m]=a(this.originalStack,this[t.symbol("zoneFrameNames")],!1)),this[m]},set:function(r){this.originalStack=r,this[m]=a(this.originalStack,this[t.symbol("zoneFrameNames")],!1)}});var v=["stackTraceLimit","captureStackTrace","prepareStackTrace"],T=Object.keys(l);T&&T.forEach(function(r){0===v.filter(function(e){return e===r}).length&&Object.defineProperty(o,r,{get:function(){return l[r]},set:function(e){l[r]=e}})}),l.hasOwnProperty("stackTraceLimit")&&(l.stackTraceLimit=Math.max(l.stackTraceLimit,15),Object.defineProperty(o,"stackTraceLimit",{get:function(){return l.stackTraceLimit},set:function(r){return l.stackTraceLimit=r}})),l.hasOwnProperty("captureStackTrace")&&Object.defineProperty(o,"captureStackTrace",{value:function(r,e){l.captureStackTrace(r,e)}});var y="zoneCaptureStackTrace";if(Object.defineProperty(o,"prepareStackTrace",{get:function(){return l.prepareStackTrace},set:function(r){return r&&"function"==typeof r?l.prepareStackTrace=function(e,t){if(t)for(var n=0;n<t.length;n++){var a=t[n];if(a.getFunctionName()===y){t.splice(n,1);break}}return r.call(this,e,t)}:l.prepareStackTrace=r}}),"disable"!==h){var E=e.current.fork({name:"detect",onHandleError:function(r,e,t,n){if(n.originalStack&&Error===o)for(var a=n.originalStack.split(/\n/),k=!1,l=!1,h=!1;a.length;){var m=a.shift();if(/:\d+:\d+/.test(m)||"ZoneAwareError"===m){var v=m.split("(")[0].split("@")[0],T=1;if(v.indexOf("ZoneAwareError")!==-1&&(v.indexOf("new ZoneAwareError")!==-1?(i=m,c=m.replace("new ZoneAwareError","new Error.ZoneAwareError")):(s=m,u=m.replace("Error.",""),m.indexOf("Error.ZoneAwareError")===-1&&(f=m.replace("ZoneAwareError","Error.ZoneAwareError"))),p[c]=0),v.indexOf("runGuarded")!==-1?l=!0:v.indexOf("runTask")!==-1?h=!0:v.indexOf("run")!==-1?k=!0:T=0,p[m]=T,k&&l&&h){o[d]=!0;break}}}return!1}}),b=E.fork({name:"child",onScheduleTask:function(r,e,t,n){return r.scheduleTask(t,n)},onInvokeTask:function(r,e,t,n,a,o){return r.invokeTask(t,n,a,o)},onCancelTask:function(r,e,t,n){return r.cancelTask(t,n)},onInvoke:function(r,e,t,n,a,o,i){return r.invoke(t,n,a,o,i)}}),S=Error.stackTraceLimit;Error.stackTraceLimit=100,b.run(function(){b.runGuarded(function(){var r=function(){};b.scheduleEventTask(k,function(){b.scheduleMacroTask(k,function(){b.scheduleMicroTask(k,function(){throw new Error},void 0,function(e){e._transitionTo=r,e.invoke()}),b.scheduleMicroTask(k,function(){throw Error()},void 0,function(e){e._transitionTo=r,e.invoke()})},void 0,function(e){e._transitionTo=r,e.invoke()},function(){})},void 0,function(e){e._transitionTo=r,e.invoke()},function(){})})}),Error.stackTraceLimit=S}})}); |