You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

9 lines
3.9 KiB

'use strict';
/**
* @license Angular
* (c) 2010-2025 Google LLC. https://angular.dev/
* License: MIT
*/
function N(O){O.__load_patch("Error",(u,F,l)=>{let k=l.symbol("zoneJsInternalStackFrames"),o=u[l.symbol("Error")]=u.Error,h={},S,w,A,Z,b;u.Error=i;let E="stackRewrite",p=u.__Zone_Error_BlacklistedStackFrames_policy||u.__Zone_Error_ZoneJsInternalStackFrames_policy||"default";function L(e){let r={zoneName:e.zone.name},n=r;for(;e.parent;){e=e.parent;let t={zoneName:e.zone.name};r.parent=t,r=t}return n}function y(e,r,n=!0){let t=e.split(`
`),a=0;for(;!(t[a]===S||t[a]===w||t[a]===A||t[a]===Z||t[a]===b)&&a<t.length;)a++;for(;a<t.length&&r;a++){let s=t[a];if(s.trim())switch(h[s]){case 0:t.splice(a,1),a--;break;case 1:r.parent?r=r.parent:r=null,t.splice(a,1),a--;break;default:t[a]+=n?` [${r.zone.name}]`:` [${r.zoneName}]`}}return t.join(`
`)}function i(){let e=o.apply(this,arguments),r=e.originalStack=e.stack;if(i[E]&&r){let n=l.currentZoneFrame();if(p==="lazy")e[l.symbol("zoneFrameNames")]=L(n);else if(p==="default")try{e.stack=e.zoneAwareStack=y(r,n)}catch(t){}}return this instanceof o&&this.constructor!=o?(Object.keys(e).concat("stack","message","cause").forEach(n=>{let t=e[n];if(t!==void 0)try{this[n]=t}catch(a){}}),this):e}i.prototype=o.prototype,i[k]=h,i[E]=!1;let d=l.symbol("zoneAwareStack");p==="lazy"&&Object.defineProperty(i.prototype,"zoneAwareStack",{configurable:!0,enumerable:!0,get:function(){return this[d]||(this[d]=y(this.originalStack,this[l.symbol("zoneFrameNames")],!1)),this[d]},set:function(e){this.originalStack=e,this[d]=y(this.originalStack,this[l.symbol("zoneFrameNames")],!1)}});let P=["stackTraceLimit","captureStackTrace","prepareStackTrace"],g=Object.keys(o);g&&g.forEach(e=>{P.filter(r=>r===e).length===0&&Object.defineProperty(i,e,{get:function(){return o[e]},set:function(r){o[e]=r}})}),o.hasOwnProperty("stackTraceLimit")&&(o.stackTraceLimit=Math.max(o.stackTraceLimit,15),Object.defineProperty(i,"stackTraceLimit",{get:function(){return o.stackTraceLimit},set:function(e){return o.stackTraceLimit=e}})),o.hasOwnProperty("captureStackTrace")&&Object.defineProperty(i,"captureStackTrace",{value:function(r,n){o.captureStackTrace(r,n)}});let v="zoneCaptureStackTrace";if(Object.defineProperty(i,"prepareStackTrace",{get:function(){return o.prepareStackTrace},set:function(e){return!e||typeof e!="function"?o.prepareStackTrace=e:o.prepareStackTrace=function(r,n){if(n){for(let t=0;t<n.length;t++)if(n[t].getFunctionName()===v){n.splice(t,1);break}}return e.call(this,r,n)}}}),p==="disable")return;let f=F.current.fork({name:"detect",onHandleError:function(e,r,n,t){if(t.originalStack&&Error===i){let a=t.originalStack.split(/\n/),s=!1,T=!1,z=!1;for(;a.length;){let c=a.shift();if(/:\d+:\d+/.test(c)||c==="ZoneAwareError"){let m=c.split("(")[0].split("@")[0],_=1;if(m.indexOf("ZoneAwareError")!==-1&&(m.indexOf("new ZoneAwareError")!==-1?(S=c,w=c.replace("new ZoneAwareError","new Error.ZoneAwareError")):(A=c,Z=c.replace("Error.",""),c.indexOf("Error.ZoneAwareError")===-1&&(b=c.replace("ZoneAwareError","Error.ZoneAwareError"))),h[w]=0),m.indexOf("runGuarded")!==-1?T=!0:m.indexOf("runTask")!==-1?z=!0:m.indexOf("run")!==-1?s=!0:_=0,h[c]=_,s&&T&&z){i[E]=!0;break}}}}return!1}}).fork({name:"child",onScheduleTask:function(e,r,n,t){return e.scheduleTask(n,t)},onInvokeTask:function(e,r,n,t,a,s){return e.invokeTask(n,t,a,s)},onCancelTask:function(e,r,n,t){return e.cancelTask(n,t)},onInvoke:function(e,r,n,t,a,s,T){return e.invoke(n,t,a,s,T)}}),j=Error.stackTraceLimit;Error.stackTraceLimit=100,f.run(()=>{f.runGuarded(()=>{let e=()=>{};f.scheduleEventTask(k,()=>{f.scheduleMacroTask(k,()=>{f.scheduleMicroTask(k,()=>{throw new Error},void 0,r=>{r._transitionTo=e,r.invoke()}),f.scheduleMicroTask(k,()=>{throw Error()},void 0,r=>{r._transitionTo=e,r.invoke()})},void 0,r=>{r._transitionTo=e,r.invoke()},()=>{})},void 0,r=>{r._transitionTo=e,r.invoke()},()=>{})})}),Error.stackTraceLimit=j})}N(Zone);