// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define(["exports","../../core/promiseUtils","../../core/signal","../../views/support/Yield"],function(g,e,k,l){class m{constructor(){this._tasks=[];this._runningTasks=k.signal(0)}get length(){return this._tasks.length}get running(){return 0this._tasks.push(new h(d,f,b,a,c)))).finally(()=> --this._runningTasks.value)}unshift(b,a,c){++this._runningTasks.value;return(new Promise((d,f)=>this._tasks.unshift(new h(d,f,b,a,c)))).finally(()=>--this._runningTasks.value)}_process(b){if(0===this._tasks.length)return!1;const a=this._tasks.shift();try{const c=e.isAborted(a.signal);if(c&&!a.abortCallback)a.reject(e.createAbortError());else{const d=c?a.abortCallback?.(e.createAbortError()):a.callback(b);e.isPromiseLike(d)?d.then(a.resolve,a.reject):a.resolve(d)}}catch(c){a.reject(c)}return!0}cancelAll(){const b= e.createAbortError();for(const a of this._tasks)if(a.abortCallback){const c=a.abortCallback(b);a.resolve(c)}else a.reject(b);this._tasks.length=0}}class h{constructor(b,a,c,d,f){this.resolve=b;this.reject=a;this.callback=c;this.signal=d;this.abortCallback=f}}g.PromiseQueue=m;Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});