@arcgis/core 5.1.0-next.77 → 5.1.0-next.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/analysis/ElevationProfile/ElevationProfileGroup.d.ts +74 -0
  2. package/analysis/ElevationProfile/ElevationProfileGroup.js +2 -0
  3. package/analysis/ElevationProfileAnalysis.d.ts +29 -14
  4. package/analysis/ElevationProfileAnalysis.js +1 -1
  5. package/analysis/ShadowCast/DiscreteOptions.d.ts +33 -6
  6. package/analysis/ShadowCast/DiscreteOptions.js +1 -1
  7. package/analysis/ShadowCast/MinDurationOptions.d.ts +6 -4
  8. package/analysis/ShadowCast/TotalDurationOptions.d.ts +33 -6
  9. package/analysis/ShadowCast/TotalDurationOptions.js +1 -1
  10. package/analysis/ShadowCast/colorStopsUtils.js +2 -0
  11. package/analysis/ShadowCastAnalysis.d.ts +24 -1
  12. package/analysis/ShadowCastAnalysis.js +1 -1
  13. package/analysis/Viewshed.d.ts +27 -0
  14. package/analysis/Viewshed.js +1 -1
  15. package/analysis/ViewshedAnalysis.js +1 -1
  16. package/applications/Components/OrientedImageryViewer/ImageViewer/utils.d.ts +34 -0
  17. package/applications/Components/OrientedImageryViewer/ImageViewer/utils.js +2 -0
  18. package/arcade/FunctionWrapper.js +1 -1
  19. package/arcade/arcadeAsyncRuntime.js +1 -1
  20. package/arcade/arcadeCompiler.js +1 -1
  21. package/arcade/arcadeRuntime.js +1 -1
  22. package/arcade/compilerUtils.js +1 -1
  23. package/arcade/debug.d.ts +139 -0
  24. package/arcade/debug.js +2 -0
  25. package/arcade/featureSetCollection.js +1 -1
  26. package/arcade/featureSetUtils.js +1 -1
  27. package/arcade/featureset/actions/GroupBy.js +1 -1
  28. package/arcade/featureset/actions/OrderBy.js +1 -1
  29. package/arcade/functions/featuresetstring.js +1 -1
  30. package/arcade/languageUtils.js +1 -1
  31. package/arcade.d.ts +46 -2
  32. package/arcade.js +1 -1
  33. package/assets/esri/core/workers/RemoteClient.js +1 -1
  34. package/assets/esri/core/workers/chunks/{1c7183551f5269bdcf13.js → 01bd1b86ba899c6aa4c0.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{1f8ccf96069ac3a40c3d.js → 01ee18782a50279f907e.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{34ea3ed78041437a8fc8.js → 022067e807905cabeaa1.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{537fe2522dff1e6ce03b.js → 052cdc7aaa803b5873f0.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{8d75f6f27c1c17c33992.js → 056fd7847caaff2c9514.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{8acee3fba488f202f82f.js → 05c3146d87d917606193.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{75d5ea0da181f9e7425f.js → 0aebcbf41cb193e76809.js} +11 -11
  41. package/assets/esri/core/workers/chunks/{54023458195549f66215.js → 0b77c124b743067e4155.js} +1 -1
  42. package/assets/esri/core/workers/chunks/10408183681fd6c7b4ed.js +2 -0
  43. package/assets/esri/core/workers/chunks/17acbf40e7c1cb42d9bd.js +1 -0
  44. package/assets/esri/core/workers/chunks/{baeb96aef03d4c566af7.js → 1f53620f82cc7c3daabe.js} +1 -1
  45. package/assets/esri/core/workers/chunks/2387613b855771a3e537.js +1 -0
  46. package/assets/esri/core/workers/chunks/283d39dfb1625b5a74db.js +1 -0
  47. package/assets/esri/core/workers/chunks/{7595ceba529ed01c7590.js → 2c87c3112a43db8624f6.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{13e60f19f436b8d683ae.js → 3c9482764c9e4f8bcbb0.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{5e1b847b116d21908a54.js → 3e37019eee1c49d2bf64.js} +1 -1
  50. package/assets/esri/core/workers/chunks/45c83eb7c2a06166e3b0.js +1 -0
  51. package/assets/esri/core/workers/chunks/48acd146bf0241d87647.js +1 -0
  52. package/assets/esri/core/workers/chunks/5818f1f526577068d6ca.js +2 -0
  53. package/assets/esri/core/workers/chunks/5b6f2bfdcdd207d8ae42.js +1 -0
  54. package/assets/esri/core/workers/chunks/{330b47ac0759c3c35cc5.js → 5ccc325d83cec4f5ccdb.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{30e710ec4d22c43d4e7e.js → 5cffc7b49966201eccdb.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{1a87e9bbd85ba29b1514.js → 5da2051f548c2942e01a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/5ec66e39e53c11e75179.js +2 -0
  58. package/assets/esri/core/workers/chunks/{0b1454a77a6a682541dc.js.LICENSE.txt → 5ec66e39e53c11e75179.js.LICENSE.txt} +9 -1
  59. package/assets/esri/core/workers/chunks/5f6fd20a7f4e80eafa25.js +1 -0
  60. package/assets/esri/core/workers/chunks/{abc06d10c7ac8ba5b0e4.js → 67ec1694d6e18b7c234c.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{32e22d6eee9fed1f70b0.js → 6d696beddcc5fbed5875.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{f590b60fca607d66001a.js → 716a4d7e8b908b81870b.js} +1 -1
  63. package/assets/esri/core/workers/chunks/71fe127734f33d020a44.js +1 -0
  64. package/assets/esri/core/workers/chunks/7cdd0492b2191df95102.js +2 -0
  65. package/assets/esri/core/workers/chunks/7cea68257d24ffd205bb.js +1 -0
  66. package/assets/esri/core/workers/chunks/7e530e635325dba07864.js +1 -0
  67. package/assets/esri/core/workers/chunks/{6b66fc32451433129a88.js → 8508f238d99021e87f71.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{bc75ab48f4c7609ef09d.js → 85d3475667c503ec4fc6.js} +1 -1
  69. package/assets/esri/core/workers/chunks/8f6f5dad52747d252aac.js +596 -0
  70. package/assets/esri/core/workers/chunks/{d950d5c2844206502ff0.js → 992cd87ba0ab6346f692.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{73c87eb9bd8f0f848481.js → 9c11e1fe785e1385fdb1.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{5ed8d8b5336c81fbcda3.js → 9d216e30d04ea21fc8a2.js} +1 -1
  73. package/assets/esri/core/workers/chunks/a54aa93b6012a2597f82.js +1 -0
  74. package/assets/esri/core/workers/chunks/{cf14b3a44705dacefac4.js → a9b5ce00323cd5574bf7.js} +1 -1
  75. package/assets/esri/core/workers/chunks/ae6b3dfe5f757df539d6.js +1 -0
  76. package/assets/esri/core/workers/chunks/b14c4c3f295970f731ab.js +1 -0
  77. package/assets/esri/core/workers/chunks/{c70df6ed190f9ebcf6aa.js → bf2c202dec5ab7bc770b.js} +1 -1
  78. package/assets/esri/core/workers/chunks/c1d4110aa494a1dba3c4.js +1 -0
  79. package/assets/esri/core/workers/chunks/{9d6491f996eeb0c646ed.js → c442916805975744dd92.js} +1 -1
  80. package/assets/esri/core/workers/chunks/dacc2e5fa462495ed1cc.js +2 -0
  81. package/assets/esri/core/workers/chunks/f227b34cce6843df0fb6.js +1 -0
  82. package/assets/esri/core/workers/chunks/{dda2cb5c073d1e65f14f.js → f43d628d47eec7d530c7.js} +1 -1
  83. package/assets/esri/core/workers/chunks/f7531aa69a87814c60d1.js +1 -0
  84. package/assets/esri/core/workers/chunks/{bf8f603848bad4a7deb4.js → fb100935fd8948d779f5.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{88b480a1d1fb01778798.js → fb9e3e7cd532ac4353f1.js} +25 -30
  86. package/assets/esri/core/workers/chunks/fc6ca7ffb9f1b875059c.js +1 -0
  87. package/assets/esri/core/workers/chunks/{14eb2cc8e2ad6d8d03fd.js → ffc4f3406ce383b9bd88.js} +1 -1
  88. package/assets/esri/themes/base/_core.scss +2 -0
  89. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +6 -0
  90. package/assets/esri/themes/base/widgets/_PluginSettingsControls.scss +29 -0
  91. package/assets/esri/themes/dark/main.css +1 -1
  92. package/assets/esri/themes/light/main.css +1 -1
  93. package/assets/esri/themes/light/view.css +1 -1
  94. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  95. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  96. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  97. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  98. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  99. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  100. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  101. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  102. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  103. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  104. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  105. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  106. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  107. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  108. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  109. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  110. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  111. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  112. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  113. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  114. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  115. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  116. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  117. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  118. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  119. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  120. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  121. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  122. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  123. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  124. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  125. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  126. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  127. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  128. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  129. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  130. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  131. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  132. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  133. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  134. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  135. package/assets/esri/widgets/Sketch/t9n/Sketch.json +1 -1
  136. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  137. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  138. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  139. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  140. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  141. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  142. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  143. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  144. package/assets/esri/widgets/Sketch/t9n/Sketch_en.json +1 -1
  145. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  146. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  147. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  148. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  149. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  150. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  151. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  152. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  153. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  154. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  155. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  156. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  157. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  158. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  159. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  160. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  161. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  162. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  163. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  164. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  165. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  166. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  167. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  168. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  169. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  170. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  171. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  172. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  173. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  174. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  175. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  176. package/chunks/ImageMaterial.glsl.js +7 -5
  177. package/chunks/SlicePlaneMaterial.glsl.js +21 -13
  178. package/chunks/arcade.js +1 -1
  179. package/chunks/languageUtils.js +1 -1
  180. package/config.js +1 -1
  181. package/core/MapUtils.js +1 -1
  182. package/core/arrayUtils.js +1 -1
  183. package/core/types.d.ts +28 -0
  184. package/form/elements/inputs/MultipleChoiceInput.d.ts +2 -2
  185. package/form/elements/inputs/MultipleChoiceInput.js +1 -1
  186. package/geometry/operators/types.d.ts +2 -2
  187. package/interfaces.d.ts +4 -7
  188. package/kernel.js +1 -1
  189. package/layers/ImageryLayer.d.ts +7 -1
  190. package/layers/ImageryLayer.js +1 -1
  191. package/layers/ImageryTileLayer.d.ts +7 -1
  192. package/layers/ImageryTileLayer.js +1 -1
  193. package/layers/IntegratedMeshLayer.d.ts +18 -14
  194. package/layers/SceneLayer.d.ts +35 -1
  195. package/layers/SceneLayer.js +1 -1
  196. package/layers/WCSLayer.d.ts +7 -1
  197. package/layers/WCSLayer.js +1 -1
  198. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  199. package/layers/save/imageryUtils.js +1 -1
  200. package/layers/scene/ModelFileInfo.d.ts +29 -0
  201. package/layers/scene/ModelFileInfo.js +2 -0
  202. package/layers/scene/ModelInfo.d.ts +38 -0
  203. package/layers/scene/ModelInfo.js +2 -0
  204. package/layers/scene/modelQuerySupport.js +2 -0
  205. package/layers/scene/types.d.ts +14 -0
  206. package/layers/support/infoFor3D.js +1 -1
  207. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  208. package/layers/types.d.ts +13 -1
  209. package/layers/video/VideoController.js +1 -1
  210. package/networks/UnitIdentifierManager.d.ts +15 -15
  211. package/networks/UnitIdentifierManager.js +1 -1
  212. package/networks/support/jsonTypes.d.ts +125 -13
  213. package/package.json +4 -4
  214. package/popup/Features.d.ts +1 -7
  215. package/popup/Features.js +1 -1
  216. package/popup/actions.js +1 -1
  217. package/renderers/visualVariables/support/ColorStop.js +1 -1
  218. package/rest/networks/unitIdentifiers/reserve.js +2 -0
  219. package/rest/networks/unitIdentifiers/support/ReserveParameters.js +2 -0
  220. package/rest/networks/unitIdentifiers/support/ResizeParameters.js +1 -1
  221. package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +1 -1
  222. package/support/arcadeUtils.js +1 -1
  223. package/support/revision.js +1 -1
  224. package/views/2d/analysis/ElevationProfile/ElevationProfileVisualization2D.js +1 -1
  225. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +5 -1
  226. package/views/2d/analysis/ElevationProfileAnalysisView2D.js +1 -1
  227. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  228. package/views/2d/engine/flow/styles/Particles.js +1 -1
  229. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  230. package/views/2d/engine/vectorTiles/Placement.js +1 -1
  231. package/views/2d/engine/vectorTiles/TextShaping.js +1 -1
  232. package/views/2d/engine/webgl/AFeatureTile.js +1 -1
  233. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  234. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  235. package/views/2d/engine/webgl/GlyphSource.js +1 -1
  236. package/views/2d/engine/webgl/Overlay.js +1 -1
  237. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  238. package/views/2d/engine/webgl/RenderingDevice.js +1 -1
  239. package/views/2d/engine/webgl/TextureManager.js +1 -1
  240. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  241. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  242. package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
  243. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  244. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  245. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueProgramCache.js +1 -1
  246. package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
  247. package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +1 -1
  248. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  249. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
  250. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimationUniformInfo.js +1 -1
  251. package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
  252. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  253. package/views/2d/engine/webgl/shaderGraph/techniques/bloom/BloomTechnique.js +1 -1
  254. package/views/2d/engine/webgl/shaderGraph/techniques/blur/BlurTechnique.js +1 -1
  255. package/views/2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js +1 -1
  256. package/views/2d/engine/webgl/shaderGraph/techniques/colorize/ColorizeTechnique.js +1 -1
  257. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  258. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  259. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
  260. package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
  261. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  262. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
  263. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
  264. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
  265. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
  266. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
  267. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
  268. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
  269. package/views/2d/engine/webgl/shaderGraph/techniques/flow/FlowTechnique.js +1 -1
  270. package/views/2d/engine/webgl/shaderGraph/techniques/grid/GridTechnique.js +1 -1
  271. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  272. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  273. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  274. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
  275. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
  276. package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
  277. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  278. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
  279. package/views/2d/engine/webgl/shaderGraph/techniques/opacity/OpacityTechnique.js +1 -1
  280. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  281. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  282. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
  283. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  284. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
  285. package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +1 -1
  286. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/AspectTechnique.js +1 -1
  287. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BandArithmeticTechnique.js +1 -1
  288. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BaseRasterProcessorTechnique.js +1 -1
  289. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ColormapToRGBTechnique.js +1 -1
  290. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CompositeBandTechnique.js +1 -1
  291. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ComputeChangeTechnique.js +1 -1
  292. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ContrastBrightnessTechnique.js +1 -1
  293. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ConvolutionTechnique.js +1 -1
  294. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CurvatureTechnique.js +1 -1
  295. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ExtractBandTechnique.js +1 -1
  296. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/FocalStatisticsTechnique.js +1 -1
  297. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/GrayscaleTechnique.js +1 -1
  298. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/HillshadeTechnique.js +1 -1
  299. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/LocalTechnique.js +1 -1
  300. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/MaskTechnique.js +1 -1
  301. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/NDVITechnique.js +1 -1
  302. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/RemapTechnique.js +1 -1
  303. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
  304. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ShadedReliefTechnique.js +1 -1
  305. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SlopeTechnique.js +1 -1
  306. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SpectralConversionTechnique.js +1 -1
  307. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/StretchTechnique.js +1 -1
  308. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  309. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  310. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  311. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js +1 -1
  312. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  313. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js +1 -1
  314. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js +1 -1
  315. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  316. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  317. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
  318. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/EntityStorage.js +1 -1
  319. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  320. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  321. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  322. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  323. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  324. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  325. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MosaicInfo.js +1 -1
  326. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  327. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  328. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  329. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
  330. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ShaderHittest.js +1 -1
  331. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsDiffShader.js +1 -1
  332. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsMinMaxSumShader.js +1 -1
  333. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsStdDevShader.js +1 -1
  334. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsSumOfSquaredDiffShader.js +1 -1
  335. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  336. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  337. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js +1 -1
  338. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
  339. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
  340. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  341. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
  342. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterHighlightShader.js +1 -1
  343. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerLUTShader.js +1 -1
  344. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerShadedReliefShader.js +1 -1
  345. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerStretchShader.js +1 -1
  346. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterXYBandHighlightShader.js +1 -1
  347. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/lut.js +1 -1
  348. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/AspectShader.js +1 -1
  349. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/BaseRasterProcessorShader.js +1 -1
  350. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ColormapToRGBShader.js +1 -1
  351. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ConvolutionShader.js +1 -1
  352. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/CurvatureShader.js +1 -1
  353. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/FocalStatisticsShader.js +1 -1
  354. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/HillshadeShader.js +1 -1
  355. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
  356. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ShadedReliefShader.js +1 -1
  357. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/SlopeShader.js +1 -1
  358. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/projection.js +1 -1
  359. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/stretch.js +1 -1
  360. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderBackground.js +1 -1
  361. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderFill.js +1 -1
  362. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderIcon.js +1 -1
  363. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderLine.js +1 -1
  364. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderText.js +1 -1
  365. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vvUtils.js +1 -1
  366. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  367. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
  368. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  369. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
  370. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  371. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
  372. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  373. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  374. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  375. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  376. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  377. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  378. package/views/2d/layers/BaseLayerView2D.d.ts +3 -3
  379. package/views/2d/layers/BaseLayerViewGL2D.d.ts +3 -3
  380. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  381. package/views/2d/layers/TileLayerView2D.js +1 -1
  382. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  383. package/views/2d/layers/features/FeatureContainer.js +1 -1
  384. package/views/2d/support/clippingUtils.js +1 -1
  385. package/views/2d/support/hitTestUtils.js +1 -1
  386. package/views/3d/FocusAreasView.js +1 -1
  387. package/views/3d/StencilGeometry.js +2 -0
  388. package/views/3d/analysis/ElevationProfile/ElevationProfileVisualization3D.js +1 -1
  389. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +5 -1
  390. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
  391. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  392. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  393. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  394. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  395. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  396. package/views/3d/analysis/Viewshed/ViewshedShapeVisualElement.js +1 -1
  397. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  398. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  399. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  400. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  401. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  402. package/views/3d/focusAreaUtils.js +2 -0
  403. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  404. package/views/3d/layers/I3SMeshView3D.js +1 -1
  405. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  406. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  407. package/views/3d/layers/IntegratedMeshNormals.js +1 -1
  408. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  409. package/views/3d/layers/SceneLayerView3D.js +1 -1
  410. package/views/3d/layers/SceneLayerWorker.js +1 -1
  411. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  412. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  413. package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
  414. package/views/3d/layers/support/TemporalSceneLayerView.js +1 -1
  415. package/views/3d/terrain/ElevationData.js +1 -1
  416. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  417. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  418. package/views/3d/webgl-engine/collections/Component/Renderable.js +1 -1
  419. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +1 -5
  420. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +1 -5
  421. package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +16 -21
  422. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  423. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  424. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  425. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  426. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  427. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  428. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  429. package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +1 -1
  430. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  431. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  432. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  433. package/views/3d/webgl-engine/effects/focusArea/focusAreaMaskUtils.js +2 -0
  434. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  435. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  436. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  437. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  438. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  439. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  440. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.js +1 -1
  441. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  442. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  443. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  444. package/views/3d/webgl-engine/effects/precipitation/Precipitation.js +1 -1
  445. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  446. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  447. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  448. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  449. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  450. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  451. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  452. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  453. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  454. package/views/3d/webgl-engine/lib/Material.js +1 -1
  455. package/views/3d/webgl-engine/lib/Normals.js +1 -1
  456. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  457. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  458. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  459. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  460. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  461. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  462. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  463. package/views/3d/webgl-engine/shaders/BlackLevelLightSoftCompression.glsl.js +5 -1
  464. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  465. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  466. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  467. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  468. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  469. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  470. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  471. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
  472. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  473. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  474. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  475. package/views/VideoView.js +1 -1
  476. package/views/View2D.js +1 -1
  477. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  478. package/views/analysis/ElevationProfile/ElevationProfileController.js +1 -1
  479. package/views/analysis/ElevationProfile/ElevationProfileIndicatorPointVisualization.js +1 -1
  480. package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +6 -4
  481. package/views/draw/DrawTool.js +1 -1
  482. package/views/draw/plugins/BezierSegmentPlugin.js +1 -1
  483. package/views/draw/plugins/FreehandSegmentPlugin.js +1 -1
  484. package/views/draw/support/GraphicMover.js +1 -1
  485. package/views/draw/support/PluginContext.js +1 -1
  486. package/views/draw/support/Reshape.js +1 -1
  487. package/views/draw/support/editingSessionUtils.js +1 -1
  488. package/views/draw/support/types.d.ts +21 -0
  489. package/views/draw/support/types.js +1 -1
  490. package/views/types.d.ts +2 -2
  491. package/views/webgl/FramebufferObject.js +1 -1
  492. package/widgets/BatchAttributeForm/css.js +1 -1
  493. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  494. package/widgets/BatchAttributeForm/inputs/GroupInput.d.ts +2 -1
  495. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.d.ts +54 -0
  496. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +2 -0
  497. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  498. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  499. package/widgets/BatchAttributeForm/inputs/types.d.ts +4 -3
  500. package/widgets/BatchAttributeForm/templates/AttachmentElementTemplate.js +1 -1
  501. package/widgets/BatchAttributeForm/templates/RelationshipElementTemplate.js +2 -0
  502. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  503. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  504. package/widgets/BatchAttributeForm/templates/support/templateUtils.js +1 -1
  505. package/widgets/BatchAttributeForm.js +1 -1
  506. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +21 -1
  507. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  508. package/widgets/CoordinateConversion/support/Format.js +1 -1
  509. package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
  510. package/widgets/CoordinateConversion.d.ts +21 -1
  511. package/widgets/CoordinateConversion.js +1 -1
  512. package/widgets/Daylight/DaylightViewModel.js +1 -1
  513. package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
  514. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  515. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  516. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  517. package/widgets/Editor/components/Settings.js +1 -1
  518. package/widgets/Editor/support/SketchController.js +1 -1
  519. package/widgets/Editor/workflowUtils.js +1 -1
  520. package/widgets/ElevationProfile/ElevationProfileController.js +1 -1
  521. package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
  522. package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
  523. package/widgets/ElevationProfile/support/ElevationProfileView2D.js +1 -1
  524. package/widgets/ElevationProfile/support/ElevationProfileView3D.js +1 -1
  525. package/widgets/ElevationProfile/support/InputRepresentation2D.js +1 -1
  526. package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
  527. package/widgets/ElevationProfile/support/ProfileLine2D.js +1 -1
  528. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  529. package/widgets/FeatureForm/FieldInput.js +1 -1
  530. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  531. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.js +1 -1
  532. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  533. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.d.ts +5 -5
  534. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
  535. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  536. package/widgets/OrientedImageryViewer/constants.js +1 -1
  537. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  538. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +2 -0
  539. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +2 -0
  540. package/widgets/OrientedImageryViewer/types.d.ts +10 -0
  541. package/widgets/OrientedImageryViewer.d.ts +17 -2
  542. package/widgets/OrientedImageryViewer.js +1 -1
  543. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
  544. package/widgets/Sketch/SketchViewModel.js +1 -1
  545. package/widgets/Sketch/support/PluginManager.js +1 -1
  546. package/widgets/Sketch/support/SettingsManager.js +2 -0
  547. package/widgets/Sketch.js +1 -1
  548. package/widgets/Slider/SliderViewModel.d.ts +2 -1
  549. package/widgets/Slider/SliderViewModel.js +1 -1
  550. package/widgets/Slider.js +1 -1
  551. package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.js +1 -1
  552. package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.js +1 -1
  553. package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.js +1 -1
  554. package/widgets/smartMapping/SmartMappingSliderViewModel.js +1 -1
  555. package/widgets/support/ContingentValuesManager.js +1 -1
  556. package/widgets/support/PluginSettingsControls.js +2 -0
  557. package/widgets/support/SnappingControls.js +1 -1
  558. package/widgets/support/forms/formUtils.js +1 -1
  559. package/widgets/types.d.ts +1 -1
  560. package/analysis/ElevationProfile/elevationProfileLineTypes.js +0 -2
  561. package/assets/esri/core/workers/chunks/003476e950bd27a2f884.js +0 -596
  562. package/assets/esri/core/workers/chunks/07aca5ecad659d55e795.js +0 -2
  563. package/assets/esri/core/workers/chunks/07eff82916681fcff069.js +0 -1
  564. package/assets/esri/core/workers/chunks/0b1454a77a6a682541dc.js +0 -2
  565. package/assets/esri/core/workers/chunks/3697e51e1e4cf442f39a.js +0 -1
  566. package/assets/esri/core/workers/chunks/3cce9dad8ee0e4971d50.js +0 -1
  567. package/assets/esri/core/workers/chunks/68a313155ddc29bd024d.js +0 -1
  568. package/assets/esri/core/workers/chunks/751609831b283903ba48.js +0 -1
  569. package/assets/esri/core/workers/chunks/7540f7df86620f067b5a.js +0 -1
  570. package/assets/esri/core/workers/chunks/76e34f81bb4a7b0e694c.js +0 -1
  571. package/assets/esri/core/workers/chunks/7bacdd65a6cc4d284e0a.js +0 -2
  572. package/assets/esri/core/workers/chunks/7e97684e851274efd11f.js +0 -1
  573. package/assets/esri/core/workers/chunks/85aac8539996372f1ee8.js +0 -1
  574. package/assets/esri/core/workers/chunks/99c161fecae710b53b40.js +0 -1
  575. package/assets/esri/core/workers/chunks/99d298d0039c536fcf3e.js +0 -1
  576. package/assets/esri/core/workers/chunks/9aaf78b831f8739bc127.js +0 -1
  577. package/assets/esri/core/workers/chunks/bfe575da727ce7c8d331.js +0 -2
  578. package/assets/esri/core/workers/chunks/cb45e5d4a4ef82cda583.js +0 -1
  579. package/assets/esri/core/workers/chunks/e262c4864dc06c43b380.js +0 -1
  580. package/assets/esri/core/workers/chunks/ea59b81299acaf0d85ee.js +0 -1
  581. package/assets/esri/core/workers/chunks/ef0eae13408cbf83a64f.js +0 -1
  582. package/assets/esri/core/workers/chunks/f09a41ad239d467d9438.js +0 -2
  583. package/assets/esri/core/workers/chunks/f6912532aae1638cbe8f.js +0 -1
  584. package/rest/networks/unitIdentifiers/insertGap.js +0 -2
  585. package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +0 -2
  586. /package/assets/esri/core/workers/chunks/{7bacdd65a6cc4d284e0a.js.LICENSE.txt → 10408183681fd6c7b4ed.js.LICENSE.txt} +0 -0
  587. /package/assets/esri/core/workers/chunks/{f09a41ad239d467d9438.js.LICENSE.txt → 5818f1f526577068d6ca.js.LICENSE.txt} +0 -0
  588. /package/assets/esri/core/workers/chunks/{bfe575da727ce7c8d331.js.LICENSE.txt → 7cdd0492b2191df95102.js.LICENSE.txt} +0 -0
  589. /package/assets/esri/core/workers/chunks/{07aca5ecad659d55e795.js.LICENSE.txt → dacc2e5fa462495ed1cc.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../request.js";import t from"./featureSetCollection.js";import{m as a,a2 as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/sources/FeatureLayerDynamic.js";import s from"./featureset/sources/FeatureLayerMemory.js";import i from"./featureset/sources/FeatureLayerRelated.js";import o from"./featureset/support/cache.js";import{FeatureSetError as u}from"./featureset/support/errorsupport.js";import{isSupportedLayer as c,extractServiceUrl as d}from"./featureset/support/shared.js";import{isLoadable as p}from"../core/Loadable.js";import f from"../core/sql/WhereClause.js";import y from"../layers/FeatureLayer.js";import h from"../layers/Layer.js";import m from"../portal/PortalItem.js";function w(){null===o.applicationCache&&(o.applicationCache=new o)}async function I(e,t,a){if(o.applicationCache){const a=o.applicationCache.getLayerInfo(e);if(a){const r=await a;return new y({url:e,outFields:t,sourceJSON:r})}const n=new y({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(o.applicationCache){o.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw o.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new y({url:e,outFields:t,sourceJSON:a})}const l=new y({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new y({url:e,outFields:t})}async function L(e,t,a,r,n,l=null){return S(await I(e,["*"],n),t,a,r,n,l)}function S(e,t=null,a=null,r=!0,i=null,o=null){switch(e.type){case"catalog-footprint":return S(e.parent,t,a,r,i,o);case"subtype-sublayer":{const l=S(e.parent,t,a,r,i,o);return new n({parentfeatureset:l,whereclause:f.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:l.dateFieldsTimeZoneDefaultUTC})})}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new s({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:i,interceptor:o});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const n={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:i,interceptor:o};return!e.url&&e.source?new s(n):new l(n)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function _(t){if(null!==o.applicationCache){const e=o.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==o.applicationCache){o.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw o.applicationCache.clearLayerInfo(t),r}}return a}async function C(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==o.applicationCache){const e=o.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new u("DataElementsNotFound")})();if(null!==o.applicationCache){o.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw o.applicationCache.clearLayerInfo(r),l}}return n}async function k(t,a){if(null!==o.applicationCache){const e=o.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"},authMode:"no-prompt"});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==o.applicationCache){o.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw o.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function g(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},l=await k(e,null);if(r.metadata=l,void 0!==l.controllerDatasetLayers?.utilityNetworkLayerId&&null!==l.controllerDatasetLayers.utilityNetworkLayerId){if(l.layers)for(const e of l.layers)r.layerNameLkp[e.id]=e.name;if(l.tables)for(const e of l.tables)r.layerNameLkp[e.id]=e.name;const s=l.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=s;const i=await C(e,s);if(i){r.queryelem=i,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const l=await _(e+"/"+s);if(void 0!==l.systemLayers?.associationsTableId&&null!==l.systemLayers.associationsTableId){let s=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),s=await L(e+"/"+l.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await s.load(),r.unVersion>=4&&(s=new n({parentfeatureset:s,whereclause:f.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:s.getFieldsIndex(),timeZone:s.dateFieldsTimeZoneDefaultUTC})}),await s.load())}return{lkp:r.lkp,associations:s,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function F(e,t,a,r=null,n=null,l=!0,s=null,o=null){let u=e.serviceUrl();if(!u)return null;u=u.endsWith("/")?u+t.relatedTableId.toString():u+"/"+t.relatedTableId.toString();const c=await L(u,r,n,l,s,o);return new i({layer:e,relatedLayer:c,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:o})}class N extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=S(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(p(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>c(t)&&t.title===e);if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>c(t)&&t.title===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(p(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>c(t)&&t.id===e);if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>c(t)&&t.id===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class T extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=S(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await k(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new T(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await I(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await I(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function O(e,t,a=null,r=null){return new N(e,t,a,r)}function A(e,t,a=null,r=null){return new T(e,t,a,r)}function E(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof h&&c(e)){switch(t){case"datasource":return S(e,s,"outFields"in e?e.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return S(e,s,"outFields"in e?e.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return S(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return S(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function M(e,t,a,r,n,l,s,i=null){if(o.applicationCache){const u=o.applicationCache.getLayerInfo(e+":"+l.url);if(u)return D(await u,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await D(await o,t,a,r,n,s,i)}const u=new m({id:e,portal:l}).load();o.applicationCache?o.applicationCache.setLayerInfo(e+":"+l.url,u):null!=s&&s.setCachedPortalItem(l.url,e,u);try{return await D(await u,t,a,r,n,s,i)}catch(c){throw o.applicationCache&&o.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,u),c}}async function D(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await I(d(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=h.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await h.fromPortalItem(e)}return S(i,a,r,n,l,s)}export{g as constructAssociationMetaDataFeatureSetFromUrl,S as constructFeatureSet,M as constructFeatureSetFromPortalItem,F as constructFeatureSetFromRelationship,L as constructFeatureSetFromUrl,E as convertToFeatureSet,O as createFeatureSetCollectionFromMap,A as createFeatureSetCollectionFromService,w as initialiseMetaDataCache};
2
+ import e from"../request.js";import t from"./featureSetCollection.js";import{m as a,a4 as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/sources/FeatureLayerDynamic.js";import s from"./featureset/sources/FeatureLayerMemory.js";import i from"./featureset/sources/FeatureLayerRelated.js";import o from"./featureset/support/cache.js";import{FeatureSetError as u}from"./featureset/support/errorsupport.js";import{isSupportedLayer as c,extractServiceUrl as d}from"./featureset/support/shared.js";import{isLoadable as p}from"../core/Loadable.js";import f from"../core/sql/WhereClause.js";import y from"../layers/FeatureLayer.js";import m from"../layers/Layer.js";import h from"../portal/PortalItem.js";function w(){null===o.applicationCache&&(o.applicationCache=new o)}async function I(e,t,a){if(o.applicationCache){const a=o.applicationCache.getLayerInfo(e);if(a){const r=await a;return new y({url:e,outFields:t,sourceJSON:r})}const n=new y({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(o.applicationCache){o.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw o.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new y({url:e,outFields:t,sourceJSON:a})}const l=new y({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new y({url:e,outFields:t})}async function L(e,t,a,r,n,l=null){return _(await I(e,["*"],n),t,a,r,n,l)}function _(e,t=null,a=null,r=!0,i=null,o=null){switch(e.type){case"catalog-footprint":return _(e.parent,t,a,r,i,o);case"subtype-sublayer":{const l=_(e.parent,t,a,r,i,o);return new n({parentfeatureset:l,whereclause:f.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:l.dateFieldsTimeZoneDefaultUTC})})}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new s({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:i,interceptor:o});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const n={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:i,interceptor:o};return!e.url&&e.source?new s(n):new l(n)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function S(t){if(null!==o.applicationCache){const e=o.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==o.applicationCache){o.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw o.applicationCache.clearLayerInfo(t),r}}return a}async function C(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==o.applicationCache){const e=o.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new u("DataElementsNotFound")})();if(null!==o.applicationCache){o.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw o.applicationCache.clearLayerInfo(r),l}}return n}async function k(t,a){if(null!==o.applicationCache){const e=o.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"},authMode:"no-prompt"});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==o.applicationCache){o.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw o.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function g(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},l=await k(e,null);if(r.metadata=l,void 0!==l.controllerDatasetLayers?.utilityNetworkLayerId&&null!==l.controllerDatasetLayers.utilityNetworkLayerId){if(l.layers)for(const e of l.layers)r.layerNameLkp[e.id]=e.name;if(l.tables)for(const e of l.tables)r.layerNameLkp[e.id]=e.name;const s=l.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=s;const i=await C(e,s);if(i){r.queryelem=i,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const l=await S(e+"/"+s);if(void 0!==l.systemLayers?.associationsTableId&&null!==l.systemLayers.associationsTableId){let s=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),s=await L(e+"/"+l.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await s.load(),r.unVersion>=4&&(s=new n({parentfeatureset:s,whereclause:f.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:s.getFieldsIndex(),timeZone:s.dateFieldsTimeZoneDefaultUTC})}),await s.load())}return{lkp:r.lkp,associations:s,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function F(e,t,a,r=null,n=null,l=!0,s=null,o=null){let u=e.serviceUrl();if(!u)return null;u=u.endsWith("/")?u+t.relatedTableId.toString():u+"/"+t.relatedTableId.toString();const c=await L(u,r,n,l,s,o);return new i({layer:e,relatedLayer:c,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:o})}class N extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=_(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async listAll(){p(this._map)&&!this._map.loaded&&await this._map.load();const e=this._map.allLayers.toArray().filter(e=>c(e)).map(e=>({id:e.id,name:e.title})),t=this._map.allTables.toArray().filter(e=>c(e)).map(e=>({id:e.id,name:e.title}));return e.concat(t)}async featureSetByName(e,t=!0,a=null){if(p(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>c(t)&&t.title===e);if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>c(t)&&t.title===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(p(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>c(t)&&t.id===e);if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>c(t)&&t.id===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class T extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=_(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await k(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new T(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async listAll(){const e=await this._loadMetaData();return e.layers.concat(e.tables)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await I(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await I(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function A(e,t,a=null,r=null){return new N(e,t,a,r)}function O(e,t,a=null,r=null){return new T(e,t,a,r)}function E(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof m&&c(e)){switch(t){case"datasource":return _(e,s,"outFields"in e?e.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return _(e,s,"outFields"in e?e.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return _(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return _(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function M(e,t,a,r,n,l,s,i=null){if(o.applicationCache){const u=o.applicationCache.getLayerInfo(e+":"+l.url);if(u)return b(await u,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await b(await o,t,a,r,n,s,i)}const u=new h({id:e,portal:l}).load();o.applicationCache?o.applicationCache.setLayerInfo(e+":"+l.url,u):null!=s&&s.setCachedPortalItem(l.url,e,u);try{return await b(await u,t,a,r,n,s,i)}catch(c){throw o.applicationCache&&o.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,u),c}}async function b(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await I(d(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=m.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await m.fromPortalItem(e)}return _(i,a,r,n,l,s)}export{g as constructAssociationMetaDataFeatureSetFromUrl,_ as constructFeatureSet,M as constructFeatureSetFromPortalItem,F as constructFeatureSetFromRelationship,L as constructFeatureSetFromUrl,E as convertToFeatureSet,A as createFeatureSetCollectionFromMap,O as createFeatureSetCollectionFromService,w as initialiseMetaDataCache};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{neverAbortedSignal as e}from"../../arcadeEnvironment.js";import{StringEnum as t}from"../../enum.js";import{a3 as s}from"../../../chunks/languageUtils.js";import{SqlExpressionAdapted as i,OriginalField as r,AdaptedFeatureSet as o}from"./Adapted.js";import a from"./AttributeFilter.js";import n from"./OrderBy.js";import{FeatureSetError as l,throwIfCancelled as d}from"../support/errorsupport.js";import{FeatureSet as u,emptyFeaturesResult as p}from"../support/FeatureSet.js";import f from"../support/OrderbyClause.js";import{isSingleField as c,toWhereClause as h,predictType as g,scanForField as m,reformulateWithoutField as _}from"../support/sqlUtils.js";import y from"../support/StatsField.js";import{createMD5Hash as F,outputTypes as w}from"../../../core/MD5.js";import{aggregateFunction as b}from"../../../core/sql/AggregateFunctions.js";import{DateOnly as S}from"../../../core/sql/DateOnly.js";import{SqlTimeStampOffset as A}from"../../../core/sql/SqlTimestampOffset.js";import{TimeOnly as x}from"../../../core/sql/TimeOnly.js";import I from"../../../core/sql/WhereClause.js";import G from"../../../layers/support/Field.js";const B=new t(["MIN","MAX","VAR","STDDEV","COUNT","SUM","AVG"],[["VARIANCE","VAR"],["AVERAGE","AVG"],["MEAN","AVG"],["STDEV","STDDEV"]]);class j extends u{constructor(e){super(),this.declaredClass="esri.arcade.featureset.actions.Aggregate",this._decodedStatsFields=[],this._decodedGroupByFields=[],this._canDoSimpleGroupBy=!0,this._physicalGroupByFields=[],this.objectIdField="ROW__ID",this._adaptedFields=[],this._uniqueIds=1,this._maxQuery=10,this._maxProcessing=10,this._parent=e.parentfeatureset,this._config=e}isTable(){return!0}_nextUniqueName(e){for(;1===e["T"+this._uniqueIds.toString()];)this._uniqueIds++;const t="T"+this._uniqueIds.toString();return e[t]=1,t}_convertToEsriFieldType(e){return e}_initialiseFeatureSet(){const e=this._parent.getFieldsIndex();this.objectIdField="ROW__ID",this.globalIdField="";let t=!1,s=1;for(;!1===t;){let e=!1;for(const t of this._config.groupbyfields)if(t.name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}if(!1===e)for(const t of this._config.statsfields)if(t.name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}!1===e?t=!0:(this.objectIdField="ROW__ID"+s.toString(),s++)}for(const i of this._config.statsfields){const t=new y;t.field=i.name,t.tofieldname=i.name,t.workingexpr=i.expression instanceof I?i.expression:I.create(i.expression,{fieldsIndex:e,timeZone:this.dateFieldsTimeZoneDefaultUTC}),t.typeofstat=B.lookup(i.statistic)??"COUNT",this._decodedStatsFields.push(t)}this._decodedGroupByFields=[];for(const i of this._config.groupbyfields){const t={name:i.name,singlefield:null,tofieldname:i.name,expression:i.expression instanceof I?i.expression:I.create(i.expression,{fieldsIndex:e,timeZone:this.dateFieldsTimeZoneDefaultUTC}),sqlType:null};this._decodedGroupByFields.push(t)}const o={};this.geometryType=this._parent.geometryType,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField="";for(const i of this._parent.fields)o[i.name.toUpperCase()]=1;this.types=null,this.subtypes=null,this.subtypeField="",this.fields=[];const a=new y;a.field=this._nextUniqueName(o),a.tofieldname=this.objectIdField,a.workingexpr=I.create(this._parent.objectIdField,{fieldsIndex:this._parent.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC}),a.typeofstat="MIN",this._decodedStatsFields.push(a);for(const r of this._decodedGroupByFields){const e=new G;if(r.name=this._nextUniqueName(o),e.name=r.tofieldname,e.alias=e.name,c(r.expression)){const t=this._parent.getField(h(r.expression,0));if(!t)throw new l("AggregationFieldNotFound");r.name=t.name,r.singlefield=t.name,this._physicalGroupByFields.push(t.name),e.type=t.type,r.sqlType=t.type}else{e.type=this._convertToEsriFieldType(g(r.expression,this._parent.fields));const t=new G;t.name=r.name,t.alias=t.name,this._physicalGroupByFields.push(r.name),this._adaptedFields.push(new i(t,r.expression)),this._canDoSimpleGroupBy=!1,r.sqlType=e.type}this.fields.push(e)}if(this._adaptedFields.length>0)for(const i of this._parent.fields)this._adaptedFields.push(new r(i));for(const i of this._decodedStatsFields){const e=new G;let t=null;i.field=this._nextUniqueName(o),e.name=i.tofieldname,e.alias=e.name;const s=null!==i.workingexpr&&c(i.workingexpr)?h(i.workingexpr,0):"";switch(i.typeofstat){case"SUM":if(""!==s){if(t=this._parent.getField(s),!t)throw new l("AggregationFieldNotFound");e.type=t.type}else e.type="double";break;case"MIN":case"MAX":if(""!==s){if(t=this._parent.getField(s),!t)throw new l("AggregationFieldNotFound");e.type=t.type}else e.type="double";break;case"COUNT":e.type="integer";break;case"STDDEV":case"VAR":case"AVG":if(""!==s&&(t=this._parent.getField(s),!t))throw new l("AggregationFieldNotFound");e.type="double"}this.fields.push(e)}}async _queryAll(){return(await this.query({abortSignal:e})).features}async query(e){if(null!=e.spatialFilter)return p;const t={ordered:!1,nowhereclause:!1};await this._ensureLoaded();let s=e.where;if(null!=s)for(const o of this._decodedStatsFields)if(!0===m(s,o.tofieldname)){t.nowhereclause=!0,s=null;break}let i=e.orderBy;if(null!=i){t.ordered=!0;for(const e of this._decodedStatsFields)if(!0===i.scanForField(e.tofieldname)){i=null,t.ordered=!1;break}if(null!==i)for(const e of this._decodedGroupByFields)if(null===e.singlefield&&!0===i.scanForField(e.tofieldname)){i=null,t.ordered=!1;break}}if(!1!==this._canDoSimpleGroupBy&&await this._parent.canQueryAggregate({groupBy:this._physicalGroupByFields,statistics:this._decodedStatsFields,where:null,spatialFilter:null,abortSignal:e.abortSignal})){const r=await this._parent.queryAggregate({groupBy:this._physicalGroupByFields,statistics:this._decodedStatsFields,where:s?this._reformulateWhereClauseWithoutGroupByFields(s):null,spatialFilter:null,orderBy:i?this._reformulateOrderClauseWithoutGroupByFields(i):null,abortSignal:e.abortSignal});return d(e.abortSignal),{...r,filterApplied:!t.nowhereclause&&r.filterApplied,ordered:!0===t.ordered&&r.ordered,features:this._fixAggregateAttributeNames(r.features)}}const r=this._adaptedFields.length>0?new o({parentfeatureset:this._parent,adaptedFields:this._adaptedFields,extraFilter:null}):this._parent;if(!0===t.nowhereclause){const t=new n({parentfeatureset:r,orderbyclause:new f(this._physicalGroupByFields.join(",")+","+this._parent.objectIdField+" ASC")});return{filterApplied:!1,spatialFilterApplied:!1,ordered:!1,features:this._aggregateSortedFeatureGroups((await t.query({abortSignal:e.abortSignal})).features,this._maxQuery,e.abortSignal)}}let l=r;null!=s&&(l=new a({parentfeatureset:l,whereclause:this._reformulateWhereClauseWithoutGroupByFields(s)}));const u=new n({parentfeatureset:l,orderbyclause:new f(this._physicalGroupByFields.join(",")+","+this._parent.objectIdField+" ASC")});return{filterApplied:!1,spatialFilterApplied:!1,ordered:!1,features:this._aggregateSortedFeatureGroups((await u.query({abortSignal:e.abortSignal})).features,this._maxQuery,e.abortSignal)}}async*_fixAggregateAttributeNames(e){for await(const t of e)yield t.map(e=>{const t={geometry:e.geometry,attributes:{}},s={};for(const i in e.attributes)s[i.toLowerCase()]=e.attributes[i];for(const i of this._decodedGroupByFields)t.attributes[i.tofieldname]=s[i.name.toLowerCase()];for(const i of this._decodedStatsFields)t.attributes[i.tofieldname]=s[i.field.toLowerCase()];return t})}async*_aggregateSortedFeatureGroups(e,t,i){let r=null,o=[];for await(const a of e){await s(),d(i);for(const e of a){const t=this._generateAggregateHash(e);null==r?r={features:[e],id:t}:t!==r.id?(o.push(this._calculateAndAppendAggregateItem(r)),r={features:[e],id:t}):r.features.push(e)}o.length>=t&&(yield o,o=[])}null!=r&&(o.push(this._calculateAndAppendAggregateItem(r)),yield o)}async queryStat(e){return{calculated:!1}}async canQueryAggregate(e){return!1}async queryAggregate(e){throw new l("NeverReach")}_reformulateWhereClauseWithoutStatsFields(e){for(const t of this._decodedStatsFields)e=_(e,t.tofieldname,h(t.workingexpr,0),this._parent.getFieldsIndex());return e}_reformulateWhereClauseWithoutGroupByFields(e){for(const t of this._decodedGroupByFields)t.tofieldname!==t.name&&(e=_(e,t.tofieldname,h(t.expression,0),this._parent.getFieldsIndex()));return e}_reformulateOrderClauseWithoutGroupByFields(e){const t=[];for(const s of this._decodedGroupByFields)s.tofieldname!==s.name&&t.push({field:s.tofieldname,newfield:s.name});return t.length>0?e.replaceFields(t):e}_calculateFieldStat(e,t,s){const i=[];for(const r of e.features)if(null!==t.workingexpr){const e=t.workingexpr.calculateValue(r);null!==e&&(e instanceof S||e instanceof x?i.push(e.toNumber()):e instanceof A?i.push(e.toMilliseconds()):i.push(e))}else i.push(null);s.attributes[t.tofieldname]=b(t.typeofstat,[i])}_calculateAndAppendAggregateItem(e){const t={attributes:{}};for(const s of this._decodedGroupByFields){const i=s.singlefield?e.features[0].attributes[s.singlefield]:I.convertValueToStorageFormat(s.expression.calculateValue(e.features[0]),s.sqlType);t.attributes[s.tofieldname]=i}for(const s of this._decodedStatsFields)this._calculateFieldStat(e,s,t);return t}_generateAggregateHash(e){let t="";for(const s of this._decodedGroupByFields){const i=s.singlefield?e.attributes[s.singlefield]:s.expression.calculateValue(e);t+=null==i?":":":"+i.toString()}return F(t,w.String)}async getFeatureByObjectId(){throw new l("NotImplemented")}}export{j as default};
2
+ import{neverAbortedSignal as e}from"../../arcadeEnvironment.js";import{StringEnum as t}from"../../enum.js";import{a5 as s}from"../../../chunks/languageUtils.js";import{SqlExpressionAdapted as i,OriginalField as r,AdaptedFeatureSet as o}from"./Adapted.js";import a from"./AttributeFilter.js";import n from"./OrderBy.js";import{FeatureSetError as l,throwIfCancelled as d}from"../support/errorsupport.js";import{FeatureSet as u,emptyFeaturesResult as p}from"../support/FeatureSet.js";import f from"../support/OrderbyClause.js";import{isSingleField as c,toWhereClause as h,predictType as g,scanForField as m,reformulateWithoutField as _}from"../support/sqlUtils.js";import y from"../support/StatsField.js";import{createMD5Hash as F,outputTypes as w}from"../../../core/MD5.js";import{aggregateFunction as b}from"../../../core/sql/AggregateFunctions.js";import{DateOnly as S}from"../../../core/sql/DateOnly.js";import{SqlTimeStampOffset as A}from"../../../core/sql/SqlTimestampOffset.js";import{TimeOnly as x}from"../../../core/sql/TimeOnly.js";import I from"../../../core/sql/WhereClause.js";import G from"../../../layers/support/Field.js";const B=new t(["MIN","MAX","VAR","STDDEV","COUNT","SUM","AVG"],[["VARIANCE","VAR"],["AVERAGE","AVG"],["MEAN","AVG"],["STDEV","STDDEV"]]);class j extends u{constructor(e){super(),this.declaredClass="esri.arcade.featureset.actions.Aggregate",this._decodedStatsFields=[],this._decodedGroupByFields=[],this._canDoSimpleGroupBy=!0,this._physicalGroupByFields=[],this.objectIdField="ROW__ID",this._adaptedFields=[],this._uniqueIds=1,this._maxQuery=10,this._maxProcessing=10,this._parent=e.parentfeatureset,this._config=e}isTable(){return!0}_nextUniqueName(e){for(;1===e["T"+this._uniqueIds.toString()];)this._uniqueIds++;const t="T"+this._uniqueIds.toString();return e[t]=1,t}_convertToEsriFieldType(e){return e}_initialiseFeatureSet(){const e=this._parent.getFieldsIndex();this.objectIdField="ROW__ID",this.globalIdField="";let t=!1,s=1;for(;!1===t;){let e=!1;for(const t of this._config.groupbyfields)if(t.name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}if(!1===e)for(const t of this._config.statsfields)if(t.name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}!1===e?t=!0:(this.objectIdField="ROW__ID"+s.toString(),s++)}for(const i of this._config.statsfields){const t=new y;t.field=i.name,t.tofieldname=i.name,t.workingexpr=i.expression instanceof I?i.expression:I.create(i.expression,{fieldsIndex:e,timeZone:this.dateFieldsTimeZoneDefaultUTC}),t.typeofstat=B.lookup(i.statistic)??"COUNT",this._decodedStatsFields.push(t)}this._decodedGroupByFields=[];for(const i of this._config.groupbyfields){const t={name:i.name,singlefield:null,tofieldname:i.name,expression:i.expression instanceof I?i.expression:I.create(i.expression,{fieldsIndex:e,timeZone:this.dateFieldsTimeZoneDefaultUTC}),sqlType:null};this._decodedGroupByFields.push(t)}const o={};this.geometryType=this._parent.geometryType,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField="";for(const i of this._parent.fields)o[i.name.toUpperCase()]=1;this.types=null,this.subtypes=null,this.subtypeField="",this.fields=[];const a=new y;a.field=this._nextUniqueName(o),a.tofieldname=this.objectIdField,a.workingexpr=I.create(this._parent.objectIdField,{fieldsIndex:this._parent.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC}),a.typeofstat="MIN",this._decodedStatsFields.push(a);for(const r of this._decodedGroupByFields){const e=new G;if(r.name=this._nextUniqueName(o),e.name=r.tofieldname,e.alias=e.name,c(r.expression)){const t=this._parent.getField(h(r.expression,0));if(!t)throw new l("AggregationFieldNotFound");r.name=t.name,r.singlefield=t.name,this._physicalGroupByFields.push(t.name),e.type=t.type,r.sqlType=t.type}else{e.type=this._convertToEsriFieldType(g(r.expression,this._parent.fields));const t=new G;t.name=r.name,t.alias=t.name,this._physicalGroupByFields.push(r.name),this._adaptedFields.push(new i(t,r.expression)),this._canDoSimpleGroupBy=!1,r.sqlType=e.type}this.fields.push(e)}if(this._adaptedFields.length>0)for(const i of this._parent.fields)this._adaptedFields.push(new r(i));for(const i of this._decodedStatsFields){const e=new G;let t=null;i.field=this._nextUniqueName(o),e.name=i.tofieldname,e.alias=e.name;const s=null!==i.workingexpr&&c(i.workingexpr)?h(i.workingexpr,0):"";switch(i.typeofstat){case"SUM":if(""!==s){if(t=this._parent.getField(s),!t)throw new l("AggregationFieldNotFound");e.type=t.type}else e.type="double";break;case"MIN":case"MAX":if(""!==s){if(t=this._parent.getField(s),!t)throw new l("AggregationFieldNotFound");e.type=t.type}else e.type="double";break;case"COUNT":e.type="integer";break;case"STDDEV":case"VAR":case"AVG":if(""!==s&&(t=this._parent.getField(s),!t))throw new l("AggregationFieldNotFound");e.type="double"}this.fields.push(e)}}async _queryAll(){return(await this.query({abortSignal:e})).features}async query(e){if(null!=e.spatialFilter)return p;const t={ordered:!1,nowhereclause:!1};await this._ensureLoaded();let s=e.where;if(null!=s)for(const o of this._decodedStatsFields)if(!0===m(s,o.tofieldname)){t.nowhereclause=!0,s=null;break}let i=e.orderBy;if(null!=i){t.ordered=!0;for(const e of this._decodedStatsFields)if(!0===i.scanForField(e.tofieldname)){i=null,t.ordered=!1;break}if(null!==i)for(const e of this._decodedGroupByFields)if(null===e.singlefield&&!0===i.scanForField(e.tofieldname)){i=null,t.ordered=!1;break}}if(!1!==this._canDoSimpleGroupBy&&await this._parent.canQueryAggregate({groupBy:this._physicalGroupByFields,statistics:this._decodedStatsFields,where:null,spatialFilter:null,abortSignal:e.abortSignal})){const r=await this._parent.queryAggregate({groupBy:this._physicalGroupByFields,statistics:this._decodedStatsFields,where:s?this._reformulateWhereClauseWithoutGroupByFields(s):null,spatialFilter:null,orderBy:i?this._reformulateOrderClauseWithoutGroupByFields(i):null,abortSignal:e.abortSignal});return d(e.abortSignal),{...r,filterApplied:!t.nowhereclause&&r.filterApplied,ordered:!0===t.ordered&&r.ordered,features:this._fixAggregateAttributeNames(r.features)}}const r=this._adaptedFields.length>0?new o({parentfeatureset:this._parent,adaptedFields:this._adaptedFields,extraFilter:null}):this._parent;if(!0===t.nowhereclause){const t=new n({parentfeatureset:r,orderbyclause:new f(this._physicalGroupByFields.join(",")+","+this._parent.objectIdField+" ASC")});return{filterApplied:!1,spatialFilterApplied:!1,ordered:!1,features:this._aggregateSortedFeatureGroups((await t.query({abortSignal:e.abortSignal})).features,this._maxQuery,e.abortSignal)}}let l=r;null!=s&&(l=new a({parentfeatureset:l,whereclause:this._reformulateWhereClauseWithoutGroupByFields(s)}));const u=new n({parentfeatureset:l,orderbyclause:new f(this._physicalGroupByFields.join(",")+","+this._parent.objectIdField+" ASC")});return{filterApplied:!1,spatialFilterApplied:!1,ordered:!1,features:this._aggregateSortedFeatureGroups((await u.query({abortSignal:e.abortSignal})).features,this._maxQuery,e.abortSignal)}}async*_fixAggregateAttributeNames(e){for await(const t of e)yield t.map(e=>{const t={geometry:e.geometry,attributes:{}},s={};for(const i in e.attributes)s[i.toLowerCase()]=e.attributes[i];for(const i of this._decodedGroupByFields)t.attributes[i.tofieldname]=s[i.name.toLowerCase()];for(const i of this._decodedStatsFields)t.attributes[i.tofieldname]=s[i.field.toLowerCase()];return t})}async*_aggregateSortedFeatureGroups(e,t,i){let r=null,o=[];for await(const a of e){await s(),d(i);for(const e of a){const t=this._generateAggregateHash(e);null==r?r={features:[e],id:t}:t!==r.id?(o.push(this._calculateAndAppendAggregateItem(r)),r={features:[e],id:t}):r.features.push(e)}o.length>=t&&(yield o,o=[])}null!=r&&(o.push(this._calculateAndAppendAggregateItem(r)),yield o)}async queryStat(e){return{calculated:!1}}async canQueryAggregate(e){return!1}async queryAggregate(e){throw new l("NeverReach")}_reformulateWhereClauseWithoutStatsFields(e){for(const t of this._decodedStatsFields)e=_(e,t.tofieldname,h(t.workingexpr,0),this._parent.getFieldsIndex());return e}_reformulateWhereClauseWithoutGroupByFields(e){for(const t of this._decodedGroupByFields)t.tofieldname!==t.name&&(e=_(e,t.tofieldname,h(t.expression,0),this._parent.getFieldsIndex()));return e}_reformulateOrderClauseWithoutGroupByFields(e){const t=[];for(const s of this._decodedGroupByFields)s.tofieldname!==s.name&&t.push({field:s.tofieldname,newfield:s.name});return t.length>0?e.replaceFields(t):e}_calculateFieldStat(e,t,s){const i=[];for(const r of e.features)if(null!==t.workingexpr){const e=t.workingexpr.calculateValue(r);null!==e&&(e instanceof S||e instanceof x?i.push(e.toNumber()):e instanceof A?i.push(e.toMilliseconds()):i.push(e))}else i.push(null);s.attributes[t.tofieldname]=b(t.typeofstat,[i])}_calculateAndAppendAggregateItem(e){const t={attributes:{}};for(const s of this._decodedGroupByFields){const i=s.singlefield?e.features[0].attributes[s.singlefield]:I.convertValueToStorageFormat(s.expression.calculateValue(e.features[0]),s.sqlType);t.attributes[s.tofieldname]=i}for(const s of this._decodedStatsFields)this._calculateFieldStat(e,s,t);return t}_generateAggregateHash(e){let t="";for(const s of this._decodedGroupByFields){const i=s.singlefield?e.attributes[s.singlefield]:s.expression.calculateValue(e);t+=null==i?":":":"+i.toString()}return F(t,w.String)}async getFeatureByObjectId(){throw new l("NotImplemented")}}export{j as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{neverAbortedSignal as r}from"../../arcadeEnvironment.js";import{a3 as t}from"../../../chunks/languageUtils.js";import{throwIfCancelled as e}from"../support/errorsupport.js";import{FeatureSet as a}from"../support/FeatureSet.js";import{defaultMaxRecords as s}from"../support/shared.js";import{splitIntoChunks as i,insertSortedStableTopN as o}from"../../../core/arrayUtils.js";class n extends a{constructor(r){super(),this.declaredClass="esri.arcade.featureset.actions.OrderBy",this._maxProcessing=100,this._parent=r.parentfeatureset,this._orderByClause=r.orderbyclause}async _queryAll(){return(await this.query({abortSignal:r})).features}async query(r){if(null!=r.orderBy)return this._parent.query(r);await this._ensureLoaded();const t=await this._parent.query({...r,orderBy:this._orderByClause});return e(r.abortSignal),!1===t.ordered?{...t,ordered:!0,features:null!=r.limit&&r.limit<=5e3?this._topNFeatures(t.features,r.limit,r.abortSignal):this._sortFeatures(t.features,r.abortSignal)}:t}async*_sortFeatures(r,a){const s=[];for await(const i of r)s.push(i),await t(),e(a);const o=s.flat();this._orderByClause.order(o),yield*i(o,this._maxQueryRate())}async*_topNFeatures(r,a,s){const n=[],u=this._orderByClause.toComparator();for await(const i of r){for(const r of i)o(n,r,a,u);await t(),e(s)}yield*i(n,this._maxQueryRate())}async queryStat(r){const t=await this._parent.queryStat(r);return t.calculated?t:null==r.where&&null==r.spatialFilter?this._manualStat(r.stat,r.field,r.limit??s,r.abortSignal):{calculated:!1}}async canQueryAggregate(r){return this._parent.canQueryAggregate(r)}async queryAggregate(r){return this._parent.queryAggregate(r)}getFieldsIndex(){return this._parent.getFieldsIndex()}}export{n as default};
2
+ import{neverAbortedSignal as r}from"../../arcadeEnvironment.js";import{a5 as t}from"../../../chunks/languageUtils.js";import{throwIfCancelled as e}from"../support/errorsupport.js";import{FeatureSet as a}from"../support/FeatureSet.js";import{defaultMaxRecords as s}from"../support/shared.js";import{splitIntoChunks as i,insertSortedStableTopN as o}from"../../../core/arrayUtils.js";class n extends a{constructor(r){super(),this.declaredClass="esri.arcade.featureset.actions.OrderBy",this._maxProcessing=100,this._parent=r.parentfeatureset,this._orderByClause=r.orderbyclause}async _queryAll(){return(await this.query({abortSignal:r})).features}async query(r){if(null!=r.orderBy)return this._parent.query(r);await this._ensureLoaded();const t=await this._parent.query({...r,orderBy:this._orderByClause});return e(r.abortSignal),!1===t.ordered?{...t,ordered:!0,features:null!=r.limit&&r.limit<=5e3?this._topNFeatures(t.features,r.limit,r.abortSignal):this._sortFeatures(t.features,r.abortSignal)}:t}async*_sortFeatures(r,a){const s=[];for await(const i of r)s.push(i),await t(),e(a);const o=s.flat();this._orderByClause.order(o),yield*i(o,this._maxQueryRate())}async*_topNFeatures(r,a,s){const n=[],u=this._orderByClause.toComparator();for await(const i of r){for(const r of i)o(n,r,a,u);await t(),e(s)}yield*i(n,this._maxQueryRate())}async queryStat(r){const t=await this._parent.queryStat(r);return t.calculated?t:null==r.where&&null==r.spatialFilter?this._manualStat(r.stat,r.field,r.limit??s,r.abortSignal):{calculated:!1}}async canQueryAggregate(r){return this._parent.canQueryAggregate(r)}async queryAggregate(r){return this._parent.queryAggregate(r)}getFieldsIndex(){return this._parent.getFieldsIndex()}}export{n as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import n from"../Dictionary.js";import{ArcadeExecutionError as a}from"../executionError.js";import{B as e,k as t,T as r,s as o,m as i,a4 as c,X as s,K as d,V as u,a5 as m,U as f,a6 as l,J as y,t as v,W as w}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as p}from"../featureset/support/shared.js";function h(a,e){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:a.domain.name,dataType:p[a.field.type],codedValues:a.domain.codedValues.map(n=>({name:n.name,code:n.code}))},d(e)):n.convertObjectToArcadeDictionary({type:"range",name:a.domain.name,dataType:p[a.field.type],min:a.domain.minValue,max:a.domain.maxValue},d(e)):null}function T(p){"async"===p.mode&&(p.functions.domain=function(n,s){return p.standardFunctionAsync(n,s,async(d,u,m)=>{if(e(m,2,3,n,s),t(m[0])){return h(r(m[0],o(m[1]),void 0===m[2]?void 0:m[2]),n)}if(i(m[0])){await m[0]._ensureLoaded();return h(c(o(m[1]),m[0],null,void 0===m[2]?void 0:m[2]),n)}throw new a(n,"InvalidParameter",s)})},p.functions.subtypes=function(r,o){return p.standardFunctionAsync(r,o,async(c,u,m)=>{if(e(m,1,1,r,o),t(m[0])){const a=s(m[0]);return a?n.convertObjectToArcadeDictionary(a,d(r)):null}if(i(m[0])){await m[0]._ensureLoaded();const a=m[0].subtypeMetadata();return a?n.convertObjectToArcadeDictionary(a,d(r)):null}throw new a(r,"InvalidParameter",o)})},p.functions.domainname=function(n,r){return p.standardFunctionAsync(n,r,async(s,d,f)=>{if(e(f,2,4,n,r),t(f[0]))return u(f[0],o(f[1]),f[2],void 0===f[3]?void 0:f[3]);if(i(f[0])){await f[0]._ensureLoaded();const n=c(o(f[1]),f[0],null,void 0===f[3]?void 0:f[3]);return m(n,f[2])}throw new a(n,"InvalidParameter",r)})},p.signatures.push({name:"domainname",min:2,max:4}),p.functions.domaincode=function(n,r){return p.standardFunctionAsync(n,r,async(s,d,u)=>{if(e(u,2,4,n,r),t(u[0]))return f(u[0],o(u[1]),u[2],void 0===u[3]?void 0:u[3]);if(i(u[0])){await u[0]._ensureLoaded();const n=c(o(u[1]),u[0],null,void 0===u[3]?void 0:u[3]);return l(n,u[2])}throw new a(n,"InvalidParameter",r)})},p.signatures.push({name:"domaincode",min:2,max:4}),p.functions.text=function(n,t){return p.standardFunctionAsync(n,t,async(r,o,c)=>{if(e(c,1,2,n,t),i(c[0])){const e=y(c[1],"");if(""===e)return c[0].castToText();if("schema"===e.toLowerCase())return c[0].convertToText("schema",r.abortSignal);if("featureset"===e.toLowerCase())return c[0].convertToText("featureset",r.abortSignal);throw new a(n,"InvalidParameter",t)}return v(c[0],c[1])})},p.functions.gdbversion=function(n,r){return p.standardFunctionAsync(n,r,async(o,c,s)=>{if(e(s,1,1,n,r),t(s[0]))return s[0].gdbVersion();if(i(s[0])){return(await s[0].load()).gdbVersion}throw new a(n,"InvalidParameter",r)})},p.functions.schema=function(r,o){return p.standardFunctionAsync(r,o,async(c,s,u)=>{if(e(u,1,1,r,o),i(u[0]))return await u[0].load(),n.convertObjectToArcadeDictionary(u[0].schema(),d(r));if(t(u[0])){const a=w(u[0]);return a?n.convertObjectToArcadeDictionary(a,d(r)):null}throw new a(r,"InvalidParameter",o)})})}export{T as registerFunctions};
2
+ import n from"../Dictionary.js";import{ArcadeExecutionError as a}from"../executionError.js";import{B as e,k as t,T as r,s as o,m as i,a6 as c,X as s,K as d,V as u,a7 as m,U as f,a8 as l,J as y,t as v,W as w}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as p}from"../featureset/support/shared.js";function h(a,e){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:a.domain.name,dataType:p[a.field.type],codedValues:a.domain.codedValues.map(n=>({name:n.name,code:n.code}))},d(e)):n.convertObjectToArcadeDictionary({type:"range",name:a.domain.name,dataType:p[a.field.type],min:a.domain.minValue,max:a.domain.maxValue},d(e)):null}function T(p){"async"===p.mode&&(p.functions.domain=function(n,s){return p.standardFunctionAsync(n,s,async(d,u,m)=>{if(e(m,2,3,n,s),t(m[0])){return h(r(m[0],o(m[1]),void 0===m[2]?void 0:m[2]),n)}if(i(m[0])){await m[0]._ensureLoaded();return h(c(o(m[1]),m[0],null,void 0===m[2]?void 0:m[2]),n)}throw new a(n,"InvalidParameter",s)})},p.functions.subtypes=function(r,o){return p.standardFunctionAsync(r,o,async(c,u,m)=>{if(e(m,1,1,r,o),t(m[0])){const a=s(m[0]);return a?n.convertObjectToArcadeDictionary(a,d(r)):null}if(i(m[0])){await m[0]._ensureLoaded();const a=m[0].subtypeMetadata();return a?n.convertObjectToArcadeDictionary(a,d(r)):null}throw new a(r,"InvalidParameter",o)})},p.functions.domainname=function(n,r){return p.standardFunctionAsync(n,r,async(s,d,f)=>{if(e(f,2,4,n,r),t(f[0]))return u(f[0],o(f[1]),f[2],void 0===f[3]?void 0:f[3]);if(i(f[0])){await f[0]._ensureLoaded();const n=c(o(f[1]),f[0],null,void 0===f[3]?void 0:f[3]);return m(n,f[2])}throw new a(n,"InvalidParameter",r)})},p.signatures.push({name:"domainname",min:2,max:4}),p.functions.domaincode=function(n,r){return p.standardFunctionAsync(n,r,async(s,d,u)=>{if(e(u,2,4,n,r),t(u[0]))return f(u[0],o(u[1]),u[2],void 0===u[3]?void 0:u[3]);if(i(u[0])){await u[0]._ensureLoaded();const n=c(o(u[1]),u[0],null,void 0===u[3]?void 0:u[3]);return l(n,u[2])}throw new a(n,"InvalidParameter",r)})},p.signatures.push({name:"domaincode",min:2,max:4}),p.functions.text=function(n,t){return p.standardFunctionAsync(n,t,async(r,o,c)=>{if(e(c,1,2,n,t),i(c[0])){const e=y(c[1],"");if(""===e)return c[0].castToText();if("schema"===e.toLowerCase())return c[0].convertToText("schema",r.abortSignal);if("featureset"===e.toLowerCase())return c[0].convertToText("featureset",r.abortSignal);throw new a(n,"InvalidParameter",t)}return v(c[0],c[1])})},p.functions.gdbversion=function(n,r){return p.standardFunctionAsync(n,r,async(o,c,s)=>{if(e(s,1,1,n,r),t(s[0]))return s[0].gdbVersion();if(i(s[0])){return(await s[0].load()).gdbVersion}throw new a(n,"InvalidParameter",r)})},p.functions.schema=function(r,o){return p.standardFunctionAsync(r,o,async(c,s,u)=>{if(e(u,1,1,r,o),i(u[0]))return await u[0].load(),n.convertObjectToArcadeDictionary(u[0].schema(),d(r));if(t(u[0])){const a=w(u[0]);return a?n.convertObjectToArcadeDictionary(a,d(r)):null}throw new a(r,"InvalidParameter",o)})})}export{T as registerFunctions};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"./ArcadeDate.js";import"./ArcadeModule.js";import"./executionError.js";import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"./featureset/support/shared.js";import"../core/number.js";import"../core/sql/DateOnly.js";import"../core/sql/TimeOnly.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/support/coordsUtils.js";import"../geometry/support/jsonUtils.js";import"../intl/locale.js";export{isArray,isBoolean,isInteger,isDate as isJsDate,isNumber,isString}from"../support/guards.js";import"luxon";export{isGraphic}from"../support/graphicInstanceUtils.js";export{I as ImplicitResult,R as ReturnResult,S as absRound,a0 as arcadeVersion,G as autoCastArrayOfPointsToMultiPoint,E as autoCastArrayOfPointsToPolygon,F as autoCastArrayOfPointsToPolyline,C as autoCastFeatureToGeometry,x as binaryOperator,z as breakResult,a as castAsJson,b as castAsJsonAsync,c as castRecordToText,A as continueResult,K as defaultTimeZone,J as defaultUndefined,w as equalityTest,U as featureDomainCodeLookup,V as featureDomainValueLookup,T as featureFullDomain,W as featureSchema,X as featureSubtypes,Y as fixNullGeometry,D as fixSpatialReference,a7 as formatDate,a8 as formatNumber,a4 as getDomain,a6 as getDomainCode,a5 as getDomainValue,O as getType,u as greaterThanLessThan,e as isDate,f as isDateOnly,n as isDictionary,y as isDictionaryLike,L as isEmpty,k as isFeature,m as isFeatureSet,l as isFeatureSetCollection,i as isFunctionParameter,h as isGeometry,j as isImmutableArray,o as isKnowledgeGraph,M as isModule,a9 as isObject,_ as isPixel,d as isSimpleType,aa as isSubtypeGrouplayer,a2 as isSubtypeSublayer,g as isTime,q as isVoid,Z as isVoxel,$ as multiReplace,ab as parseGeometryFromJson,B as pcCheck,ac as stableStringify,Q as standardiseDateFormat,a3 as tick,H as toBoolean,P as toDate,r as toNumber,a1 as toNumberArray,s as toString,N as toStringArray,t as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";
2
+ import"./ArcadeDate.js";import"./ArcadeModule.js";import"./executionError.js";import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"./featureset/support/shared.js";import"../core/number.js";import"../core/sql/DateOnly.js";import"../core/sql/TimeOnly.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/support/coordsUtils.js";import"../geometry/support/jsonUtils.js";import"../intl/locale.js";export{isArray,isBoolean,isInteger,isDate as isJsDate,isNumber,isString}from"../support/guards.js";import"luxon";export{isGraphic}from"../support/graphicInstanceUtils.js";export{I as ImplicitResult,R as ReturnResult,S as absRound,a0 as arcadeVersion,G as autoCastArrayOfPointsToMultiPoint,E as autoCastArrayOfPointsToPolygon,F as autoCastArrayOfPointsToPolyline,C as autoCastFeatureToGeometry,x as binaryOperator,z as breakResult,a as castAsJson,b as castAsJsonAsync,c as castRecordToText,A as continueResult,K as defaultTimeZone,J as defaultUndefined,w as equalityTest,U as featureDomainCodeLookup,V as featureDomainValueLookup,T as featureFullDomain,W as featureSchema,X as featureSubtypes,Y as fixNullGeometry,D as fixSpatialReference,a9 as formatDate,aa as formatNumber,a6 as getDomain,a8 as getDomainCode,a7 as getDomainValue,O as getType,u as greaterThanLessThan,a3 as isAttachment,e as isDate,f as isDateOnly,n as isDictionary,y as isDictionaryLike,L as isEmpty,k as isFeature,m as isFeatureSet,l as isFeatureSetCollection,i as isFunctionParameter,h as isGeometry,j as isImmutableArray,o as isKnowledgeGraph,M as isModule,ab as isObject,_ as isPixel,a2 as isPortal,d as isSimpleType,ac as isSubtypeGrouplayer,a4 as isSubtypeSublayer,g as isTime,q as isVoid,Z as isVoxel,$ as multiReplace,ad as parseGeometryFromJson,B as pcCheck,ae as stableStringify,Q as standardiseDateFormat,a5 as tick,H as toBoolean,P as toDate,r as toNumber,a1 as toNumberArray,s as toString,N as toStringArray,t as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";
package/arcade.d.ts CHANGED
@@ -36,6 +36,7 @@ import type SubtypeSublayer from "./layers/support/SubtypeSublayer.js";
36
36
  import type Portal from "./portal/Portal.js";
37
37
  import type KnowledgeGraph from "./rest/knowledgeGraph/KnowledgeGraph.js";
38
38
  import type FeatureSet from "./rest/support/FeatureSet.js";
39
+ import type { Breakpoint, Debugger, DebugValue } from "./arcade/debug.js";
39
40
  import type { GeometryUnion } from "./geometry/types.js";
40
41
 
41
42
  /** Layer types that may be used to construct Arcade FeatureSets. */
@@ -159,6 +160,25 @@ export function createArcadeProfile(profileName: ProfileName | "feature-reductio
159
160
  */
160
161
  export function createArcadeExecutor(script: string, profile: Profile, options?: ExecutorOptions): Promise<ArcadeExecutor>;
161
162
 
163
+ /**
164
+ * Compiles an Arcade expression and its profile into an executor for debugging. When the executing code hits one of the
165
+ * provided breakpoints, it will [Debugger](https://developers.arcgis.com/javascript/latest/references/core/arcade/debug/#Debugger-pause) the provided debugger service and suspend execution
166
+ * until the returned promise is resolved.
167
+ *
168
+ * Compared to [createArcadeExecutor()](https://developers.arcgis.com/javascript/latest/references/core/arcade/#createArcadeExecutor), this executor only supports async execution (required for debugging)
169
+ * and returns a [DebugValue](https://developers.arcgis.com/javascript/latest/references/core/arcade/debug/#DebugValue) result for inspection.
170
+ *
171
+ * @param script - The [Arcade expression](https://developers.arcgis.com/javascript/latest/arcade/) to compile and
172
+ * execute.
173
+ * @param profile - The profile definition used to execute the given expression. The profile defines the profile
174
+ * variable names and data types the user may use as inputs in the expression. The variable instances are provided to
175
+ * the executor function.
176
+ * @param options - Options used to configure the executor. The debugger host service can be provided here if it is the
177
+ * same for all executions or when executing the expression.
178
+ * @internal
179
+ */
180
+ export function createArcadeDebugExecutor(script: string, profile: Profile, options?: DebugExecutorOptions): Promise<ArcadeDebugExecutor>;
181
+
162
182
  /** @see [createArcadeCache()](https://developers.arcgis.com/javascript/latest/references/core/arcade/#createArcadeCache) */
163
183
  export interface ArcadeCache {
164
184
  clear(): void;
@@ -170,7 +190,7 @@ export interface ArcadeCache {
170
190
  */
171
191
  export function createArcadeCache(): ArcadeCache;
172
192
 
173
- export type ProfileName = "aggregate-field" | "form-constraint" | "feature-z" | "field-calculation" | "form-calculation" | "labeling" | "popup" | "popup-element" | "popup-feature-reduction" | "popup-element-feature-reduction" | "visualization" | "popup-voxel" | "popup-element-voxel" | "popup-imagery" | "popup-element-imagery";
193
+ export type ProfileName = "aggregate-field" | "form-constraint" | "feature-z" | "field-calculation" | "form-calculation" | "form-attachment-filename-calculation" | "labeling" | "popup" | "popup-element" | "popup-feature-reduction" | "popup-element-feature-reduction" | "visualization" | "popup-voxel" | "popup-element-voxel" | "popup-imagery" | "popup-element-imagery";
174
194
 
175
195
  /**
176
196
  * Defines the definitions of a profile's input variables. This consists of an array of objects specifying
@@ -390,6 +410,8 @@ export interface ExecuteContext {
390
410
  * @since 4.33
391
411
  */
392
412
  services?: ArcadeServices;
413
+ /** @internal */
414
+ console?: (...args: any[]) => void;
393
415
  /**
394
416
  * Defines the default time zone in which to create and
395
417
  * display Arcade date types. Possible values include any time zone that may be set on the view's
@@ -401,6 +423,8 @@ export interface ExecuteContext {
401
423
  * @since 4.28
402
424
  */
403
425
  timeZone?: string | null;
426
+ /** @internal */
427
+ rawOutput?: boolean;
404
428
  }
405
429
 
406
430
  /**
@@ -414,6 +438,8 @@ export interface ArcadeServices {
414
438
  * Arcade function. By default, the portal referenced in [esriConfig.portalUrl](https://developers.arcgis.com/javascript/latest/references/core/config/#Config-portalUrl) is used.
415
439
  */
416
440
  portal?: Portal;
441
+ /** @internal */
442
+ debugger?: Debugger;
417
443
  }
418
444
 
419
445
  export interface ExecutorOptions {
@@ -817,4 +843,22 @@ export interface BatchExecuteContext extends ExecuteContext {
817
843
  * whose value must be of type [ProfileVariableInstance](https://developers.arcgis.com/javascript/latest/references/core/arcade/#ProfileVariableInstance).
818
844
  * @since 4.33
819
845
  */
820
- export type VariableInstancesCreator<A> = (inputData: A) => ProfileVariableInstances;
846
+ export type VariableInstancesCreator<A> = (inputData: A) => ProfileVariableInstances;
847
+
848
+ /** @internal */
849
+ export interface DebugExecutorOptions extends ExecutorOptions {
850
+ /** @internal */
851
+ breakpoints?: Breakpoint[];
852
+ }
853
+
854
+ /** @internal */
855
+ export interface ArcadeDebugExecutor {
856
+ /**
857
+ * @param profileVariableInstances - An object of key/value pairs where the key is the name of a
858
+ * [Variable](https://developers.arcgis.com/javascript/latest/references/core/arcade/#Variable) defined when creating the executor, whose value must be of type
859
+ * [ProfileVariableInstance](https://developers.arcgis.com/javascript/latest/references/core/arcade/#ProfileVariableInstance).
860
+ * @param context - The context with which to execute the expression.
861
+ * @internal
862
+ */
863
+ executeAsync(profileVariableInstances: ProfileVariableInstances, context?: ExecuteContext): Promise<DebugValue>;
864
+ }
package/arcade.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"./Graphic.js";import{ArcadeDate as t}from"./arcade/ArcadeDate.js";import{toSymbolId as r}from"./arcade/arcadeEnvironment.js";import a from"./arcade/ImmutableArray.js";import n from"./arcade/featureset/support/RecentlyUsedCache.js";import{deprecatedProperty as o,deprecated as c}from"./core/deprecate.js";import i from"./core/Error.js";import{clone as s}from"./core/lang.js";import p from"./core/Logger.js";import{DateOnly as u}from"./core/sql/DateOnly.js";import{TimeOnly as l}from"./core/sql/TimeOnly.js";import m from"./layers/FeatureLayer.js";import y from"./portal/Portal.js";import f from"./rest/support/FeatureSet.js";import{loadArcade as d}from"./support/loadArcade.js";let b=null;function v(e,t,r,n={}){const o=t.elementType,c="value",i="array"===o.type?[{name:c,type:o.type,elementType:o.elementType}]:"dictionary"===o.type?[{name:c,type:o.type,properties:o.properties}]:[{name:c,type:o.type}];return new a(e.map(e=>{const t={};return $(t,i,{[c]:e},r,n),t[c]}))}function g(e,t,r={}){const a=e instanceof f?new m({source:e.features,geometryType:e.geometryType,fields:e.fields,spatialReference:e.spatialReference}):e;return t.constructFeatureSet(a,r.spatialReference,null,!0,D(r.cache),r.interceptor)}function h(e,t,r={}){const{spatialReference:a,interceptor:n,cache:o}=r;return"string"==typeof e?t.createFeatureSetCollectionFromService(e,a,D(o),n):t.createFeatureSetCollectionFromMap(e,a,D(o),n)}function w(e,t,r,a={}){const n=Object.create(null);return $(n,t.properties,e,r,a),new b.Dictionary(n)}function S(e){if(null==e)return null;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e))return new a(e.map(e=>S(e)));if("object"==typeof e){const t=Object.create(null);for(const r of Object.entries(e))t[r[0]]=S(r[1]);return new b.Dictionary(t)}throw new Error(`Unsupported json value: ${e}`)}function $(e,r,a,n,o={}){const c={};for(const t of Object.keys(a))c[t.toLowerCase()]=a[t];for(const i of r){const r=i.name.toLowerCase();if(o.variablesPreProcessed)e[r]=c[r];else switch(i.type){case"array":{const t=c[r];e[r]=null==t?null:v(t,i,n,o);break}case"feature":{const t=c[r];e[r]=null==t?null:b.Feature.createFromGraphic(t,o?.timeZone);break}case"featureSet":{const t=c[r];e[r]=null==t?null:n?g(t,n,o):null;break}case"featureSetCollection":{const t=c[r];e[r]=null==t?null:n?h(t,n,o):null;break}case"dictionary":{const t=c[r];e[r]=null==t?null:w(t,i,n,o);break}case"date":{const a=c[r];e[r]=a?a instanceof t?a:o?.timeZone?t.dateJSAndZoneToArcadeDate(a,o?.timeZone):t.dateJSToArcadeDate(a):null;break}case"dateOnly":{const t=c[r];e[r]=t?t instanceof u?t:u.fromReader(t):null;break}case"time":{const t=c[r];e[r]=t?t instanceof l?t:l.fromReader(t):null;break}case"knowledgeGraph":case"geometry":case"boolean":case"text":case"number":e[r]=c[r];break;case"voxel":{const t=c[r];e[r]=null==t?null:new b.Voxel(t,o?.timeZone);break}case"pixel":{const t=c[r];e[r]=null==t?null:b.Pixel.fromImageryGraphic(t,o?.timeZone);break}case"json":e[r]=S(c[r])}}}function x(e,t){for(const r of e)t.push(r),"dictionary"===r.type&&x(r.properties,t);return t}function C(e,t,r,a,n){null!=r.lruCache&&o(p.getLogger("esri.arcade"),"ExecuteContext#lruCache",{replacement:"ExecuteContext#cache",warnOnce:!0,version:"5.0"});const c={vars:{},spatialReference:r.spatialReference,interceptor:r.interceptor,timeZone:r.timeZone,lrucache:D(r.cache),useAsync:n,services:r.services,console:r.console,abortSignal:r.abortSignal,track:r.track};return t?($(c.vars,e.variables,t,a,r),c):c}function j(t,r){switch(r.getArcadeType(t)){case"number":case"text":case"boolean":case"point":case"polygon":case"polyline":case"multipoint":case"extent":return t;case"date":return t.toJSDate();case"time":case"dateOnly":return t.toString();case"feature":{const r=(t.type,t),a="geometry"in r?r.geometry():null,n="readAttributes"in r?r.readAttributes():r.attributes;return new e({geometry:a,attributes:n})}case"dictionary":{const e=t,a=e.attributes,n={};for(const t of Object.keys(a))n[t]=j(e.field(t),r);return n}case"array":return("toArray"in t?t.toArray():t).map(e=>j(e,r))}return t}const A={variables:[{name:"$feature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$userInput",type:"geometry"},{name:"$graph",type:"knowledgeGraph"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},O={variables:[{name:"$feature",type:"feature"},{name:"$aggregatedFeatures",type:"featureSet"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},k={variables:[{name:"$voxel",type:"voxel"}]},I={variables:[{name:"$pixel",type:"pixel"},{name:"$imageCollectionItem",type:"feature"},{name:"$userInput",type:"geometry"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},E=new Map([["aggregate-field",{variables:[{name:"$feature",type:"feature"}]}],["form-constraint",{variables:[{name:"$feature",type:"feature"}]}],["feature-z",{variables:[{name:"$feature",type:"feature"}]}],["field-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$datastore",type:"featureSetCollection"}]}],["form-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$originalFeature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$featureSet",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$editContext",type:"dictionary",properties:[{name:"editType",type:"text"}]}]}],["labeling",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup",A],["popup-element",A],["popup-feature-reduction",O],["popup-element-feature-reduction",O],["visualization",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup-voxel",k],["popup-element-voxel",k],["popup-imagery",I],["popup-element-imagery",I]]);function T(e){"feature-reduction-popup"===e?(c(p.getLogger("esri.arcade"),'profile name: "feature-reduction-popup"',{replacement:'"popup-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-feature-reduction"):"feature-reduction-popup-element"===e&&(c(p.getLogger("esri.arcade"),'profile name: "feature-reduction-popup-element"',{replacement:'"popup-element-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-element-feature-reduction");const t=E.get(e);if(!t){const t=Array.from(E.keys()).map(e=>`'${e}'`).join(", ");throw new i("createArcadeProfile:invalid-profile-name",`Invalid profile name '${e}'. You must specify one of the following values: ${t}`)}return s(t)}async function F(e,t,a={}){b||(b=await d());const{arcade:n,arcadeUtils:c,batchExec:{createBatchExecutor:s},aiServices:{BatchTranslationServiceFactory:u,PortalTranslationService:l}}=b,{loadScriptDependencies:m,referencesMember:f,scriptIsAsync:v}=n,g=x(t.variables,[]).filter(e=>"featureSet"===e.type||"featureSetCollection"===e.type).map(e=>r(e.name)),h=n.parseScript(e,g);if(!h)throw new i("arcade:invalid-script","Unable to create SyntaxTree");const w=c.extractFieldNames(h),S=n.scriptTouchesGeometry(h),$=t.variables.map(e=>r(e.name)).filter(e=>f(h,e)),A=v(h,g);await m(h,A,g);const O=n.compileScript(h,{vars:Object.fromEntries($.map(e=>[e,!0])),useAsync:A}),k=a.services,I=a.cache??a.lruCache;null!=a.lruCache&&o(p.getLogger("esri.arcade"),"ExecutorOptions#lruCache",{replacement:"ExecutorOptions#cache",warnOnce:!0,version:"5.0"});const E=n.featureSetUtils(),T=(e,r={})=>{if(A)throw new i("arcade:invalid-execution-mode","Cannot execute the script in synchronous mode");const a={...k,...r.services},n=r.cache??r.lruCache??I,o={...r,cache:n,services:a},s=O(C(t,e,o,E,A));return r.rawOutput?s:j(s,c)},F=async(e,r={})=>{const a={...k,...r.services},n=r.cache??r.lruCache??I,o={...r,cache:n,services:a},i=await O(C(t,e,o,E,A));return r.rawOutput?i:j(i,c)},P=async(e,r,a={})=>{const n=[],o=a.cache??a.lruCache??I,i=s(e,async(e,i)=>{const s=r(e);try{const e={...p,translation:m.create(i)},r={...a,cache:o,services:e},u=await O(C(t,s,r,E,A)),l=a.rawOutput?u:j(u,c);n.push({id:i.id,result:{status:"fulfilled",value:l}})}catch(u){throw n.push({id:i.id,result:{status:"rejected",reason:u}}),u}},a.maxConcurrency??64,a.abortSignal),p={...k,...a.services},m=new u(i,p.translation??new l(p.portal??y.getDefault(),a.console));return await i.run(),n.sort(({id:e},{id:t})=>e-t).map(({result:e})=>e)};return{execute:T,executeAsync:F,executeAsyncBatch:P,isAsync:A,variablesUsed:$,fieldsUsed:w,geometryUsed:S,syntaxTree:h}}function P(){return new n}function D(e){if(null!=e&&!(e instanceof n))throw new Error("Use createArcadeCache() to construct a cache instance or provide null/undefined.");return e}export{P as createArcadeCache,F as createArcadeExecutor,T as createArcadeProfile};
2
+ import e from"./Graphic.js";import{ArcadeDate as t}from"./arcade/ArcadeDate.js";import{toSymbolId as r}from"./arcade/arcadeEnvironment.js";import a from"./arcade/ImmutableArray.js";import n from"./arcade/featureset/support/RecentlyUsedCache.js";import{deprecatedProperty as o,deprecated as c}from"./core/deprecate.js";import i from"./core/Error.js";import{clone as s}from"./core/lang.js";import p from"./core/Logger.js";import{DateOnly as l}from"./core/sql/DateOnly.js";import{TimeOnly as u}from"./core/sql/TimeOnly.js";import m from"./layers/FeatureLayer.js";import y from"./portal/Portal.js";import f from"./rest/support/FeatureSet.js";import{loadArcade as d}from"./support/loadArcade.js";let b=null;function v(e,t,r,n={}){const o=t.elementType,c="value",i="array"===o.type?[{name:c,type:o.type,elementType:o.elementType}]:"dictionary"===o.type?[{name:c,type:o.type,properties:o.properties}]:[{name:c,type:o.type}];return new a(e.map(e=>{const t={};return $(t,i,{[c]:e},r,n),t[c]}))}function h(e,t,r={}){const a=e instanceof f?new m({source:e.features,geometryType:e.geometryType,fields:e.fields,spatialReference:e.spatialReference}):e;return t.constructFeatureSet(a,r.spatialReference,null,!0,P(r.cache),r.interceptor)}function g(e,t,r={}){const{spatialReference:a,interceptor:n,cache:o}=r;return"string"==typeof e?t.createFeatureSetCollectionFromService(e,a,P(o),n):t.createFeatureSetCollectionFromMap(e,a,P(o),n)}function w(e,t,r,a={}){const n=Object.create(null);return $(n,t.properties,e,r,a),new b.Dictionary(n)}function S(e){if(null==e)return null;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e))return new a(e.map(e=>S(e)));if("object"==typeof e){const t=Object.create(null);for(const r of Object.entries(e))t[r[0]]=S(r[1]);return new b.Dictionary(t)}throw new Error(`Unsupported json value: ${e}`)}function $(e,r,a,n,o={}){const c={};for(const t of Object.keys(a))c[t.toLowerCase()]=a[t];for(const i of r){const r=i.name.toLowerCase();if(o.variablesPreProcessed)e[r]=c[r];else switch(i.type){case"array":{const t=c[r];e[r]=null==t?null:v(t,i,n,o);break}case"feature":{const t=c[r];e[r]=null==t?null:b.Feature.createFromGraphic(t,o?.timeZone);break}case"featureSet":{const t=c[r];e[r]=null==t?null:n?h(t,n,o):null;break}case"featureSetCollection":{const t=c[r];e[r]=null==t?null:n?g(t,n,o):null;break}case"dictionary":{const t=c[r];e[r]=null==t?null:w(t,i,n,o);break}case"date":{const a=c[r];e[r]=a?a instanceof t?a:o?.timeZone?t.dateJSAndZoneToArcadeDate(a,o?.timeZone):t.dateJSToArcadeDate(a):null;break}case"dateOnly":{const t=c[r];e[r]=t?t instanceof l?t:l.fromReader(t):null;break}case"time":{const t=c[r];e[r]=t?t instanceof u?t:u.fromReader(t):null;break}case"knowledgeGraph":case"geometry":case"boolean":case"text":case"number":e[r]=c[r];break;case"voxel":{const t=c[r];e[r]=null==t?null:new b.Voxel(t,o?.timeZone);break}case"pixel":{const t=c[r];e[r]=null==t?null:b.Pixel.fromImageryGraphic(t,o?.timeZone);break}case"json":e[r]=S(c[r])}}}function x(e,t){for(const r of e)t.push(r),"dictionary"===r.type&&x(r.properties,t);return t}function C(e,t,r,a,n){null!=r.lruCache&&o(p.getLogger("esri.arcade"),"ExecuteContext#lruCache",{replacement:"ExecuteContext#cache",warnOnce:!0,version:"5.0"});const c={vars:{},spatialReference:r.spatialReference,interceptor:r.interceptor,timeZone:r.timeZone,lrucache:P(r.cache),useAsync:n,services:r.services,console:r.console,abortSignal:r.abortSignal,track:r.track};return t?($(c.vars,e.variables,t,a,r),c):c}function j(t,r){switch(r.getArcadeType(t)){case"number":case"text":case"boolean":case"point":case"polygon":case"polyline":case"multipoint":case"extent":return t;case"date":return t.toJSDate();case"time":case"dateOnly":return t.toString();case"feature":{const r=(t.type,t),a="geometry"in r?r.geometry():null,n="readAttributes"in r?r.readAttributes():r.attributes;return new e({geometry:a,attributes:n})}case"dictionary":{const e=t,a=e.attributes,n={};for(const t of Object.keys(a))n[t]=j(e.field(t),r);return n}case"array":return("toArray"in t?t.toArray():t).map(e=>j(e,r))}return t}const A={variables:[{name:"$feature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$userInput",type:"geometry"},{name:"$graph",type:"knowledgeGraph"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},O={variables:[{name:"$feature",type:"feature"},{name:"$aggregatedFeatures",type:"featureSet"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},k={variables:[{name:"$voxel",type:"voxel"}]},E={variables:[{name:"$pixel",type:"pixel"},{name:"$imageCollectionItem",type:"feature"},{name:"$userInput",type:"geometry"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},I=new Map([["aggregate-field",{variables:[{name:"$feature",type:"feature"}]}],["form-constraint",{variables:[{name:"$feature",type:"feature"}]}],["feature-z",{variables:[{name:"$feature",type:"feature"}]}],["field-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$datastore",type:"featureSetCollection"}]}],["form-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$originalFeature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$featureSet",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$editContext",type:"dictionary",properties:[{name:"editType",type:"text"}]}]}],["form-attachment-filename-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$originalFeature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$featureset",type:"featureSet"},{name:"$map",type:"featureSetCollection"},{name:"$formElement",type:"dictionary",properties:[{name:"attachmentKeyword",type:"text"},{name:"label",type:"text"},{name:"description",type:"text"}]}]}],["labeling",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup",A],["popup-element",A],["popup-feature-reduction",O],["popup-element-feature-reduction",O],["visualization",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup-voxel",k],["popup-element-voxel",k],["popup-imagery",E],["popup-element-imagery",E]]);function T(e){"feature-reduction-popup"===e?(c(p.getLogger("esri.arcade"),'profile name: "feature-reduction-popup"',{replacement:'"popup-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-feature-reduction"):"feature-reduction-popup-element"===e&&(c(p.getLogger("esri.arcade"),'profile name: "feature-reduction-popup-element"',{replacement:'"popup-element-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-element-feature-reduction");const t=I.get(e);if(!t){const t=Array.from(I.keys()).map(e=>`'${e}'`).join(", ");throw new i("createArcadeProfile:invalid-profile-name",`Invalid profile name '${e}'. You must specify one of the following values: ${t}`)}return s(t)}async function F(e,t,a={}){b||(b=await d());const{arcade:n,arcadeUtils:c,batchExec:{createBatchExecutor:s},aiServices:{BatchTranslationServiceFactory:l,PortalTranslationService:u}}=b,{loadScriptDependencies:m,referencesMember:f,scriptIsAsync:v}=n,h=x(t.variables,[]).filter(e=>"featureSet"===e.type||"featureSetCollection"===e.type).map(e=>r(e.name)),g=n.parseScript(e,h);if(!g)throw new i("arcade:invalid-script","Unable to create SyntaxTree");const w=c.extractFieldNames(g),S=n.scriptTouchesGeometry(g),$=t.variables.map(e=>r(e.name)).filter(e=>f(g,e)),A=v(g,h);await m(g,A,h);const O=n.compileScript(g,{vars:Object.fromEntries($.map(e=>[e,!0])),useAsync:A}),k=a.services,E=a.cache??a.lruCache;null!=a.lruCache&&o(p.getLogger("esri.arcade"),"ExecutorOptions#lruCache",{replacement:"ExecutorOptions#cache",warnOnce:!0,version:"5.0"});const I=n.featureSetUtils(),T=(e,r={})=>{if(A)throw new i("arcade:invalid-execution-mode","Cannot execute the script in synchronous mode");const a={...k,...r.services},n=r.cache??r.lruCache??E,o={...r,cache:n,services:a},s=O(C(t,e,o,I,A));return r.rawOutput?s:j(s,c)},F=async(e,r={})=>{const a={...k,...r.services},n=r.cache??r.lruCache??E,o={...r,cache:n,services:a},i=await O(C(t,e,o,I,A));return r.rawOutput?i:j(i,c)},U=async(e,r,a={})=>{const n=[],o=a.cache??a.lruCache??E,i=s(e,async(e,i)=>{const s=r(e);try{const e={...p,translation:m.create(i)},r={...a,cache:o,services:e},l=await O(C(t,s,r,I,A)),u=a.rawOutput?l:j(l,c);n.push({id:i.id,result:{status:"fulfilled",value:u}})}catch(l){throw n.push({id:i.id,result:{status:"rejected",reason:l}}),l}},a.maxConcurrency??64,a.abortSignal),p={...k,...a.services},m=new l(i,p.translation??new u(p.portal??y.getDefault(),a.console));return await i.run(),n.sort(({id:e},{id:t})=>e-t).map(({result:e})=>e)};return{execute:T,executeAsync:F,executeAsyncBatch:U,isAsync:A,variablesUsed:$,fieldsUsed:w,geometryUsed:S,syntaxTree:g}}async function U(e,t,a={}){b||(b=await d());const{arcade:n,arcadeUtils:c}=b,{loadScriptDependencies:s,scriptIsAsync:l}=n,u=x(t.variables,[]).filter(e=>"featureSet"===e.type||"featureSetCollection"===e.type).map(e=>r(e.name)),m=n.parseScript(e,u);if(!m)throw new i("arcade:invalid-script","Unable to create SyntaxTree");const y=l(m,u)||null!=a.breakpoints;await s(m,y,u);const f=n.compileScript(m,{vars:Object.fromEntries(t.variables.map(e=>r(e.name)).map(e=>[e,!0])),useAsync:y,breakpoints:a.breakpoints}),v=a.services,h=a.cache??a.lruCache;null!=a.lruCache&&o(p.getLogger("esri.arcade"),"ExecutorOptions#lruCache",{replacement:"ExecutorOptions#cache",warnOnce:!0,version:"5.0"});const g=n.featureSetUtils();return{async executeAsync(e,r={}){const a={...v,...r.services},n=r.cache??r.lruCache??h,o={...r,cache:n,services:a},i=await f(C(t,e,o,g,y));return c.wrapDebugValue(i,{defaultTimeZone:r.timeZone??"system"})}}}function D(){return new n}function P(e){if(null!=e&&!(e instanceof n))throw new Error("Use createArcadeCache() to construct a cache instance or provide null/undefined.");return e}export{D as createArcadeCache,U as createArcadeDebugExecutor,F as createArcadeExecutor,T as createArcadeProfile};