// All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.7/esri/copyright.txt for details. //>>built define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper dojo/_base/lang ../request ../core/Error ../core/promiseUtils ../core/accessorSupport/decorators ../geometry/Extent ../geometry/SpatialReference ./Layer ./mixins/RefreshableLayer ./mixins/ScaleRangeLayer ./support/TileInfo".split(" "),function(k,x,p,f,q,l,r,m,c,t,g,u,v,w,n){var d={id:"0/0/0",level:0,row:0,col:0,extent:null};return function(h){function a(){var b=null!==h&&h.apply(this,arguments)||this;b.tileInfo= n.create({spatialReference:g.WebMercator,size:256});b.type="base-tile";b.fullExtent=new t(-2.0037508342787E7,-2.003750834278E7,2.003750834278E7,2.0037508342787E7,g.WebMercator);b.spatialReference=g.WebMercator;return b}p(a,h);a.prototype.getTileBounds=function(b,a,c,e){e=e||[0,0,0,0];d.level=b;d.row=a;d.col=c;d.extent=e;this.tileInfo.updateTileInfo(d);d.extent=null;return e};a.prototype.getTileUrl=function(b,a,c){throw new r("basetilelayer:gettileurl-not-implemented","getTileUrl() is not implemented"); };a.prototype.fetchTile=function(b,a,c,e){b=this.getTileUrl(b,a,c);var d={responseType:"image"};e&&e.timestamp&&(d.query={_ts:e.timestamp});return"string"===typeof b?l(b,q.mixin({allowImageDataAccess:e&&e.allowImageDataAccess||!1},d)).then(function(a){return a.data}):b.then(function(a){return l(a,d)}).then(function(a){return a.data})};a.prototype.importLayerViewModule=function(a){switch(a.type){case "2d":return m.create(function(a){return k(["../views/2d/layers/TiledLayerView2D"],a)});case "3d":return m.create(function(a){return k(["../views/3d/layers/TileLayerView3D"], a)})}};f([c.property({type:n})],a.prototype,"tileInfo",void 0);f([c.property({readOnly:!0,value:"base-tile"})],a.prototype,"type",void 0);f([c.property()],a.prototype,"fullExtent",void 0);f([c.property()],a.prototype,"spatialReference",void 0);return a=f([c.subclass("esri.layers.BaseTileLayer")],a)}(c.declared(u,v,w))});