UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 675 B
import{isAbortError as e}from"../../../../../core/promiseUtils.js";class t{constructor(e){this._remoteClient=e,this._resourceMap=new Map,this._inFlightResourceMap=new Map,this.geometryEngine=null,this.geometryEnginePromise=null}destroy(){}async fetchResource(t,r){const s=this._resourceMap,i=s.get(t);if(i)return i;let n=this._inFlightResourceMap.get(t);if(n)return n;try{n=this._remoteClient.invoke("tileRenderer.fetchResource",{url:t},{...r}),this._inFlightResourceMap.set(t,n),n.then((e=>(this._inFlightResourceMap.delete(t),s.set(t,e),e)))}catch(o){return e(o)?null:{width:0,height:0}}return n}getResource(e){return this._resourceMap.get(e)??null}}export{t as default};