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.
 
 
 
 
 

7 lines
3.2 KiB

'use strict';
/**
* @license Angular
* (c) 2010-2025 Google LLC. https://angular.dev/
* License: MIT
*/
var d=Object.defineProperty;var p=(i,e,t)=>e in i?d(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var o=(i,e,t)=>(p(i,typeof e!="symbol"?e+"":e,t),t);var h=class i{constructor(e=null){o(this,"defaultSpecDelegate");o(this,"name","ProxyZone");o(this,"_delegateSpec",null);o(this,"properties",{ProxyZoneSpec:this});o(this,"propertyKeys",null);o(this,"lastTaskState",null);o(this,"isNeedToTriggerHasTask",!1);o(this,"tasks",[]);this.defaultSpecDelegate=e,this.setDelegate(e)}static get(){return Zone.current.get("ProxyZoneSpec")}static isLoaded(){return i.get()instanceof i}static assertPresent(){let e=i.get();if(e===void 0)throw new Error("Expected to be running in 'ProxyZone', but it was not found.");return e}setDelegate(e){let t=this._delegateSpec!==e;this._delegateSpec=e,this.propertyKeys&&this.propertyKeys.forEach(s=>delete this.properties[s]),this.propertyKeys=null,e&&e.properties&&(this.propertyKeys=Object.keys(e.properties),this.propertyKeys.forEach(s=>this.properties[s]=e.properties[s])),t&&this.lastTaskState&&(this.lastTaskState.macroTask||this.lastTaskState.microTask)&&(this.isNeedToTriggerHasTask=!0)}getDelegate(){return this._delegateSpec}resetDelegate(){let e=this.getDelegate();this.setDelegate(this.defaultSpecDelegate)}tryTriggerHasTask(e,t,s){this.isNeedToTriggerHasTask&&this.lastTaskState&&(this.isNeedToTriggerHasTask=!1,this.onHasTask(e,t,s,this.lastTaskState))}removeFromTasks(e){if(this.tasks){for(let t=0;t<this.tasks.length;t++)if(this.tasks[t]===e){this.tasks.splice(t,1);return}}}getAndClearPendingTasksInfo(){if(this.tasks.length===0)return"";let t="--Pending async tasks are: ["+this.tasks.map(s=>{let r=s.data&&Object.keys(s.data).map(n=>n+":"+s.data[n]).join(",");return`type: ${s.type}, source: ${s.source}, args: {${r}}`})+"]";return this.tasks=[],t}onFork(e,t,s,r){return this._delegateSpec&&this._delegateSpec.onFork?this._delegateSpec.onFork(e,t,s,r):e.fork(s,r)}onIntercept(e,t,s,r,n){return this._delegateSpec&&this._delegateSpec.onIntercept?this._delegateSpec.onIntercept(e,t,s,r,n):e.intercept(s,r,n)}onInvoke(e,t,s,r,n,a,c){return this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvoke?this._delegateSpec.onInvoke(e,t,s,r,n,a,c):e.invoke(s,r,n,a,c)}onHandleError(e,t,s,r){return this._delegateSpec&&this._delegateSpec.onHandleError?this._delegateSpec.onHandleError(e,t,s,r):e.handleError(s,r)}onScheduleTask(e,t,s,r){return r.type!=="eventTask"&&this.tasks.push(r),this._delegateSpec&&this._delegateSpec.onScheduleTask?this._delegateSpec.onScheduleTask(e,t,s,r):e.scheduleTask(s,r)}onInvokeTask(e,t,s,r,n,a){return r.type!=="eventTask"&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onInvokeTask?this._delegateSpec.onInvokeTask(e,t,s,r,n,a):e.invokeTask(s,r,n,a)}onCancelTask(e,t,s,r){return r.type!=="eventTask"&&this.removeFromTasks(r),this.tryTriggerHasTask(e,t,s),this._delegateSpec&&this._delegateSpec.onCancelTask?this._delegateSpec.onCancelTask(e,t,s,r):e.cancelTask(s,r)}onHasTask(e,t,s,r){this.lastTaskState=r,this._delegateSpec&&this._delegateSpec.onHasTask?this._delegateSpec.onHasTask(e,t,s,r):e.hasTask(s,r)}};function l(i){i.ProxyZoneSpec=h}l(Zone);