portalLayers.7b8018b1.js 4.2 KB

1
  1. import{cs as L,g as S}from"./index.6c049565.js";import{a as h}from"./lazyLayerLoader.54408344.js";import{n as o,w as l,b as I,T as g,g as w}from"./layersLoader.1acfd9a9.js";import{s as u}from"./portalItemUtils.6b2af26d.js";import"./jsonContext.e9416d90.js";function z(e){return!e.portalItem||e.portalItem instanceof L||(e={...e,portalItem:new L(e.portalItem)}),T(e.portalItem).then(r=>{const a={portalItem:e.portalItem,...r.properties};return new r.constructor(a)})}function T(e){return e.load().then(M).then(v)}function M(e){switch(e.type){case"Map Service":return C(e);case"Feature Service":return G(e);case"Feature Collection":return P(e);case"Scene Service":return F(e);case"Image Service":return b(e);case"Stream Service":return $();case"Vector Tile Service":return j();case"GeoJson":return D();case"CSV":return K();case"KML":return O();case"WFS":return V();case"WMTS":return k();case"WMS":return W();case"Feed":return x();default:return Promise.reject(new S("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type}))}}function v(e){return(0,h[e.className])().then(r=>({constructor:r,properties:e.properties}))}function C(e){return B(e).then(r=>r?{className:"TileLayer"}:{className:"MapImageLayer"})}function G(e){return u(e,"Oriented Imagery Layer")?A(e):d(e).then(r=>{if(typeof r=="object"){const a={};return r.id!=null&&(a.layerId=r.id),{className:r.className||"FeatureLayer",properties:a}}return{className:"GroupLayer"}})}function F(e){return d(e).then(r=>{if(typeof r=="object"){const a={};let t;if(r.id!=null?(a.layerId=r.id,t=`${e.url}/layers/${r.id}`):t=e.url,Array.isArray(e.typeKeywords)&&e.typeKeywords.length>0){const n={IntegratedMesh:"IntegratedMeshLayer","3DObject":"SceneLayer",Point:"SceneLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};for(const s of Object.keys(n))if(e.typeKeywords.includes(s))return{className:n[s]}}return o(t).then(n=>{let s="SceneLayer";const c={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};return n&&n.layerType&&c[n.layerType]&&(s=c[n.layerType]),{className:s,properties:a}})}return r===!1?o(e.url).then(a=>(a==null?void 0:a.layerType)==="Voxel"?{className:"VoxelLayer"}:{className:"GroupLayer"}):{className:"GroupLayer"}})}async function P(e){await e.load();const r=u(e,"Map Notes"),a=u(e,"Markup");if(r||a)return{className:"MapNotesLayer"};if(u(e,"Route Layer"))return{className:"RouteLayer"};const t=await e.fetchData();return l(t)===1?{className:"FeatureLayer"}:{className:"GroupLayer"}}async function b(e){var c,y,m,p,f;await e.load();const r=(y=(c=e.typeKeywords)==null?void 0:c.map(N=>N.toLowerCase()))!=null?y:[];if(r.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(r.includes("tiled imagery"))return{className:"ImageryTileLayer"};const a=(m=await e.fetchData())==null?void 0:m.layerType;if(a==="ArcGISTiledImageServiceLayer")return{className:"ImageryTileLayer"};if(a==="ArcGISImageServiceLayer")return{className:"ImageryLayer"};const t=await o(e.url),n=(p=t.cacheType)==null?void 0:p.toLowerCase(),s=(f=t.capabilities)==null?void 0:f.toLowerCase().includes("tilesonly");return n==="map"||s?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}function $(){return{className:"StreamLayer"}}function j(){return{className:"VectorTileLayer"}}function D(){return{className:"GeoJSONLayer"}}function K(){return{className:"CSVLayer"}}function O(){return{className:"KMLLayer"}}function V(){return{className:"WFSLayer"}}function W(){return{className:"WMSLayer"}}function k(){return{className:"WMTSLayer"}}function x(){return{className:"StreamLayer"}}function A(e){return e.load().then(()=>e.fetchData()).then(r=>r.coverage?{className:"GroupLayer"}:{className:"OrientedImageryLayer",properties:r})}function B(e){return o(e.url).then(r=>r.tileInfo)}function d(e){return!e.url||e.url.match(/\/\d+$/)?Promise.resolve({}):e.load().then(()=>e.fetchData()).then(async r=>{if(e.type==="Feature Service"){const a=i(await I(r,e.url));if(typeof a=="object"){const t=g(r);a.className=t.includes(a.id)?"SubtypeGroupLayer":"FeatureLayer"}return a}return l(r)>0?i(r):o(e.url).then(i)})}function i(e){return l(e)===1&&{id:w(e)}}export{z as fromItem,M as selectLayerClassPath};