@arcgis/core 5.0.0-next.107 → 5.0.0-next.108

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 (233) hide show
  1. package/analysis/VolumeMeasurementAnalysis.d.ts +13 -10
  2. package/applications/Components/fieldFormatUtils.d.ts +19 -0
  3. package/applications/Components/fieldFormatUtils.js +2 -0
  4. package/arcade/arcadeAsyncRuntime.js +1 -1
  5. package/arcade/arcadeRuntime.js +1 -1
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/05a654845835cbbadf43.js +1 -0
  8. package/assets/esri/core/workers/chunks/{2700591ddc3e8eb595ea.js → 0a4a7b153913dbb04fb2.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{681d9a923c0d1ace86e8.js → 0a4ebb5dca630a4ab0dd.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{724704d99b699e44e8c4.js → 0a7e35f68bc601e20700.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{d9fe55d878e1597752de.js → 0c19e56988b359e3ec1e.js} +2 -2
  12. package/assets/esri/core/workers/chunks/13da9e3b96d8f653cbad.js +1 -0
  13. package/assets/esri/core/workers/chunks/13ef846545225a1e74b9.js +2 -0
  14. package/assets/esri/core/workers/chunks/{1ecb53b481c8330c93c4.js → 19fc1191c298d60fe5bc.js} +2 -2
  15. package/assets/esri/core/workers/chunks/{83a23b2875770a2bd733.js → 2b79d186a905383d9655.js} +1 -1
  16. package/assets/esri/core/workers/chunks/3fcab49eb215a477d8c4.js +1 -0
  17. package/assets/esri/core/workers/chunks/{a6ab3f066968dbb65b8d.js → 3fe2b6a97e115af97766.js} +2 -2
  18. package/assets/esri/core/workers/chunks/42def1610c18f108c27f.js +1 -0
  19. package/assets/esri/core/workers/chunks/{a2956cf91f8337bd9aee.js → 45c0bcf2d49e0354a4d5.js} +63 -59
  20. package/assets/esri/core/workers/chunks/{a1330af3169d111415bf.js → 628cfcbef80275e4318f.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{489b10b5d899df454998.js → 6885c8dda1e43c6841f4.js} +1 -1
  22. package/assets/esri/core/workers/chunks/6b5d2cef309a2581d0d1.js +1 -0
  23. package/assets/esri/core/workers/chunks/{3e8811a58276d57a9e15.js → 6bece3cb3c802398f642.js} +2 -2
  24. package/assets/esri/core/workers/chunks/7ba7e99942ffbfdc6ca1.js +1 -0
  25. package/assets/esri/core/workers/chunks/{3484c1f4bd52cbeeaca9.js → 7ccd5e85a6e16c42c26d.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{6c5071f039adc038ca48.js → 81d65ac0041c3089aafb.js} +2 -2
  27. package/assets/esri/core/workers/chunks/{abab62b69af6dd2c86da.js → 899909629da036404f4b.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{7266987be98c65676db0.js → 8b0dc6fbbfc8f5472568.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{4ff19557c9e8ea364918.js → 8bf8dde44325f4dac344.js} +1 -1
  30. package/assets/esri/core/workers/chunks/9cbad7cc3174810a3352.js +1 -0
  31. package/assets/esri/core/workers/chunks/{65a4b2376853f1d99674.js → b1fcb7f35b0a9d8812a1.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{dd03e29e830f7acc6ef8.js → b701a97d5be3a5f1543e.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{e23aa32bd5e073dd8904.js → baff47cfdd5c4b2deb7e.js} +1 -1
  34. package/assets/esri/core/workers/chunks/bb7d8db23e4480bfb624.js +1 -0
  35. package/assets/esri/core/workers/chunks/c296aa5038e8f9994302.js +1 -0
  36. package/assets/esri/core/workers/chunks/c8a058efeaef5815270f.js +1 -0
  37. package/assets/esri/core/workers/chunks/{ec5a0fb9ab664edd9060.js → c9bc8cc332c67a2753e7.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{d25fe10a54ae38a8c0ce.js → d2d787033bd19cbc994a.js} +2 -2
  39. package/assets/esri/core/workers/chunks/e151ce322fdc6419c276.js +1 -0
  40. package/assets/esri/core/workers/chunks/{16d5a61c3019096721b2.js → e2a55ec2765df08fe1cd.js} +2 -2
  41. package/assets/esri/core/workers/chunks/e60985efb8d74328d9d4.js +1 -0
  42. package/assets/esri/core/workers/chunks/{18f6e0fb5d3e19c63508.js → e93df239fc54af2bd6ba.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{c480624ff7890a5233e8.js → f2003a18627cb6cc1924.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{3427e82742da5f7e5a31.js → fda137b3ca52e290da10.js} +1 -1
  45. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  46. package/assets/esri/themes/base/widgets/_Attribution.scss +13 -0
  47. package/assets/esri/themes/base/widgets/_FeatureTable.scss +0 -77
  48. package/assets/esri/themes/base/widgets/_Grid.scss +158 -31
  49. package/assets/esri/themes/dark/main.css +1 -1
  50. package/assets/esri/themes/light/main.css +1 -1
  51. package/assets/esri/themes/light/view.css +1 -1
  52. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  53. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  54. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  55. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  56. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  57. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  58. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  59. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  60. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  61. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  62. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  63. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  64. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  65. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  66. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  67. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  68. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  69. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  70. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  71. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  72. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  73. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  74. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  75. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  76. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  77. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  78. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  79. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  80. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  81. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  82. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  83. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  84. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  85. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  86. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  87. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  88. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  89. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  90. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  91. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  92. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  93. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  94. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  95. package/chunks/HUDMaterial.glsl.js +61 -57
  96. package/chunks/OITBlend.glsl.js +6 -2
  97. package/config.js +1 -1
  98. package/geometry/FlatGeometry.js +1 -1
  99. package/graphic/BuildingGraphicOrigin.d.ts +2 -0
  100. package/interfaces.d.ts +22 -20
  101. package/kernel.js +1 -1
  102. package/layers/GaussianSplatLayer.js +1 -1
  103. package/layers/ImageryLayer.d.ts +1 -1
  104. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  105. package/layers/VoxelWasmPerSceneView.js +1 -1
  106. package/layers/graphics/FlatFeature.js +1 -1
  107. package/layers/graphics/FlatFeatureSet.js +1 -1
  108. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  109. package/layers/raster/functions/BaseRasterFunction.js +1 -1
  110. package/layers/support/tiles3DUtils.js +1 -1
  111. package/networks/CircuitManager.js +1 -1
  112. package/networks/support/Circuit.d.ts +20 -14
  113. package/networks/support/CircuitSection.d.ts +20 -14
  114. package/package.json +4 -4
  115. package/popup/content/MediaContent.d.ts +8 -1
  116. package/popup/types.d.ts +116 -26
  117. package/portal/PortalItem.d.ts +1 -2
  118. package/portal/schemas/definitions.js +1 -1
  119. package/portal/types.d.ts +130 -36
  120. package/rest/networks/circuits/support/CircuitTraceResult.d.ts +2 -6
  121. package/rest/networks/circuits/support/CircuitTraceResult.js +1 -1
  122. package/rest/print.js +1 -1
  123. package/rest/query/operations/pbfFeatureServiceParser.js +1 -1
  124. package/rest/query/operations/pbfFeatureSetUtils.js +1 -1
  125. package/rest/query/operations/pbfFlatFeatureSet.js +2 -0
  126. package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
  127. package/smartMapping/raster/support/colorRamps.d.ts +5 -5
  128. package/support/revision.js +1 -1
  129. package/symbols/cim/animationUtils.js +1 -1
  130. package/symbols/cim/defaultCIMValues.js +1 -1
  131. package/symbols/cim/types.d.ts +4 -3
  132. package/symbols/support/Symbol3DEmissive.d.ts +33 -0
  133. package/symbols/support/Symbol3DEmissive.js +1 -1
  134. package/symbols/support/Symbol3DMaterial.d.ts +14 -0
  135. package/symbols/support/Symbol3DMaterial.js +1 -1
  136. package/symbols/support/cimConversionUtils.d.ts +0 -1
  137. package/symbols/support/types.d.ts +3 -0
  138. package/versionManagement/support/jsonTypes.d.ts +6 -0
  139. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  140. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  141. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  142. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  143. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +6 -4
  144. package/views/3d/layers/BaseDynamicLayerView3D.js +1 -1
  145. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  146. package/views/3d/layers/FlowSubView3D.js +1 -1
  147. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  148. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  149. package/views/3d/layers/MapImageLayerView3D.js +1 -1
  150. package/views/3d/layers/WMSLayerView3D.js +1 -1
  151. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  152. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  153. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  154. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  155. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  156. package/views/3d/terrain/OverlayRenderer.js +1 -1
  157. package/views/3d/terrain/TileCompositor.js +1 -1
  158. package/views/3d/webgl/ManagedFBO.js +1 -1
  159. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  160. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  161. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  162. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  163. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  164. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  165. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  166. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  167. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  168. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  169. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  170. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  171. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  172. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  173. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  174. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  175. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  176. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  177. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  178. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  179. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  180. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  181. package/views/SceneView.d.ts +14 -0
  182. package/views/View.d.ts +10 -2
  183. package/views/View2D.d.ts +14 -0
  184. package/views/View2D.js +1 -1
  185. package/views/draw/support/types.d.ts +91 -58
  186. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  187. package/views/layers/ImageryLayerView.d.ts +132 -5
  188. package/views/layers/ImageryLayerView.js +1 -1
  189. package/views/layers/ImageryTileLayerView.d.ts +1 -1
  190. package/views/layers/ImageryTileLayerView.js +1 -1
  191. package/views/support/MeasurementWorkerHandle.js +1 -1
  192. package/views/webgl/FramebufferObject.js +1 -1
  193. package/views/webgl/RenderingContext.js +1 -1
  194. package/widgets/Attachments/types.d.ts +2 -2
  195. package/widgets/Editor/EditorViewModel.d.ts +2 -2
  196. package/widgets/Editor/EditorViewModel.js +1 -1
  197. package/widgets/Editor.d.ts +8 -1
  198. package/widgets/Editor.js +1 -1
  199. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -3
  200. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  201. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  202. package/widgets/FeatureTable.d.ts +9 -2
  203. package/widgets/FeatureTable.js +1 -1
  204. package/widgets/Features/FeaturesVisibleElements.d.ts +1 -0
  205. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
  206. package/widgets/OrientedImageryViewer.js +1 -1
  207. package/widgets/Popup/PopupVisibleElements.d.ts +1 -0
  208. package/assets/esri/core/workers/chunks/12396d80f697cbfe63e5.js +0 -1
  209. package/assets/esri/core/workers/chunks/129ec1da68068dc450b7.js +0 -1
  210. package/assets/esri/core/workers/chunks/4d3070665ad7fd379990.js +0 -1
  211. package/assets/esri/core/workers/chunks/5f70bb05a52d2d411969.js +0 -1
  212. package/assets/esri/core/workers/chunks/6e04303500a9fbc3f14a.js +0 -1
  213. package/assets/esri/core/workers/chunks/a243c8864dd8f0f61b10.js +0 -1
  214. package/assets/esri/core/workers/chunks/a52fd3c5adc8719cd740.js +0 -1
  215. package/assets/esri/core/workers/chunks/d2b8922743f01260728d.js +0 -1
  216. package/assets/esri/core/workers/chunks/d7c000d15fbe63942198.js +0 -1
  217. package/assets/esri/core/workers/chunks/dc09fb6d8130487479c6.js +0 -1
  218. package/assets/esri/core/workers/chunks/e43c6058c793d43fa5f3.js +0 -1
  219. package/assets/esri/core/workers/chunks/e6cb01b1f94dd8f9bcef.js +0 -2
  220. package/assets/esri/core/workers/chunks/e9d7cdab8160d0e86f86.js +0 -1
  221. package/geometry/support/meshUtils/georeference.js +0 -2
  222. package/popup/content/types.d.ts +0 -8
  223. package/portal/support/resourceUtils.d.ts +0 -95
  224. package/views/layers/ImageryLayerViewMixin.d.ts +0 -136
  225. package/views/layers/ImageryLayerViewMixin.js +0 -2
  226. /package/assets/esri/core/workers/chunks/{1ecb53b481c8330c93c4.js.LICENSE.txt → 0c19e56988b359e3ec1e.js.LICENSE.txt} +0 -0
  227. /package/assets/esri/core/workers/chunks/{e6cb01b1f94dd8f9bcef.js.LICENSE.txt → 13ef846545225a1e74b9.js.LICENSE.txt} +0 -0
  228. /package/assets/esri/core/workers/chunks/{d9fe55d878e1597752de.js.LICENSE.txt → 19fc1191c298d60fe5bc.js.LICENSE.txt} +0 -0
  229. /package/assets/esri/core/workers/chunks/{16d5a61c3019096721b2.js.LICENSE.txt → 3fe2b6a97e115af97766.js.LICENSE.txt} +0 -0
  230. /package/assets/esri/core/workers/chunks/{3e8811a58276d57a9e15.js.LICENSE.txt → 6bece3cb3c802398f642.js.LICENSE.txt} +0 -0
  231. /package/assets/esri/core/workers/chunks/{6c5071f039adc038ca48.js.LICENSE.txt → 81d65ac0041c3089aafb.js.LICENSE.txt} +0 -0
  232. /package/assets/esri/core/workers/chunks/{d25fe10a54ae38a8c0ce.js.LICENSE.txt → d2d787033bd19cbc994a.js.LICENSE.txt} +0 -0
  233. /package/assets/esri/core/workers/chunks/{a6ab3f066968dbb65b8d.js.LICENSE.txt → e2a55ec2765df08fe1cd.js.LICENSE.txt} +0 -0
@@ -36,13 +36,15 @@ export interface VolumeMeasurementAnalysisProperties extends AnalysisProperties,
36
36
  * VolumeMeasurementAnalysis calculates and visualizes the volume of ground surfaces within a
37
37
  * defined polygonal area, offering multiple measure types and displaying results in a 3D [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
38
38
  *
39
- * The measure type is set with the [measureType](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html#measureType) property, and can be further customized using optional, type-specific [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurement-VolumeMeasurementCutFillOptions.html).
39
+ * The measure type is set with the [measureType](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html#measureType) property, and can be further
40
+ * customized using optional, type-specific [options](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurement-VolumeMeasurementCutFillOptions.html).
40
41
  *
41
42
  * To display a volume measurement of a ground surface bounded by a given [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html):
42
43
  * - Create a new instance of VolumeMeasurementAnalysis.
43
44
  * - Set the [measureType](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html#measureType) property.
44
45
  * - Set the [geometry](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html#geometry) property to the given [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html) instance.
45
- * - If using the "cut-fill" [measureType](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html#measureType), optionally set custom properties with [VolumeMeasurementCutFillOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurement-VolumeMeasurementCutFillOptions.html).
46
+ * - If using the "cut-fill" [measureType](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurementAnalysis.html#measureType), optionally set custom properties with
47
+ * [VolumeMeasurementCutFillOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-VolumeMeasurement-VolumeMeasurementCutFillOptions.html).
46
48
  * - Add the VolumeMeasurementAnalysis instance to [SceneView.analyses](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#analyses).
47
49
  *
48
50
  * Use the [VolumeMeasurementAnalysisView3D](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-VolumeMeasurementAnalysisView3D.html) to retrieve the
@@ -83,16 +85,17 @@ export interface VolumeMeasurementAnalysisProperties extends AnalysisProperties,
83
85
  * ```
84
86
  * The analysis depends on the scene's spatial reference, and the length of the measured perimeter:
85
87
  *
86
- * - In **Projected Coordinate Systems (PCS)** apart from Web Mercator, used in **local** viewing mode:
87
- * - There is no limit to the measurement's perimeter. This is the recommended setup for using the analysis as the accuracy is not compromised.
88
+ * - In **Projected Coordinate Systems (PCS)**, apart from Web Mercator used in **local** viewing mode, there is no limit
89
+ * to the measurement's perimeter, making it the recommended setup for analysis as accuracy is not compromised.
88
90
  *
89
- * - In **Web Mercator PCS** used in **local** viewing mode:
90
- * - If the measurement's perimeter exceeds 10 km, the analysis is considered invalid due to potential accuracy issues.
91
+ * - In **Web Mercator PCS** used in **local** viewing mode, if the measurement's perimeter exceeds 10 km, the analysis
92
+ * is considered invalid due to potential accuracy issues.
91
93
  *
92
- * - In **Geographic Coordinate Systems (GCS) and Web Mercator** in **global** viewing mode:
93
- * - If the measurement's perimeter exceeds 50 km, the analysis is considered invalid due to potential accuracy issues.
94
+ * - In **Geographic Coordinate Systems (GCS)** and **Web Mercator** in **global** viewing mode, if the measurement's
95
+ * perimeter exceeds 50 km, the analysis is considered invalid due to potential accuracy issues.
94
96
  *
95
- * In certain situations (including information in Known Limitations below), the [analysis result](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-VolumeMeasurement-VolumeMeasurementResult.html) cannot be computed.
97
+ * In certain situations (including information in Known Limitations below), the
98
+ * [analysis result](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-VolumeMeasurement-VolumeMeasurementResult.html) cannot be computed.
96
99
  * Refer to the [VolumeMeasurementAnalysisView3D.error](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-analysis-VolumeMeasurementAnalysisView3D.html#error) property for more information.
97
100
  *
98
101
  * > [!WARNING]
@@ -102,7 +105,7 @@ export interface VolumeMeasurementAnalysisProperties extends AnalysisProperties,
102
105
  * > This analysis is only supported in a 3D [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
103
106
  * > The results of the tool vary depending on the zoom level, as changes in zoom level affect the level of detail (LOD) of the scene geometry.
104
107
  * > If the view is too close or too far from the measurement polygon, the results will not be computed due to LOD-induced inaccuracies.
105
- * > The target elevation of the fill plane ("cut-fill" measureType) is restricted to the range of -11 km and +9 km.
108
+ * > The target elevation of the fill plane ("cut-fill" measureType) is restricted to the range between -11 km and +9 km.
106
109
  * > This analysis operates only on the non-transparent [Map.ground](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html#ground), [IntegratedMeshLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMeshLayer.html) and an [IntegratedMesh3DTilesLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-IntegratedMesh3DTilesLayer.html).
107
110
  * > This analysis does not support WGS 1984 spatial reference in a local [viewing mode](https://developers.arcgis.com/javascript/latest/api-reference/esri-webscene-InitialViewProperties.html#viewingMode).
108
111
  *
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Field formatting utils for Components.
3
+ *
4
+ * @experimental
5
+ * @internal
6
+ */
7
+ import type FieldInfo from "../../popup/FieldInfo.js";
8
+ import type { FieldFormatUnion } from "../../layers/support/types.js";
9
+
10
+ /**
11
+ * Returns a field format object for a given [FieldInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html) and optional field definition.
12
+ *
13
+ * @param fieldInfo - The [FieldInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-FieldInfo.html) describing the field.
14
+ * @param field - The field definition, if available.
15
+ * @returns The field format object, or `null` if not applicable.
16
+ * @experimental
17
+ * @internal
18
+ */
19
+ export function fieldFormatFromFieldInfo(fieldInfo: FieldInfo, field?: any | null | undefined): FieldFormatUnion | null | undefined;
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
2
+ import{fieldFormatFromFieldInfo as o}from"../../layers/support/fieldFormatUtils.js";const r=o;export{r as fieldFormatFromFieldInfo};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
2
- import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,flattenAccessChain as a,collectDeclaredLocalNames as i}from"./compilerUtils.js";import{getNestedOptionalValue as s,getGeometryKeys as c,tryGetMember as l,getMember as u,getGeometryMember as f}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as w,ensureArcadeExecutionError as d}from"./executionError.js";import{Feature as h}from"./Feature.js";import{NativeFunction as m,ScopeMarshalledFunction as g,ArcadeFunction as y,wrapModuleScopedResponse as b}from"./FunctionWrapper.js";import{R as v,I as x,q as S,i as k,z as F,A as j,v as O,B as R,r as C,s as E,u as I,w as M,x as A,k as N,j as B,y as U,m as G,h as L}from"../chunks/languageUtils.js";import{addFunctionDeclaration as z}from"./treeAnalysis.js";import{A as D}from"../chunks/aiServices.js";import{A as _}from"../chunks/array.js";import{registerFunctions as Z}from"./functions/date.js";import{registerFunctions as q}from"./functions/feature.js";import{registerFunctions as P}from"./functions/geomasync.js";import{registerFunctions as W}from"./functions/geometry.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as K}from"./functions/stats.js";import{registerFunctions as T}from"./functions/string.js";import{registerFunctions as Y}from"./functions/track.js";import $ from"../core/Logger.js";import H from"../geometry/SpatialReference.js";import{isGraphic as J,isBoolean as Q,isString as X,isArray as ee,isNumber as te}from"../support/guards.js";const ne=()=>$.getLogger("esri.arcade.arcadeAsyncRuntime"),re=Symbol("uninitialized");function oe(e){if(e===re)throw new w(null,"InvalidIdentifier",null)}function ae(e){return oe(e),e}function ie(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new w(t,"InvalidIdentifier",n)}function se(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return oe(e),e.value}const a=t.globalScope[o];if(void 0!==a)return oe(a),a.value;throw new w(t,r,n)}const ce=function(){};async function le(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await he(e,t.arguments[r]));return n}async function ue(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await le(e,t))}ce.prototype=Object.freeze(Object.create(null));class fe extends y{constructor(e,t,n,r){super(),this.definition=e,this.context=t,this._params=n,this._locals=r}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,timeZone:this.context.timeZone??null,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,services:this.context.services,abortSignal:this.context.abortSignal,localScope:new ce,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new w(e,"MaximumCallDepth",null);return pe(n,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return de(e,t,(n,r,o)=>{const a={spatialReference:e.spatialReference,services:e.services,console:e.console,libraryResolver:e.libraryResolver,exports:e.exports,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:new ce,abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(a.depthCounter.depth>64)throw new w(e,"MaximumCallDepth",t);return pe(a,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const s={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:new ce,track:e.track};return i=i.map(t=>!k(t)||t instanceof g?t:b(t,e,r)),b(await pe(s,this.definition.body,this._params,this._locals,i,t),n,r)})}}async function pe(e,t,n,r,o,a){if(n.length!==o.length)throw new w(e,"WrongNumberOfParameters",a);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=re}const i=await me(e,t);if(i instanceof v)return i.value;if(i===F)throw new w(e,"UnexpectedToken",a);if(i===j)throw new w(e,"UnexpectedToken",a);return i instanceof x?i.value:i}class we extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t);if(this.moduleGlobalContext.exports.has(n))throw new w(null,"ModuleExportNotFound",null);const r=this.moduleGlobalContext.globalScope[n];if(oe(r),k(r.value)&&!(r.value instanceof g)){const e=new g;return e.fn=r.value,e.parameterEvaluator=ue,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(k(n))throw new w(null,"AssignModuleFunction",null);const r=e(t);if(this.moduleGlobalContext.exports.has(r))throw new w(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static async load(e,n){const{globals:a,exports:i}=o(n),s=new it;for(const t of a)t in s||(s[t]=re);const c=e.spatialReference??H.WebMercator,l={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ct,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:c,track:null,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:i,localScope:null,globalScope:s};return await Ae(l,n),new we(l)}}async function de(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await le(e,t))}async function he(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await Re(e,t);case"AssignmentExpression":return await Ee(e,t);case"TemplateLiteral":return await Qe(e,t);case"Identifier":return $e(e,t);case"MemberExpression":return await _e(e,t);case"Literal":return t.value;case"CallExpression":return await He(e,t);case"UnaryExpression":return await Ve(e,t);case"BinaryExpression":return await Te(e,t);case"LogicalExpression":return await Ye(e,t);case"ArrayExpression":return await Ke(e,t);case"ObjectExpression":return await ge(e,t);case"MemberAccessChainExpression":return await We(e,t);case"SafeMemberExpression":throw ne().error("SafeMemberExpression outside of MemberAccessChainExpression"),new w(null,"Unrecognized",t);default:throw new w(e,"Unrecognized",t)}}catch(n){throw d(e,t,n)}}async function me(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await Ge(e,t);case"ExportNamedDeclaration":return await Le(e,t);case"VariableDeclaration":return await ze(e,t);case"BlockStatement":return await Ae(e,t);case"FunctionDeclaration":return await Ue(e,t);case"ReturnStatement":return await Be(e,t);case"IfStatement":return await Me(e,t);case"ExpressionStatement":return await Ie(e,t);case"ForStatement":return await be(e,t);case"WhileStatement":return await ye(e,t);case"ForInStatement":return await je(e,t);case"ForOfStatement":return await Oe(e,t);case"BreakStatement":return F;case"EmptyStatement":return O;case"ContinueStatement":return j;default:throw new w(e,"Unrecognized",t)}}catch(n){throw d(e,t,n)}}async function ge(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await he(e,r.value),a="Identifier"===r.key.type?r.key.name:await he(e,r.key);n[i]={key:a,value:o}}const r=Object.create(null),o=new Map;for(let i=0;i<n.length;i++){const a=n[i];if(k(a.value))throw new w(e,"NoFunctionInDictionary",t);if(!1===X(a.key))throw new w(e,"KeyMustBeString",t);let s=a.key.toString();const c=s.toLowerCase();o.has(c)?s=o.get(c):o.set(c,s),a.value===O?r[s]=null:r[s]=a.value}const a=new p(r);return a.immutable=!1,a}async function ye(e,t){let n=await he(e,t.test);if(!1===n)return O;if(!0!==n)throw new w(e,"BooleanConditionRequired",t);for(;!0===n;){const r=await me(e,t.body);if(r===F)break;if(r instanceof v)return r;if(n=await he(e,t.test),!0!==n&&!1!==n)throw new w(e,"BooleanConditionRequired",t)}return O}async function be(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await me(e,t.init):await he(e,t.init));;){if(null!==t.test){const n=await he(e,t.test);if(!0===e.abortSignal?.aborted)throw new w(e,"Cancelled",t);if(!1===n)break;if(!0!==n)throw new w(e,"BooleanConditionRequired",t)}const n=await me(e,t.body);if(n===F)break;if(n instanceof v)return n;null!==t.update&&await he(e,t.update)}return O}catch(n){throw n}}async function ve(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new w(e,"OutOfBounds",t);r.scope[r.id]={value:n[i]}}else r.scope[r.id]={value:i};const a=await me(e,t.body);if(a===F)break;if(a instanceof v)return a}return O}async function xe(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.scope[r.id]="k"===o?{value:n.get(i)}:{value:i};const a=await me(e,t.body);if(a===F)break;if(a instanceof v)return a}return O}async function Se(e,t,n,r){e:for await(const o of await n.queryAll(e.abortSignal))for(const a of o){r.scope[r.id]={value:h.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone)};const o=await me(e,t.body);if(o===F)break e;if(o instanceof v)return o}return O}async function ke(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.scope[r.id]={value:p.containerEntry(o,a)};const i=await me(e,t.body);if(i===F)break;if(i instanceof v)return i}return O}async function Fe(e,t,n,r){for(const o of c(n)){const a=f(n,o,e,t);r.scope[r.id]={value:p.containerEntry(o,a)};const i=await me(e,t.body);if(i===F)break;if(i instanceof v)return i}return O}async function je(e,t){const n=await he(e,t.right);"VariableDeclaration"===t.left.type&&await me(e,t.left);const r=ie(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return ee(n)||X(n)?await ve(e,t,n,r):B(n)?await xe(e,t,n,r):n instanceof p||U(n)?await ve(e,t,n.keys(),r,"k"):G(n)?await Se(e,t,n,r):L(n)?await ve(e,t,c(n),r,"k"):O}async function Oe(e,t){const n=await he(e,t.right);"VariableDeclaration"===t.left.type&&await me(e,t.left);const r=ie(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return ee(n)||X(n)?await ve(e,t,n,r,"k"):B(n)?await xe(e,t,n,r,"k"):n instanceof p||U(n)?await ke(e,t,n,r):G(n)?await Se(e,t,n,r):L(n)?await Fe(e,t,n,r):O}async function Re(e,t){const n=t.argument;if("CallExpression"===n.type)throw new w(e,"NeverReach",t);if("MemberExpression"===n.type){const r=await he(e,n.object);let o,a;if(!0===n.computed)o=await he(e,n.property);else{if("Identifier"!==n.property.type)throw new w(e,"Unrecognized",t);o=n.property.name}if(ee(r)){if(!te(o))throw new w(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new w(e,"OutOfBounds",t);a=C(r[o]),r[o]="++"===t.operator?a+1:a-1}else if(r instanceof p){if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new w(e,"FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}else if(r instanceof we){if(!1===X(o))throw new w(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new w(e,"ModuleExportNotFound",t);a=C(r.global(o)),r.setGlobal(o,"++"===t.operator?a+1:a-1)}else{if(!N(r))throw B(r)?new w(e,"Immutable",t):new w(e,"InvalidParameter",t);if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new w(e,"FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}return!1===t.prefix?a:"++"===t.operator?a+1:a-1}const r=ie(e,n),o=C(ae(r.var).value),a="++"===t.operator?o+1:o-1;return r.scope[r.id]={value:a},!1===t.prefix?o:"++"===t.operator?o+1:o-1}function Ce(e,t,n,r,o){switch(t){case"=":return e===O?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return X(n)||X(e)?E(n)+E(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new w(o,"UnsupportedOperator",r)}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const r=await he(e,n.object);let o;if(!0===n.computed)o=await he(e,n.property);else{if("Identifier"!==n.property.type)throw new w(e,"InvalidIdentifier",t);o=n.property.name}const a=await he(e,t.right);if(ee(r)){if(!te(o))throw new w(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>r.length)throw new w(e,"OutOfBounds",t);if(o===r.length){if("="!==t.operator)throw new w(e,"OutOfBounds",t);r[o]=Ce(a,t.operator,r[o],t,e)}else r[o]=Ce(a,t.operator,r[o],t,e)}else if(r instanceof p){if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Ce(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new w(e,"FieldNotFound",t,{key:o});r.setField(o,Ce(a,t.operator,null,t,e))}}else if(r instanceof we){if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new w(e,"ModuleExportNotFound",t);r.setGlobal(o,Ce(a,t.operator,r.global(o),t,e))}else{if(!N(r))throw B(r)?new w(e,"Immutable",t):new w(e,"InvalidParameter",t);if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Ce(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new w(e,"FieldNotFound",t,{key:o});r.setField(o,Ce(a,t.operator,null,t,e))}}return O}const r=ie(e,n),o=await he(e,t.right);return r.scope[r.id]={value:Ce(o,t.operator,"="!==t.operator?ae(r.var).value:null,t,e)},O}async function Ie(e,t){const n=await he(e,t.expression);return n===O?O:new x(n)}async function Me(e,t){const n=await he(e,t.test);if(!0===n)return me(e,t.consequent);if(!1===n)return null!==t.alternate?me(e,t.alternate):O;throw new w(e,"BooleanConditionRequired",t)}async function Ae(e,t){return Ne(e,t,0)}async function Ne(e,t,n){if(n>=t.body.length)return O;const r=await me(e,t.body[n]);return r instanceof v||r===F||r===j||n===t.body.length-1?r:Ne(e,t,n+1)}async function Be(e,t){if(null===t.argument)return new v(O);const n=await he(e,t.argument);return new v(n)}async function Ue(t,n){if(null!=t.localScope)throw ne().error("Function declarations are only valid in global scope."),new w(t,"NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw ne().error(`Function "${r}" not declared.`),new w(t,"NeverReach",n);const o=i(n),a=n.params.map(t=>e(t)),s=Array.from(o).filter(e=>!a.includes(e));return t.globalScope[r]={value:new fe(n,t,a,s)},O}async function Ge(e,t){const n=ie(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw ne().error("Internal error: module loader not initialized"),new w(e,"NeverReach",t);const o=r.loadLibrary(n.id);let a;return r._moduleSingletons?.has(o.uri)?a=r._moduleSingletons.get(o.uri):(a=await we.load(e,o.syntax),r._moduleSingletons?.set(o.uri,a)),n.scope[n.id]={value:a},O}async function Le(e,t){return await me(e,t.declaration),O}async function ze(e,t){for(const n of t.declarations)await De(e,n);return O}async function De(e,t){let n=null;n=null===t.init?null:await he(e,t.init),n===O&&(n=null);const r=ie(e,t.id);r.scope[r.id]={value:n}}async function _e(e,t){return Ze(e,await he(e,t.object),t)}async function Ze(e,t,n){const r=n.computed?await he(e,n.property):n.property.name;return u(t,r)}async function qe(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=await Ze(e,t,r);break;case"CallExpression":t=await Je(e,t,r);break;default:throw new w(null,"Unrecognized",r)}return t}async function Pe(e,t,n){const r=n.computed?await he(e,n.property):n.property.name;return l(t,r)}async function We(e,t){const n=a(t);let r=await he(e,n.root);for(const o of n.sections){const t=await Pe(e,r,o.checked);if(null==t)return null;r=await qe(e,t,o.unchecked)}return r}async function Ve(e,t){const n=await he(e,t.argument);if(Q(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new w(e,"UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new w(e,"UnsupportUnaryOperator",t)}async function Ke(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await he(e,t.elements[r]));for(let r=0;r<n.length;r++){if(k(n[r]))throw new w(e,"NoFunctionInArray",t);n[r]===O&&(n[r]=null)}return n}async function Te(e,t){const n=await he(e,t.left),r=await he(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return A(C(n),C(r),t.operator);case"==":return M(n,r);case"!=":return!M(n,r);case"<":case">":case"<=":case">=":return I(n,r,t.operator);case"+":return X(n)||X(r)?E(n)+E(r):C(n)+C(r);case"-":return C(n)-C(r);case"*":return C(n)*C(r);case"/":return C(n)/C(r);case"%":return C(n)%C(r);default:throw t.operator,new w(e,"UnsupportedOperator",t)}}async function Ye(e,t){const n=await he(e,t.left);if(!Q(n))throw new w(e,"LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await he(e,t.right);if(Q(r))return r;throw new w(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await he(e,t.right);if(Q(r))return r;throw new w(e,"LogicExpressionOrAnd",t)}default:throw t.operator,new w(e,"LogicExpressionOrAnd",t)}}function $e(e,t){return se(e,t)}async function He(e,t){return Je(e,"Identifier"===t.callee.type?se(e,t.callee,"FunctionNotFound"):await he(e,t.callee),t)}async function Je(e,t,n){if(k(t))return t.call(e,n);throw new w(e,"CallNonFunction",n)}async function Qe(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){if(t.expressions[r]){const o=await he(e,t.expressions[r]);if(k(o))throw new w(e,"NoFunctionInTemplateLiteral",t);n+=E(o)}r++}return n}async function Xe(e,t){R(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await he(e,t.arguments[0]);if(!1===Q(n))throw new w(e,"BooleanConditionRequired",t);return he(e,n?t.arguments[1]:t.arguments[2])}async function et(e,t){R(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await he(e,t.arguments[0]);if(3===t.arguments.length){const r=await he(e,t.arguments[1]),o=s(n,r);return null!=o&&""!==o?o:he(e,t.arguments[2])}return null==n||""===n?he(e,t.arguments[1]):n}async function tt(e,t){if(t.arguments.length<2)throw new w(e,"WrongNumberOfParameters",t);if(2===t.arguments.length)return he(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new w(e,"WrongNumberOfParameters",t);return nt(e,t,1,await he(e,t.arguments[0]))}async function nt(e,t,n,r){const o=await he(e,t.arguments[n]);if(M(o,r))return he(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?he(e,t.arguments[n]):2===a?null:3===a?he(e,t.arguments[n+2]):nt(e,t,n+2,r)}async function rt(e,t){if(t.arguments.length<3)throw new w(e,"WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new w(e,"WrongNumberOfParameters",t);const n=await he(e,t.arguments[0]);if(!1===Q(n))throw new w(e,"BooleanConditionRequired",t.arguments[0]);return ot(e,t,0,n)}async function ot(e,t,n,r){if(!0===r)return he(e,t.arguments[n+1]);if(3===t.arguments.length-n)return he(e,t.arguments[n+2]);const o=await he(e,t.arguments[n+2]);if(!1===Q(o))throw new w(e,"ModuleExportNotFound",t.arguments[n+2]);return ot(e,t,n+2,o)}function at(){const e=Object.create(null);Z(e,ue),T(e,ue),q(e,ue,$e),V(e,ue),W(e,ue),K(e,ue),Y(e,ue),P({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:ue,standardFunctionAsync:de}),e.iif=Xe,e.defaultvalue=et,e.decode=tt,e.when=rt;const t=function(){this.textformatting={value:p.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new m(r)});return t}const it=at();function st(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:ue,standardFunctionAsync:de,evaluateIdentifier:$e};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))it.prototype[n]=Object.freeze({value:new m(r)});for(let n=0;n<t.signatures.length;n++)z(t.signatures[n],"async")}function ct(e){console.log(e)}function lt(n,a){const i=new Set(Object.keys(a?.vars||{}).map(t=>e(t))),s=new Set(Object.keys(a?.customfunctions||{}).map(t=>e(t))),{globals:c,exports:l}=o(n);return async e=>{const o=e.spatialReference??H.WebMercator;let a=null;n.usesModules&&(a=new r(new Map,n.loadedModules));const u=new it;for(const t of s)null!=e.customfunctions&&t in e.customfunctions?u[t]={value:new m(e.customfunctions[t])}:u[t]=re;for(const t of i){if(null==e.vars||!(t in e.vars)){t in u||(u[t]=re);continue}const n=e.vars[t]??null;J(n)?u[t]={value:h.createFromGraphic(n,e.timeZone??null)}:u[t]={value:n}}for(const t of c)t in u||(u[t]=re);const f={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ct,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:a,exports:l,localScope:null,globalScope:u},p=await Ae(f,n);if(p instanceof v||p instanceof x){const e=p.value;if(S(e))return null;if(k(e))throw new w(f,"IllegalResult",null);return e}if(S(p))return null;if(p===F)throw new w(f,"IllegalResult",null);if(p===j)throw new w(f,"IllegalResult",null);throw new w(f,"NeverReach",null)}}function ut(e,t){return lt(e,t)(t)}st([_]),st([D]);export{ut as executeScript,st as extend,lt as prepareScript};
2
+ import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,flattenAccessChain as a,collectDeclaredLocalNames as i}from"./compilerUtils.js";import{getNestedOptionalValue as s,getGeometryKeys as c,tryGetMember as l,getMember as u,getGeometryMember as f}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as w,ensureArcadeExecutionError as d}from"./executionError.js";import{Feature as h}from"./Feature.js";import{NativeFunction as m,ScopeMarshalledFunction as g,ArcadeFunction as y,wrapModuleScopedResponse as b}from"./FunctionWrapper.js";import{R as v,I as x,q as S,i as k,z as F,A as j,v as O,B as R,r as C,s as E,u as I,w as M,x as A,k as N,j as B,y as U,m as G,h as L}from"../chunks/languageUtils.js";import{addFunctionDeclaration as z}from"./treeAnalysis.js";import{A as D}from"../chunks/aiServices.js";import{A as _}from"../chunks/array.js";import{registerFunctions as Z}from"./functions/date.js";import{registerFunctions as q}from"./functions/feature.js";import{registerFunctions as P}from"./functions/geomasync.js";import{registerFunctions as W}from"./functions/geometry.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as K}from"./functions/stats.js";import{registerFunctions as T}from"./functions/string.js";import{registerFunctions as Y}from"./functions/track.js";import $ from"../core/Logger.js";import H from"../geometry/SpatialReference.js";import{isGraphic as J,isBoolean as Q,isString as X,isArray as ee,isNumber as te}from"../support/guards.js";const ne=()=>$.getLogger("esri.arcade.arcadeAsyncRuntime"),re=Symbol("uninitialized");function oe(e){if(e===re)throw new w(null,"InvalidIdentifier",null)}function ae(e){return oe(e),e}function ie(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new w(t,"InvalidIdentifier",n)}function se(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return oe(e),e.value}const a=t.globalScope[o];if(void 0!==a)return oe(a),a.value;throw new w(t,r,n)}const ce=function(){};async function le(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await he(e,t.arguments[r]));return n}async function ue(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await le(e,t))}ce.prototype=Object.freeze(Object.create(null));class fe extends y{constructor(e,t,n,r){super(),this.definition=e,this.context=t,this._params=n,this._locals=r}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,timeZone:this.context.timeZone??null,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,services:this.context.services,abortSignal:this.context.abortSignal,localScope:new ce,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new w(e,"MaximumCallDepth",null);return pe(n,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return de(e,t,(n,r,o)=>{const a={spatialReference:e.spatialReference,services:e.services,console:e.console,libraryResolver:e.libraryResolver,exports:e.exports,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:new ce,abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(a.depthCounter.depth>64)throw new w(e,"MaximumCallDepth",t);return pe(a,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const s={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:new ce,track:e.track};return i=i.map(t=>!k(t)||t instanceof g?t:b(t,e,r)),b(await pe(s,this.definition.body,this._params,this._locals,i,t),n,r)})}}async function pe(e,t,n,r,o,a){if(n.length!==o.length)throw new w(e,"WrongNumberOfParameters",a);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=re}const i=await me(e,t);if(i instanceof v)return i.value;if(i===F)throw new w(e,"UnexpectedToken",a);if(i===j)throw new w(e,"UnexpectedToken",a);return i instanceof x?i.value:i}class we extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new w(null,"ModuleExportNotFound",null);const r=this.moduleGlobalContext.globalScope[n];if(oe(r),k(r.value)&&!(r.value instanceof g)){const e=new g;return e.fn=r.value,e.parameterEvaluator=ue,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(k(n))throw new w(null,"AssignModuleFunction",null);const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new w(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static async load(e,n){const{globals:a,exports:i}=o(n),s=new it;for(const t of a)t in s||(s[t]=re);const c=e.spatialReference??H.WebMercator,l={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ct,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:c,track:null,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:i,localScope:null,globalScope:s};return await Ae(l,n),new we(l)}}async function de(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await le(e,t))}async function he(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await Re(e,t);case"AssignmentExpression":return await Ee(e,t);case"TemplateLiteral":return await Qe(e,t);case"Identifier":return $e(e,t);case"MemberExpression":return await _e(e,t);case"Literal":return t.value;case"CallExpression":return await He(e,t);case"UnaryExpression":return await Ve(e,t);case"BinaryExpression":return await Te(e,t);case"LogicalExpression":return await Ye(e,t);case"ArrayExpression":return await Ke(e,t);case"ObjectExpression":return await ge(e,t);case"MemberAccessChainExpression":return await We(e,t);case"SafeMemberExpression":throw ne().error("SafeMemberExpression outside of MemberAccessChainExpression"),new w(null,"Unrecognized",t);default:throw new w(e,"Unrecognized",t)}}catch(n){throw d(e,t,n)}}async function me(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await Ge(e,t);case"ExportNamedDeclaration":return await Le(e,t);case"VariableDeclaration":return await ze(e,t);case"BlockStatement":return await Ae(e,t);case"FunctionDeclaration":return await Ue(e,t);case"ReturnStatement":return await Be(e,t);case"IfStatement":return await Me(e,t);case"ExpressionStatement":return await Ie(e,t);case"ForStatement":return await be(e,t);case"WhileStatement":return await ye(e,t);case"ForInStatement":return await je(e,t);case"ForOfStatement":return await Oe(e,t);case"BreakStatement":return F;case"EmptyStatement":return O;case"ContinueStatement":return j;default:throw new w(e,"Unrecognized",t)}}catch(n){throw d(e,t,n)}}async function ge(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await he(e,r.value),a="Identifier"===r.key.type?r.key.name:await he(e,r.key);n[i]={key:a,value:o}}const r=Object.create(null),o=new Map;for(let i=0;i<n.length;i++){const a=n[i];if(k(a.value))throw new w(e,"NoFunctionInDictionary",t);if(!1===X(a.key))throw new w(e,"KeyMustBeString",t);let s=a.key.toString();const c=s.toLowerCase();o.has(c)?s=o.get(c):o.set(c,s),a.value===O?r[s]=null:r[s]=a.value}const a=new p(r);return a.immutable=!1,a}async function ye(e,t){let n=await he(e,t.test);if(!1===n)return O;if(!0!==n)throw new w(e,"BooleanConditionRequired",t);for(;!0===n;){const r=await me(e,t.body);if(r===F)break;if(r instanceof v)return r;if(n=await he(e,t.test),!0!==n&&!1!==n)throw new w(e,"BooleanConditionRequired",t)}return O}async function be(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await me(e,t.init):await he(e,t.init));;){if(null!==t.test){const n=await he(e,t.test);if(!0===e.abortSignal?.aborted)throw new w(e,"Cancelled",t);if(!1===n)break;if(!0!==n)throw new w(e,"BooleanConditionRequired",t)}const n=await me(e,t.body);if(n===F)break;if(n instanceof v)return n;null!==t.update&&await he(e,t.update)}return O}catch(n){throw n}}async function ve(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new w(e,"OutOfBounds",t);r.scope[r.id]={value:n[i]}}else r.scope[r.id]={value:i};const a=await me(e,t.body);if(a===F)break;if(a instanceof v)return a}return O}async function xe(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.scope[r.id]="k"===o?{value:n.get(i)}:{value:i};const a=await me(e,t.body);if(a===F)break;if(a instanceof v)return a}return O}async function Se(e,t,n,r){e:for await(const o of await n.queryAll(e.abortSignal))for(const a of o){r.scope[r.id]={value:h.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone)};const o=await me(e,t.body);if(o===F)break e;if(o instanceof v)return o}return O}async function ke(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.scope[r.id]={value:p.containerEntry(o,a)};const i=await me(e,t.body);if(i===F)break;if(i instanceof v)return i}return O}async function Fe(e,t,n,r){for(const o of c(n)){const a=f(n,o,e,t);r.scope[r.id]={value:p.containerEntry(o,a)};const i=await me(e,t.body);if(i===F)break;if(i instanceof v)return i}return O}async function je(e,t){const n=await he(e,t.right);"VariableDeclaration"===t.left.type&&await me(e,t.left);const r=ie(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return ee(n)||X(n)?await ve(e,t,n,r):B(n)?await xe(e,t,n,r):n instanceof p||U(n)?await ve(e,t,n.keys(),r,"k"):G(n)?await Se(e,t,n,r):L(n)?await ve(e,t,c(n),r,"k"):O}async function Oe(e,t){const n=await he(e,t.right);"VariableDeclaration"===t.left.type&&await me(e,t.left);const r=ie(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return ee(n)||X(n)?await ve(e,t,n,r,"k"):B(n)?await xe(e,t,n,r,"k"):n instanceof p||U(n)?await ke(e,t,n,r):G(n)?await Se(e,t,n,r):L(n)?await Fe(e,t,n,r):O}async function Re(e,t){const n=t.argument;if("CallExpression"===n.type)throw new w(e,"NeverReach",t);if("MemberExpression"===n.type){const r=await he(e,n.object);let o,a;if(!0===n.computed)o=await he(e,n.property);else{if("Identifier"!==n.property.type)throw new w(e,"Unrecognized",t);o=n.property.name}if(ee(r)){if(!te(o))throw new w(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new w(e,"OutOfBounds",t);a=C(r[o]),r[o]="++"===t.operator?a+1:a-1}else if(r instanceof p){if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new w(e,"FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}else if(r instanceof we){if(!1===X(o))throw new w(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new w(e,"ModuleExportNotFound",t);a=C(r.global(o)),r.setGlobal(o,"++"===t.operator?a+1:a-1)}else{if(!N(r))throw B(r)?new w(e,"Immutable",t):new w(e,"InvalidParameter",t);if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new w(e,"FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}return!1===t.prefix?a:"++"===t.operator?a+1:a-1}const r=ie(e,n),o=C(ae(r.var).value),a="++"===t.operator?o+1:o-1;return r.scope[r.id]={value:a},!1===t.prefix?o:"++"===t.operator?o+1:o-1}function Ce(e,t,n,r,o){switch(t){case"=":return e===O?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return X(n)||X(e)?E(n)+E(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new w(o,"UnsupportedOperator",r)}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const r=await he(e,n.object);let o;if(!0===n.computed)o=await he(e,n.property);else{if("Identifier"!==n.property.type)throw new w(e,"InvalidIdentifier",t);o=n.property.name}const a=await he(e,t.right);if(ee(r)){if(!te(o))throw new w(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>r.length)throw new w(e,"OutOfBounds",t);if(o===r.length){if("="!==t.operator)throw new w(e,"OutOfBounds",t);r[o]=Ce(a,t.operator,r[o],t,e)}else r[o]=Ce(a,t.operator,r[o],t,e)}else if(r instanceof p){if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Ce(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new w(e,"FieldNotFound",t,{key:o});r.setField(o,Ce(a,t.operator,null,t,e))}}else if(r instanceof we){if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new w(e,"ModuleExportNotFound",t);r.setGlobal(o,Ce(a,t.operator,r.global(o),t,e))}else{if(!N(r))throw B(r)?new w(e,"Immutable",t):new w(e,"InvalidParameter",t);if(!1===X(o))throw new w(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Ce(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new w(e,"FieldNotFound",t,{key:o});r.setField(o,Ce(a,t.operator,null,t,e))}}return O}const r=ie(e,n),o=await he(e,t.right);return r.scope[r.id]={value:Ce(o,t.operator,"="!==t.operator?ae(r.var).value:null,t,e)},O}async function Ie(e,t){const n=await he(e,t.expression);return n===O?O:new x(n)}async function Me(e,t){const n=await he(e,t.test);if(!0===n)return me(e,t.consequent);if(!1===n)return null!==t.alternate?me(e,t.alternate):O;throw new w(e,"BooleanConditionRequired",t)}async function Ae(e,t){return Ne(e,t,0)}async function Ne(e,t,n){if(n>=t.body.length)return O;const r=await me(e,t.body[n]);return r instanceof v||r===F||r===j||n===t.body.length-1?r:Ne(e,t,n+1)}async function Be(e,t){if(null===t.argument)return new v(O);const n=await he(e,t.argument);return new v(n)}async function Ue(t,n){if(null!=t.localScope)throw ne().error("Function declarations are only valid in global scope."),new w(t,"NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw ne().error(`Function "${r}" not declared.`),new w(t,"NeverReach",n);const o=i(n),a=n.params.map(t=>e(t)),s=Array.from(o).filter(e=>!a.includes(e));return t.globalScope[r]={value:new fe(n,t,a,s)},O}async function Ge(e,t){const n=ie(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw ne().error("Internal error: module loader not initialized"),new w(e,"NeverReach",t);const o=r.loadLibrary(n.id);let a;return r._moduleSingletons?.has(o.uri)?a=r._moduleSingletons.get(o.uri):(a=await we.load(e,o.syntax),r._moduleSingletons?.set(o.uri,a)),n.scope[n.id]={value:a},O}async function Le(e,t){return await me(e,t.declaration),O}async function ze(e,t){for(const n of t.declarations)await De(e,n);return O}async function De(e,t){let n=null;n=null===t.init?null:await he(e,t.init),n===O&&(n=null);const r=ie(e,t.id);r.scope[r.id]={value:n}}async function _e(e,t){return Ze(e,await he(e,t.object),t)}async function Ze(e,t,n){const r=n.computed?await he(e,n.property):n.property.name;return u(t,r)}async function qe(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=await Ze(e,t,r);break;case"CallExpression":t=await Je(e,t,r);break;default:throw new w(null,"Unrecognized",r)}return t}async function Pe(e,t,n){const r=n.computed?await he(e,n.property):n.property.name;return l(t,r)}async function We(e,t){const n=a(t);let r=await he(e,n.root);for(const o of n.sections){const t=await Pe(e,r,o.checked);if(null==t)return null;r=await qe(e,t,o.unchecked)}return r}async function Ve(e,t){const n=await he(e,t.argument);if(Q(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new w(e,"UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new w(e,"UnsupportUnaryOperator",t)}async function Ke(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await he(e,t.elements[r]));for(let r=0;r<n.length;r++){if(k(n[r]))throw new w(e,"NoFunctionInArray",t);n[r]===O&&(n[r]=null)}return n}async function Te(e,t){const n=await he(e,t.left),r=await he(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return A(C(n),C(r),t.operator);case"==":return M(n,r);case"!=":return!M(n,r);case"<":case">":case"<=":case">=":return I(n,r,t.operator);case"+":return X(n)||X(r)?E(n)+E(r):C(n)+C(r);case"-":return C(n)-C(r);case"*":return C(n)*C(r);case"/":return C(n)/C(r);case"%":return C(n)%C(r);default:throw t.operator,new w(e,"UnsupportedOperator",t)}}async function Ye(e,t){const n=await he(e,t.left);if(!Q(n))throw new w(e,"LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await he(e,t.right);if(Q(r))return r;throw new w(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await he(e,t.right);if(Q(r))return r;throw new w(e,"LogicExpressionOrAnd",t)}default:throw t.operator,new w(e,"LogicExpressionOrAnd",t)}}function $e(e,t){return se(e,t)}async function He(e,t){return Je(e,"Identifier"===t.callee.type?se(e,t.callee,"FunctionNotFound"):await he(e,t.callee),t)}async function Je(e,t,n){if(k(t))return t.call(e,n);throw new w(e,"CallNonFunction",n)}async function Qe(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){if(t.expressions[r]){const o=await he(e,t.expressions[r]);if(k(o))throw new w(e,"NoFunctionInTemplateLiteral",t);n+=E(o)}r++}return n}async function Xe(e,t){R(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await he(e,t.arguments[0]);if(!1===Q(n))throw new w(e,"BooleanConditionRequired",t);return he(e,n?t.arguments[1]:t.arguments[2])}async function et(e,t){R(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await he(e,t.arguments[0]);if(3===t.arguments.length){const r=await he(e,t.arguments[1]),o=s(n,r);return null!=o&&""!==o?o:he(e,t.arguments[2])}return null==n||""===n?he(e,t.arguments[1]):n}async function tt(e,t){if(t.arguments.length<2)throw new w(e,"WrongNumberOfParameters",t);if(2===t.arguments.length)return he(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new w(e,"WrongNumberOfParameters",t);return nt(e,t,1,await he(e,t.arguments[0]))}async function nt(e,t,n,r){const o=await he(e,t.arguments[n]);if(M(o,r))return he(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?he(e,t.arguments[n]):2===a?null:3===a?he(e,t.arguments[n+2]):nt(e,t,n+2,r)}async function rt(e,t){if(t.arguments.length<3)throw new w(e,"WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new w(e,"WrongNumberOfParameters",t);const n=await he(e,t.arguments[0]);if(!1===Q(n))throw new w(e,"BooleanConditionRequired",t.arguments[0]);return ot(e,t,0,n)}async function ot(e,t,n,r){if(!0===r)return he(e,t.arguments[n+1]);if(3===t.arguments.length-n)return he(e,t.arguments[n+2]);const o=await he(e,t.arguments[n+2]);if(!1===Q(o))throw new w(e,"ModuleExportNotFound",t.arguments[n+2]);return ot(e,t,n+2,o)}function at(){const e=Object.create(null);Z(e,ue),T(e,ue),q(e,ue,$e),V(e,ue),W(e,ue),K(e,ue),Y(e,ue),P({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:ue,standardFunctionAsync:de}),e.iif=Xe,e.defaultvalue=et,e.decode=tt,e.when=rt;const t=function(){this.textformatting={value:p.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new m(r)});return t}const it=at();function st(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:ue,standardFunctionAsync:de,evaluateIdentifier:$e};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))it.prototype[n]=Object.freeze({value:new m(r)});for(let n=0;n<t.signatures.length;n++)z(t.signatures[n],"async")}function ct(e){console.log(e)}function lt(n,a){const i=new Set(Object.keys(a?.vars||{}).map(t=>e(t))),s=new Set(Object.keys(a?.customfunctions||{}).map(t=>e(t))),{globals:c,exports:l}=o(n);return async e=>{const o=e.spatialReference??H.WebMercator;let a=null;n.usesModules&&(a=new r(new Map,n.loadedModules));const u=new it;for(const t of s)null!=e.customfunctions&&t in e.customfunctions?u[t]={value:new m(e.customfunctions[t])}:u[t]=re;for(const t of i){if(null==e.vars||!(t in e.vars)){t in u||(u[t]=re);continue}const n=e.vars[t]??null;J(n)?u[t]={value:h.createFromGraphic(n,e.timeZone??null)}:u[t]={value:n}}for(const t of c)t in u||(u[t]=re);const f={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ct,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:a,exports:l,localScope:null,globalScope:u},p=await Ae(f,n);if(p instanceof v||p instanceof x){const e=p.value;if(S(e))return null;if(k(e))throw new w(f,"IllegalResult",null);return e}if(S(p))return null;if(p===F)throw new w(f,"IllegalResult",null);if(p===j)throw new w(f,"IllegalResult",null);throw new w(f,"NeverReach",null)}}function ut(e,t){return lt(e,t)(t)}st([_]),st([D]);export{ut as executeScript,st as extend,lt as prepareScript};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
2
- import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as r}from"./ArcadeModule.js";import{ArcadeModuleLoader as n}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as s,flattenAccessChain as i}from"./compilerUtils.js";import{getNestedOptionalValue as a,getGeometryKeys as l,getGeometryMember as c,tryGetMember as u,getMember as f}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as h,ensureArcadeExecutionError as d}from"./executionError.js";import{Feature as w}from"./Feature.js";import{NativeFunction as m,ArcadeFunction as g,ScopeMarshalledFunction as b,wrapModuleScopedResponse as y}from"./FunctionWrapper.js";import{R as v,I as x,q as S,i as R,z as F,A as j,v as k,B as I,j as O,y as A,h as C,w as M,r as E,s as N,u as B,x as U,k as G}from"../chunks/languageUtils.js";import{addFunctionDeclaration as z}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as _}from"./functions/feature.js";import{registerFunctions as Z}from"./functions/geometry.js";import{registerFunctions as q}from"./functions/geomsync.js";import{registerFunctions as W}from"./functions/maths.js";import{registerFunctions as P}from"./functions/stats.js";import{registerFunctions as V}from"./functions/string.js";import{registerFunctions as T}from"./functions/track.js";import K from"../core/Logger.js";import Y from"../geometry/SpatialReference.js";import{isGraphic as $,isBoolean as H,isArray as J,isString as Q,isNumber as X}from"../support/guards.js";const ee=()=>K.getLogger("esri.arcade.arcadeRuntime"),te=Symbol("uninitialized");function re(e){if(e===te)throw new h(null,"InvalidIdentifier",null)}function ne(e){return re(e),e}function oe(t,r){const n=e(r);if(null!==t.localScope){const e=t.localScope[n];if(void 0!==e)return{scope:t.localScope,id:n,var:e}}const o=t.globalScope[n];if(void 0!==o)return{scope:t.globalScope,id:n,var:o};throw new h(t,"InvalidIdentifier",r)}function se(t,r,n="InvalidIdentifier"){const o=e(r);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return re(e),e.value}const s=t.globalScope[o];if(void 0!==s)return re(s),s.value;throw new h(t,n,r)}const ie=function(){};ie.prototype=Object.freeze(Object.create(null));class ae extends g{constructor(e,t,r,n){super(),this.definition=e,this.context=t,this._params=r,this._locals=n}createFunction(e){return(...t)=>{const r={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:new ie,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(r.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",null);return le(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return fe(e,t,(r,n,o)=>{const s={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};if(s.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",t);return le(s,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,r,n){return n(e,t,(o,s,i)=>{const a={spatialReference:e.spatialReference,globalScope:r.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};return i=i.map(t=>!R(t)||t instanceof b?t:y(t,e,n)),y(le(a,this.definition.body,this._params,this._locals,i,t),r,n)})}}function le(e,t,r,n,o,s){try{if(r.length!==o.length)throw new h(e,"WrongNumberOfParameters",s);if(null!=e.localScope){for(let t=0;t<r.length;t++)e.localScope[r[t]]={value:o[t]};for(const t of n)e.localScope[t]=te}const i=he(e,t);if(i instanceof v)return i.value;if(i===F)throw new h(e,"UnexpectedToken",s);if(i===j)throw new h(e,"UnexpectedToken",s);return i instanceof x?i.value:i}catch(i){throw i}}class ce extends r{constructor(e){super(),this.moduleGlobalContext=e}global(t){const r=e(t);if(this.moduleGlobalContext.exports.has(r))throw new h(null,"ModuleExportNotFound",null);const n=this.moduleGlobalContext.globalScope[r];if(re(n),R(n.value)&&!(n.value instanceof b)){const e=new b;return e.fn=n.value,e.parameterEvaluator=fe,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[r]={value:e},e}return n.value}setGlobal(t,r){if(R(r))throw new h(null,"AssignModuleFunction",null);const n=e(t);if(this.moduleGlobalContext.exports.has(n))throw new h(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[n]={value:r}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static load(e,r){const{globals:s,exports:i}=o(r),a=new Xe;for(const t of s)t in a||(a[t]=te);const l=e.spatialReference??Y.WebMercator,c={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:l,track:e.track,depthCounter:{depth:1},libraryResolver:new n(e.libraryResolver._moduleSingletons,r.loadedModules),exports:i,localScope:null,globalScope:a};return je(c,r),new ce(c)}}function ue(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(pe(e,t.arguments[n]));return r}function fe(e,t,r){try{return!0===t.preparsed?r(e,null,t.arguments):r(e,t,ue(e,t))}catch(n){throw n}}function pe(e,t){try{switch(t.type){case"AssignmentExpression":return Se(e,t);case"UpdateExpression":return ve(e,t);case"TemplateLiteral":return qe(e,t);case"Identifier":return We(e,t);case"MemberExpression":return Ee(e,t);case"Literal":return t.value;case"CallExpression":return Pe(e,t);case"UnaryExpression":return ze(e,t);case"BinaryExpression":return Le(e,t);case"LogicalExpression":return _e(e,t);case"ArrayExpression":return De(e,t);case"ObjectExpression":return de(e,t);case"MemberAccessChainExpression":return Ge(e,t);case"SafeMemberExpression":throw ee().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h(null,"Unrecognized",t);default:throw new h(e,"Unrecognized",t)}}catch(r){throw d(e,t,r)}}function he(e,t){switch(t.type){case"EmptyStatement":return k;case"VariableDeclaration":return Ce(e,t);case"ImportDeclaration":return Oe(e,t);case"ExportNamedDeclaration":return Ae(e,t);case"BlockStatement":return je(e,t);case"FunctionDeclaration":return Ie(e,t);case"ReturnStatement":return ke(e,t);case"IfStatement":return Fe(e,t);case"ExpressionStatement":return Re(e,t);case"BreakStatement":return F;case"ContinueStatement":return j;case"ForStatement":return ge(e,t);case"ForInStatement":return we(e,t);case"ForOfStatement":return me(e,t);case"WhileStatement":return be(e,t);default:throw new h(e,"Unrecognized",t)}}function de(e,t){const r=Object.create(null),n=new Map;for(let s=0;s<t.properties.length;s++){const o=t.properties[s],i="Identifier"===o.key.type?o.key.name:pe(e,o.key),a=pe(e,o.value);if(R(a))throw new h(e,"NoFunctionInDictionary",t);if(!1===Q(i))throw new h(e,"KeyMustBeString",t);let l=i.toString();const c=l.toLowerCase();n.has(c)?l=n.get(c):n.set(c,l),r[l]=a===k?null:a}const o=new p(r);return o.immutable=!1,o}function we(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&Ce(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let r=0;r<o;r++){n.scope[n.id]={value:r};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return k}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return k}if(r instanceof p||A(r)){const o=r.keys();for(let r=0;r<o.length;r++){n.scope[n.id]={value:o[r]};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return k}if(C(r)){for(const o of l(r)){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return k}return k}function me(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&he(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let s=0;s<o;s++){if(s>=r.length)throw new h(e,"OutOfBounds",t);n.scope[n.id]={value:r[s]};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return k}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:r.get(o)};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return k}if(r instanceof p||A(r)){for(const o of r.keys()){const s=r.field(o);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return k}if(C(r)){for(const o of l(r)){const s=c(r,o,e,t);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return k}return k}function ge(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?he(e,t.init):pe(e,t.init));const r={testResult:!0,lastAction:k};do{ye(e,t,r)}while(!0===r.testResult);return r.lastAction instanceof v?r.lastAction:k}function be(e,t){const r={testResult:!0,lastAction:k};if(r.testResult=pe(e,t.test),!1===r.testResult)return k;if(!0!==r.testResult)throw new h(e,"BooleanConditionRequired",t);for(;!0===r.testResult&&(r.lastAction=he(e,t.body),r.lastAction!==F)&&!(r.lastAction instanceof v);)if(r.testResult=pe(e,t.test),!0!==r.testResult&&!1!==r.testResult)throw new h(e,"BooleanConditionRequired",t);return r.lastAction instanceof v?r.lastAction:k}function ye(e,t,r){if(null!==t.test){if(r.testResult=pe(e,t.test),!1===r.testResult)return;if(!0!==r.testResult)throw new h(e,"BooleanConditionRequired",t)}r.lastAction=he(e,t.body),r.lastAction!==F?r.lastAction instanceof v?r.testResult=!1:null!==t.update&&pe(e,t.update):r.testResult=!1}function ve(e,t){if("CallExpression"===t.argument.type)throw new h(e,"NeverReach",t);let r;if("MemberExpression"===t.argument.type){const n=pe(e,t.argument.object);let o;if(!0===t.argument.computed)o=pe(e,t.argument.property);else{if("Identifier"!==t.argument.property.type)throw new h(e,"Unrecognized",t);o=t.argument.property.name}if(J(n)){if(!X(o))throw new h(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=n.length+o),o<0||o>=n.length)throw new h(e,"OutOfBounds",t);r=E(n[o]),n[o]="++"===t.operator?r+1:r-1}else if(n instanceof p){if(!1===Q(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h(e,"FieldNotFound",t);r=E(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else if(G(n)){if(!1===Q(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h(e,"FieldNotFound",t);r=E(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else{if(O(n))throw new h(e,"Immutable",t);if(!(n instanceof ce))throw new h(e,"InvalidParameter",t);if(!1===Q(o))throw new h(e,"ModuleAccessorMustBeString",t);if(!0!==n.hasGlobal(o))throw new h(e,"ModuleExportNotFound",t);r=E(n.global(o)),n.setGlobal(o,"++"===t.operator?r+1:r-1)}return!1===t.prefix?r:"++"===t.operator?r+1:r-1}const n=oe(e,t.argument);r=E(ne(n.var).value);const o="++"===t.operator?r+1:r-1;return n.scope[n.id]={value:o},!1===t.prefix?r:"++"===t.operator?r+1:r-1}function xe(e,t,r,n,o){switch(t){case"=":return e===k?null:e;case"/=":return E(r)/E(e);case"*=":return E(r)*E(e);case"-=":return E(r)-E(e);case"+=":return Q(r)||Q(e)?N(r)+N(e):E(r)+E(e);case"%=":return E(r)%E(e);default:throw new h(o,"UnsupportedOperator",n)}}function Se(e,t){if("MemberExpression"===t.left.type){const r=pe(e,t.left.object);let n;if(!0===t.left.computed)n=pe(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new h(e,"InvalidIdentifier",t);n=t.left.property.name}const o=pe(e,t.right);if(J(r)){if(!X(n))throw new h(e,"ArrayAccessMustBeNumber",t);if(n<0&&(n=r.length+n),n<0||n>r.length)throw new h(e,"OutOfBounds",t);if(n===r.length){if("="!==t.operator)throw new h(e,"OutOfBounds",t);r[n]=xe(o,t.operator,r[n],t,e)}else r[n]=xe(o,t.operator,r[n],t,e)}else if(r instanceof p){if(!1===Q(n))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t,e))}}else if(G(r)){if(!1===Q(n))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t,e))}}else{if(O(r))throw new h(e,"Immutable",t);if(!(r instanceof ce))throw new h(e,"InvalidIdentifier",t);if(!1===Q(n))throw new h(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(n))throw new h(e,"ModuleExportNotFound",t);r.setGlobal(n,xe(o,t.operator,r.global(n),t,e))}return k}const r=oe(e,t.left),n=pe(e,t.right);return r.scope[r.id]={value:xe(n,t.operator,"="!==t.operator?ne(r.var).value:null,t,e)},k}function Re(e,t){const r=pe(e,t.expression);return r===k?k:new x(r)}function Fe(e,t){const r=pe(e,t.test);if(!0===r)return he(e,t.consequent);if(!1===r)return null!==t.alternate?he(e,t.alternate):k;throw new h(e,"BooleanConditionRequired",t)}function je(e,t){let r=k;for(let n=0;n<t.body.length;n++)if(r=he(e,t.body[n]),r instanceof v||r===F||r===j)return r;return r}function ke(e,t){if(null===t.argument)return new v(k);const r=pe(e,t.argument);return new v(r)}function Ie(t,r){if(null!=t.localScope)throw ee().error("Function declarations are only valid in global scope."),new h(t,"NeverReach",r);const n=e(r.id);if(!(n in t.globalScope))throw ee().error(`Function "${n}" not declared.`),new h(t,"NeverReach",r);const o=s(r),i=r.params.map(t=>e(t)),a=Array.from(o).filter(e=>!i.includes(e));return t.globalScope[n]={value:new ae(r,t,i,a)},k}function Oe(e,t){const r=oe(e,t.specifiers[0].local),n=e.libraryResolver;if(null==n)throw ee().error("Internal error: module loader not initialized"),new h(e,"NeverReach",t);const o=n.loadLibrary(r.id);let s;return n._moduleSingletons?.has(o.uri)?s=n._moduleSingletons.get(o.uri):(s=ce.load(e,o.syntax),n._moduleSingletons?.set(o.uri,s)),r.scope[r.id]={value:s},k}function Ae(e,t){return he(e,t.declaration),k}function Ce(e,t){for(let r=0;r<t.declarations.length;r++)Me(e,t.declarations[r]);return k}function Me(e,t){let r=null===t.init?null:pe(e,t.init);if(r===k&&(r=null),"Identifier"!==t.id.type)throw new h(e,"InvalidIdentifier",t);const n=oe(e,t.id);n.scope[n.id]={value:r}}function Ee(e,t){return Ne(e,pe(e,t.object),t)}function Ne(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return f(t,n)}function Be(e,t,r){for(const n of r)switch(n.type){case"MemberExpression":t=Ne(e,t,n);break;case"CallExpression":t=Ve(e,t,n);break;default:throw new h(null,"Unrecognized",n)}return t}function Ue(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return u(t,n)}function Ge(e,t){const r=i(t);let n=pe(e,r.root);for(const o of r.sections){const t=Ue(e,n,o.checked);if(null==t)return null;n=Be(e,t,o.unchecked)}return n}function ze(e,t){try{const r=pe(e,t.argument);if(H(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*E(r);if("+"===t.operator)return 1*E(r);if("~"===t.operator)return~E(r);throw new h(e,"UnsupportUnaryOperator",t)}if("~"===t.operator)return~E(r);if("-"===t.operator)return-1*E(r);if("+"===t.operator)return 1*E(r);throw new h(e,"UnsupportUnaryOperator",t)}catch(r){throw r}}function De(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++){const o=pe(e,t.elements[n]);if(R(o))throw new h(e,"NoFunctionInArray",t);o===k?r.push(null):r.push(o)}return r}catch(r){throw r}}function Le(e,t){try{const r=pe(e,t.left),n=pe(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return U(E(r),E(n),t.operator);case"==":return M(r,n);case"!=":return!M(r,n);case"<":case">":case"<=":case">=":return B(r,n,t.operator);case"+":return Q(r)||Q(n)?N(r)+N(n):E(r)+E(n);case"-":return E(r)-E(n);case"*":return E(r)*E(n);case"/":return E(r)/E(n);case"%":return E(r)%E(n);default:throw t.operator,new h(e,"UnsupportedOperator",t)}}catch(r){throw r}}function _e(e,t){try{const r=pe(e,t.left);if(H(r))switch(t.operator){case"||":{if(!0===r)return r;const n=pe(e,t.right);if(H(n))return n;throw new h(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===r)return r;const n=pe(e,t.right);if(H(n))return n;throw new h(e,"LogicExpressionOrAnd",t)}default:throw t.operator,new h(e,"LogicExpressionOrAnd",t)}throw new h(e,"LogicalExpressionOnlyBoolean",t)}catch(r){throw r}}function Ze(e,t,r){if(R(e))throw new h(t,"NoFunctionInTemplateLiteral",r);return e}function qe(e,t){let r="",n=0;for(const o of t.quasis)if(r+=o.value?o.value.cooked:"",!1===o.tail){r+=t.expressions[n]?N(Ze(pe(e,t.expressions[n]),e,t)):"",n++}return r}function We(e,t){return se(e,t)}function Pe(e,t){return Ve(e,"Identifier"===t.callee.type?se(e,t.callee,"FunctionNotFound"):pe(e,t.callee),t)}function Ve(e,t,r){if(R(t))return t.call(e,r);throw new h(e,"CallNonFunction",r)}function Te(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;I(null===r?[]:r,3,3,e,t);const n=pe(e,r[0]);if(!1===H(n))throw new h(e,"BooleanConditionRequired",t);return pe(e,!0===n?r[1]:r[2])}catch(r){throw r}}function Ke(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;I(null===r?[]:r,2,3,e,t);const n=pe(e,r[0]);if(3===r.length){const t=pe(e,r[1]),o=a(n,t);return null!=o&&""!==o?o:pe(e,r[2])}return null===n||""===n||void 0===n?pe(e,r[1]):n}catch(r){throw r}}function Ye(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;if(r.length<2)throw new h(e,"WrongNumberOfParameters",t);if(2===r.length)return pe(e,r[1]);{if((r.length-1)%2==0)throw new h(e,"WrongNumberOfParameters",t);const n=pe(e,r[0]);return $e(e,t,1,n)}}catch(r){throw r}}function $e(e,t,r,n){try{const o=t.arguments,s=pe(e,o[r]);if(M(s,n))return pe(e,o[r+1]);{const s=o.length-r;return 1===s?pe(e,o[r]):2===s?null:3===s?pe(e,o[r+2]):$e(e,t,r+2,n)}}catch(o){throw o}}function He(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;if(r.length<3)throw new h(e,"WrongNumberOfParameters",t);if(r.length%2==0)throw new h(e,"WrongNumberOfParameters",t);const n=pe(e,r[0]);if(!1===H(n))throw new h(e,"BooleanConditionRequired",r[0]);return Je(e,t,0,n)}catch(r){throw r}}function Je(e,t,r,n){try{const o=t.arguments;if(!0===n)return pe(e,o[r+1]);if(3===o.length-r)return pe(e,o[r+2]);{const n=pe(e,o[r+2]);if(!1===H(n))throw new h(e,"BooleanConditionRequired",o[r+2]);return Je(e,t,r+2,n)}}catch(o){throw o}}function Qe(){const e=Object.create(null);L(e,fe),V(e,fe),_(e,fe,We),W(e,fe),Z(e,fe),P(e,fe),q(e,fe),T(e,fe),e.iif=Te,e.defaultvalue=Ke,e.decode=Ye,e.when=He;const t=function(){this.textformatting={value:p.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[r,n]of Object.entries(e))t.prototype[r]=Object.freeze({value:new m(n)});return t}const Xe=Qe();function et(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:fe,evaluateIdentifier:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const[r,n]of Object.entries(t.functions))Xe.prototype[r]=Object.freeze({value:new m(n)});for(let r=0;r<t.signatures.length;r++)z(t.signatures[r],"sync")}function tt(e){console.log(e)}function rt(r,s){const i=new Set(Object.keys(s?.vars||{}).map(t=>e(t))),a=new Set(Object.keys(s?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:c}=o(r);return e=>{const o=e.spatialReference??Y.WebMercator;let s=null;r.usesModules&&(s=new n(new Map,r.loadedModules));const u=new Xe;for(const t of a)null!=e.customfunctions&&t in e.customfunctions?u[t]={value:new m(e.customfunctions[t])}:u[t]=te;for(const t of i){if(null==e.vars||!(t in e.vars)){t in u||(u[t]=te);continue}const r=e.vars[t]??null;$(r)?u[t]={value:w.createFromGraphic(r,e.timeZone??null)}:u[t]={value:r}}for(const t of l)t in u||(u[t]=te);const f={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:s,exports:c,localScope:null,globalScope:u},p=je(f,r);if(p instanceof v||p instanceof x){const e=p.value;if(S(e))return null;if(R(e))throw new h(f,"IllegalResult",null);return e}if(S(p))return null;if(p===F)throw new h(f,"IllegalResult",null);if(p===j)throw new h(f,"IllegalResult",null);throw new h(f,"NeverReach",null)}}function nt(e,t){return rt(e,t)(t)}et([D]);export{nt as executeScript,et as extend,rt as prepareScript};
2
+ import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as r}from"./ArcadeModule.js";import{ArcadeModuleLoader as n}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as s,flattenAccessChain as i}from"./compilerUtils.js";import{getNestedOptionalValue as a,getGeometryKeys as l,getGeometryMember as c,tryGetMember as u,getMember as f}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as h,ensureArcadeExecutionError as d}from"./executionError.js";import{Feature as w}from"./Feature.js";import{NativeFunction as m,ArcadeFunction as g,ScopeMarshalledFunction as b,wrapModuleScopedResponse as y}from"./FunctionWrapper.js";import{R as v,I as x,q as S,i as R,z as F,A as j,v as k,B as I,j as O,y as A,h as C,w as M,r as E,s as N,u as B,x as U,k as G}from"../chunks/languageUtils.js";import{addFunctionDeclaration as z}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as _}from"./functions/feature.js";import{registerFunctions as Z}from"./functions/geometry.js";import{registerFunctions as q}from"./functions/geomsync.js";import{registerFunctions as W}from"./functions/maths.js";import{registerFunctions as P}from"./functions/stats.js";import{registerFunctions as V}from"./functions/string.js";import{registerFunctions as T}from"./functions/track.js";import K from"../core/Logger.js";import Y from"../geometry/SpatialReference.js";import{isGraphic as $,isBoolean as H,isArray as J,isString as Q,isNumber as X}from"../support/guards.js";const ee=()=>K.getLogger("esri.arcade.arcadeRuntime"),te=Symbol("uninitialized");function re(e){if(e===te)throw new h(null,"InvalidIdentifier",null)}function ne(e){return re(e),e}function oe(t,r){const n=e(r);if(null!==t.localScope){const e=t.localScope[n];if(void 0!==e)return{scope:t.localScope,id:n,var:e}}const o=t.globalScope[n];if(void 0!==o)return{scope:t.globalScope,id:n,var:o};throw new h(t,"InvalidIdentifier",r)}function se(t,r,n="InvalidIdentifier"){const o=e(r);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return re(e),e.value}const s=t.globalScope[o];if(void 0!==s)return re(s),s.value;throw new h(t,n,r)}const ie=function(){};ie.prototype=Object.freeze(Object.create(null));class ae extends g{constructor(e,t,r,n){super(),this.definition=e,this.context=t,this._params=r,this._locals=n}createFunction(e){return(...t)=>{const r={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:new ie,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(r.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",null);return le(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return fe(e,t,(r,n,o)=>{const s={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};if(s.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",t);return le(s,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,r,n){return n(e,t,(o,s,i)=>{const a={spatialReference:e.spatialReference,globalScope:r.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};return i=i.map(t=>!R(t)||t instanceof b?t:y(t,e,n)),y(le(a,this.definition.body,this._params,this._locals,i,t),r,n)})}}function le(e,t,r,n,o,s){try{if(r.length!==o.length)throw new h(e,"WrongNumberOfParameters",s);if(null!=e.localScope){for(let t=0;t<r.length;t++)e.localScope[r[t]]={value:o[t]};for(const t of n)e.localScope[t]=te}const i=he(e,t);if(i instanceof v)return i.value;if(i===F)throw new h(e,"UnexpectedToken",s);if(i===j)throw new h(e,"UnexpectedToken",s);return i instanceof x?i.value:i}catch(i){throw i}}class ce extends r{constructor(e){super(),this.moduleGlobalContext=e}global(t){const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new h(null,"ModuleExportNotFound",null);const n=this.moduleGlobalContext.globalScope[r];if(re(n),R(n.value)&&!(n.value instanceof b)){const e=new b;return e.fn=n.value,e.parameterEvaluator=fe,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[r]={value:e},e}return n.value}setGlobal(t,r){if(R(r))throw new h(null,"AssignModuleFunction",null);const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new h(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[n]={value:r}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static load(e,r){const{globals:s,exports:i}=o(r),a=new Xe;for(const t of s)t in a||(a[t]=te);const l=e.spatialReference??Y.WebMercator,c={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:l,track:e.track,depthCounter:{depth:1},libraryResolver:new n(e.libraryResolver._moduleSingletons,r.loadedModules),exports:i,localScope:null,globalScope:a};return je(c,r),new ce(c)}}function ue(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(pe(e,t.arguments[n]));return r}function fe(e,t,r){try{return!0===t.preparsed?r(e,null,t.arguments):r(e,t,ue(e,t))}catch(n){throw n}}function pe(e,t){try{switch(t.type){case"AssignmentExpression":return Se(e,t);case"UpdateExpression":return ve(e,t);case"TemplateLiteral":return qe(e,t);case"Identifier":return We(e,t);case"MemberExpression":return Ee(e,t);case"Literal":return t.value;case"CallExpression":return Pe(e,t);case"UnaryExpression":return ze(e,t);case"BinaryExpression":return Le(e,t);case"LogicalExpression":return _e(e,t);case"ArrayExpression":return De(e,t);case"ObjectExpression":return de(e,t);case"MemberAccessChainExpression":return Ge(e,t);case"SafeMemberExpression":throw ee().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h(null,"Unrecognized",t);default:throw new h(e,"Unrecognized",t)}}catch(r){throw d(e,t,r)}}function he(e,t){switch(t.type){case"EmptyStatement":return k;case"VariableDeclaration":return Ce(e,t);case"ImportDeclaration":return Oe(e,t);case"ExportNamedDeclaration":return Ae(e,t);case"BlockStatement":return je(e,t);case"FunctionDeclaration":return Ie(e,t);case"ReturnStatement":return ke(e,t);case"IfStatement":return Fe(e,t);case"ExpressionStatement":return Re(e,t);case"BreakStatement":return F;case"ContinueStatement":return j;case"ForStatement":return ge(e,t);case"ForInStatement":return we(e,t);case"ForOfStatement":return me(e,t);case"WhileStatement":return be(e,t);default:throw new h(e,"Unrecognized",t)}}function de(e,t){const r=Object.create(null),n=new Map;for(let s=0;s<t.properties.length;s++){const o=t.properties[s],i="Identifier"===o.key.type?o.key.name:pe(e,o.key),a=pe(e,o.value);if(R(a))throw new h(e,"NoFunctionInDictionary",t);if(!1===Q(i))throw new h(e,"KeyMustBeString",t);let l=i.toString();const c=l.toLowerCase();n.has(c)?l=n.get(c):n.set(c,l),r[l]=a===k?null:a}const o=new p(r);return o.immutable=!1,o}function we(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&Ce(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let r=0;r<o;r++){n.scope[n.id]={value:r};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return k}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return k}if(r instanceof p||A(r)){const o=r.keys();for(let r=0;r<o.length;r++){n.scope[n.id]={value:o[r]};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return k}if(C(r)){for(const o of l(r)){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return k}return k}function me(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&he(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let s=0;s<o;s++){if(s>=r.length)throw new h(e,"OutOfBounds",t);n.scope[n.id]={value:r[s]};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return k}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:r.get(o)};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return k}if(r instanceof p||A(r)){for(const o of r.keys()){const s=r.field(o);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return k}if(C(r)){for(const o of l(r)){const s=c(r,o,e,t);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return k}return k}function ge(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?he(e,t.init):pe(e,t.init));const r={testResult:!0,lastAction:k};do{ye(e,t,r)}while(!0===r.testResult);return r.lastAction instanceof v?r.lastAction:k}function be(e,t){const r={testResult:!0,lastAction:k};if(r.testResult=pe(e,t.test),!1===r.testResult)return k;if(!0!==r.testResult)throw new h(e,"BooleanConditionRequired",t);for(;!0===r.testResult&&(r.lastAction=he(e,t.body),r.lastAction!==F)&&!(r.lastAction instanceof v);)if(r.testResult=pe(e,t.test),!0!==r.testResult&&!1!==r.testResult)throw new h(e,"BooleanConditionRequired",t);return r.lastAction instanceof v?r.lastAction:k}function ye(e,t,r){if(null!==t.test){if(r.testResult=pe(e,t.test),!1===r.testResult)return;if(!0!==r.testResult)throw new h(e,"BooleanConditionRequired",t)}r.lastAction=he(e,t.body),r.lastAction!==F?r.lastAction instanceof v?r.testResult=!1:null!==t.update&&pe(e,t.update):r.testResult=!1}function ve(e,t){if("CallExpression"===t.argument.type)throw new h(e,"NeverReach",t);let r;if("MemberExpression"===t.argument.type){const n=pe(e,t.argument.object);let o;if(!0===t.argument.computed)o=pe(e,t.argument.property);else{if("Identifier"!==t.argument.property.type)throw new h(e,"Unrecognized",t);o=t.argument.property.name}if(J(n)){if(!X(o))throw new h(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=n.length+o),o<0||o>=n.length)throw new h(e,"OutOfBounds",t);r=E(n[o]),n[o]="++"===t.operator?r+1:r-1}else if(n instanceof p){if(!1===Q(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h(e,"FieldNotFound",t);r=E(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else if(G(n)){if(!1===Q(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h(e,"FieldNotFound",t);r=E(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else{if(O(n))throw new h(e,"Immutable",t);if(!(n instanceof ce))throw new h(e,"InvalidParameter",t);if(!1===Q(o))throw new h(e,"ModuleAccessorMustBeString",t);if(!0!==n.hasGlobal(o))throw new h(e,"ModuleExportNotFound",t);r=E(n.global(o)),n.setGlobal(o,"++"===t.operator?r+1:r-1)}return!1===t.prefix?r:"++"===t.operator?r+1:r-1}const n=oe(e,t.argument);r=E(ne(n.var).value);const o="++"===t.operator?r+1:r-1;return n.scope[n.id]={value:o},!1===t.prefix?r:"++"===t.operator?r+1:r-1}function xe(e,t,r,n,o){switch(t){case"=":return e===k?null:e;case"/=":return E(r)/E(e);case"*=":return E(r)*E(e);case"-=":return E(r)-E(e);case"+=":return Q(r)||Q(e)?N(r)+N(e):E(r)+E(e);case"%=":return E(r)%E(e);default:throw new h(o,"UnsupportedOperator",n)}}function Se(e,t){if("MemberExpression"===t.left.type){const r=pe(e,t.left.object);let n;if(!0===t.left.computed)n=pe(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new h(e,"InvalidIdentifier",t);n=t.left.property.name}const o=pe(e,t.right);if(J(r)){if(!X(n))throw new h(e,"ArrayAccessMustBeNumber",t);if(n<0&&(n=r.length+n),n<0||n>r.length)throw new h(e,"OutOfBounds",t);if(n===r.length){if("="!==t.operator)throw new h(e,"OutOfBounds",t);r[n]=xe(o,t.operator,r[n],t,e)}else r[n]=xe(o,t.operator,r[n],t,e)}else if(r instanceof p){if(!1===Q(n))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t,e))}}else if(G(r)){if(!1===Q(n))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t,e))}}else{if(O(r))throw new h(e,"Immutable",t);if(!(r instanceof ce))throw new h(e,"InvalidIdentifier",t);if(!1===Q(n))throw new h(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(n))throw new h(e,"ModuleExportNotFound",t);r.setGlobal(n,xe(o,t.operator,r.global(n),t,e))}return k}const r=oe(e,t.left),n=pe(e,t.right);return r.scope[r.id]={value:xe(n,t.operator,"="!==t.operator?ne(r.var).value:null,t,e)},k}function Re(e,t){const r=pe(e,t.expression);return r===k?k:new x(r)}function Fe(e,t){const r=pe(e,t.test);if(!0===r)return he(e,t.consequent);if(!1===r)return null!==t.alternate?he(e,t.alternate):k;throw new h(e,"BooleanConditionRequired",t)}function je(e,t){let r=k;for(let n=0;n<t.body.length;n++)if(r=he(e,t.body[n]),r instanceof v||r===F||r===j)return r;return r}function ke(e,t){if(null===t.argument)return new v(k);const r=pe(e,t.argument);return new v(r)}function Ie(t,r){if(null!=t.localScope)throw ee().error("Function declarations are only valid in global scope."),new h(t,"NeverReach",r);const n=e(r.id);if(!(n in t.globalScope))throw ee().error(`Function "${n}" not declared.`),new h(t,"NeverReach",r);const o=s(r),i=r.params.map(t=>e(t)),a=Array.from(o).filter(e=>!i.includes(e));return t.globalScope[n]={value:new ae(r,t,i,a)},k}function Oe(e,t){const r=oe(e,t.specifiers[0].local),n=e.libraryResolver;if(null==n)throw ee().error("Internal error: module loader not initialized"),new h(e,"NeverReach",t);const o=n.loadLibrary(r.id);let s;return n._moduleSingletons?.has(o.uri)?s=n._moduleSingletons.get(o.uri):(s=ce.load(e,o.syntax),n._moduleSingletons?.set(o.uri,s)),r.scope[r.id]={value:s},k}function Ae(e,t){return he(e,t.declaration),k}function Ce(e,t){for(let r=0;r<t.declarations.length;r++)Me(e,t.declarations[r]);return k}function Me(e,t){let r=null===t.init?null:pe(e,t.init);if(r===k&&(r=null),"Identifier"!==t.id.type)throw new h(e,"InvalidIdentifier",t);const n=oe(e,t.id);n.scope[n.id]={value:r}}function Ee(e,t){return Ne(e,pe(e,t.object),t)}function Ne(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return f(t,n)}function Be(e,t,r){for(const n of r)switch(n.type){case"MemberExpression":t=Ne(e,t,n);break;case"CallExpression":t=Ve(e,t,n);break;default:throw new h(null,"Unrecognized",n)}return t}function Ue(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return u(t,n)}function Ge(e,t){const r=i(t);let n=pe(e,r.root);for(const o of r.sections){const t=Ue(e,n,o.checked);if(null==t)return null;n=Be(e,t,o.unchecked)}return n}function ze(e,t){try{const r=pe(e,t.argument);if(H(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*E(r);if("+"===t.operator)return 1*E(r);if("~"===t.operator)return~E(r);throw new h(e,"UnsupportUnaryOperator",t)}if("~"===t.operator)return~E(r);if("-"===t.operator)return-1*E(r);if("+"===t.operator)return 1*E(r);throw new h(e,"UnsupportUnaryOperator",t)}catch(r){throw r}}function De(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++){const o=pe(e,t.elements[n]);if(R(o))throw new h(e,"NoFunctionInArray",t);o===k?r.push(null):r.push(o)}return r}catch(r){throw r}}function Le(e,t){try{const r=pe(e,t.left),n=pe(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return U(E(r),E(n),t.operator);case"==":return M(r,n);case"!=":return!M(r,n);case"<":case">":case"<=":case">=":return B(r,n,t.operator);case"+":return Q(r)||Q(n)?N(r)+N(n):E(r)+E(n);case"-":return E(r)-E(n);case"*":return E(r)*E(n);case"/":return E(r)/E(n);case"%":return E(r)%E(n);default:throw t.operator,new h(e,"UnsupportedOperator",t)}}catch(r){throw r}}function _e(e,t){try{const r=pe(e,t.left);if(H(r))switch(t.operator){case"||":{if(!0===r)return r;const n=pe(e,t.right);if(H(n))return n;throw new h(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===r)return r;const n=pe(e,t.right);if(H(n))return n;throw new h(e,"LogicExpressionOrAnd",t)}default:throw t.operator,new h(e,"LogicExpressionOrAnd",t)}throw new h(e,"LogicalExpressionOnlyBoolean",t)}catch(r){throw r}}function Ze(e,t,r){if(R(e))throw new h(t,"NoFunctionInTemplateLiteral",r);return e}function qe(e,t){let r="",n=0;for(const o of t.quasis)if(r+=o.value?o.value.cooked:"",!1===o.tail){r+=t.expressions[n]?N(Ze(pe(e,t.expressions[n]),e,t)):"",n++}return r}function We(e,t){return se(e,t)}function Pe(e,t){return Ve(e,"Identifier"===t.callee.type?se(e,t.callee,"FunctionNotFound"):pe(e,t.callee),t)}function Ve(e,t,r){if(R(t))return t.call(e,r);throw new h(e,"CallNonFunction",r)}function Te(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;I(null===r?[]:r,3,3,e,t);const n=pe(e,r[0]);if(!1===H(n))throw new h(e,"BooleanConditionRequired",t);return pe(e,!0===n?r[1]:r[2])}catch(r){throw r}}function Ke(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;I(null===r?[]:r,2,3,e,t);const n=pe(e,r[0]);if(3===r.length){const t=pe(e,r[1]),o=a(n,t);return null!=o&&""!==o?o:pe(e,r[2])}return null===n||""===n||void 0===n?pe(e,r[1]):n}catch(r){throw r}}function Ye(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;if(r.length<2)throw new h(e,"WrongNumberOfParameters",t);if(2===r.length)return pe(e,r[1]);{if((r.length-1)%2==0)throw new h(e,"WrongNumberOfParameters",t);const n=pe(e,r[0]);return $e(e,t,1,n)}}catch(r){throw r}}function $e(e,t,r,n){try{const o=t.arguments,s=pe(e,o[r]);if(M(s,n))return pe(e,o[r+1]);{const s=o.length-r;return 1===s?pe(e,o[r]):2===s?null:3===s?pe(e,o[r+2]):$e(e,t,r+2,n)}}catch(o){throw o}}function He(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;if(r.length<3)throw new h(e,"WrongNumberOfParameters",t);if(r.length%2==0)throw new h(e,"WrongNumberOfParameters",t);const n=pe(e,r[0]);if(!1===H(n))throw new h(e,"BooleanConditionRequired",r[0]);return Je(e,t,0,n)}catch(r){throw r}}function Je(e,t,r,n){try{const o=t.arguments;if(!0===n)return pe(e,o[r+1]);if(3===o.length-r)return pe(e,o[r+2]);{const n=pe(e,o[r+2]);if(!1===H(n))throw new h(e,"BooleanConditionRequired",o[r+2]);return Je(e,t,r+2,n)}}catch(o){throw o}}function Qe(){const e=Object.create(null);L(e,fe),V(e,fe),_(e,fe,We),W(e,fe),Z(e,fe),P(e,fe),q(e,fe),T(e,fe),e.iif=Te,e.defaultvalue=Ke,e.decode=Ye,e.when=He;const t=function(){this.textformatting={value:p.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[r,n]of Object.entries(e))t.prototype[r]=Object.freeze({value:new m(n)});return t}const Xe=Qe();function et(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:fe,evaluateIdentifier:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const[r,n]of Object.entries(t.functions))Xe.prototype[r]=Object.freeze({value:new m(n)});for(let r=0;r<t.signatures.length;r++)z(t.signatures[r],"sync")}function tt(e){console.log(e)}function rt(r,s){const i=new Set(Object.keys(s?.vars||{}).map(t=>e(t))),a=new Set(Object.keys(s?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:c}=o(r);return e=>{const o=e.spatialReference??Y.WebMercator;let s=null;r.usesModules&&(s=new n(new Map,r.loadedModules));const u=new Xe;for(const t of a)null!=e.customfunctions&&t in e.customfunctions?u[t]={value:new m(e.customfunctions[t])}:u[t]=te;for(const t of i){if(null==e.vars||!(t in e.vars)){t in u||(u[t]=te);continue}const r=e.vars[t]??null;$(r)?u[t]={value:w.createFromGraphic(r,e.timeZone??null)}:u[t]={value:r}}for(const t of l)t in u||(u[t]=te);const f={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:s,exports:c,localScope:null,globalScope:u},p=je(f,r);if(p instanceof v||p instanceof x){const e=p.value;if(S(e))return null;if(R(e))throw new h(f,"IllegalResult",null);return e}if(S(p))return null;if(p===F)throw new h(f,"IllegalResult",null);if(p===j)throw new h(f,"IllegalResult",null);throw new h(f,"NeverReach",null)}}function nt(e,t){return rt(e,t)(t)}et([D]);export{nt as executeScript,et as extend,rt as prepareScript};