blob: 265c79ae800611b34348103bf1d46a53a7b6e267 [file] [log] [blame]
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e():"function"==typeof define&&define.amd?define(e):e()}(0,function(){"use strict";Zone.__load_patch("Error",function(r,e,t){var n,a,o,i,c,s=t.symbol("blacklistedStackFrames"),u=r[t.symbol("Error")]=r.Error,f={};r.Error=d;var k="stackRewrite",l=r.__Zone_Error_BlacklistedStackFrames_policy||"default";function p(r,e,t){void 0===t&&(t=!0);for(var s=r.split("\n"),u=0;s[u]!==n&&s[u]!==a&&s[u]!==o&&s[u]!==i&&s[u]!==c&&u<s.length;)u++;for(;u<s.length&&e;u++){var k=s[u];if(k.trim())switch(f[k]){case 0:s.splice(u,1),u--;break;case 1:e=e.parent?e.parent:null,s.splice(u,1),u--;break;default:s[u]+=t?" ["+e.zone.name+"]":" ["+e.zoneName+"]"}}return s.join("\n")}function d(){var r=this,e=u.apply(this,arguments),n=e.originalStack=e.stack;if(d[k]&&n){var a=t.currentZoneFrame();if("lazy"===l)e[t.symbol("zoneFrameNames")]=function(r){for(var e={zoneName:r.zone.name},t=e;r.parent;){var n={zoneName:(r=r.parent).zone.name};e.parent=n,e=n}return t}(a);else if("default"===l)try{e.stack=e.zoneAwareStack=p(n,a)}catch(r){}}return this instanceof u&&this.constructor!=u?(Object.keys(e).concat("stack","message").forEach(function(t){var n=e[t];if(void 0!==n)try{r[t]=n}catch(r){}}),this):e}d.prototype=u.prototype,d[s]=f,d[k]=!1;var m=t.symbol("zoneAwareStack");"lazy"===l&&Object.defineProperty(d.prototype,"zoneAwareStack",{configurable:!0,enumerable:!0,get:function(){return this[m]||(this[m]=p(this.originalStack,this[t.symbol("zoneFrameNames")],!1)),this[m]},set:function(r){this.originalStack=r,this[m]=p(this.originalStack,this[t.symbol("zoneFrameNames")],!1)}});var h=["stackTraceLimit","captureStackTrace","prepareStackTrace"],T=Object.keys(u);T&&T.forEach(function(r){0===h.filter(function(e){return e===r}).length&&Object.defineProperty(d,r,{get:function(){return u[r]},set:function(e){u[r]=e}})}),u.hasOwnProperty("stackTraceLimit")&&(u.stackTraceLimit=Math.max(u.stackTraceLimit,15),Object.defineProperty(d,"stackTraceLimit",{get:function(){return u.stackTraceLimit},set:function(r){return u.stackTraceLimit=r}})),u.hasOwnProperty("captureStackTrace")&&Object.defineProperty(d,"captureStackTrace",{value:function(r,e){u.captureStackTrace(r,e)}});if(Object.defineProperty(d,"prepareStackTrace",{get:function(){return u.prepareStackTrace},set:function(r){return u.prepareStackTrace=r&&"function"==typeof r?function(e,t){if(t)for(var n=0;n<t.length;n++){if("zoneCaptureStackTrace"===t[n].getFunctionName()){t.splice(n,1);break}}return r.call(this,e,t)}:r}}),"disable"!==l){var v=e.current.fork({name:"detect",onHandleError:function(r,e,t,s){if(s.originalStack&&Error===d)for(var u=s.originalStack.split(/\n/),l=!1,p=!1,m=!1;u.length;){var h=u.shift();if(/:\d+:\d+/.test(h)||"ZoneAwareError"===h){var T=h.split("(")[0].split("@")[0],v=1;if(-1!==T.indexOf("ZoneAwareError")&&(-1!==T.indexOf("new ZoneAwareError")?(n=h,a=h.replace("new ZoneAwareError","new Error.ZoneAwareError")):(o=h,i=h.replace("Error.",""),-1===h.indexOf("Error.ZoneAwareError")&&(c=h.replace("ZoneAwareError","Error.ZoneAwareError"))),f[a]=0),-1!==T.indexOf("runGuarded")?p=!0:-1!==T.indexOf("runTask")?m=!0:-1!==T.indexOf("run")?l=!0:v=0,f[h]=v,l&&p&&m){d[k]=!0;break}}}return!1}}).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)}}),y=Error.stackTraceLimit;Error.stackTraceLimit=100,v.run(function(){v.runGuarded(function(){var r=function(){};v.scheduleEventTask(s,function(){v.scheduleMacroTask(s,function(){v.scheduleMicroTask(s,function(){throw new Error},void 0,function(e){e._transitionTo=r,e.invoke()}),v.scheduleMicroTask(s,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=y}})});