@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.9 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{_ as e}from"../chunks/tslib.es6.js";import r from"../request.js";import t from"../core/Error.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import o from"./Layer.js";import{BlendLayer as i}from"./mixins/BlendLayer.js";import{RefreshableLayer as m}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as n}from"./mixins/ScaleRangeLayer.js";var c;let p=c=class extends(i(n(m(o)))){constructor(){super(...arguments),this.type="base-dynamic"}getImageUrl(){throw new t("basedynamiclayer:getImageUrl-not-implemented","getImageUrl() is not implemented")}addResolvingPromise(e){super.addResolvingPromise(e)}async fetchImage(e,t,a,s){const o=this.getImageUrl(e,t,a),i={responseType:"image",signal:s?.signal,query:{...this.refreshParameters}};if("string"==typeof o){const{data:e}=await r(o,i);return e}const m=await o,{data:n}=await r(m,i);return n}async fetchImageBitmap(e,a,s,o={}){if(this.fetchImage!==c.prototype.fetchImage){const r=await this.fetchImage(e,a,s,o);try{return await createImageBitmap(r)}catch(g){throw new t("request:server","Unable to load image",{error:g,extent:e,width:a,height:s})}}const i=this.getImageUrl(e,a,s),m={responseType:"blob",signal:o?.signal,query:{...this.refreshParameters}};if("string"==typeof i){const{data:e}=await r(i,m);return createImageBitmap(e)}const n=await i,{data:p}=await r(n,m);return createImageBitmap(p)}};e([a({readOnly:!0,value:"base-dynamic"})],p.prototype,"type",void 0),e([a({type:["show","hide"]})],p.prototype,"listMode",void 0),p=c=e([s("esri.layers.BaseDynamicLayer")],p);const g=p;export{g as default};