chunk-KA2TGIQA.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. import {
  2. a
  3. } from "./chunk-QNKN2AAB.js";
  4. import {
  5. m,
  6. w
  7. } from "./chunk-X7DBH4KK.js";
  8. import {
  9. U
  10. } from "./chunk-VNFRAYHO.js";
  11. import {
  12. Ut,
  13. j
  14. } from "./chunk-VBRY5KJM.js";
  15. import {
  16. s3 as s
  17. } from "./chunk-EMJ4ZSM2.js";
  18. import {
  19. r,
  20. t
  21. } from "./chunk-GZT4BVFP.js";
  22. // node_modules/@arcgis/core/layers/support/arcgisLayers.js
  23. async function y(e) {
  24. const r2 = e.properties?.customParameters, a2 = await f(e.url, r2), t2 = { ...e.properties, url: e.url };
  25. if (!a2.sublayerIds)
  26. return a2.layerOrTableId != null && (t2.layerId = a2.layerOrTableId, t2.sourceJSON = a2.sourceJSON), new a2.Constructor(t2);
  27. const s2 = new (0, (await import("./GroupLayer-VVRSBWUE.js")).default)({ title: a2.parsedUrl.title });
  28. return c(s2, a2, t2), s2;
  29. }
  30. function i(e, r2) {
  31. return e ? e.find((e2) => e2.id === r2) : null;
  32. }
  33. function c(e, r2, a2) {
  34. function s2(e2, s3) {
  35. const n = { ...a2, layerId: e2, sublayerTitleMode: "service-name" };
  36. return r(s3) && (n.sourceJSON = s3), new r2.Constructor(n);
  37. }
  38. r2.sublayerIds.forEach((a3) => {
  39. const t2 = s2(a3, i(r2.sublayerInfos, a3));
  40. e.add(t2);
  41. }), r2.tableIds.forEach((a3) => {
  42. const t2 = s2(a3, i(r2.tableInfos, a3));
  43. e.tables.add(t2);
  44. });
  45. }
  46. async function f(e, t2) {
  47. let s2 = m(e);
  48. if (t(s2) && (s2 = await d(e, t2)), t(s2))
  49. throw new s("arcgis-layers:url-mismatch", "The url '${url}' is not a valid arcgis resource", { url: e });
  50. const { serverType: n, sublayer: o } = s2;
  51. let u;
  52. const y2 = { FeatureServer: "FeatureLayer", StreamServer: "StreamLayer", VectorTileServer: "VectorTileLayer" };
  53. switch (n) {
  54. case "MapServer":
  55. u = o != null ? "FeatureLayer" : w2(e, t2).then((e2) => e2 ? "TileLayer" : "MapImageLayer");
  56. break;
  57. case "ImageServer":
  58. u = h(e, { customParameters: t2 }).then((e2) => {
  59. const r2 = e2.tileInfo && e2.tileInfo.format;
  60. return e2.tileInfo ? r2?.toUpperCase() !== "LERC" || e2.cacheType && e2.cacheType.toLowerCase() !== "elevation" ? "ImageryTileLayer" : "ElevationLayer" : "ImageryLayer";
  61. });
  62. break;
  63. case "SceneServer":
  64. u = h(s2.url.path, { customParameters: t2 }).then((e2) => {
  65. if (e2) {
  66. if (e2?.layerType === "Voxel")
  67. return "VoxelLayer";
  68. if (e2?.layers && Array.isArray(e2.layers) && e2.layers.length > 0) {
  69. const r2 = { Point: "SceneLayer", "3DObject": "SceneLayer", IntegratedMesh: "IntegratedMeshLayer", PointCloud: "PointCloudLayer", Building: "BuildingSceneLayer" }, a2 = e2.layers[0]?.layerType;
  70. if (r2[a2] != null)
  71. return r2[a2];
  72. }
  73. }
  74. return "SceneLayer";
  75. });
  76. break;
  77. default:
  78. u = y2[n];
  79. }
  80. 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;
  81. if (i2[m3] && o == null) {
  82. const r2 = await p(e, n, t2);
  83. c2 && (f2.sublayerInfos = r2.layerInfos, f2.tableInfos = r2.tableInfos);
  84. 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]);
  85. }
  86. return f2.Constructor = await S(m3), f2;
  87. }
  88. async function d(e, r2) {
  89. const a2 = await h(e, { customParameters: r2 });
  90. let l = null, u = null;
  91. const y2 = a2.type;
  92. 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)
  93. return null;
  94. const i2 = u != null ? w(e) : null;
  95. return { title: r(i2) && a2.name || Ut(e), serverType: l, sublayer: u, url: { path: r(i2) ? i2.serviceUrl : j(e).path } };
  96. }
  97. function m2(e) {
  98. return e?.hasOwnProperty("store") && e.hasOwnProperty("id") && typeof e.id == "number";
  99. }
  100. async function p(e, r2, a2) {
  101. let t2, s2 = false;
  102. if (r2 === "FeatureServer") {
  103. const r3 = await b(e, { customParameters: a2 });
  104. s2 = !!r3.layersJSON, t2 = r3.layersJSON || r3.serviceJSON;
  105. } else
  106. t2 = await h(e, { customParameters: a2 });
  107. const n = t2?.layers, l = t2?.tables;
  108. return { layerIds: n?.map((e2) => e2.id).reverse() || [], tableIds: l?.map((e2) => e2.id).reverse() || [], layerInfos: s2 ? n : [], tableInfos: s2 ? l : [] };
  109. }
  110. function I(e) {
  111. return !e.type || e.type === "Feature Layer";
  112. }
  113. async function b(e, r2) {
  114. let a2 = await h(e, r2);
  115. a2 = a2 || {}, a2.layers = a2.layers?.filter(I) || [];
  116. const t2 = { serviceJSON: a2 };
  117. if (a2.currentVersion < 10.5)
  118. return t2;
  119. const s2 = await h(e + "/layers", r2);
  120. return t2.layersJSON = { layers: s2?.layers?.filter(I) || [], tables: s2?.tables || [] }, t2;
  121. }
  122. async function S(e) {
  123. return (0, a[e])();
  124. }
  125. async function w2(e, r2) {
  126. return (await h(e, { customParameters: r2 })).tileInfo;
  127. }
  128. async function h(r2, a2) {
  129. return (await U(r2, { responseType: "json", query: { f: "json", ...a2?.customParameters, token: a2?.apiKey } })).data;
  130. }
  131. export {
  132. y,
  133. b
  134. };
  135. //# sourceMappingURL=chunk-KA2TGIQA.js.map