@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.15 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{fetchArcGISServiceJSON as e}from"../../support/requestPresets.js";const a=new Set(["Catalog Layer","Feature Layer","Oriented Imagery Layer"]);async function t(a,t){const{loadContext:r,...n}=t||{},c=r?await r.fetchServiceMetadata(a,n):await e(a,n);o(c),s(c);const y={serviceJSON:c};if((c.currentVersion??0)<10.5)return y;const i=`${a}/layers`,u=r?await r.fetchServiceMetadata(i,n):await e(i,n);return o(u),s(u),y.layersJSON={layers:u.layers,tables:u.tables},y}function r(e){const{type:t}=e;return!!t&&a.has(t)}function n(e){return"Table"===e.type}function s(e){e.layers=e.layers?.filter(r),e.tables=e.tables?.filter(n)}function c(e){e.type||="Feature Layer"}function y(e){e.type||="Table"}function o(e){e.layers?.forEach(c),e.tables?.forEach(y)}function i(e){switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer"}return"FeatureLayer"}export{t as fetchFeatureService,i as getLayerModuleType};