123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import {
- a
- } from "./chunk-QNKN2AAB.js";
- import {
- m,
- w
- } from "./chunk-X7DBH4KK.js";
- import {
- U
- } from "./chunk-VNFRAYHO.js";
- import {
- Ut,
- j
- } from "./chunk-VBRY5KJM.js";
- import {
- s3 as s
- } from "./chunk-EMJ4ZSM2.js";
- import {
- r,
- t
- } from "./chunk-GZT4BVFP.js";
- // node_modules/@arcgis/core/layers/support/arcgisLayers.js
- async function y(e) {
- const r2 = e.properties?.customParameters, a2 = await f(e.url, r2), t2 = { ...e.properties, url: e.url };
- if (!a2.sublayerIds)
- return a2.layerOrTableId != null && (t2.layerId = a2.layerOrTableId, t2.sourceJSON = a2.sourceJSON), new a2.Constructor(t2);
- const s2 = new (0, (await import("./GroupLayer-VVRSBWUE.js")).default)({ title: a2.parsedUrl.title });
- return c(s2, a2, t2), s2;
- }
- function i(e, r2) {
- return e ? e.find((e2) => e2.id === r2) : null;
- }
- function c(e, r2, a2) {
- function s2(e2, s3) {
- const n = { ...a2, layerId: e2, sublayerTitleMode: "service-name" };
- return r(s3) && (n.sourceJSON = s3), new r2.Constructor(n);
- }
- r2.sublayerIds.forEach((a3) => {
- const t2 = s2(a3, i(r2.sublayerInfos, a3));
- e.add(t2);
- }), r2.tableIds.forEach((a3) => {
- const t2 = s2(a3, i(r2.tableInfos, a3));
- e.tables.add(t2);
- });
- }
- async function f(e, t2) {
- let s2 = m(e);
- if (t(s2) && (s2 = await d(e, t2)), t(s2))
- throw new s("arcgis-layers:url-mismatch", "The url '${url}' is not a valid arcgis resource", { url: e });
- const { serverType: n, sublayer: o } = s2;
- let u;
- const y2 = { FeatureServer: "FeatureLayer", StreamServer: "StreamLayer", VectorTileServer: "VectorTileLayer" };
- switch (n) {
- case "MapServer":
- u = o != null ? "FeatureLayer" : w2(e, t2).then((e2) => e2 ? "TileLayer" : "MapImageLayer");
- break;
- case "ImageServer":
- u = h(e, { customParameters: t2 }).then((e2) => {
- const r2 = e2.tileInfo && e2.tileInfo.format;
- return e2.tileInfo ? r2?.toUpperCase() !== "LERC" || e2.cacheType && e2.cacheType.toLowerCase() !== "elevation" ? "ImageryTileLayer" : "ElevationLayer" : "ImageryLayer";
- });
- break;
- case "SceneServer":
- u = h(s2.url.path, { customParameters: t2 }).then((e2) => {
- if (e2) {
- if (e2?.layerType === "Voxel")
- return "VoxelLayer";
- if (e2?.layers && Array.isArray(e2.layers) && e2.layers.length > 0) {
- const r2 = { Point: "SceneLayer", "3DObject": "SceneLayer", IntegratedMesh: "IntegratedMeshLayer", PointCloud: "PointCloudLayer", Building: "BuildingSceneLayer" }, a2 = e2.layers[0]?.layerType;
- if (r2[a2] != null)
- return r2[a2];
- }
- }
- return "SceneLayer";
- });
- break;
- default:
- u = y2[n];
- }
- const i2 = { FeatureLayer: true, SceneLayer: true }, c2 = n === "FeatureServer", f2 = { parsedUrl: s2, Constructor: null, layerOrTableId: c2 ? o : null, sublayerIds: null, tableIds: null }, m3 = await u;
- if (i2[m3] && o == null) {
- const r2 = await p(e, n, t2);
- c2 && (f2.sublayerInfos = r2.layerInfos, f2.tableInfos = r2.tableInfos);
- r2.layerIds.length + r2.tableIds.length !== 1 ? (f2.sublayerIds = r2.layerIds, f2.tableIds = r2.tableIds) : c2 && (f2.layerOrTableId = r2.layerIds[0] ?? r2.tableIds[0], f2.sourceJSON = r2.layerInfos[0] ?? r2.tableInfos[0]);
- }
- return f2.Constructor = await S(m3), f2;
- }
- async function d(e, r2) {
- const a2 = await h(e, { customParameters: r2 });
- let l = null, u = null;
- const y2 = a2.type;
- if (y2 === "Feature Layer" || y2 === "Table" ? (l = "FeatureServer", u = a2.id) : y2 === "indexedVector" ? l = "VectorTileServer" : a2.hasOwnProperty("mapName") ? l = "MapServer" : a2.hasOwnProperty("bandCount") && a2.hasOwnProperty("pixelSizeX") ? l = "ImageServer" : a2.hasOwnProperty("maxRecordCount") && a2.hasOwnProperty("allowGeometryUpdates") ? l = "FeatureServer" : a2.hasOwnProperty("streamUrls") ? l = "StreamServer" : m2(a2) ? (l = "SceneServer", u = a2.id) : a2.hasOwnProperty("layers") && m2(a2.layers?.[0]) && (l = "SceneServer"), !l)
- return null;
- const i2 = u != null ? w(e) : null;
- return { title: r(i2) && a2.name || Ut(e), serverType: l, sublayer: u, url: { path: r(i2) ? i2.serviceUrl : j(e).path } };
- }
- function m2(e) {
- return e?.hasOwnProperty("store") && e.hasOwnProperty("id") && typeof e.id == "number";
- }
- async function p(e, r2, a2) {
- let t2, s2 = false;
- if (r2 === "FeatureServer") {
- const r3 = await b(e, { customParameters: a2 });
- s2 = !!r3.layersJSON, t2 = r3.layersJSON || r3.serviceJSON;
- } else
- t2 = await h(e, { customParameters: a2 });
- const n = t2?.layers, l = t2?.tables;
- return { layerIds: n?.map((e2) => e2.id).reverse() || [], tableIds: l?.map((e2) => e2.id).reverse() || [], layerInfos: s2 ? n : [], tableInfos: s2 ? l : [] };
- }
- function I(e) {
- return !e.type || e.type === "Feature Layer";
- }
- async function b(e, r2) {
- let a2 = await h(e, r2);
- a2 = a2 || {}, a2.layers = a2.layers?.filter(I) || [];
- const t2 = { serviceJSON: a2 };
- if (a2.currentVersion < 10.5)
- return t2;
- const s2 = await h(e + "/layers", r2);
- return t2.layersJSON = { layers: s2?.layers?.filter(I) || [], tables: s2?.tables || [] }, t2;
- }
- async function S(e) {
- return (0, a[e])();
- }
- async function w2(e, r2) {
- return (await h(e, { customParameters: r2 })).tileInfo;
- }
- async function h(r2, a2) {
- return (await U(r2, { responseType: "json", query: { f: "json", ...a2?.customParameters, token: a2?.apiKey } })).data;
- }
- export {
- y,
- b
- };
- //# sourceMappingURL=chunk-KA2TGIQA.js.map
|