@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 17.9 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[563],{563(t,e,s){s.d(e,{QueueProcessor:()=>a,SharedConcurrency:()=>u});var r=s(97768),i=s(74887),n=s(9775),h=s(32587),l=s(76030),o=s(44794);class a{constructor(t){this._schedule=null,this._deferreds=new h.A,this._controllers=new h.A,this._processingItems=new h.A,this._pausedSignal=(0,o.v)(!1),this.process=t.process,this.concurrency=t.concurrency,this.sharedConcurrency=t.sharedConcurrency??d,this._queue=new n.A(t.peeker)}destroy(){this.clear(),this._schedule=(0,r.xt)(this._schedule)}get updating(){return this.running}get length(){return this._processingItems.size+this._queue.length}get running(){return!this._pausedSignal.value&&this._queue.length>0&&!this.full}get full(){return this._processingItems.size>=this.concurrency||this.sharedConcurrency.full}abort(t){const e=this._controllers.get(t);e?.abort()}clear(){this._queue.clear();const t=Array.from(this._controllers.values());this._controllers.clear(),t.forEach(t=>t.abort()),this.sharedConcurrency.current.value-=this._processingItems.size,this._processingItems.clear(),this._cancelNext()}forEach(t){this._deferreds.forEach((e,s)=>t(s))}_get(t){const e=this._deferreds.get(t);return e?.promise}pause(){this._pausedSignal.value||(this._pausedSignal.value=!0,this._cancelNext())}push(t,e){const s=this._get(t);if(s)return s;const r=new AbortController,n=(0,i.Tw)(),h=e?(0,i.u7)(e,()=>r.abort()):null,l=(0,i.NY)(r.signal,()=>{const e=this._processingItems.get(t);e&&e.controller.abort(),o(),n.reject((0,i.NK)())}),o=()=>{l.remove(),h?.remove(),this._removeItem(t),this._queue.remove(t),this._scheduleNext()};return this._deferreds.set(t,n),this._controllers.set(t,r),n.promise.then(o,o),this._queue.push(t),this._scheduleNext(),n.promise}last(){return this._queue.last()}reset(){const t=Array.from(this._processingItems.values());this.sharedConcurrency.current.value-=this._processingItems.size,this._processingItems.clear();for(const e of t)this._queue.push(e.item),e.controller.abort();this._scheduleNext()}resume(){this._pausedSignal.value&&(this._pausedSignal.value=!1,this._scheduleNext())}takeAll(){const t=[];for(;this._queue.length;)t.push(this._queue.pop());return this.clear(),t}_removeItem(t){this._deferreds.delete(t),this._controllers.delete(t),this._processingItems.has(t)&&(this._processingItems.delete(t),this.sharedConcurrency.current.value-=1)}_scheduleNext(){this._pausedSignal.value||this._schedule||(this._schedule=(0,l._)(()=>{this._schedule=null,this._next()}))}_next(){for(;this._queue.length>0&&this._processingItems.size<this.concurrency&&!this.sharedConcurrency.full;)this._process(this._queue.pop())}_cancelNext(){this._schedule&&(this._schedule.remove(),this._schedule=null)}_processResult(t,e){this._canProcessFulfillment(t)&&(this._scheduleNext(),this._deferreds.get(t.item).resolve(e))}_processError(t,e){this._canProcessFulfillment(t)&&(this._scheduleNext(),this._deferreds.get(t.item).reject(e))}_canProcessFulfillment(t){return!!this._deferreds.get(t.item)&&this._processingItems.get(t.item)===t}_process(t){if(null==t)return;let e;const s=new AbortController,r=new c(t,s);this._processingItems.set(t,r),this.sharedConcurrency.current.value+=1;try{e=this.process(t,s.signal)}catch(t){this._processError(r,t)}(0,i.$X)(e)?(r.promise=e,e.then(t=>this._processResult(r,t),t=>this._processError(r,t))):this._processResult(r,e)}}class c{constructor(t,e){this.item=t,this.controller=e,this.promise=null}}class u{constructor(t){this.limit=t,this.current=(0,o.v)(0)}get full(){return this.current.value>=this.limit}}const d=new u(1/0)},9775(t,e,s){s.d(e,{A:()=>n});var r=s(62788),i=s(95488);class n{constructor(t=t=>t.values().next().value){this._peeker=t,this._observable=new i.I,this._items=new Set}get length(){return(0,r.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let t;for(t of this._items);return t}peek(){if(0!==this.length)return this._peeker(this._items)}push(t){this.contains(t)||(this._items.add(t),this._observable.notify())}contains(t){return(0,r.gc)(this._observable),this._items.has(t)}pop(){if(0===this.length)return;const t=this.peek();return this._items.delete(t),this._observable.notify(),t}popLast(){if(0===this.length)return;const t=this.last();return this._items.delete(t),this._observable.notify(),t}remove(t){this.contains(t)&&(this._items.delete(t),this._observable.notify())}filter(t){const e=this.length;return this._items.forEach(e=>{t(e)||this._items.delete(e)}),e!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,r.gc)(this._observable),yield*this._items}}},11406(t,e,s){s.d(e,{T:()=>n});var r=s(36563);class i{constructor(t,e){this._observers=t,this._observer=e}remove(){const{_observers:t,_observer:e}=this;if(t[t.length-1]===e)return void t.pop();const s=t.indexOf(this._observer);-1!==s&&t.splice(s,1)}}class n{constructor(){this._observers=null,this.destroyed=!1}observe(t){if(this.destroyed||t.destroyed)return h;null==this._observers&&(this._observers=[]);const e=this._observers;let s=!1,r=!1;for(const i of e)if(i.destroyed)r=!0;else if(i===t){s=!0;break}return s||(e.push(t),r&&this._removeDestroyedObservers()),new i(e,t)}_removeDestroyedObservers(){const t=this._observers;if(!t)return;const e=t.length;if(0===e)return;let s=0;for(let r=0;r<e;++r){for(;r+s<e&&t[r+s].destroyed;)++s;if(s>0){if(!(r+s<e))break;t[r]=t[r+s]}}t.length=e-s}destroy(){if(this.destroyed)return;this.destroyed=!0;const t=this._observers;if(null!=t){for(const e of t)e.onCommitted();this._observers=null}}}const h=(0,r.hA)()},15142(t,e,s){s.d(e,{A:()=>a});var r=s(4576),i=s(21818);const n=(t,e,s,r)=>{let i=e,n=e;const h=s>>>1,l=t[i-1];for(;n<=h;){n=i<<1,n<s&&r(t[n-1],t[n])<0&&++n;const e=t[n-1];if(r(e,l)<=0)break;t[i-1]=e,i=n}t[i-1]=l},h=(t,e)=>t<e?-1:t>e?1:0;function l(t,e,s,r){void 0===e&&(e=0),void 0===s&&(s=t.length),void 0===r&&(r=h);for(let i=s>>>1;i>e;i--)n(t,i,s,r);const i=e+1;for(let h=s-1;h>e;h--){const s=t[e];t[e]=t[h],t[h]=s,n(t,i,h,r)}}function*o(t,e,s,r){void 0===e&&(e=0),void 0===s&&(s=t.length),void 0===r&&(r=h);for(let i=s>>>1;i>e;i--)n(t,i,s,r),yield;const i=e+1;for(let h=s-1;h>e;h--){const s=t[e];t[e]=t[h],t[h]=s,n(t,i,h,r),yield}}class a{constructor(t){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new r.vW,t&&(t.initialSize&&(this.data=new Array(t.initialSize)),t.allocator&&(this._allocator=t.allocator),void 0!==t.deallocator&&(this._deallocator=t.deallocator),t.shrink&&(this._shrink=()=>c(this)))}toArray(){return this.data.slice(0,this.length)}filter(t){const e=new Array;for(let s=0;s<this._length;s++){const r=this.data[s];t(r)&&e.push(r)}return e}at(t){if((t=Math.trunc(t)||0)<0&&(t+=this._length),!(t<0||t>=this._length))return this.data[t]}includes(t,e){const s=this.data.indexOf(t,e);return-1!==s&&s<this.length}get length(){return this._length}set length(t){if(t>this._length){if(this._allocator){for(;this._length<t;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=t}else{if(this._deallocator)for(let e=t;e<this._length;++e)this.data[e]=this._deallocator(this.data[e]);this._length=t,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(t){this.data[this._length++]=t}pushArray(t,e=t.length){for(let s=0;s<e;s++)this.data[this._length++]=t[s]}pushAll(t){for(const e of t)this.data[this._length++]=e}fill(t,e){for(let s=0;s<e;s++)this.data[this._length++]=t}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const t=this.data[this._length];return++this._length,t}unshift(t){this.data.unshift(t),this._length++,c(this)}pop(){if(0===this.length)return;const t=this.data[this.length-1];return this.length=this.length-1,this._shrink(),t}remove(t){const e=(0,r.qh)(this.data,(0,i.z)(t),this.length,this._hint);if(-1!==e)return this.data.splice(e,1),this.length=this.length-1,t}removeUnordered(t){return this.removeUnorderedIndex((0,r.qh)(this.data,(0,i.z)(t),this.length,this._hint))}removeUnorderedIndex(t){if(!(t>=this.length||t<0))return this.swapElements(t,this.length-1),this.pop()}removeUnorderedMany(t,e=t.length,s){this.length=(0,r.mW)(this.data,t,this.length,e,this._hint,s),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(t,e){if(t>=this.length||e>=this.length||t===e)return;const s=this.data[t];this.data[t]=this.data[e],this.data[e]=s}sort(t){l(this.data,0,this.length,t)}iterableSort(t){return o(this.data,0,this.length,t)}some(t,e){for(let s=0;s<this.length;++s)if(t.call(e,this.data[s],s,this.data))return!0;return!1}find(t,e){const{data:s,length:r}=this;for(let i=0;i<r;++i)if(t.call(e,s[i]))return s[i]}filterInPlace(t,e){let s=0;for(let r=0;r<this._length;++r){const i=this.data[r];t.call(e,i,r,this.data)&&(this.data[r]=this.data[s],this.data[s]=i,s++)}if(this._deallocator)for(let t=s;t<this._length;t++)this.data[t]=this._deallocator(this.data[t]);return this._length=s,this._shrink(),this}forAll(t,e){const{data:s,length:r}=this;for(let i=0;i<r;++i)t.call(e,s[i],i,s)}forEach(t,e){this.data.slice(0,this.length).forEach(t,e)}map(t,e){const s=new Array(this.length);for(let r=0;r<this.length;++r)s[r]=t.call(e,this.data[r],r,this.data);return s}reduce(t,e){let s=e;for(let e=0;e<this.length;++e)s=t(s,this.data[e],e,this.data);return s}has(t){const e=this.length,s=this.data;for(let r=0;r<e;++r)if(s[r]===t)return!0;return!1}*[Symbol.iterator](){for(let t=0;t<this.length;t++)yield this.data[t]}}function c(t){t.data.length>1.5*t.length&&(t.data.length=Math.floor(1.1*t.length))}},26390(t,e,s){s.d(e,{d:()=>i});const r=[];function i(t){r.push(t),1===r.length&&queueMicrotask(()=>{const t=r.slice();r.length=0;for(const e of t)e()})}},32587(t,e,s){s.d(e,{A:()=>n});var r=s(62788),i=s(95488);class n{constructor(t){this._observable=new i.I,this._notifyPending=!1,this._batchDepth=0,this._map=new Map(t)}get size(){return(0,r.gc)(this._observable),this._map.size}batch(t){try{this._batchDepth++,t()}finally{this._batchDepth--,this._notifyPending&&0===this._batchDepth&&(this._notifyPending=!1,this._notify())}}clear(){this._map.size>0&&(this._map.clear(),this._notify())}delete(t){const e=this._map.delete(t);return e&&this._notify(),e}entries(){return(0,r.gc)(this._observable),this._map.entries()}forEach(t,e){(0,r.gc)(this._observable),this._map.forEach((s,r)=>t.call(e,s,r,this),e)}get(t){return(0,r.gc)(this._observable),this._map.get(t)}has(t){return(0,r.gc)(this._observable),this._map.has(t)}keys(){return(0,r.gc)(this._observable),this._map.keys()}set(t,e){return this._map.set(t,e),this._notify(),this}transformValues(t,e=this._map.keys()){this.batch(()=>{for(const s of e){if(!this._map.has(s))continue;const e=this._map.get(s),r=t(e,s);r!==e&&this.set(s,r)}})}values(){return(0,r.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,r.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}_notify(){this._batchDepth>0?this._notifyPending=!0:this._observable.notify()}}},44794(t,e,s){s.d(e,{v:()=>l});var r=s(4718),i=s(62788),n=s(95488);class h{constructor(t,e){this._observable=new n.I,this._value=t,this._equalityFunction=e}get value(){return(0,i.gc)(this._observable),this._value}set value(t){this._equalityFunction(t,this._value)||(this._value=t,this._observable.notify())}mutate(t){t(this._value),this._observable.notify()}}function l(t,e=r.gh){return new h(t,e)}},47328(t,e,s){s.d(e,{i:()=>r});const r={Dirty:1,Overridden:2,Computing:4,NonNullable:8,HasDefaultValue:16,DepTrackingInitialized:32,AutoTracked:64,ExplicitlyTracking:128}},62788(t,e,s){s.d(e,{F_:()=>_,Xr:()=>v,a:()=>d,fE:()=>p,gc:()=>a}),s(44208);var r=s(53966),i=s(88620),n=s(47328);const h=new(s(67867).R),l=[];let o=h;function a(t){o.onAccessed(t)}let c=!1,u=!1;function d(t,e,s){if(c)return f(t,e,s);let i;if(u){o=t,l.push(t);try{i=e.call(s)}catch(t){throw r.A.getLogger("esri.core.accessorSupport.tracking").error(t),t}finally{g()}}else{o=t,l.push(t);try{i=e.call(s)}finally{g()}}return i}function _(t,e){return d(h,t,e)}function f(t,e,s){const i=c;let n;c=!0,o=t,l.push(t);try{n=e.call(s)}catch(t){u&&r.A.getLogger("esri.core.accessorSupport.tracking").error(t)}return g(),c=i,n}function g(){const t=l.length;if(t>1){const e=l.pop();o=l[t-2],e.onTrackingEnd()}else if(1===t){const t=l.pop();o=h,t.onTrackingEnd()}else o=h}function p(t,e){if(e.flags&n.i.DepTrackingInitialized)return;e.flags|=n.i.DepTrackingInitialized;const s=u;u=!1,e.flags&n.i.AutoTracked?f(e.trackingTarget,e.metadata.get,t):v(t,e),u=s}const m=[];function v(t,e){e.flags&n.i.ExplicitlyTracking||(e.flags|=n.i.ExplicitlyTracking,f(e.trackingTarget,()=>{const s=e.metadata.dependsOn||m;for(const e of s)if("string"!=typeof e||e.includes(".")){const s=(0,i.AH)(e);for(let e=0,r=t;e<s.length&&null!=r&&"object"==typeof r;++e)r=y(r,s[e],e!==s.length-1)}else y(t,e,!1)}),e.flags&=~n.i.ExplicitlyTracking)}function y(t,e,s){const r=e.endsWith("?")?e.slice(0,-1):e;if(null!=t.getItemAt||Array.isArray(t)){const e=parseInt(r,10);if(!isNaN(e))return Array.isArray(t)?t[e]:t.at(e)}const n=(0,i.oY)(t);if(n){const e=n.propertiesByName.get(r);e&&(a(e),p(t,e))}return s?t[r]:void 0}},67867(t,e,s){s.d(e,{R:()=>r});class r{constructor(t){this.accessed=void 0,this._handles=void 0,this._observer=t}destroy(){this.clear(),this.accessed=void 0,this._observer=void 0}onAccessed(t){null!=this._observer&&t!==this._observer&&(null==this.accessed&&(this.accessed=new Set),this.accessed.add(t))}onTrackingEnd(){null!=this._observer&&(this.clear(),null!=this.accessed&&(null==this._handles&&(this._handles=[]),this.accessed.forEach(t=>{this._handles.push(t.observe(this._observer))}),this.accessed.clear()))}clear(){if(null!=this._handles)for(;this._handles.length;)this._handles.pop().remove()}}},76030(t,e,s){s.d(e,{_:()=>p,$m:()=>w,md:()=>k});var r=s(26390);function i(t,e,s,r,i){console.timeStamp(t,e,s,i,r)}class n{constructor(t,e=30){this.name=t,this._counter=0,this._samples=new Array(e)}push(t){null!=t&&(this._samples[++this._counter%this._samples.length]=t)}set(t){null!=t&&(this._samples[this._counter%this._samples.length]=t)}get median(){return this._samples.slice().sort((t,e)=>t-e)[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce((t,e)=>t+e,0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}var h=s(15142),l=s(74887),o=s(78659);class a{constructor(t){this.callback=t,this.isActive=!0}remove(){this.isActive=!1}}let c=0;const u={time:(0,o.l5)(0),deltaTime:(0,o.l5)(0),elapsedFrameTime:(0,o.l5)(0),frameDuration:(0,o.l5)(0)},d=["prepare","preRender","render","postRender","update","finish"],_=[],f=new h.A,g={frameTasks:f,willDispatch:!1,clearFrameTasks:function(t=!1){f.forAll(t=>{t.removed=!0}),t&&b()},dispatch:A,executeFrameTasks:function(t){const e=(0,o.l5)(t-c);c=t;const s=1e3/60,r=Math.max(0,e-s);u.time=t,u.frameDuration=(0,o.l5)(s-r);for(let s=0;s<d.length;s++){const r=performance.now(),n=d[s];f.forAll(r=>{r.paused||r.removed||(0===s&&r.ticks++,r.phases[n]&&(u.elapsedFrameTime=(0,o.l5)(performance.now()-t),u.deltaTime=0===r.ticks?(0,o.l5)(0):e,r.phases[n]?.call(r,u)))});const h=performance.now();I[s].push(h-r),i(n,r,h,"Maps SDK","Scheduling")}b();const n=performance.now();S.push(n-t),i("Animation Frame",t,n,"Maps SDK","Scheduling")},reschedule:function(){null!=m&&(cancelAnimationFrame(m),m=requestAnimationFrame(v))}};function p(t){const e=new a(t);return _.push(e),g.willDispatch||(g.willDispatch=!0,(0,r.d)(A)),e}let m=null;function v(){const t=performance.now();m=null;const e=f.some(t=>!t.paused&&!t.removed);m=e?requestAnimationFrame(v):null,g.executeFrameTasks(t)}const y=new h.A;function b(){f.forAll(t=>{t.removed&&y.push(t)}),f.removeUnorderedMany(y.data,y.length),y.clear()}function A(){for(;_.length;){const t=_.shift();t.isActive&&t.callback()}g.willDispatch=!1}function k(t=1,e){const s=(0,l.Tw)(),i=()=>{(0,l.G4)(e)?s.reject((0,l.NK)()):0===t?s():(--t,(0,r.d)(()=>i()))};return i(),s.promise}async function w(t){await function(t){return k(1,t)}(t),await new Promise(e=>requestAnimationFrame(()=>{t?.aborted||e()}))}const I=d.map(t=>new n(t)),S=new n("total")},78659(t,e,s){function r(t){return t}function i(t){return 1e3*t}function n(t){return t}s.d(e,{Kp:()=>n,gr:()=>i,l5:()=>r})},88620(t,e,s){s.d(e,{AH:()=>a,h1:()=>l,oY:()=>n,qg:()=>u,yh:()=>h});var r=s(36563),i=s(4718);function n(t){return t.__accessor__??null}function h(t,e){return null!=t?.metadata?.[e]}function l(t,e,s){return o(t,e,s?{policy:s,path:""}:null)}function o(t,e,s){return e?Object.keys(e).reduce((t,r)=>{const n=r;if("__proto__"===n)return t;let h=null,l="merge";if(s&&(h=s.path?`${s.path}.${r}`:r,l=s.policy(h)),"replace"===l)return t[n]=e[n],t;if("replace-arrays"===l&&Array.isArray(t[n]))return t[n]=e[n],t;if(void 0===t[n])return t[n]=(0,i.o8)(e[n]),t;let a=t[n],c=e[n];if(a===c)return t;if(Array.isArray(c)||Array.isArray(t))a=a?Array.isArray(a)?t[n]=a.slice():t[n]=[a]:t[n]=[],c&&(Array.isArray(c)||(c=[c]),c.forEach(t=>{a.includes(t)||a.push(t)}));else if(c&&"object"==typeof c)if(s){const e=s.path;s.path=h,t[n]=o(a,c,s),s.path=e}else t[n]=o(a,c,null);else t.hasOwnProperty(r)&&!e.hasOwnProperty(r)||(t[n]=c);return t},t||{}):t}function a(t){return Array.isArray(t)?t:t.split(".")}function c(t){return t.includes(",")?t.split(",").map(t=>t.trim()):[t.trim()]}function u(t,e,s,i){const n=function(t){if(Array.isArray(t)){const e=[];for(const s of t)e.push(...c(s));return e}return c(t)}(e);if(1!==n.length){const e=n.map(e=>i(t,e,s));return(0,r.vE)(e)}return i(t,n[0],s)}},95488(t,e,s){s.d(e,{I:()=>i});var r=s(11406);class i extends r.T{notify(){const t=this._observers;if(t&&t.length>0){const e=t.slice();for(const t of e)t.onInvalidated(),t.onCommitted()}}}}}]);