UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 1.59 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{save as e,saveAs as t}from"./utils.js";import{getPrimaryRasters as r}from"../support/rasterDatasets/datasetUtils.js";import{getWGS84ExtentForItem as a,removeTypeKeyword as s,typeKeyword as i,toggleTypeKeyword as y}from"../../portal/support/portalItemUtils.js";const l="Image Service",o="imagery-layer-save",m="imagery-layer-save-as",n="imagery-tile-layer-save",c="imagery-tile-layer-save-as",p="WCS",u="wcs-layer-save",g="wcs-layer-save-as";function v(e){if("imagery"===e.type||"wcs"===e.type)return{isValid:!0};const{raster:t}=e,a=r(t)[0];return{isValid:"RasterTileServer"===a?.datasetFormat&&("Raster"===a.tileType||"Map"===a.tileType),errorMessage:"imagery tile layer should be created from a tiled image service."}}function f(e){const t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}async function d(e,t){const{parsedUrl:r,title:l,fullExtent:o}=e;t.url=r.path,t.title||=l;try{t.extent=await a(o)}catch{t.extent=void 0}s(t,i.METADATA),y(t,i.TILED_IMAGERY,"imagery-tile"===e.type)}async function I(t,r){const a="imagery"===t.type?o:"imagery-tile"===t.type?n:u,s="wcs"===t.type?p:l;return e({layer:t,itemType:s,validateLayer:v,createItemData:f,errorNamePrefix:a},r)}async function T(e,r,a){const s="imagery"===e.type?m:"imagery-tile"===e.type?c:g,i="wcs"===e.type?p:l;return t({layer:e,itemType:i,validateLayer:v,createItemData:f,errorNamePrefix:s,newItem:r,setItemProperties:d},a)}export{I as save,T as saveAs};