1 |
- import{al as L,ew as O,t as w,g as P,ex as T,a as m,ey as g,bP as C}from"./index.6c049565.js";import{a as c,r as F}from"./fetchService.9a203085.js";import{a as N}from"./lazyLayerLoader.54408344.js";async function R(e){var s;const l=(s=e.properties)==null?void 0:s.customParameters,r=await x(e.url,l),a={...e.properties,url:e.url};if(!r.sublayerIds)return r.layerOrTableId!=null&&(a.layerId=r.layerOrTableId,a.sourceJSON=r.sourceJSON),new r.Constructor(a);const n=new(await L(()=>import("./GroupLayer.8bf657ba.js"),["assets/GroupLayer.8bf657ba.js","assets/index.6c049565.js","assets/index.cf071e35.css","assets/lazyLayerLoader.54408344.js"])).default({title:r.parsedUrl.title});return U(n,r,a),n}function h(e,l){return e?e.find(r=>r.id===l):null}function U(e,l,r){function a(n,s){const o={...r,layerId:n,sublayerTitleMode:"service-name"};return m(s)&&(o.sourceJSON=s),new l.Constructor(o)}l.sublayerIds.forEach(n=>{const s=a(n,h(l.sublayerInfos,n));e.add(s)}),l.tableIds.forEach(n=>{const s=a(n,h(l.tableInfos,n));e.tables.add(s)})}async function x(e,l){var I,p;let r=O(e);if(w(r)&&(r=await J(e,l)),w(r))throw new P("arcgis-layers:url-mismatch","The url '${url}' is not a valid arcgis resource",{url:e});const{serverType:a,sublayer:n}=r;let s;const o={FeatureServer:"FeatureLayer",StreamServer:"StreamLayer",VectorTileServer:"VectorTileLayer"};switch(a){case"MapServer":s=n!=null?"FeatureLayer":E(e,l).then(t=>t?"TileLayer":"MapImageLayer");break;case"ImageServer":s=c(e,{customParameters:l}).then(t=>{const i=t.tileInfo&&t.tileInfo.format;return t.tileInfo?(i==null?void 0:i.toUpperCase())!=="LERC"||t.cacheType&&t.cacheType.toLowerCase()!=="elevation"?"ImageryTileLayer":"ElevationLayer":"ImageryLayer"});break;case"SceneServer":s=c(r.url.path,{customParameters:l}).then(t=>{var i;if(t){if((t==null?void 0:t.layerType)==="Voxel")return"VoxelLayer";if((t==null?void 0:t.layers)&&Array.isArray(t.layers)&&t.layers.length>0){const b={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"},S=(i=t.layers[0])==null?void 0:i.layerType;if(b[S]!=null)return b[S]}}return"SceneLayer"});break;default:s=o[a]}const u={FeatureLayer:!0,SceneLayer:!0},d=a==="FeatureServer",y={parsedUrl:r,Constructor:null,layerOrTableId:d?n:null,sublayerIds:null,tableIds:null},f=await s;if(u[f]&&n==null){const t=await V(e,a,l);d&&(y.sublayerInfos=t.layerInfos,y.tableInfos=t.tableInfos),t.layerIds.length+t.tableIds.length!==1?(y.sublayerIds=t.layerIds,y.tableIds=t.tableIds):d&&(y.layerOrTableId=(I=t.layerIds[0])!=null?I:t.tableIds[0],y.sourceJSON=(p=t.layerInfos[0])!=null?p:t.tableInfos[0])}return y.Constructor=await _(f),y}async function J(e,l){var u;const r=await c(e,{customParameters:l});let a=null,n=null;const s=r.type;if(s==="Feature Layer"||s==="Table"?(a="FeatureServer",n=r.id):s==="indexedVector"?a="VectorTileServer":r.hasOwnProperty("mapName")?a="MapServer":r.hasOwnProperty("bandCount")&&r.hasOwnProperty("pixelSizeX")?a="ImageServer":r.hasOwnProperty("maxRecordCount")&&r.hasOwnProperty("allowGeometryUpdates")?a="FeatureServer":r.hasOwnProperty("streamUrls")?a="StreamServer":v(r)?(a="SceneServer",n=r.id):r.hasOwnProperty("layers")&&v((u=r.layers)==null?void 0:u[0])&&(a="SceneServer"),!a)return null;const o=n!=null?T(e):null;return{title:m(o)&&r.name||g(e),serverType:a,sublayer:n,url:{path:m(o)?o.serviceUrl:C(e).path}}}function v(e){return(e==null?void 0:e.hasOwnProperty("store"))&&e.hasOwnProperty("id")&&typeof e.id=="number"}async function V(e,l,r){let a,n=!1;if(l==="FeatureServer"){const u=await F(e,{customParameters:r});n=!!u.layersJSON,a=u.layersJSON||u.serviceJSON}else a=await c(e,{customParameters:r});const s=a==null?void 0:a.layers,o=a==null?void 0:a.tables;return{layerIds:(s==null?void 0:s.map(u=>u.id).reverse())||[],tableIds:(o==null?void 0:o.map(u=>u.id).reverse())||[],layerInfos:n?s:[],tableInfos:n?o:[]}}async function _(e){return(0,N[e])()}async function E(e,l){return(await c(e,{customParameters:l})).tileInfo}export{R as fromUrl};
|