@arcgis/core 4.32.0-next.20241120 → 4.32.0-next.20241121

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 (261) hide show
  1. package/Ground.js +1 -1
  2. package/Viewpoint.js +1 -1
  3. package/analysis/LengthDimension.js +1 -1
  4. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  5. package/analysis/Viewshed.js +1 -1
  6. package/analysis/featureReferenceUtils.js +1 -1
  7. package/arcade/Dictionary.js +1 -1
  8. package/arcade/Feature.js +1 -1
  9. package/arcade/arcadeAsyncRuntime.js +1 -1
  10. package/arcade/arcadeCompiler.js +1 -1
  11. package/arcade/arcadeRuntime.js +1 -1
  12. package/arcade/containerUtils.js +1 -1
  13. package/arcade/deepClone.js +1 -1
  14. package/arcade/featureSetUtils.js +1 -1
  15. package/arcade/featureset/actions/GroupBy.js +1 -1
  16. package/arcade/featureset/actions/OrderBy.js +1 -1
  17. package/arcade/functions/array.js +1 -1
  18. package/arcade/functions/convertdirection.js +1 -1
  19. package/arcade/functions/date.js +1 -1
  20. package/arcade/functions/featuresetbase.js +1 -1
  21. package/arcade/functions/featuresetgeom.js +1 -1
  22. package/arcade/functions/featuresetstats.js +1 -1
  23. package/arcade/functions/featuresetstring.js +1 -1
  24. package/arcade/functions/fieldStats.js +1 -1
  25. package/arcade/functions/geomasync.js +1 -1
  26. package/arcade/functions/geometry.js +1 -1
  27. package/arcade/functions/geomsync.js +1 -1
  28. package/arcade/functions/knowledgegraph.js +1 -1
  29. package/arcade/functions/maths.js +1 -1
  30. package/arcade/functions/stats.js +1 -1
  31. package/arcade/functions/string.js +1 -1
  32. package/arcade/languageUtils.js +1 -1
  33. package/assets/esri/core/workers/RemoteClient.js +1 -1
  34. package/assets/esri/core/workers/chunks/036c8faec18b46092630.js +1 -0
  35. package/assets/esri/core/workers/chunks/0701fe051dcfa311bc22.js +1 -0
  36. package/assets/esri/core/workers/chunks/0cb084c2a24aeae76639.js +1 -0
  37. package/assets/esri/core/workers/chunks/{49df374aa64ed9204ca7.js → 178f2eebc57470573458.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{97063dd4b36d2d69d18d.js → 1dd42145b6e57e5668ed.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{945c6eb04c839bde39a4.js → 1f13cd637c431f10f9c5.js} +1 -1
  40. package/assets/esri/core/workers/chunks/219073becf5e36e4907f.js +1 -0
  41. package/assets/esri/core/workers/chunks/21d4d38ec11c1a4209b7.js +1 -0
  42. package/assets/esri/core/workers/chunks/2228f0d02a0aaad1f662.js +1 -0
  43. package/assets/esri/core/workers/chunks/{a44aaa90078f494f5022.js → 23a80b78e7ac11b290e7.js} +1 -1
  44. package/assets/esri/core/workers/chunks/27cc97855ee94b48de24.js +1 -0
  45. package/assets/esri/core/workers/chunks/{8b514fce9a7634766682.js → 2daf5f46e4b137d33f12.js} +1 -1
  46. package/assets/esri/core/workers/chunks/2f89ae66c3c820ed62c5.js +1 -0
  47. package/assets/esri/core/workers/chunks/303e04f4e4ec6805a3f5.js +1 -0
  48. package/assets/esri/core/workers/chunks/32e2b6edcec496cdd758.js +1 -0
  49. package/assets/esri/core/workers/chunks/{863113689da3c6e79ce4.js → 3bc183d70169f66679f9.js} +1 -1
  50. package/assets/esri/core/workers/chunks/4981b6f5c10f263e0f23.js +1 -0
  51. package/assets/esri/core/workers/chunks/{e901edcadc64f89f95d5.js → 4fd453b360da9b37cdd3.js} +1 -1
  52. package/assets/esri/core/workers/chunks/50795eef395cd9a2516a.js +1 -0
  53. package/assets/esri/core/workers/chunks/525d69de6b2c17bde119.js +1 -0
  54. package/assets/esri/core/workers/chunks/{6a01a0ed2612de5f41b2.js → 547c982515e90f3ffa5a.js} +1 -1
  55. package/assets/esri/core/workers/chunks/5560bb6769b848a645d4.js +1 -0
  56. package/assets/esri/core/workers/chunks/5715a1af1e9c6d9eb41f.js +1 -0
  57. package/assets/esri/core/workers/chunks/5b12a498382366a72ffd.js +1 -0
  58. package/assets/esri/core/workers/chunks/5c11e2e65b97565e5003.js +1 -0
  59. package/assets/esri/core/workers/chunks/60643f2ae205097fac0d.js +1 -0
  60. package/assets/esri/core/workers/chunks/622032545298a37cfcd7.js +1 -0
  61. package/assets/esri/core/workers/chunks/67461defc6bbebf7932e.js +1 -0
  62. package/assets/esri/core/workers/chunks/{cb919ef253df5838c818.js → 72db5897fe75835eefb0.js} +1 -1
  63. package/assets/esri/core/workers/chunks/746a69c21d3ca263e02d.js +1 -0
  64. package/assets/esri/core/workers/chunks/778031610afb9431618a.js +1 -0
  65. package/assets/esri/core/workers/chunks/812839c0fb1b92de645f.js +1 -0
  66. package/assets/esri/core/workers/chunks/8613032eb13c63fbfb02.js +1 -0
  67. package/assets/esri/core/workers/chunks/868b62db8f57a83ab09c.js +1 -0
  68. package/assets/esri/core/workers/chunks/8b8aa146a132aa16d8a6.js +1 -0
  69. package/assets/esri/core/workers/chunks/{cec38f3fc11395fd55ca.js → 91f3554263a68fdb967f.js} +1 -1
  70. package/assets/esri/core/workers/chunks/a4de4fd772a65966242f.js +1 -0
  71. package/assets/esri/core/workers/chunks/a55d6ef17fac3067fcbd.js +1 -0
  72. package/assets/esri/core/workers/chunks/{bc33a5779a61c2da71f7.js → a9e692a81c0b2bcc6435.js} +1 -1
  73. package/assets/esri/core/workers/chunks/ab291136718f55486272.js +1 -0
  74. package/assets/esri/core/workers/chunks/acbc8fbc3eea5bac394c.js +1 -0
  75. package/assets/esri/core/workers/chunks/b318e77d3059cf100928.js +1 -0
  76. package/assets/esri/core/workers/chunks/bd827e32d8bdfd357595.js +1 -0
  77. package/assets/esri/core/workers/chunks/c2da64809bb728a29d53.js +1 -0
  78. package/assets/esri/core/workers/chunks/c363a6b7fd0ba3d6c5a8.js +1 -0
  79. package/assets/esri/core/workers/chunks/c860613ebf693c14f77a.js +1 -0
  80. package/assets/esri/core/workers/chunks/cad15573e38ba08627f7.js +1 -0
  81. package/assets/esri/core/workers/chunks/d9bbcce9c72424f77794.js +1 -0
  82. package/assets/esri/core/workers/chunks/{4d5d8ff54d832edae740.js → dc0314c40e2bdbeef6d3.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{22b19f090b4d3c271d8e.js → f2f254680c480df69fd4.js} +1 -1
  84. package/chunks/array.js +1 -1
  85. package/chunks/languageUtils.js +1 -1
  86. package/core/accessorSupport/decorators/persistable.js +1 -1
  87. package/core/sql/StandardizedFunctions.js +1 -1
  88. package/core/sql/WhereClause.js +1 -1
  89. package/core/sql/sqlArithmeticUtils.js +1 -1
  90. package/core/sql/sqlCompareUtils.js +1 -1
  91. package/core/sql/sqlDateParsingUtils.js +1 -1
  92. package/geometry/HeightModelInfo.js +1 -1
  93. package/ground/NavigationConstraint.js +1 -1
  94. package/interfaces.d.ts +21 -18
  95. package/layers/FeatureLayer.js +1 -1
  96. package/layers/LineOfSightLayer.js +1 -1
  97. package/layers/SubtypeGroupLayer.js +1 -1
  98. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  99. package/layers/catalog/CatalogDynamicGroupLayer.js +1 -1
  100. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  101. package/layers/mixins/ArcGISMapService.js +1 -1
  102. package/layers/mixins/OperationalLayer.js +1 -1
  103. package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
  104. package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
  105. package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
  106. package/layers/support/BuildingFilterAuthoringInfoCheckbox.js +1 -1
  107. package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
  108. package/layers/support/BuildingFilterMode.js +1 -1
  109. package/layers/support/BuildingFilterModeSolid.js +1 -1
  110. package/layers/support/BuildingFilterModeXRay.js +1 -1
  111. package/layers/support/CodedValue.js +1 -1
  112. package/layers/support/CodedValueDomain.js +1 -1
  113. package/layers/support/ControlPointsGeoreference.js +1 -1
  114. package/layers/support/Domain.js +1 -1
  115. package/layers/support/FacilityLayerInfo.js +1 -1
  116. package/layers/support/LayerFloorInfo.js +1 -1
  117. package/layers/support/LevelLayerInfo.js +1 -1
  118. package/layers/support/MosaicRule.js +1 -1
  119. package/layers/support/RangeDomain.js +1 -1
  120. package/layers/support/RangeInfo.js +1 -1
  121. package/layers/support/RasterFunctionInfo.js +1 -1
  122. package/layers/support/RasterFunctionTemplate.js +1 -1
  123. package/layers/support/SceneFilter.js +1 -1
  124. package/layers/support/SiteLayerInfo.js +1 -1
  125. package/layers/support/Sublayer.js +1 -1
  126. package/layers/support/fieldUtils.js +1 -1
  127. package/layers/support/source/DataLayerSource.js +1 -1
  128. package/layers/support/source/MapLayerSource.js +1 -1
  129. package/layers/support/source/QueryTableDataSource.js +1 -1
  130. package/layers/support/source/RasterDataSource.js +1 -1
  131. package/layers/support/source/TableDataSource.js +1 -1
  132. package/layers/support/sublayerUtils.js +1 -1
  133. package/layers/voxel/VoxelDynamicSection.js +1 -1
  134. package/layers/voxel/VoxelRangeFilter.js +1 -1
  135. package/layers/voxel/VoxelSection.js +1 -1
  136. package/layers/voxel/VoxelSlice.js +1 -1
  137. package/package.json +1 -1
  138. package/popup/content/AttachmentsContent.js +1 -1
  139. package/popup/content/BarChartMediaInfo.js +1 -1
  140. package/popup/content/ColumnChartMediaInfo.js +1 -1
  141. package/popup/content/FieldsContent.js +1 -1
  142. package/popup/content/ImageMediaInfo.js +1 -1
  143. package/popup/content/LineChartMediaInfo.js +1 -1
  144. package/popup/content/MediaContent.js +1 -1
  145. package/popup/content/PieChartMediaInfo.js +1 -1
  146. package/popup/content/RelationshipContent.js +1 -1
  147. package/popup/content/TextContent.js +1 -1
  148. package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
  149. package/popup/content/mixins/ChartMediaInfo.js +1 -1
  150. package/popup/content/support/ChartMediaInfoValue.js +1 -1
  151. package/popup/content/support/ImageMediaInfoValue.js +1 -1
  152. package/renderers/ClassBreaksRenderer.js +1 -1
  153. package/renderers/HeatmapRenderer.js +1 -1
  154. package/renderers/PointCloudClassBreaksRenderer.js +1 -1
  155. package/renderers/PointCloudRGBRenderer.js +1 -1
  156. package/renderers/PointCloudRenderer.js +1 -1
  157. package/renderers/PointCloudStretchRenderer.js +1 -1
  158. package/renderers/PointCloudUniqueValueRenderer.js +1 -1
  159. package/renderers/RasterColormapRenderer.js +1 -1
  160. package/renderers/RasterShadedReliefRenderer.js +1 -1
  161. package/renderers/Renderer.js +1 -1
  162. package/renderers/UniqueValueRenderer.js +1 -1
  163. package/renderers/support/ColormapInfo.js +1 -1
  164. package/renderers/support/HeatmapColorStop.js +1 -1
  165. package/renderers/support/RasterPresetRenderer.js +1 -1
  166. package/renderers/support/UniqueValueGroup.js +1 -1
  167. package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
  168. package/renderers/support/pointCloud/ColorModulation.js +1 -1
  169. package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
  170. package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
  171. package/renderers/support/pointCloud/PointSizeFixedSizeAlgorithm.js +1 -1
  172. package/renderers/support/pointCloud/PointSizeSplatAlgorithm.js +1 -1
  173. package/renderers/visualVariables/VisualVariable.js +1 -1
  174. package/renderers/visualVariables/support/ColorStop.js +1 -1
  175. package/renderers/visualVariables/support/OpacityStop.js +1 -1
  176. package/renderers/visualVariables/support/SizeStop.js +1 -1
  177. package/support/MapFloorInfo.js +1 -1
  178. package/support/arcadeUtils.js +1 -1
  179. package/support/guards.js +1 -1
  180. package/support/revision.js +1 -1
  181. package/symbols/IconSymbol3DLayer.js +1 -1
  182. package/symbols/LineStyleMarker3D.js +1 -1
  183. package/symbols/LineSymbol3DLayer.js +1 -1
  184. package/symbols/Symbol.js +1 -1
  185. package/symbols/Symbol3DLayer.js +1 -1
  186. package/symbols/callouts/Callout3D.js +1 -1
  187. package/symbols/callouts/LineCallout3D.js +1 -1
  188. package/symbols/callouts/LineCallout3DBorder.js +1 -1
  189. package/symbols/edges/Edges3D.js +1 -1
  190. package/symbols/patterns/LineStylePattern3D.js +1 -1
  191. package/symbols/patterns/StylePattern3D.js +1 -1
  192. package/symbols/support/FeatureExpressionInfo.js +1 -1
  193. package/symbols/support/Symbol3DHalo.js +1 -1
  194. package/symbols/support/Symbol3DIconOutline.js +1 -1
  195. package/symbols/support/Symbol3DMaterial.js +1 -1
  196. package/symbols/support/Symbol3DOutline.js +1 -1
  197. package/symbols/support/Symbol3DTextBackground.js +1 -1
  198. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  199. package/symbols/support/materialUtils.js +1 -1
  200. package/views/3d/environment/CloudyWeather.js +1 -1
  201. package/views/3d/environment/FoggyWeather.js +1 -1
  202. package/views/3d/environment/RainyWeather.js +1 -1
  203. package/views/3d/environment/SnowyWeather.js +1 -1
  204. package/views/3d/environment/SunnyWeather.js +1 -1
  205. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  206. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  207. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  208. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  209. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  210. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  211. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  212. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  213. package/webscene/TransportationNetwork.js +1 -1
  214. package/webscene/VirtualLighting.js +1 -1
  215. package/webscene/background/ColorBackground.js +1 -1
  216. package/webscene/spec-certification/api.js +1 -1
  217. package/webscene/spec-certification/compare.js +1 -1
  218. package/webscene/spec-certification/spec.js +1 -1
  219. package/webscene/support/Description.js +1 -1
  220. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  221. package/widgets/Feature/FeatureUtilityNetworkAssociationType.js +1 -1
  222. package/widgets/Feature/FeatureUtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  223. package/widgets/Feature/FeatureViewModel.js +1 -1
  224. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  225. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  226. package/assets/esri/core/workers/chunks/021e7450d7dc32eee69f.js +0 -1
  227. package/assets/esri/core/workers/chunks/060a5c24c34d11490650.js +0 -1
  228. package/assets/esri/core/workers/chunks/0ff8e3f6a2b14c31f07a.js +0 -1
  229. package/assets/esri/core/workers/chunks/29da9d3a06f0ee37595f.js +0 -1
  230. package/assets/esri/core/workers/chunks/2cfafc7a06cf363cc8dc.js +0 -1
  231. package/assets/esri/core/workers/chunks/35dd6f224b76a3d4a2c8.js +0 -1
  232. package/assets/esri/core/workers/chunks/373808292fdb65200531.js +0 -1
  233. package/assets/esri/core/workers/chunks/3830b54e5b2a4089a540.js +0 -1
  234. package/assets/esri/core/workers/chunks/3e232e34b927b6b61f61.js +0 -1
  235. package/assets/esri/core/workers/chunks/4895b266364e74377499.js +0 -1
  236. package/assets/esri/core/workers/chunks/4e0c9b4df505c2fd95e9.js +0 -1
  237. package/assets/esri/core/workers/chunks/578e2761c32b9f61d7d1.js +0 -1
  238. package/assets/esri/core/workers/chunks/591ad9359701c16ed796.js +0 -1
  239. package/assets/esri/core/workers/chunks/6460d653677f44b87e22.js +0 -1
  240. package/assets/esri/core/workers/chunks/70b0bdc943c657c1ac17.js +0 -1
  241. package/assets/esri/core/workers/chunks/72c59be13d334e11bd14.js +0 -1
  242. package/assets/esri/core/workers/chunks/7f8fea3af2cf333510d6.js +0 -1
  243. package/assets/esri/core/workers/chunks/807c806bc863d5453f0c.js +0 -1
  244. package/assets/esri/core/workers/chunks/a118e2aa1dd24982ea23.js +0 -1
  245. package/assets/esri/core/workers/chunks/ad0c9362e92abab5a838.js +0 -1
  246. package/assets/esri/core/workers/chunks/ad3e53628508082aa070.js +0 -1
  247. package/assets/esri/core/workers/chunks/b1d1dcb17dc56e9839f4.js +0 -1
  248. package/assets/esri/core/workers/chunks/b68f1c3b2cd49789c62f.js +0 -1
  249. package/assets/esri/core/workers/chunks/b8c49178cd0f7465380c.js +0 -1
  250. package/assets/esri/core/workers/chunks/bb8b05fc4202433a4c45.js +0 -1
  251. package/assets/esri/core/workers/chunks/bdd071838ab72366e1b6.js +0 -1
  252. package/assets/esri/core/workers/chunks/c0de6398ad82c3852591.js +0 -1
  253. package/assets/esri/core/workers/chunks/c549db4dc5d8eafdcfd1.js +0 -1
  254. package/assets/esri/core/workers/chunks/c65943bf3ff984c980bc.js +0 -1
  255. package/assets/esri/core/workers/chunks/c905ea9b1ba004c0468e.js +0 -1
  256. package/assets/esri/core/workers/chunks/d0093ec96d21ee7fcb27.js +0 -1
  257. package/assets/esri/core/workers/chunks/d451448ef06e5dc80cd8.js +0 -1
  258. package/assets/esri/core/workers/chunks/da78470846bce14722a4.js +0 -1
  259. package/assets/esri/core/workers/chunks/e3d65aa9307c244be02f.js +0 -1
  260. package/assets/esri/core/workers/chunks/f818bdc6c0bc5e272c25.js +0 -1
  261. package/assets/esri/core/workers/chunks/fd463eace6b31d0f52e4.js +0 -1
package/Ground.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"./chunks/tslib.es6.js";import e from"./Color.js";import o from"./core/Collection.js";import{referenceSetter as t}from"./core/collectionUtils.js";import{typeCast as s}from"./core/compilerUtils.js";import a from"./core/Error.js";import{JSONSupportMixin as i}from"./core/JSONSupport.js";import{clone as n}from"./core/lang.js";import l from"./core/Loadable.js";import{loadAll as p}from"./core/loadAll.js";import c from"./core/Logger.js";import{destroyMaybe as y}from"./core/maybe.js";import{isAbortError as u,throwIfAborted as d}from"./core/promiseUtils.js";import{property as m}from"./core/accessorSupport/decorators/property.js";import{Integer as f}from"./core/accessorSupport/ensureType.js";import{subclass as h}from"./core/accessorSupport/decorators/subclass.js";import{writer as g}from"./core/accessorSupport/decorators/writer.js";import{NavigationConstraint as v}from"./ground/NavigationConstraint.js";import{transparencyToOpacity as j,opacityToTransparency as w}from"./webdoc/support/opacityUtils.js";var S;let C=S=class extends(i(l)){constructor(r){super(r),this.opacity=1,this.surfaceColor=null,this.navigationConstraint=null,this.layers=new o;const e=r=>{r.parent&&r.parent!==this&&"remove"in r.parent&&r.parent.remove(r),r.parent=this,"elevation"!==r.type&&"base-elevation"!==r.type&&c.getLogger(this).error(`Layer '${r.title}, id:${r.id}' of type '${r.type}' is not supported as a ground layer and will therefore be ignored. Only layers of type 'elevation' are supported.`)},t=r=>{r.parent=null};this.addHandles([this.layers.on("after-add",(r=>e(r.item))),this.layers.on("after-remove",(r=>t(r.item)))])}initialize(){this.when().catch((r=>{u(r)||c.getLogger(this).error("#load()","Failed to load ground",r)})),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)}destroy(){const r=this.layers.removeAll();for(const e of r)y(e);this.layers.destroy()}normalizeCtorArgs(r){return r&&"resourceInfo"in r&&(this._set("resourceInfo",r.resourceInfo),delete(r={...r}).resourceInfo),r}set layers(r){this._set("layers",t(r,this._get("layers")))}writeLayers(r,e,o,t){const i=[];r?(t={...t,layerContainerType:"ground"},r.forEach((r=>{if("write"in r){const e={};s(r)().write(e,t)&&i.push(e)}else t?.messages&&t.messages.push(new a("layer:unsupported",`Layers (${r.title}, ${r.id}) of type '${r.declaredClass}' cannot be persisted in the ground`,{layer:r}))})),e.layers=i):e.layers=i}load(r){return this.addResolvingPromise(this._loadFromSource(r)),Promise.resolve(this)}loadAll(){return p(this,(r=>{r(this.layers)}))}async queryElevation(r,e){await this.load({signal:e?.signal});const{ElevationQuery:o}=await import("./layers/support/ElevationQuery.js");d(e);const t=new o,s=this.layers.filter(L).toArray();return t.queryAll(s,r,e)}async createElevationSampler(r,e){await this.load({signal:e?.signal});const{ElevationQuery:o}=await import("./layers/support/ElevationQuery.js");d(e);const t=new o,s=this.layers.filter(L).toArray();return t.createSamplerAll(s,r,e)}clone(){const r={opacity:this.opacity,surfaceColor:n(this.surfaceColor),navigationConstraint:n(this.navigationConstraint),layers:this.layers.slice()};return this.loaded&&(r.loadStatus="loaded"),new S({resourceInfo:this.resourceInfo}).set(r)}read(r,e){this.resourceInfo||this._set("resourceInfo",{data:r,context:e}),super.read(r,e)}_loadFromSource(r){const e=this.resourceInfo;return e?this._loadLayersFromJSON(e.data,e.context,r):Promise.resolve()}async _loadLayersFromJSON(r,e,o){const t=e?.origin||"web-scene",s=e?.portal||null,a=e?.url||null,{populateOperationalLayers:i}=await import("./layers/support/layersCreator.js");d(o);const n=[];if(r.layers&&Array.isArray(r.layers)){const e={context:{origin:t,url:a,portal:s,layerContainerType:"ground"},defaultLayerType:"ArcGISTiledElevationServiceLayer"};n.push(i(this.layers,r.layers,e))}await Promise.allSettled(n)}};function I(r){return r&&"createElevationSampler"in r}function L(r){return"elevation"===r.type||I(r)}r([m({json:{read:!1}})],C.prototype,"layers",null),r([g("layers")],C.prototype,"writeLayers",null),r([m({readOnly:!0})],C.prototype,"resourceInfo",void 0),r([m({type:Number,nonNullable:!0,range:{min:0,max:1},json:{type:f,read:{reader:j,source:"transparency"},write:{writer:(r,e)=>{e.transparency=w(r)},target:"transparency"}}})],C.prototype,"opacity",void 0),r([m({type:e,json:{type:[f],write:(r,e)=>{e.surfaceColor=r.toJSON().slice(0,3)}}})],C.prototype,"surfaceColor",void 0),r([m({type:v,json:{write:!0}})],C.prototype,"navigationConstraint",void 0),C=S=r([h("esri.Ground")],C);const b=C;export{b as default};
5
+ import{_ as r}from"./chunks/tslib.es6.js";import e from"./Color.js";import o from"./core/Collection.js";import{referenceSetter as t}from"./core/collectionUtils.js";import{typeCast as s}from"./core/compilerUtils.js";import a from"./core/Error.js";import{JSONSupportMixin as i}from"./core/JSONSupport.js";import{clone as n}from"./core/lang.js";import l from"./core/Loadable.js";import{loadAll as p}from"./core/loadAll.js";import c from"./core/Logger.js";import{destroyMaybe as y}from"./core/maybe.js";import{isAbortError as u,throwIfAborted as d}from"./core/promiseUtils.js";import{property as m}from"./core/accessorSupport/decorators/property.js";import{Integer as f}from"./core/accessorSupport/ensureType.js";import{subclass as h}from"./core/accessorSupport/decorators/subclass.js";import{writer as g}from"./core/accessorSupport/decorators/writer.js";import{NavigationConstraint as v}from"./ground/NavigationConstraint.js";import{transparencyToOpacity as j,opacityToTransparency as w}from"./webdoc/support/opacityUtils.js";var S;let C=S=class extends(i(l)){constructor(r){super(r),this.opacity=1,this.surfaceColor=null,this.navigationConstraint=null,this.layers=new o;const e=r=>{r.parent&&r.parent!==this&&"remove"in r.parent&&r.parent.remove(r),r.parent=this,"elevation"!==r.type&&"base-elevation"!==r.type&&c.getLogger(this).error(`Layer '${r.title}, id:${r.id}' of type '${r.type}' is not supported as a ground layer and will therefore be ignored. Only layers of type 'elevation' are supported.`)},t=r=>{r.parent=null};this.addHandles([this.layers.on("after-add",(r=>e(r.item))),this.layers.on("after-remove",(r=>t(r.item)))])}initialize(){this.when().catch((r=>{u(r)||c.getLogger(this).error("#load()","Failed to load ground",r)})),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)}destroy(){const r=this.layers.removeAll();for(const e of r)y(e);this.layers.destroy()}normalizeCtorArgs(r){return r&&"resourceInfo"in r&&(this._set("resourceInfo",r.resourceInfo),delete(r={...r}).resourceInfo),r}set layers(r){this._set("layers",t(r,this._get("layers")))}writeLayers(r,e,o,t){const i=[];r?(t={...t,layerContainerType:"ground"},r.forEach((r=>{if("write"in r){const e={};s(r)().write(e,t)&&i.push(e)}else t?.messages&&t.messages.push(new a("layer:unsupported",`Layers (${r.title}, ${r.id}) of type '${r.declaredClass}' cannot be persisted in the ground`,{layer:r}))})),e.layers=i):e.layers=i}load(r){return this.addResolvingPromise(this._loadFromSource(r)),Promise.resolve(this)}loadAll(){return p(this,(r=>{r(this.layers)}))}async queryElevation(r,e){await this.load({signal:e?.signal});const{ElevationQuery:o}=await import("./layers/support/ElevationQuery.js");d(e);const t=new o,s=this.layers.filter(L).toArray();return t.queryAll(s,r,e)}async createElevationSampler(r,e){await this.load({signal:e?.signal});const{ElevationQuery:o}=await import("./layers/support/ElevationQuery.js");d(e);const t=new o,s=this.layers.filter(L).toArray();return t.createSamplerAll(s,r,e)}clone(){const r={opacity:this.opacity,surfaceColor:n(this.surfaceColor),navigationConstraint:n(this.navigationConstraint),layers:this.layers.slice()};return this.loaded&&(r.loadStatus="loaded"),new S({resourceInfo:this.resourceInfo}).set(r)}read(r,e){this.resourceInfo||this._set("resourceInfo",{data:r,context:e}),super.read(r,e)}_loadFromSource(r){const e=this.resourceInfo;return e?this._loadLayersFromJSON(e.data,e.context,r):Promise.resolve()}async _loadLayersFromJSON(r,e,o){const t=e?.origin||"web-scene",s=e?.portal||null,a=e?.url||null,{populateOperationalLayers:i}=await import("./layers/support/layersCreator.js");d(o);const n=[];if(r.layers&&Array.isArray(r.layers)){const e={context:{origin:t,url:a,portal:s,layerContainerType:"ground"},defaultLayerType:"ArcGISTiledElevationServiceLayer"};n.push(i(this.layers,r.layers,e))}await Promise.allSettled(n)}};function I(r){return r&&"createElevationSampler"in r}function L(r){return"elevation"===r.type||I(r)}r([m({json:{read:!1,write:{isRequired:!0}}})],C.prototype,"layers",null),r([g("layers")],C.prototype,"writeLayers",null),r([m({readOnly:!0})],C.prototype,"resourceInfo",void 0),r([m({type:Number,nonNullable:!0,range:{min:0,max:1},json:{type:f,read:{reader:j,source:"transparency"},write:{writer:(r,e)=>{e.transparency=w(r)},target:"transparency"}}})],C.prototype,"opacity",void 0),r([m({type:e,json:{type:[f],write:(r,e)=>{e.surfaceColor=r.toJSON().slice(0,3)}}})],C.prototype,"surfaceColor",void 0),r([m({type:v,json:{write:!0}})],C.prototype,"navigationConstraint",void 0),C=S=r([h("esri.Ground")],C);const b=C;export{b as default};
package/Viewpoint.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"./chunks/tslib.es6.js";import t from"./Camera.js";import{geometryTypes as e}from"./geometry.js";import{JSONSupport as o}from"./core/JSONSupport.js";import{property as s}from"./core/accessorSupport/decorators/property.js";import{cast as i}from"./core/accessorSupport/decorators/cast.js";import"./core/RandomLCG.js";import"./core/has.js";import{subclass as a}from"./core/accessorSupport/decorators/subclass.js";import{fromJSON as c}from"./geometry/support/jsonUtils.js";var n;let p=n=class extends o{constructor(r){super(r),this.rotation=0,this.scale=0,this.targetGeometry=null,this.camera=null}castRotation(r){return(r%=360)<0&&(r+=360),r}clone(){return new n({rotation:this.rotation,scale:this.scale,targetGeometry:null!=this.targetGeometry?this.targetGeometry.clone():null,camera:null!=this.camera?this.camera.clone():null})}};r([s({type:Number,json:{write:!0,origins:{"web-map":{default:0,write:!0},"web-scene":{write:{overridePolicy:l}}}}})],p.prototype,"rotation",void 0),r([i("rotation")],p.prototype,"castRotation",null),r([s({type:Number,json:{write:!0,origins:{"web-map":{default:0,write:!0},"web-scene":{write:{overridePolicy:l}}}}})],p.prototype,"scale",void 0),r([s({types:e,json:{read:c,write:!0,origins:{"web-scene":{read:c,write:{overridePolicy:l}}}}})],p.prototype,"targetGeometry",void 0),r([s({type:t,json:{write:!0}})],p.prototype,"camera",void 0),p=n=r([a("esri.Viewpoint")],p);const m=p;function l(){return{enabled:!this.camera}}export{m as default};
5
+ import{_ as e}from"./chunks/tslib.es6.js";import r from"./Camera.js";import{geometryTypes as t}from"./geometry.js";import{JSONSupport as o}from"./core/JSONSupport.js";import{property as s}from"./core/accessorSupport/decorators/property.js";import{cast as i}from"./core/accessorSupport/decorators/cast.js";import"./core/RandomLCG.js";import"./core/has.js";import{subclass as a}from"./core/accessorSupport/decorators/subclass.js";import{fromJSON as c}from"./geometry/support/jsonUtils.js";var n;let p=n=class extends o{constructor(e){super(e),this.rotation=0,this.scale=0,this.targetGeometry=null,this.camera=null}castRotation(e){return(e%=360)<0&&(e+=360),e}clone(){return new n({rotation:this.rotation,scale:this.scale,targetGeometry:null!=this.targetGeometry?this.targetGeometry.clone():null,camera:null!=this.camera?this.camera.clone():null})}};e([s({type:Number,json:{write:!0,origins:{"web-map":{default:0,write:!0},"web-scene":{write:{overridePolicy:l}}}}})],p.prototype,"rotation",void 0),e([i("rotation")],p.prototype,"castRotation",null),e([s({type:Number,json:{write:!0,origins:{"web-map":{default:0,write:!0},"web-scene":{write:{overridePolicy:l}}}}})],p.prototype,"scale",void 0),e([s({types:t,json:{read:c,write:!0,origins:{"web-scene":{read:c,write:{overridePolicy:l}}}}})],p.prototype,"targetGeometry",void 0),e([s({type:r,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}})],p.prototype,"camera",void 0),p=n=e([a("esri.Viewpoint")],p);const m=p;function l(){return{enabled:!this.camera}}export{m as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../chunks/tslib.es6.js";import"../geometry.js";import{LengthDimensionMeasureType as e,lengthDimensionMeasureType as t}from"./dimensionUtils.js";import{Clonable as r}from"../core/Clonable.js";import{cyclicalDegrees as s}from"../core/Cyclical.js";import{JSONSupportMixin as i}from"../core/JSONSupport.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/RandomLCG.js";import"../core/has.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as c}from"../core/accessorSupport/ensureType.js";import a from"../geometry/Point.js";let l=class extends(i(r)){constructor(o){super(o),this.type="length",this.startPoint=null,this.endPoint=null,this.measureType=e.Direct,this.offset=0,this.orientation=0}};o([p({type:["length"],json:{write:{isRequired:!0}}})],l.prototype,"type",void 0),o([p({type:a,json:{write:!0}})],l.prototype,"startPoint",void 0),o([p({type:a,json:{write:!0}})],l.prototype,"endPoint",void 0),o([p({type:t,nonNullable:!0,json:{write:{isRequired:!0}}})],l.prototype,"measureType",void 0),o([p({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],l.prototype,"offset",void 0),o([p({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),n((o=>s.normalize(c(o),0,!0)))],l.prototype,"orientation",void 0),l=o([m("esri.analysis.LengthDimension")],l);const u=l;export{u as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import"../geometry.js";import{LengthDimensionMeasureType as e,lengthDimensionMeasureType as r}from"./dimensionUtils.js";import{Clonable as t}from"../core/Clonable.js";import{cyclicalDegrees as s}from"../core/Cyclical.js";import{JSONSupportMixin as i}from"../core/JSONSupport.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/RandomLCG.js";import"../core/has.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as c}from"../core/accessorSupport/ensureType.js";import a from"../geometry/Point.js";let l=class extends(i(t)){constructor(o){super(o),this.type="length",this.startPoint=null,this.endPoint=null,this.measureType=e.Direct,this.offset=0,this.orientation=0}};o([p({type:["length"],json:{write:{isRequired:!0}}})],l.prototype,"type",void 0),o([p({type:a,json:{write:{isRequired:!0}}})],l.prototype,"startPoint",void 0),o([p({type:a,json:{write:{isRequired:!0}}})],l.prototype,"endPoint",void 0),o([p({type:r,nonNullable:!0,json:{write:{isRequired:!0}}})],l.prototype,"measureType",void 0),o([p({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],l.prototype,"offset",void 0),o([p({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),n((o=>s.normalize(c(o),0,!0)))],l.prototype,"orientation",void 0),l=o([m("esri.analysis.LengthDimension")],l);const u=l;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../chunks/tslib.es6.js";import{featureReferenceEquals as r,featureReferenceProperty as t}from"./featureReferenceUtils.js";import{Clonable as e}from"../core/Clonable.js";import{JSONSupportMixin as s}from"../core/JSONSupport.js";import{equalsMaybe as i}from"../core/maybe.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{persistable as n}from"../core/accessorSupport/decorators/persistable.js";import m from"../geometry/Point.js";import c from"../symbols/support/ElevationInfo.js";let l=class extends(s(e)){constructor(o){super(o),this.position=null,this.elevationInfo=null,this.feature=null}equals(o){return i(this.position,o.position)&&i(this.elevationInfo,o.elevationInfo)&&r(this.feature,o.feature)}};o([p({type:m}),n()],l.prototype,"position",void 0),o([p({type:c}),n()],l.prototype,"elevationInfo",void 0),o([p(t)],l.prototype,"feature",void 0),l=o([a("esri.analysis.LineOfSightAnalysisTarget")],l);const f=l;export{f as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import{featureReferenceEquals as r,featureReferenceProperty as e}from"./featureReferenceUtils.js";import{Clonable as t}from"../core/Clonable.js";import{JSONSupportMixin as s}from"../core/JSONSupport.js";import{equalsMaybe as i}from"../core/maybe.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import{persistable as a}from"../core/accessorSupport/decorators/persistable.js";import m from"../geometry/Point.js";import c from"../symbols/support/ElevationInfo.js";let l=class extends(s(t)){constructor(o){super(o),this.position=null,this.elevationInfo=null,this.feature=null}equals(o){return i(this.position,o.position)&&i(this.elevationInfo,o.elevationInfo)&&r(this.feature,o.feature)}};o([p({type:m,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}}),a()],l.prototype,"position",void 0),o([p({type:c}),a()],l.prototype,"elevationInfo",void 0),o([p(e)],l.prototype,"feature",void 0),l=o([n("esri.analysis.LineOfSightAnalysisTarget")],l);const f=l;export{f as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import{featureReferenceEquals as r,featureReferenceProperty as o}from"./featureReferenceUtils.js";import{Clonable as t}from"../core/Clonable.js";import{cyclicalDegrees as i}from"../core/Cyclical.js";import{JSONSupportMixin as s}from"../core/JSONSupport.js";import{equalsMaybe as a}from"../core/maybe.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/RandomLCG.js";import"../core/has.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as m}from"../core/accessorSupport/ensureType.js";import c from"../geometry/Point.js";let u=class extends(s(t)){constructor(e){super(e),this.observer=null,this.farDistance=1e3,this.heading=0,this.tilt=90,this.horizontalFieldOfView=45,this.verticalFieldOfView=45,this.feature=null}isValid(){return null!=this.observer&&this.farDistance>0}equals(e){return a(this.observer,e.observer)&&this.farDistance===e.farDistance&&this.heading===e.heading&&this.tilt===e.tilt&&this.horizontalFieldOfView===e.horizontalFieldOfView&&this.verticalFieldOfView===e.verticalFieldOfView&&r(this.feature,e.feature)}};e([l({type:c,json:{write:!0}})],u.prototype,"observer",void 0),e([l({type:Number,nonNullable:!0,range:{min:0},json:{write:{isRequired:!0}}})],u.prototype,"farDistance",void 0),e([l({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),n((e=>i.normalize(m(e),void 0,!0)))],u.prototype,"heading",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:180},json:{write:{isRequired:!0}}})],u.prototype,"tilt",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:360},json:{write:{isRequired:!0}}})],u.prototype,"horizontalFieldOfView",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:180},json:{write:{isRequired:!0}}})],u.prototype,"verticalFieldOfView",void 0),e([l(o)],u.prototype,"feature",void 0),e([l({json:{read:!1}})],u.prototype,"isValid",null),u=e([p("esri.analysis.Viewshed")],u);const d=u;export{d as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../geometry.js";import{featureReferenceEquals as r,featureReferenceProperty as o}from"./featureReferenceUtils.js";import{Clonable as i}from"../core/Clonable.js";import{cyclicalDegrees as t}from"../core/Cyclical.js";import{JSONSupportMixin as s}from"../core/JSONSupport.js";import{equalsMaybe as a}from"../core/maybe.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/RandomLCG.js";import"../core/has.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as m}from"../core/accessorSupport/ensureType.js";import c from"../geometry/Point.js";let u=class extends(s(i)){constructor(e){super(e),this.observer=null,this.farDistance=1e3,this.heading=0,this.tilt=90,this.horizontalFieldOfView=45,this.verticalFieldOfView=45,this.feature=null}isValid(){return null!=this.observer&&this.farDistance>0}equals(e){return a(this.observer,e.observer)&&this.farDistance===e.farDistance&&this.heading===e.heading&&this.tilt===e.tilt&&this.horizontalFieldOfView===e.horizontalFieldOfView&&this.verticalFieldOfView===e.verticalFieldOfView&&r(this.feature,e.feature)}};e([l({type:c,json:{write:{isRequired:!0}}})],u.prototype,"observer",void 0),e([l({type:Number,nonNullable:!0,range:{min:0},json:{write:{isRequired:!0}}})],u.prototype,"farDistance",void 0),e([l({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),n((e=>t.normalize(m(e),void 0,!0)))],u.prototype,"heading",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:180},json:{write:{isRequired:!0}}})],u.prototype,"tilt",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:360},json:{write:{isRequired:!0}}})],u.prototype,"horizontalFieldOfView",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:180},json:{write:{isRequired:!0}}})],u.prototype,"verticalFieldOfView",void 0),e([l(o)],u.prototype,"feature",void 0),e([l({json:{read:!1}})],u.prototype,"isValid",null),u=e([p("esri.analysis.Viewshed")],u);const d=u;export{d as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{a as e,l as t,b as r}from"../chunks/vec32.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as l,fromPoints as o}from"../geometry/support/ray.js";import{StoreResults as u}from"../views/3d/webgl-engine/lib/IntersectorInterfaces.js";import{toGraphic as i,hasLod as a,getIntersectedFeatureBSRadius as s}from"../views/3d/webgl-engine/lib/intersectorUtilsConversions.js";function c(e,t){return d(e)===d(t)}function d(e){if(null==e)return null;const t=null!=e.layer?e.layer.id:"";let r=null;return r=null!=e.objectId?e.objectId:null!=e.layer&&"objectIdField"in e.layer&&null!=e.layer.objectIdField&&null!=e.attributes?e.attributes[e.layer.objectIdField]:e.uid,null==r?null:`o-${t}-${r}`}const b={json:{write:{writer:f,target:{"feature.layerId":{type:[Number,String]},"feature.objectId":{type:[Number,String]}}},origins:{"web-scene":{read:I}}}};function f(e,t){null!=e?.layer?.objectIdField&&null!=e.attributes&&(t.feature={layerId:e.layer.id,objectId:e.attributes[e.layer.objectIdField]})}function I(e){if(null!=e.layerId&&null!=e.objectId)return{uid:null,layer:{id:e.layerId,objectIdField:"ObjectId"},attributes:{ObjectId:e.objectId}}}function m(l,a,s,c){const{sceneIntersectionHelper:b}=l,{observer:f,observerFeatureId:I,targetFeatureId:m,target:g}=s;if(null==I&&null==m)return;c||(c=e=>e),e(p,f,g);const v=t(p),S=1;r(p,f,p,S/v);const F=o(p,g,y);a.options.store=u.ALL,b.intersectToolIntersectorRay(F,a);let N=null,w=null,R=null,A=null;for(const e of a.results.all){const t=i(e,l);if(null==t||null==e.distanceInRenderSpace)continue;const r=d(t);null!=r&&(null!=I&&r===I&&(N??=c(j(e,l,v)),e.distanceInRenderSpace-S<N&&(R=e)),null!=m&&r===m&&(w??=c(j(e,l,v)),null==A&&e.distanceInRenderSpace-S<v&&v-e.distanceInRenderSpace+S<w&&(A=e)))}const{observerAdjusted:T,targetAdjusted:h}=s;R?.getIntersectionPoint(T)?s.observerSurfaceNormal=R.getTransformedNormal(n()):s.observerSurfaceNormal=null,A?.getIntersectionPoint(h)?s.targetSurfaceNormal=A.getTransformedNormal(n()):s.targetSurfaceNormal=null}function j(e,t,r){if(a(e)){const n=s(e,t);if(null!=n)return Math.min(n*g,r)}return 1e-5*r}const g=.05,y=l(),p=n();export{c as featureReferenceEquals,b as featureReferenceProperty,d as getFeatureId,m as updatePointsFromFeatureReference};
5
+ import{a as e,l as t,b as r}from"../chunks/vec32.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as l,fromPoints as o}from"../geometry/support/ray.js";import{StoreResults as i}from"../views/3d/webgl-engine/lib/IntersectorInterfaces.js";import{toGraphic as u,hasLod as s,getIntersectedFeatureBSRadius as a}from"../views/3d/webgl-engine/lib/intersectorUtilsConversions.js";function c(e,t){return d(e)===d(t)}function d(e){if(null==e)return null;const t=null!=e.layer?e.layer.id:"";let r=null;return r=null!=e.objectId?e.objectId:null!=e.layer&&"objectIdField"in e.layer&&null!=e.layer.objectIdField&&null!=e.attributes?e.attributes[e.layer.objectIdField]:e.uid,null==r?null:`o-${t}-${r}`}const b={json:{write:{writer:f,target:{"feature.layerId":{type:[Number,String],isRequired:!0},"feature.objectId":{type:[Number,String],isRequired:!0}}},origins:{"web-scene":{read:I}}}};function f(e,t){null!=e?.layer?.objectIdField&&null!=e.attributes&&(t.feature={layerId:e.layer.id,objectId:e.attributes[e.layer.objectIdField]})}function I(e){if(null!=e.layerId&&null!=e.objectId)return{uid:null,layer:{id:e.layerId,objectIdField:"ObjectId"},attributes:{ObjectId:e.objectId}}}function m(l,s,a,c){const{sceneIntersectionHelper:b}=l,{observer:f,observerFeatureId:I,targetFeatureId:m,target:g}=a;if(null==I&&null==m)return;c||(c=e=>e),e(p,f,g);const v=t(p),S=1;r(p,f,p,S/v);const F=o(p,g,y);s.options.store=i.ALL,b.intersectToolIntersectorRay(F,s);let N=null,w=null,R=null,A=null;for(const e of s.results.all){const t=u(e,l);if(null==t||null==e.distanceInRenderSpace)continue;const r=d(t);null!=r&&(null!=I&&r===I&&(N??=c(j(e,l,v)),e.distanceInRenderSpace-S<N&&(R=e)),null!=m&&r===m&&(w??=c(j(e,l,v)),null==A&&e.distanceInRenderSpace-S<v&&v-e.distanceInRenderSpace+S<w&&(A=e)))}const{observerAdjusted:T,targetAdjusted:h}=a;R?.getIntersectionPoint(T)?a.observerSurfaceNormal=R.getTransformedNormal(n()):a.observerSurfaceNormal=null,A?.getIntersectionPoint(h)?a.targetSurfaceNormal=A.getTransformedNormal(n()):a.targetSurfaceNormal=null}function j(e,t,r){if(s(e)){const n=a(e,t);if(null!=n)return Math.min(n*g,r)}return 1e-5*r}const g=.05,y=l(),p=n();export{c as featureReferenceEquals,b as featureReferenceProperty,d as getFeatureId,m as updatePointsFromFeatureReference};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ArcadeDate as t}from"./ArcadeDate.js";import{deepClone as s}from"./deepClone.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as e}from"./executionError.js";import r from"./ImmutableArray.js";import{i as n,a as o,t as a,c as u,b as l,d as c,e as f,f as m,g as h,h as y,j as b,k as d,l as g,m as p,n as w}from"../chunks/languageUtils.js";import J from"../geometry/Geometry.js";import{isNumber as A,isString as T}from"../support/guards.js";function j(t,s,i=!1,e=!1){if(null==t)return null;if(A(t))return f(t);if(o(t))return m(t);if(T(t))return h(t);if(y(t))return b(t,s);if(d(t))return t;if(g(t))return t;if(p(t)){const r=[];for(const n of t)r.push(j(n,s,i,e));return r}if(e&&w(t))return t;const r=new v;r.immutable=!1;for(const n of Object.keys(t)){const o=t[n];void 0!==o&&r.setField(n,j(o,s,i,e))}return r.immutable=i,r}class v{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof v?t.attributes:t??{}}field(t){const s=t.toLowerCase(),r=this.attributes[t];if(void 0!==r)return r;for(const i in this.attributes)if(i.toLowerCase()===s)return this.attributes[i];throw new i(null,e.FieldNotFound,null,{key:t})}setField(s,r){if(this.immutable)throw new i(null,e.Immutable,null);if(n(r))throw new i(null,e.NoFunctionInDictionary,null);const o=s.toLowerCase();r instanceof Date&&(r=t.dateJSToArcadeDate(r));if(void 0===this.attributes[s]){for(const t in this.attributes)if(t.toLowerCase()===o)return void(this.attributes[t]=r);this.attributes[s]=r}else this.attributes[s]=r}hasField(t){const s=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===s)return!0;return!1}keys(){let t=[];for(const s in this.attributes)t.push(s);return t=t.sort(),t}castToText(s=!1){let i="";for(const e in this.attributes){""!==i&&(i+=",");const n=this.attributes[e];null==n?i+=JSON.stringify(e)+":null":o(n)||A(n)||T(n)?i+=JSON.stringify(e)+":"+JSON.stringify(n):n instanceof J?i+=JSON.stringify(e)+":"+a(n):n instanceof r||Array.isArray(n)?i+=JSON.stringify(e)+":"+a(n,null,s):n instanceof t?i+=s?JSON.stringify(e)+":"+JSON.stringify(n.getTime()):JSON.stringify(e)+":"+n.stringify():null!==n&&"object"==typeof n&&void 0!==n.castToText&&(i+=JSON.stringify(e)+":"+n.castToText(s))}return"{"+i+"}"}static convertObjectToArcadeDictionary(t,s,i=!0,e=!1){const r=new v;r.immutable=!1;for(const n in t){const o=t[n];void 0!==o&&r.setField(n.toString(),j(o,s,i,e))}return r.immutable=i,r}static convertJsonToArcade(t,s,i=!1,e=!1){return j(t,s,i,e)}castAsJson(t=null){const s={};for(let i in this.attributes){const e=this.attributes[i];void 0!==e&&(t?.keyTranslate&&(i=t.keyTranslate(i)),s[i]=u(e,t))}return s}async castDictionaryValueAsJsonAsync(t,s,i,e=null,r){const n=await l(i,e,r);return t[s]=n,n}async castAsJsonAsync(s=null,i=null){const e={},r=[];for(let n in this.attributes){const o=this.attributes[n];i?.keyTranslate&&(n=i.keyTranslate(n)),void 0!==o&&(c(o)||o instanceof J||o instanceof t?e[n]=u(o,i):r.push(this.castDictionaryValueAsJsonAsync(e,n,o,s,i)))}return r.length>0&&await Promise.all(r),e}deepClone(){const t=new v;t.immutable=!1;for(const i of this.keys())t.setField(i,s(this.field(i)));return t}}export{v as default};
5
+ import{ArcadeDate as t}from"./ArcadeDate.js";import{deepClone as s}from"./deepClone.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as e}from"./executionError.js";import r from"./ImmutableArray.js";import{i as n,t as o,c as a,a as u,b as l,d as c,e as f,f as h,g as m,h as y,j as b,k as d,l as g}from"../chunks/languageUtils.js";import p from"../geometry/Geometry.js";import{isBoolean as w,isNumber as J,isString as A,isArray as T}from"../support/guards.js";function j(t,s,i=!1,e=!1){if(null==t)return null;if(J(t))return c(t);if(w(t))return f(t);if(A(t))return h(t);if(m(t))return y(t,s);if(b(t))return t;if(d(t))return t;if(T(t)){const r=[];for(const n of t)r.push(j(n,s,i,e));return r}if(e&&g(t))return t;const r=new v;r.immutable=!1;for(const n of Object.keys(t)){const o=t[n];void 0!==o&&r.setField(n,j(o,s,i,e))}return r.immutable=i,r}class v{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof v?t.attributes:t??{}}field(t){const s=t.toLowerCase(),r=this.attributes[t];if(void 0!==r)return r;for(const i in this.attributes)if(i.toLowerCase()===s)return this.attributes[i];throw new i(null,e.FieldNotFound,null,{key:t})}setField(s,r){if(this.immutable)throw new i(null,e.Immutable,null);if(n(r))throw new i(null,e.NoFunctionInDictionary,null);const o=s.toLowerCase();r instanceof Date&&(r=t.dateJSToArcadeDate(r));if(void 0===this.attributes[s]){for(const t in this.attributes)if(t.toLowerCase()===o)return void(this.attributes[t]=r);this.attributes[s]=r}else this.attributes[s]=r}hasField(t){const s=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===s)return!0;return!1}keys(){let t=[];for(const s in this.attributes)t.push(s);return t=t.sort(),t}castToText(s=!1){let i="";for(const e in this.attributes){""!==i&&(i+=",");const n=this.attributes[e];null==n?i+=JSON.stringify(e)+":null":w(n)||J(n)||A(n)?i+=JSON.stringify(e)+":"+JSON.stringify(n):n instanceof p?i+=JSON.stringify(e)+":"+o(n):n instanceof r||Array.isArray(n)?i+=JSON.stringify(e)+":"+o(n,null,s):n instanceof t?i+=s?JSON.stringify(e)+":"+JSON.stringify(n.getTime()):JSON.stringify(e)+":"+n.stringify():null!==n&&"object"==typeof n&&void 0!==n.castToText&&(i+=JSON.stringify(e)+":"+n.castToText(s))}return"{"+i+"}"}static convertObjectToArcadeDictionary(t,s,i=!0,e=!1){const r=new v;r.immutable=!1;for(const n in t){const o=t[n];void 0!==o&&r.setField(n.toString(),j(o,s,i,e))}return r.immutable=i,r}static convertJsonToArcade(t,s,i=!1,e=!1){return j(t,s,i,e)}castAsJson(t=null){const s={};for(let i in this.attributes){const e=this.attributes[i];void 0!==e&&(t?.keyTranslate&&(i=t.keyTranslate(i)),s[i]=a(e,t))}return s}async castDictionaryValueAsJsonAsync(t,s,i,e=null,r){const n=await u(i,e,r);return t[s]=n,n}async castAsJsonAsync(s=null,i=null){const e={},r=[];for(let n in this.attributes){const o=this.attributes[n];i?.keyTranslate&&(n=i.keyTranslate(n)),void 0!==o&&(l(o)||o instanceof p||o instanceof t?e[n]=a(o,i):r.push(this.castDictionaryValueAsJsonAsync(e,n,o,s,i)))}return r.length>0&&await Promise.all(r),e}deepClone(){const t=new v;t.immutable=!1;for(const i of this.keys())t.setField(i,s(this.field(i)));return t}}export{v as default};
package/arcade/Feature.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ArcadeDate as e}from"./ArcadeDate.js";import{configureDeepClone as t}from"./deepClone.js";import i from"./Dictionary.js";import{ArcadeExecutionError as s,ExecutionErrorCodes as r}from"./executionError.js";import n from"./ImmutableArray.js";import{r as o,a,t as l,l as u,k as f,h as d,d as y,c as h}from"../chunks/languageUtils.js";import{DateOnly as m}from"../core/sql/DateOnly.js";import{TimeOnly as c}from"../core/sql/TimeOnly.js";import p from"../geometry/Geometry.js";import _ from"../geometry/Point.js";import{fromJSON as b}from"../geometry/support/jsonUtils.js";import{convertToGeometry as g}from"../layers/graphics/featureConversionUtils.js";import T from"../layers/support/FieldsIndex.js";import{isNumber as x,isString as F}from"../support/guards.js";class D{constructor(){this.arcadeDeclaredClass="esri.arcade.Feature",this._optimizedGeomDefinition=null,this._geometry=null,this.attributes=null,this._layer=null,this._fieldTypesFixed=!0,this.fieldsIndex=null,this.contextTimeZone=null,this.immutable=!0,this._fieldsToFixDataTypes=null,this.immutable=!0}static createFromGraphic(e,t){const i=new D;return i.contextTimeZone=t??null,i._geometry=null!=e.geometry?e.geometry:null,void 0===e.attributes||null===e.attributes?i.attributes={}:i.attributes=e.attributes,e._sourceLayer?(i._layer=e._sourceLayer,i._fieldTypesFixed=!1):e._layer?(i._layer=e._layer,i._fieldTypesFixed=!1):e.layer&&"fields"in e.layer?(i._layer=e.layer,i._fieldTypesFixed=!1):e.sourceLayer&&"fields"in e.sourceLayer&&(i._layer=e.sourceLayer,i._fieldTypesFixed=!1),i._layer&&!i._fieldTypesFixed&&(i.fieldsIndex=this.hydrateFieldsIndex(i._layer)),i}static createFromArcadeFeature(e){if(e instanceof D){const t=new D;return t._fieldTypesFixed=e._fieldTypesFixed,t.attributes=e.attributes,t._geometry=e._geometry,t._optimizedGeomDefinition=e._optimizedGeomDefinition,e._layer&&(t._layer=e._layer),t.fieldsIndex=e.fieldsIndex,t.contextTimeZone=e.contextTimeZone,t}const t={};for(const i of e.keys())t[i]=e.field(i);return D.createFromGraphicLikeObject(e.geometry(),t,e.fullSchema(),e.contextTimeZone)}static createFromOptimisedFeature(e,t,i){const s=new D;return s._geometry=e.geometry?{geometry:e.geometry}:null,s._optimizedGeomDefinition=i,s.attributes=e.attributes||{},s._layer=t,s._fieldTypesFixed=!1,s}static createFromArcadeDictionary(e,t){const s=new D;return s.attributes=e.field("attributes"),null!==s.attributes&&s.attributes instanceof i?(s.attributes=s.attributes.attributes,null===s.attributes&&(s.attributes={})):s.attributes={},s._geometry=e.field("geometry"),null!==s._geometry&&(s._geometry instanceof i?s._geometry=D.parseGeometryFromDictionary(s._geometry,t):s._geometry instanceof p||(s._geometry=null)),s}static createFromGraphicLikeObject(e,t,i=null,s){const r=new D;return r.contextTimeZone=s??null,null===t&&(t={}),r.attributes=t,r._geometry=null!=e?e:null,r._layer=i,r._layer&&(r._fieldTypesFixed=!1,r.fieldsIndex=this.hydrateFieldsIndex(r._layer)),r}static hydrateFieldsIndex(e){return null===e?null:o(e)?e.getFieldsIndex():e.fieldsIndex?e.fieldsIndex:T.fromLayerJSON({datesInUnknownTimezone:e.datesInUnknownTimezone,fields:e.fields,timeInfo:e.timeInfo,editFieldsInfo:e.editFieldsInfo,dateFieldsTimeReference:e.dateFieldsTimeReference??{timeZone:"UTC",respectsDaylightSaving:!1}})}repurposeFromGraphicLikeObject(e,t,i=null){null===t&&(t={}),this.attributes=t,this._geometry=e??null,this._layer=i,this._layer?this._fieldTypesFixed=!1:this._fieldTypesFixed=!0}castToText(t=!1){let i="";!1===this._fieldTypesFixed&&this._fixFieldTypes();for(const s in this.attributes){""!==i&&(i+=",");const r=this.attributes[s];null==r?i+=JSON.stringify(s)+":null":a(r)||x(r)||F(r)?i+=JSON.stringify(s)+":"+JSON.stringify(r):r instanceof p?i+=JSON.stringify(s)+":"+l(r):r instanceof c||r instanceof m?i+=`${JSON.stringify(s)}:${JSON.stringify(r.toString())}`:r instanceof n||Array.isArray(r)?i+=JSON.stringify(s)+":"+l(r,null,t):r instanceof e?i+=t?JSON.stringify(s)+":"+JSON.stringify(r.getTime()):JSON.stringify(s)+":"+r.stringify():null!==r&&"object"==typeof r&&void 0!==r.castToText&&(i+=JSON.stringify(s)+":"+r.castToText(t))}return'{"geometry":'+(null===this.geometry()?"null":l(this.geometry()))+',"attributes":{'+i+"}}"}_fixFieldTypes(){if(this._fieldsToFixDataTypes&&this._fieldsToFixDataTypes?.length>0)return this._fixAllFields(this._fieldsToFixDataTypes),void(this._fieldTypesFixed=!0);const e=[],t=this._layer.fields;for(let i=0;i<t.length;i++){const s=t[i],{name:r,type:n}=s;switch(n){case"date":case"esriFieldTypeDate":e.push({field:r,dataType:"date"});break;case"date-only":case"esriFieldTypeDateOnly":e.push({field:r,dataType:"date-only"});break;case"time-only":case"esriFieldTypeTimeOnly":e.push({field:r,dataType:"time-only"});break;case"timestamp-offset":case"esriFieldTypeTimestampOffset":e.push({field:r,dataType:"timestamp-offset"})}}this._fieldsToFixDataTypes=e,e.length>0&&this._fixAllFields(e),this._fieldTypesFixed=!0}isUnknownDateTimeField(e){return"unknown"===this.fieldsIndex?.getTimeZone(e)}_fixAllFields(t){this.attributes={...this.attributes};const i=this.contextTimeZone??"system";for(let s=0;s<t.length;s++){const r=t[s].field,n=t[s].dataType;let o=this.attributes[r];if(void 0===o){for(const t in this.attributes)if(t.toLowerCase()===r.toLowerCase()){if(o=this.attributes[t],null!==o){if("time-only"===n){u(o)||(this.attributes[t]=c.fromReader(o.toString()));break}if("date-only"===n){f(o)||(this.attributes[t]=m.fromReader(o.toString()));break}if("timestamp-offset"===n){d(o)||(this.attributes[t]=e.fromReaderAsTimeStampOffset(o.toString()));break}const s=this.isUnknownDateTimeField(t);o instanceof Date?this.attributes[t]=s?e.unknownDateJSToArcadeDate(o):e.dateJSAndZoneToArcadeDate(o,i):d(o)||(this.attributes[t]=s?e.unknownEpochToArcadeDate(o):e.epochToArcadeDate(o,i))}break}}else if(null!==o){if("time-only"===n){u(o)?this.attributes[r]=o:this.attributes[r]=c.fromReader(o.toString());continue}if("date-only"===n){f(o)?this.attributes[r]=o:this.attributes[r]=m.fromReader(o.toString());continue}if("timestamp-offset"===n){d(o)?this.attributes[r]=o:this.attributes[r]=e.fromReaderAsTimeStampOffset(o.toString());continue}const t=this.isUnknownDateTimeField(r);d(o)?this.attributes[r]=o:o instanceof Date?this.attributes[r]=t?e.unknownDateJSToArcadeDate(o):e.dateJSAndZoneToArcadeDate(o,i):this.attributes[r]=t?e.unknownEpochToArcadeDate(o):e.epochToArcadeDate(o,i)}}}geometry(){return null===this._geometry||this._geometry instanceof p||(this._optimizedGeomDefinition?(this._geometry=b(g(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM)),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=b(this._geometry)),this._geometry}field(e){this._fieldTypesFixed||this._fixFieldTypes();const t=this.attributes[e];if(void 0!==t)return t;const i=e.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===i)return this.attributes[s];if(this._hasFieldDefinition(i))return null;throw new s(null,r.FieldNotFound,null,{key:e})}_hasFieldDefinition(e){if(null===this._layer)return!1;for(let t=0;t<this._layer.fields.length;t++){if(this._layer.fields[t].name.toLowerCase()===e)return!0}return!1}setField(t,i){if(this.immutable)throw new s(null,r.Immutable,null);if(i instanceof Date&&(i=this.isUnknownDateTimeField(t)?e.unknownDateJSToArcadeDate(i):e.dateJSToArcadeDate(i)),!1===y(i))throw new s(null,r.TypeNotAllowedInFeature,null);const n=t.toLowerCase();if(void 0===this.attributes[t]){for(const e in this.attributes)if(e.toLowerCase()===n)return void(this.attributes[e]=i);this.attributes[t]=i}else this.attributes[t]=i}hasField(e){const t=e.toLowerCase();if(void 0!==this.attributes[e])return!0;for(const i in this.attributes)if(i.toLowerCase()===t)return!0;return!!this._hasFieldDefinition(t)}keys(){let e=[];const t={};for(const i in this.attributes)e.push(i),t[i.toLowerCase()]=1;if(null!==this._layer)for(let i=0;i<this._layer.fields.length;i++){const s=this._layer.fields[i];1!==t[s.name.toLowerCase()]&&e.push(s.name)}return e=e.sort(),e}static parseGeometryFromDictionary(e,t){const i=D._convertDictionaryToJson(e,!0);return void 0!==i.hasm&&(i.hasM=i.hasm,delete i.hasm),void 0!==i.hasz&&(i.hasZ=i.hasz,delete i.hasz),void 0!==i.spatialreference&&(i.spatialReference=i.spatialreference,delete i.spatialreference),i.spatialReference||(i.spatialReference=t),void 0!==i.rings&&(i.rings=this._fixPathArrays(i.rings,!0===i.hasZ,!0===i.hasZ)),void 0!==i.paths&&(i.paths=this._fixPathArrays(i.paths,!0===i.hasZ,!0===i.hasM)),void 0!==i.points&&(i.points=this._fixPointArrays(i.points,!0===i.hasZ,!0===i.hasM)),b(i)}static _fixPathArrays(e,t,i){const s=[];if(Array.isArray(e))for(let r=0;r<e.length;r++)s.push(this._fixPointArrays(e[r],t,i));else if(e instanceof n)for(let r=0;r<e.length();r++)s.push(this._fixPointArrays(e.get(r),t,i));return s}static _fixPointArrays(e,t,i){const s=[];if(Array.isArray(e))for(let r=0;r<e.length;r++){const o=e[r];o instanceof _?t&&i?s.push([o.x,o.y,o.z,o.m]):t?s.push([o.x,o.y,o.z]):i?s.push([o.x,o.y,o.m]):s.push([o.x,o.y]):o instanceof n?s.push(o.toArray()):s.push(o)}else if(e instanceof n)for(let r=0;r<e.length();r++){const o=e.get(r);o instanceof _?t&&i?s.push([o.x,o.y,o.z,o.m]):t?s.push([o.x,o.y,o.z]):i?s.push([o.x,o.y,o.m]):s.push([o.x,o.y]):o instanceof n?s.push(o.toArray()):s.push(o)}return s}static _convertDictionaryToJson(e,t=!1){const s={};for(const r in e.attributes){let n=e.attributes[r];n instanceof i&&(n=D._convertDictionaryToJson(n)),t?s[r.toLowerCase()]=n:s[r]=n}return s}static parseAttributesFromDictionary(e){const t={};for(const i in e.attributes){const n=e.attributes[i];if(!y(n))throw new s(null,r.InvalidParameter,null);t[i]=n}return t}static fromJson(e,t){let i=null;null!==e.geometry&&void 0!==e.geometry&&(i=b(e.geometry));const n={};if(null!==e.attributes&&void 0!==e.attributes)for(const o in e.attributes){const t=e.attributes[o];if(null===t)n[o]=t;else{if(!(F(t)||x(t)||a(t)||d(t)||u(t)||f(t)))throw new s(null,r.InvalidParameter,null);n[o]=t}}return D.createFromGraphicLikeObject(i,n,null,t??null)}fullSchema(){return this._layer}gdbVersion(){if(null===this._layer)return"";const e=this._layer.gdbVersion;return void 0===e?"":""===e&&this._layer.capabilities?.isVersioned?"SDE.DEFAULT":e}castAsJson(e){const t={attributes:{},geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null};for(const i in this.attributes){const s=this.attributes[i];void 0!==s&&(t.attributes[i]=h(s,e))}return t}async castAsJsonAsync(e=null,t){return this.castAsJson(t)}}t(D);export{D as default};
5
+ import{ArcadeDate as e}from"./ArcadeDate.js";import{configureDeepClone as t}from"./deepClone.js";import i from"./Dictionary.js";import{ArcadeExecutionError as s,ExecutionErrorCodes as r}from"./executionError.js";import n from"./ImmutableArray.js";import{p as o,t as a,k as l,j as u,g as f,b as d,c as y}from"../chunks/languageUtils.js";import{DateOnly as h}from"../core/sql/DateOnly.js";import{TimeOnly as m}from"../core/sql/TimeOnly.js";import c from"../geometry/Geometry.js";import p from"../geometry/Point.js";import{fromJSON as _}from"../geometry/support/jsonUtils.js";import{convertToGeometry as b}from"../layers/graphics/featureConversionUtils.js";import g from"../layers/support/FieldsIndex.js";import{isBoolean as T,isNumber as x,isString as F}from"../support/guards.js";class D{constructor(){this.arcadeDeclaredClass="esri.arcade.Feature",this._optimizedGeomDefinition=null,this._geometry=null,this.attributes=null,this._layer=null,this._fieldTypesFixed=!0,this.fieldsIndex=null,this.contextTimeZone=null,this.immutable=!0,this._fieldsToFixDataTypes=null,this.immutable=!0}static createFromGraphic(e,t){const i=new D;return i.contextTimeZone=t??null,i._geometry=null!=e.geometry?e.geometry:null,void 0===e.attributes||null===e.attributes?i.attributes={}:i.attributes=e.attributes,e._sourceLayer?(i._layer=e._sourceLayer,i._fieldTypesFixed=!1):e._layer?(i._layer=e._layer,i._fieldTypesFixed=!1):e.layer&&"fields"in e.layer?(i._layer=e.layer,i._fieldTypesFixed=!1):e.sourceLayer&&"fields"in e.sourceLayer&&(i._layer=e.sourceLayer,i._fieldTypesFixed=!1),i._layer&&!i._fieldTypesFixed&&(i.fieldsIndex=this.hydrateFieldsIndex(i._layer)),i}static createFromArcadeFeature(e){if(e instanceof D){const t=new D;return t._fieldTypesFixed=e._fieldTypesFixed,t.attributes=e.attributes,t._geometry=e._geometry,t._optimizedGeomDefinition=e._optimizedGeomDefinition,e._layer&&(t._layer=e._layer),t.fieldsIndex=e.fieldsIndex,t.contextTimeZone=e.contextTimeZone,t}const t={};for(const i of e.keys())t[i]=e.field(i);return D.createFromGraphicLikeObject(e.geometry(),t,e.fullSchema(),e.contextTimeZone)}static createFromOptimisedFeature(e,t,i){const s=new D;return s._geometry=e.geometry?{geometry:e.geometry}:null,s._optimizedGeomDefinition=i,s.attributes=e.attributes||{},s._layer=t,s._fieldTypesFixed=!1,s}static createFromArcadeDictionary(e,t){const s=new D;return s.attributes=e.field("attributes"),null!==s.attributes&&s.attributes instanceof i?(s.attributes=s.attributes.attributes,null===s.attributes&&(s.attributes={})):s.attributes={},s._geometry=e.field("geometry"),null!==s._geometry&&(s._geometry instanceof i?s._geometry=D.parseGeometryFromDictionary(s._geometry,t):s._geometry instanceof c||(s._geometry=null)),s}static createFromGraphicLikeObject(e,t,i=null,s){const r=new D;return r.contextTimeZone=s??null,null===t&&(t={}),r.attributes=t,r._geometry=null!=e?e:null,r._layer=i,r._layer&&(r._fieldTypesFixed=!1,r.fieldsIndex=this.hydrateFieldsIndex(r._layer)),r}static hydrateFieldsIndex(e){return null===e?null:o(e)?e.getFieldsIndex():e.fieldsIndex?e.fieldsIndex:g.fromLayerJSON({datesInUnknownTimezone:e.datesInUnknownTimezone,fields:e.fields,timeInfo:e.timeInfo,editFieldsInfo:e.editFieldsInfo,dateFieldsTimeReference:e.dateFieldsTimeReference??{timeZone:"UTC",respectsDaylightSaving:!1}})}repurposeFromGraphicLikeObject(e,t,i=null){null===t&&(t={}),this.attributes=t,this._geometry=e??null,this._layer=i,this._layer?this._fieldTypesFixed=!1:this._fieldTypesFixed=!0}castToText(t=!1){let i="";!1===this._fieldTypesFixed&&this._fixFieldTypes();for(const s in this.attributes){""!==i&&(i+=",");const r=this.attributes[s];null==r?i+=JSON.stringify(s)+":null":T(r)||x(r)||F(r)?i+=JSON.stringify(s)+":"+JSON.stringify(r):r instanceof c?i+=JSON.stringify(s)+":"+a(r):r instanceof m||r instanceof h?i+=`${JSON.stringify(s)}:${JSON.stringify(r.toString())}`:r instanceof n||Array.isArray(r)?i+=JSON.stringify(s)+":"+a(r,null,t):r instanceof e?i+=t?JSON.stringify(s)+":"+JSON.stringify(r.getTime()):JSON.stringify(s)+":"+r.stringify():null!==r&&"object"==typeof r&&void 0!==r.castToText&&(i+=JSON.stringify(s)+":"+r.castToText(t))}return'{"geometry":'+(null===this.geometry()?"null":a(this.geometry()))+',"attributes":{'+i+"}}"}_fixFieldTypes(){if(this._fieldsToFixDataTypes&&this._fieldsToFixDataTypes?.length>0)return this._fixAllFields(this._fieldsToFixDataTypes),void(this._fieldTypesFixed=!0);const e=[],t=this._layer.fields;for(let i=0;i<t.length;i++){const s=t[i],{name:r,type:n}=s;switch(n){case"date":case"esriFieldTypeDate":e.push({field:r,dataType:"date"});break;case"date-only":case"esriFieldTypeDateOnly":e.push({field:r,dataType:"date-only"});break;case"time-only":case"esriFieldTypeTimeOnly":e.push({field:r,dataType:"time-only"});break;case"timestamp-offset":case"esriFieldTypeTimestampOffset":e.push({field:r,dataType:"timestamp-offset"})}}this._fieldsToFixDataTypes=e,e.length>0&&this._fixAllFields(e),this._fieldTypesFixed=!0}isUnknownDateTimeField(e){return"unknown"===this.fieldsIndex?.getTimeZone(e)}_fixAllFields(t){this.attributes={...this.attributes};const i=this.contextTimeZone??"system";for(let s=0;s<t.length;s++){const r=t[s].field,n=t[s].dataType;let o=this.attributes[r];if(void 0===o){for(const t in this.attributes)if(t.toLowerCase()===r.toLowerCase()){if(o=this.attributes[t],null!==o){if("time-only"===n){l(o)||(this.attributes[t]=m.fromReader(o.toString()));break}if("date-only"===n){u(o)||(this.attributes[t]=h.fromReader(o.toString()));break}if("timestamp-offset"===n){f(o)||(this.attributes[t]=e.fromReaderAsTimeStampOffset(o.toString()));break}const s=this.isUnknownDateTimeField(t);o instanceof Date?this.attributes[t]=s?e.unknownDateJSToArcadeDate(o):e.dateJSAndZoneToArcadeDate(o,i):f(o)||(this.attributes[t]=s?e.unknownEpochToArcadeDate(o):e.epochToArcadeDate(o,i))}break}}else if(null!==o){if("time-only"===n){l(o)?this.attributes[r]=o:this.attributes[r]=m.fromReader(o.toString());continue}if("date-only"===n){u(o)?this.attributes[r]=o:this.attributes[r]=h.fromReader(o.toString());continue}if("timestamp-offset"===n){f(o)?this.attributes[r]=o:this.attributes[r]=e.fromReaderAsTimeStampOffset(o.toString());continue}const t=this.isUnknownDateTimeField(r);f(o)?this.attributes[r]=o:o instanceof Date?this.attributes[r]=t?e.unknownDateJSToArcadeDate(o):e.dateJSAndZoneToArcadeDate(o,i):this.attributes[r]=t?e.unknownEpochToArcadeDate(o):e.epochToArcadeDate(o,i)}}}geometry(){return null===this._geometry||this._geometry instanceof c||(this._optimizedGeomDefinition?(this._geometry=_(b(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM)),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=_(this._geometry)),this._geometry}field(e){this._fieldTypesFixed||this._fixFieldTypes();const t=this.attributes[e];if(void 0!==t)return t;const i=e.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===i)return this.attributes[s];if(this._hasFieldDefinition(i))return null;throw new s(null,r.FieldNotFound,null,{key:e})}_hasFieldDefinition(e){if(null===this._layer)return!1;for(let t=0;t<this._layer.fields.length;t++){if(this._layer.fields[t].name.toLowerCase()===e)return!0}return!1}setField(t,i){if(this.immutable)throw new s(null,r.Immutable,null);if(i instanceof Date&&(i=this.isUnknownDateTimeField(t)?e.unknownDateJSToArcadeDate(i):e.dateJSToArcadeDate(i)),!1===d(i))throw new s(null,r.TypeNotAllowedInFeature,null);const n=t.toLowerCase();if(void 0===this.attributes[t]){for(const e in this.attributes)if(e.toLowerCase()===n)return void(this.attributes[e]=i);this.attributes[t]=i}else this.attributes[t]=i}hasField(e){const t=e.toLowerCase();if(void 0!==this.attributes[e])return!0;for(const i in this.attributes)if(i.toLowerCase()===t)return!0;return!!this._hasFieldDefinition(t)}keys(){let e=[];const t={};for(const i in this.attributes)e.push(i),t[i.toLowerCase()]=1;if(null!==this._layer)for(let i=0;i<this._layer.fields.length;i++){const s=this._layer.fields[i];1!==t[s.name.toLowerCase()]&&e.push(s.name)}return e=e.sort(),e}static parseGeometryFromDictionary(e,t){const i=D._convertDictionaryToJson(e,!0);return void 0!==i.hasm&&(i.hasM=i.hasm,delete i.hasm),void 0!==i.hasz&&(i.hasZ=i.hasz,delete i.hasz),void 0!==i.spatialreference&&(i.spatialReference=i.spatialreference,delete i.spatialreference),i.spatialReference||(i.spatialReference=t),void 0!==i.rings&&(i.rings=this._fixPathArrays(i.rings,!0===i.hasZ,!0===i.hasZ)),void 0!==i.paths&&(i.paths=this._fixPathArrays(i.paths,!0===i.hasZ,!0===i.hasM)),void 0!==i.points&&(i.points=this._fixPointArrays(i.points,!0===i.hasZ,!0===i.hasM)),_(i)}static _fixPathArrays(e,t,i){const s=[];if(Array.isArray(e))for(let r=0;r<e.length;r++)s.push(this._fixPointArrays(e[r],t,i));else if(e instanceof n)for(let r=0;r<e.length();r++)s.push(this._fixPointArrays(e.get(r),t,i));return s}static _fixPointArrays(e,t,i){const s=[];if(Array.isArray(e))for(let r=0;r<e.length;r++){const o=e[r];o instanceof p?t&&i?s.push([o.x,o.y,o.z,o.m]):t?s.push([o.x,o.y,o.z]):i?s.push([o.x,o.y,o.m]):s.push([o.x,o.y]):o instanceof n?s.push(o.toArray()):s.push(o)}else if(e instanceof n)for(let r=0;r<e.length();r++){const o=e.get(r);o instanceof p?t&&i?s.push([o.x,o.y,o.z,o.m]):t?s.push([o.x,o.y,o.z]):i?s.push([o.x,o.y,o.m]):s.push([o.x,o.y]):o instanceof n?s.push(o.toArray()):s.push(o)}return s}static _convertDictionaryToJson(e,t=!1){const s={};for(const r in e.attributes){let n=e.attributes[r];n instanceof i&&(n=D._convertDictionaryToJson(n)),t?s[r.toLowerCase()]=n:s[r]=n}return s}static parseAttributesFromDictionary(e){const t={};for(const i in e.attributes){const n=e.attributes[i];if(!d(n))throw new s(null,r.InvalidParameter,null);t[i]=n}return t}static fromJson(e,t){let i=null;null!==e.geometry&&void 0!==e.geometry&&(i=_(e.geometry));const n={};if(null!==e.attributes&&void 0!==e.attributes)for(const o in e.attributes){const t=e.attributes[o];if(null===t)n[o]=t;else{if(!(F(t)||x(t)||T(t)||f(t)||l(t)||u(t)))throw new s(null,r.InvalidParameter,null);n[o]=t}}return D.createFromGraphicLikeObject(i,n,null,t??null)}fullSchema(){return this._layer}gdbVersion(){if(null===this._layer)return"";const e=this._layer.gdbVersion;return void 0===e?"":""===e&&this._layer.capabilities?.isVersioned?"SDE.DEFAULT":e}castAsJson(e){const t={attributes:{},geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null};for(const i in this.attributes){const s=this.attributes[i];void 0!==s&&(t.attributes[i]=y(s,e))}return t}async castAsJsonAsync(e=null,t){return this.castAsJson(t)}}t(D);export{D as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{toSymbolId as e}from"./arcadeEnvironment.js";import{ArcadeModule as t}from"./ArcadeModule.js";import{ArcadeModuleLoader as n}from"./ArcadeModuleLoader.js";import{getNestedOptionalValue as r,geometryMember as o}from"./containerUtils.js";import a from"./Dictionary.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as l,ensureArcadeExecutionError as s}from"./executionError.js";import c from"./Feature.js";import{NativeFunction as u,ScopeMarshalledFunction as f,ArcadeFunction as p,wrapModuleScopedResponse as w}from"./FunctionWrapper.js";import{D as d,a as h,B as g,i as m,x as y,m as v,e as b,p as S,o as x,g as F,A as I,C as M,R as C,I as R,y as k,z as A,v as N,r as O}from"../chunks/languageUtils.js";import{addFunctionDeclaration as E}from"./treeAnalysis.js";import{A as j}from"../chunks/array.js";import{registerFunctions as B}from"./functions/date.js";import{registerFunctions as K}from"./functions/geomasync.js";import{registerFunctions as L}from"./functions/geometry.js";import{registerFunctions as U}from"./functions/maths.js";import{registerFunctions as D}from"./functions/stats.js";import{registerFunctions as Z}from"./functions/string.js";import G from"../geometry/Geometry.js";import q from"../geometry/SpatialReference.js";import{isString as P,isNumber as W,isGraphic as T}from"../support/guards.js";async function V(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await J(e,t.arguments[r]));return n}async function _(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await V(e,t))}class z extends p{constructor(e,t){super(),this.definition=null,this.context=null,this.definition=e,this.context=t}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,localScope:{},depthCounter:{depth:e.depthCounter+1},globalScope:this.context.globalScope};if(n.depthCounter.depth>64)throw new i(e,l.MaximumCallDepth,null);return Ae(this.definition,n,t,null)}}call(e,t){return H(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:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1}};if(a.depthCounter.depth>64)throw new i(e,l.MaximumCallDepth,t);return Ae(this.definition,a,o,t)}))}marshalledCall(e,t,n,r){return r(e,t,(async(o,a,i)=>{const l={spatialReference:e.spatialReference,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:{}};return i=i.map((t=>!m(t)||t instanceof f?t:w(t,e,r))),w(await Ae(this.definition,l,i,t),n,r)}))}}class Y extends t{constructor(e){super(),this.source=e}async global(e){const t=this.executingContext.globalScope[e.toLowerCase()];if(t.valueset||(t.value=await J(this.executingContext,t.node),t.valueset=!0),m(t.value)&&!(t.value instanceof f)){const e=new f;e.fn=t.value,e.parameterEvaluator=H,e.context=this.executingContext,t.value=e}return t.value}setGlobal(e,t){if(m(t))throw new i(null,l.AssignModuleFunction,null);this.executingContext.globalScope[e.toLowerCase()]={value:t,valueset:!0,node:null}}hasGlobal(e){return void 0===this.executingContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.executingContext.exports[e]}async loadModule(e){let t=e.spatialReference;null==t&&(t=new q({wkid:102100})),this.moduleScope=Ee({},e.customfunctions,e.timeZone),this.executingContext={spatialReference:t,services:e.services,libraryResolver:new n(e.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,globalScope:this.moduleScope,console:e.console??je,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:null,depthCounter:{depth:1}},await ue(this.executingContext,this.source.syntax)}}async function H(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await V(e,t))}async function J(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await ae(e,t);case"AssignmentExpression":return await le(e,t);case"TemplateLiteral":return await Me(e,t);case"Identifier":return await Fe(e,t);case"MemberExpression":return await ye(e,t);case"Literal":return t.value;case"CallExpression":return await Ie(e,t);case"UnaryExpression":return await ve(e,t);case"BinaryExpression":return await Se(e,t);case"LogicalExpression":return await xe(e,t);case"ArrayExpression":return await be(e,t);case"ObjectExpression":return await X(e,t);default:throw new i(e,l.Unrecognized,t)}}catch(n){throw s(e,t,n)}}async function Q(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await de(e,t);case"ExportNamedDeclaration":return await he(e,t);case"VariableDeclaration":return await ge(e,t,0);case"BlockStatement":return await ue(e,t);case"FunctionDeclaration":return await we(e,t);case"ReturnStatement":return await pe(e,t);case"IfStatement":return await ce(e,t);case"ExpressionStatement":return await se(e,t);case"ForStatement":return await ee(e,t);case"WhileStatement":return await $(e,t);case"ForInStatement":return await oe(e,t);case"BreakStatement":return k;case"EmptyStatement":return y;case"ContinueStatement":return A;default:throw new i(e,l.Unrecognized,t)}}catch(n){throw s(e,t,n)}}async function X(e,t){const n=[];for(let a=0;a<t.properties.length;a++){const r=t.properties[a],o=await J(e,r.value),i="Identifier"===r.key.type?r.key.name:await J(e,r.key);n[a]={key:i,value:o}}const r={},o=new Map;for(let a=0;a<n.length;a++){const s=n[a];if(m(s.value))throw new i(e,l.NoFunctionInDictionary,t);if(!1===P(s.key))throw new i(e,l.KeyMustBeString,t);let c=s.key.toString();const u=c.toLowerCase();o.has(u)?c=o.get(u):o.set(u,c),s.value===y?r[c]=null:r[c]=s.value}const s=new a(r);return s.immutable=!1,s}async function $(e,t){let n=await J(e,t.test);if(!1===n)return y;if(!0!==n)throw new i(e,l.BooleanConditionRequired,t);for(;!0===n;){const r=await Q(e,t.body);if(r===k)break;if(r instanceof C)return r;if(n=await J(e,t.test),!0!==n&&!1!==n)throw new i(e,l.BooleanConditionRequired,t)}return y}async function ee(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await Q(e,t.init):await J(e,t.init));;){if(null!==t.test){const n=await J(e,t.test);if(!0===e.abortSignal?.aborted)throw new i(e,l.Cancelled,t);if(!1===n)break;if(!0!==n)throw new i(e,l.BooleanConditionRequired,t)}const n=await Q(e,t.body);if(n===k)break;if(n instanceof C)return n;null!==t.update&&await J(e,t.update)}return y}catch(n){throw n}}async function te(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){r.value="k"===o?n[i]:i;const a=await Q(e,t.body);if(a===k)break;if(a instanceof C)return a}return y}async function ne(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.value="k"===o?n.get(i):i;const a=await Q(e,t.body);if(a===k)break;if(a instanceof C)return a}return y}async function re(e,t,n,r){const o=n.iterator(e.abortSignal);let a;for(;null!=(a=await o.next());){const o=c.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone);o._underlyingGraphic=a,r.value=o;const i=await Q(e,t.body);if(i===k)break;if(i instanceof C)return i}return y}async function oe(t,n){const r=await J(t,n.right);"VariableDeclaration"===n.left.type&&await Q(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let s=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(s=t.localScope[o]),null===s&&void 0!==t.globalScope[o]&&(s=t.globalScope[o]),null===s)throw new i(t,l.InvalidIdentifier,n);return v(r)||P(r)?await te(t,n,r,s):x(r)?await ne(t,n,r,s):r instanceof a||S(r)?await te(t,n,r.keys(),s,"k"):O(r)?await re(t,n,r,s):y}async function ae(t,n){const r=n.argument;if("CallExpression"===r.type)throw new i(t,l.NeverReach,n);if("MemberExpression"===r.type){const e=await J(t,r.object);let o,s;if(!0===r.computed)o=await J(t,r.property);else{if("Identifier"!==r.property.type)throw new i(t,l.Unrecognized,n);o=r.property.name}if(v(e)){if(!W(o))throw new i(t,l.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>=e.length)throw new i(t,l.OutOfBounds,n);s=b(e[o]),e[o]="++"===n.operator?s+1:s-1}else if(e instanceof a){if(!1===P(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new i(t,l.FieldNotFound,n,{key:o});s=b(e.field(o)),e.setField(o,"++"===n.operator?s+1:s-1)}else if(e instanceof Y){if(!1===P(o))throw new i(t,l.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new i(t,l.ModuleExportNotFound,n);s=b(await e.global(o)),e.setGlobal(o,"++"===n.operator?s+1:s-1)}else{if(!S(e))throw x(e)?new i(t,l.Immutable,n):new i(t,l.InvalidParameter,n);if(!1===P(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new i(t,l.FieldNotFound,n,{key:o});s=b(e.field(o)),e.setField(o,"++"===n.operator?s+1:s-1)}return!1===n.prefix?s:"++"===n.operator?s+1:s-1}const o=e(r);let s;if(null!=t.localScope&&void 0!==t.localScope[o])return s=b(t.localScope[o].value),t.localScope[o]={value:"++"===n.operator?s+1:s-1,valueset:!0,node:n},!1===n.prefix?s:"++"===n.operator?s+1:s-1;if(void 0!==t.globalScope[o])return s=b(t.globalScope[o].value),t.globalScope[o]={value:"++"===n.operator?s+1:s-1,valueset:!0,node:n},!1===n.prefix?s:"++"===n.operator?s+1:s-1;throw new i(t,l.InvalidIdentifier,n)}function ie(e,t,n,r,o){switch(t){case"=":return e===y?null:e;case"/=":return b(n)/b(e);case"*=":return b(n)*b(e);case"-=":return b(n)-b(e);case"+=":return P(n)||P(e)?F(n)+F(e):b(n)+b(e);case"%=":return b(n)%b(e);default:throw new i(o,l.UnsupportedOperator,r)}}async function le(t,n){const r=n.left;if("MemberExpression"===r.type){const e=await J(t,r.object);let o;if(!0===r.computed)o=await J(t,r.property);else{if("Identifier"!==r.property.type)throw new i(t,l.InvalidIdentifier,n);o=r.property.name}const s=await J(t,n.right);if(v(e)){if(!W(o))throw new i(t,l.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>e.length)throw new i(t,l.OutOfBounds,n);if(o===e.length){if("="!==n.operator)throw new i(t,l.OutOfBounds,n);e[o]=ie(s,n.operator,e[o],n,t)}else e[o]=ie(s,n.operator,e[o],n,t)}else if(e instanceof a){if(!1===P(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,ie(s,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new i(t,l.FieldNotFound,n,{key:o});e.setField(o,ie(s,n.operator,null,n,t))}}else if(e instanceof Y){if(!1===P(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new i(t,l.ModuleExportNotFound,n);e.setGlobal(o,ie(s,n.operator,await e.global(o),n,t))}else{if(!S(e))throw x(e)?new i(t,l.Immutable,n):new i(t,l.InvalidParameter,n);if(!1===P(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,ie(s,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new i(t,l.FieldNotFound,n,{key:o});e.setField(o,ie(s,n.operator,null,n,t))}}return y}const o=e(r);if(null!=t.localScope&&void 0!==t.localScope[o]){const e=await J(t,n.right);return t.localScope[o]={value:ie(e,n.operator,t.localScope[o].value,n,t),valueset:!0,node:n.right},y}if(void 0!==t.globalScope[o]){const e=await J(t,n.right);return t.globalScope[o]={value:ie(e,n.operator,t.globalScope[o].value,n,t),valueset:!0,node:n.right},y}throw new i(t,l.InvalidIdentifier,n)}async function se(e,t){const n=await J(e,t.expression);return n===y?y:new R(n)}async function ce(e,t){const n=await J(e,t.test);if(!0===n)return Q(e,t.consequent);if(!1===n)return null!==t.alternate?Q(e,t.alternate):y;throw new i(e,l.BooleanConditionRequired,t)}async function ue(e,t){return fe(e,t,0)}async function fe(e,t,n){if(n>=t.body.length)return y;const r=await Q(e,t.body[n]);return r instanceof C||r===k||r===A||n===t.body.length-1?r:fe(e,t,n+1)}async function pe(e,t){if(null===t.argument)return new C(y);const n=await J(e,t.argument);return new C(n)}async function we(t,n){const r=e(n.id);return t.globalScope[r]={valueset:!0,node:null,value:new z(n,t)},y}async function de(t,n){const r=e(n.specifiers[0].local),o=t.libraryResolver.loadLibrary(r);let a;return t.libraryResolver._moduleSingletons?.has(o.uri)?a=t.libraryResolver._moduleSingletons.get(o.uri):(a=new Y(o),await a.loadModule(t),t.libraryResolver._moduleSingletons?.set(o.uri,a)),t.globalScope[r]={value:a,valueset:!0,node:n},y}async function he(t,n){if(await Q(t,n.declaration),"FunctionDeclaration"===n.declaration.type)t.exports[e(n.declaration.id)]="function";else if("VariableDeclaration"===n.declaration.type)for(const r of n.declaration.declarations)t.exports[e(r.id)]="variable";return y}async function ge(e,t,n){return n>=t.declarations.length?y:(await me(e,t.declarations[n]),n===t.declarations.length-1||await ge(e,t,n+1),y)}async function me(t,n){let r=null;if(r=null===n.init?null:await J(t,n.init),null!==t.localScope){if(r===y&&(r=null),"Identifier"!==n.id.type)throw new i(t,l.InvalidIdentifier,n);const o=e(n.id);return void(null!=t.localScope&&(t.localScope[o]={value:r,valueset:!0,node:n.init}))}if("Identifier"!==n.id.type)throw new i(t,l.InvalidIdentifier,n);const o=e(n.id);r===y&&(r=null),t.globalScope[o]={value:r,valueset:!0,node:n.init}}async function ye(e,t){const n=await J(e,t.object);if(null===n)throw new i(e,l.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof a||S(n))return n.field(t.property.name);if(n instanceof G)return o(n,t.property.name,e,t);if(n instanceof Y){if(!n.hasGlobal(t.property.name))throw new i(e,l.InvalidIdentifier,t);return n.global(t.property.name)}throw new i(e,l.InvalidMemberAccessKey,t)}throw new i(e,l.InvalidMemberAccessKey,t)}let r=await J(e,t.property);if(n instanceof a||S(n)){if(P(r))return n.field(r);throw new i(e,l.InvalidMemberAccessKey,t)}if(n instanceof Y){if(P(r))return n.global(r);throw new i(e,l.InvalidMemberAccessKey,t)}if(n instanceof G){if(P(r))return o(n,r,e,t);throw new i(e,l.InvalidMemberAccessKey,t)}if(v(n)){if(W(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new i(e,l.OutOfBounds,t);return n[r]}throw new i(e,l.InvalidMemberAccessKey,t)}if(x(n)){if(W(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new i(e,l.OutOfBounds,t);return n.get(r)}throw new i(e,l.InvalidMemberAccessKey,t)}if(P(n)){if(W(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new i(e,l.OutOfBounds,t);return n[r]}throw new i(e,l.InvalidMemberAccessKey,t)}throw new i(e,l.InvalidMemberAccessKey,t)}async function ve(e,t){const n=await J(e,t.argument);if(h(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*b(n);if("+"===t.operator)return 1*b(n);if("~"===t.operator)return~b(n);throw new i(e,l.UnsupportedUnaryOperator,t)}if("-"===t.operator)return-1*b(n);if("+"===t.operator)return 1*b(n);if("~"===t.operator)return~b(n);throw new i(e,l.UnsupportedUnaryOperator,t)}async function be(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await J(e,t.elements[r]));for(let r=0;r<n.length;r++){if(m(n[r]))throw new i(e,l.NoFunctionInArray,t);n[r]===y&&(n[r]=null)}return n}async function Se(e,t){const n=await J(e,t.left),r=await J(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return M(b(n),b(r),t.operator);case"==":return g(n,r);case"!=":return!g(n,r);case"<":case">":case"<=":case">=":return I(n,r,t.operator);case"+":return P(n)||P(r)?F(n)+F(r):b(n)+b(r);case"-":return b(n)-b(r);case"*":return b(n)*b(r);case"/":return b(n)/b(r);case"%":return b(n)%b(r);default:throw new i(e,l.UnsupportedOperator,t)}}async function xe(e,t){const n=await J(e,t.left);if(!h(n))throw new i(e,l.LogicalExpressionOnlyBoolean,t);switch(t.operator){case"||":{if(!0===n)return n;const r=await J(e,t.right);if(h(r))return r;throw new i(e,l.LogicExpressionOrAnd,t)}case"&&":{if(!1===n)return n;const r=await J(e,t.right);if(h(r))return r;throw new i(e,l.LogicExpressionOrAnd,t)}default:throw new i(e,l.LogicExpressionOrAnd,t)}}async function Fe(t,n){const r=e(n);if(null!=t.localScope&&void 0!==t.localScope[r]){const e=t.localScope[r];if(!0===e.valueset)return e.value;if(null!==e.d)return e.d;e.d=J(t,e.node);const n=await e.d;return e.value=n,e.valueset=!0,n}if(void 0!==t.globalScope[r]){const e=t.globalScope[r];if(!0===e.valueset)return e.value;if(null!==e.d)return e.d;e.d=J(t,e.node);const n=await e.d;return e.value=n,e.valueset=!0,n}throw new i(t,l.InvalidIdentifier,n)}async function Ie(t,n){if("MemberExpression"===n.callee.type){const e=await J(t,n.callee.object);if(!(e instanceof Y))throw new i(t,l.FunctionNotFound,n);const r=!1===n.callee.computed?n.callee.property.name:await J(t,n.callee.property);if(!e.hasGlobal(r))throw new i(t,l.FunctionNotFound,n);const o=await e.global(r);if(!m(o))throw new i(t,l.CallNonFunction,n);return o.call(t,n)}if("Identifier"!==n.callee.type)throw new i(t,l.FunctionNotFound,n);const r=e(n.callee);if(null!=t.localScope&&void 0!==t.localScope[r]){const e=t.localScope[r];if(m(e.value))return e.value.call(t,n);throw new i(t,l.CallNonFunction,n)}if(void 0!==t.globalScope[r]){const e=t.globalScope[r];if(m(e.value))return e.value.call(t,n);throw new i(t,l.CallNonFunction,n)}throw new i(t,l.FunctionNotFound,n)}async function Me(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 J(e,t.expressions[r]);if(m(o))throw new i(e,l.NoFunctionInTemplateLiteral,t);n+=F(o)}r++}return n}const Ce={};async function Re(e,t,n,r){const o=await J(e,t.arguments[n]);if(g(o,r))return J(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?J(e,t.arguments[n]):2===a?null:3===a?J(e,t.arguments[n+2]):Re(e,t,n+2,r)}async function ke(e,t,n,r){if(!0===r)return J(e,t.arguments[n+1]);if(3===t.arguments.length-n)return J(e,t.arguments[n+2]);const o=await J(e,t.arguments[n+2]);if(!1===h(o))throw new i(e,l.ModuleExportNotFound,t.arguments[n+2]);return ke(e,t,n+2,o)}async function Ae(t,n,r,o){const a=t.body;if(r.length!==t.params.length)throw new i(n,l.WrongNumberOfParameters,null);for(let i=0;i<r.length;i++){const o=t.params[i];"Identifier"===o.type&&null!=n.localScope&&(n.localScope[e(o)]={d:null,value:r[i],valueset:!0,node:null})}const s=await Q(n,a);if(s instanceof C)return s.value;if(s===k)throw new i(n,l.UnexpectedToken,o);if(s===A)throw new i(n,l.UnexpectedToken,o);return s instanceof R?s.value:s}B(Ce,_),Z(Ce,_),U(Ce,_),L(Ce,_),D(Ce,_),K({functions:Ce,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:_,standardFunctionAsync:H}),Ce.iif=async function(e,t){d(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await J(e,t.arguments[0]);if(!1===h(n))throw new i(e,l.BooleanConditionRequired,t);return J(e,n?t.arguments[1]:t.arguments[2])},Ce.defaultvalue=async function(e,t){d(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await J(e,t.arguments[0]);if(3===t.arguments.length){const o=await J(e,t.arguments[1]),a=r(n,o);return null!=a&&""!==a?a:J(e,t.arguments[2])}return null==n||""===n?J(e,t.arguments[1]):n},Ce.decode=async function(e,t){if(t.arguments.length<2)throw new i(e,l.WrongNumberOfParameters,t);if(2===t.arguments.length)return J(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new i(e,l.WrongNumberOfParameters,t);return Re(e,t,1,await J(e,t.arguments[0]))},Ce.when=async function(e,t){if(t.arguments.length<3)throw new i(e,l.WrongNumberOfParameters,t);if(t.arguments.length%2==0)throw new i(e,l.WrongNumberOfParameters,t);const n=await J(e,t.arguments[0]);if(!1===h(n))throw new i(e,l.BooleanConditionRequired,t.arguments[0]);return ke(e,t,0,n)};const Ne={fixSpatialReference:N,parseArguments:V,standardFunction:_,standardFunctionAsync:H,evaluateIdentifier:Fe};for(const Ue in Ce)Ce[Ue]={value:new u(Ce[Ue]),valueset:!0,node:null};const Oe=function(){};function Ee(e,t,n){const r=new Oe;null==e&&(e={}),null==t&&(t={});const o=new a({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});o.immutable=!1,r.textformatting={value:o,valueset:!0,node:null};for(const a in t)r[a]={value:new u(t[a]),native:!0,valueset:!0,node:null};for(const a in e)r[a]={value:T(e[a])?c.createFromGraphic(e[a],n):e[a],valueset:!0,node:null};return r}function je(e){console.log(e)}Oe.prototype=Ce,Oe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Oe.prototype.pi={value:Math.PI,valueset:!0,node:null};const Be=Ne;function Ke(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:_,standardFunctionAsync:H,evaluateIdentifier:Fe};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)Ce[n]={value:new u(t.functions[n]),valueset:!0,node:null},Oe.prototype[n]=Ce[n];for(let n=0;n<t.signatures.length;n++)E(t.signatures[n],"async")}async function Le(e,t){let r=t.spatialReference;null==r&&(r=new q({wkid:102100}));let o=null;e.usesModules&&(o=new n(new Map,e.loadedModules));const a=Ee(t.vars,t.customfunctions,t.timeZone),s={spatialReference:r,services:t.services,exports:{},libraryResolver:o,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:a,console:t.console??je,timeZone:t.timeZone??null,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:{depth:1}},c=await ue(s,e);if(c instanceof C||c instanceof R){const e=c.value;if(e===y)return null;if(m(e))throw new i(s,l.IllegalResult,null);return e}if(c===y)return null;if(c===k)throw new i(s,l.IllegalResult,null);if(c===A)throw new i(s,l.IllegalResult,null);throw new i(s,l.NeverReach,null)}Ke([j]);export{Le as executeScript,Ke as extend,Be as functionHelper};
5
+ import{toSymbolId as e}from"./arcadeEnvironment.js";import{ArcadeModule as t}from"./ArcadeModule.js";import{ArcadeModuleLoader as n}from"./ArcadeModuleLoader.js";import{getNestedOptionalValue as r,geometryMember as o}from"./containerUtils.js";import a from"./Dictionary.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as l,ensureArcadeExecutionError as s}from"./executionError.js";import c from"./Feature.js";import{NativeFunction as u,ScopeMarshalledFunction as f,ArcadeFunction as p,wrapModuleScopedResponse as w}from"./FunctionWrapper.js";import{B as d,z as h,i as g,v as m,d as y,n as v,m as b,f as S,y as x,A as F,R as I,I as M,w as C,x as R,s as k,p as A}from"../chunks/languageUtils.js";import{addFunctionDeclaration as N}from"./treeAnalysis.js";import{A as O}from"../chunks/array.js";import{registerFunctions as E}from"./functions/date.js";import{registerFunctions as j}from"./functions/geomasync.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as K}from"./functions/maths.js";import{registerFunctions as L}from"./functions/stats.js";import{registerFunctions as U}from"./functions/string.js";import D from"../geometry/Geometry.js";import Z from"../geometry/SpatialReference.js";import{isBoolean as G,isString as q,isArray as P,isNumber as W,isGraphic as T}from"../support/guards.js";async function V(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await J(e,t.arguments[r]));return n}async function _(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await V(e,t))}class z extends p{constructor(e,t){super(),this.definition=null,this.context=null,this.definition=e,this.context=t}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,localScope:{},depthCounter:{depth:e.depthCounter+1},globalScope:this.context.globalScope};if(n.depthCounter.depth>64)throw new i(e,l.MaximumCallDepth,null);return Ae(this.definition,n,t,null)}}call(e,t){return H(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:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1}};if(a.depthCounter.depth>64)throw new i(e,l.MaximumCallDepth,t);return Ae(this.definition,a,o,t)}))}marshalledCall(e,t,n,r){return r(e,t,(async(o,a,i)=>{const l={spatialReference:e.spatialReference,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:{}};return i=i.map((t=>!g(t)||t instanceof f?t:w(t,e,r))),w(await Ae(this.definition,l,i,t),n,r)}))}}class Y extends t{constructor(e){super(),this.source=e}async global(e){const t=this.executingContext.globalScope[e.toLowerCase()];if(t.valueset||(t.value=await J(this.executingContext,t.node),t.valueset=!0),g(t.value)&&!(t.value instanceof f)){const e=new f;e.fn=t.value,e.parameterEvaluator=H,e.context=this.executingContext,t.value=e}return t.value}setGlobal(e,t){if(g(t))throw new i(null,l.AssignModuleFunction,null);this.executingContext.globalScope[e.toLowerCase()]={value:t,valueset:!0,node:null}}hasGlobal(e){return void 0===this.executingContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.executingContext.exports[e]}async loadModule(e){let t=e.spatialReference;null==t&&(t=new Z({wkid:102100})),this.moduleScope=Ee({},e.customfunctions,e.timeZone),this.executingContext={spatialReference:t,services:e.services,libraryResolver:new n(e.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,globalScope:this.moduleScope,console:e.console??je,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:null,depthCounter:{depth:1}},await ue(this.executingContext,this.source.syntax)}}async function H(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await V(e,t))}async function J(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await ae(e,t);case"AssignmentExpression":return await le(e,t);case"TemplateLiteral":return await Me(e,t);case"Identifier":return await Fe(e,t);case"MemberExpression":return await ye(e,t);case"Literal":return t.value;case"CallExpression":return await Ie(e,t);case"UnaryExpression":return await ve(e,t);case"BinaryExpression":return await Se(e,t);case"LogicalExpression":return await xe(e,t);case"ArrayExpression":return await be(e,t);case"ObjectExpression":return await X(e,t);default:throw new i(e,l.Unrecognized,t)}}catch(n){throw s(e,t,n)}}async function Q(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await de(e,t);case"ExportNamedDeclaration":return await he(e,t);case"VariableDeclaration":return await ge(e,t,0);case"BlockStatement":return await ue(e,t);case"FunctionDeclaration":return await we(e,t);case"ReturnStatement":return await pe(e,t);case"IfStatement":return await ce(e,t);case"ExpressionStatement":return await se(e,t);case"ForStatement":return await ee(e,t);case"WhileStatement":return await $(e,t);case"ForInStatement":return await oe(e,t);case"BreakStatement":return C;case"EmptyStatement":return m;case"ContinueStatement":return R;default:throw new i(e,l.Unrecognized,t)}}catch(n){throw s(e,t,n)}}async function X(e,t){const n=[];for(let a=0;a<t.properties.length;a++){const r=t.properties[a],o=await J(e,r.value),i="Identifier"===r.key.type?r.key.name:await J(e,r.key);n[a]={key:i,value:o}}const r={},o=new Map;for(let a=0;a<n.length;a++){const s=n[a];if(g(s.value))throw new i(e,l.NoFunctionInDictionary,t);if(!1===q(s.key))throw new i(e,l.KeyMustBeString,t);let c=s.key.toString();const u=c.toLowerCase();o.has(u)?c=o.get(u):o.set(u,c),s.value===m?r[c]=null:r[c]=s.value}const s=new a(r);return s.immutable=!1,s}async function $(e,t){let n=await J(e,t.test);if(!1===n)return m;if(!0!==n)throw new i(e,l.BooleanConditionRequired,t);for(;!0===n;){const r=await Q(e,t.body);if(r===C)break;if(r instanceof I)return r;if(n=await J(e,t.test),!0!==n&&!1!==n)throw new i(e,l.BooleanConditionRequired,t)}return m}async function ee(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await Q(e,t.init):await J(e,t.init));;){if(null!==t.test){const n=await J(e,t.test);if(!0===e.abortSignal?.aborted)throw new i(e,l.Cancelled,t);if(!1===n)break;if(!0!==n)throw new i(e,l.BooleanConditionRequired,t)}const n=await Q(e,t.body);if(n===C)break;if(n instanceof I)return n;null!==t.update&&await J(e,t.update)}return m}catch(n){throw n}}async function te(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){r.value="k"===o?n[i]:i;const a=await Q(e,t.body);if(a===C)break;if(a instanceof I)return a}return m}async function ne(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.value="k"===o?n.get(i):i;const a=await Q(e,t.body);if(a===C)break;if(a instanceof I)return a}return m}async function re(e,t,n,r){const o=n.iterator(e.abortSignal);let a;for(;null!=(a=await o.next());){const o=c.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone);o._underlyingGraphic=a,r.value=o;const i=await Q(e,t.body);if(i===C)break;if(i instanceof I)return i}return m}async function oe(t,n){const r=await J(t,n.right);"VariableDeclaration"===n.left.type&&await Q(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let s=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(s=t.localScope[o]),null===s&&void 0!==t.globalScope[o]&&(s=t.globalScope[o]),null===s)throw new i(t,l.InvalidIdentifier,n);return P(r)||q(r)?await te(t,n,r,s):b(r)?await ne(t,n,r,s):r instanceof a||v(r)?await te(t,n,r.keys(),s,"k"):A(r)?await re(t,n,r,s):m}async function ae(t,n){const r=n.argument;if("CallExpression"===r.type)throw new i(t,l.NeverReach,n);if("MemberExpression"===r.type){const e=await J(t,r.object);let o,s;if(!0===r.computed)o=await J(t,r.property);else{if("Identifier"!==r.property.type)throw new i(t,l.Unrecognized,n);o=r.property.name}if(P(e)){if(!W(o))throw new i(t,l.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>=e.length)throw new i(t,l.OutOfBounds,n);s=y(e[o]),e[o]="++"===n.operator?s+1:s-1}else if(e instanceof a){if(!1===q(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new i(t,l.FieldNotFound,n,{key:o});s=y(e.field(o)),e.setField(o,"++"===n.operator?s+1:s-1)}else if(e instanceof Y){if(!1===q(o))throw new i(t,l.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new i(t,l.ModuleExportNotFound,n);s=y(await e.global(o)),e.setGlobal(o,"++"===n.operator?s+1:s-1)}else{if(!v(e))throw b(e)?new i(t,l.Immutable,n):new i(t,l.InvalidParameter,n);if(!1===q(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new i(t,l.FieldNotFound,n,{key:o});s=y(e.field(o)),e.setField(o,"++"===n.operator?s+1:s-1)}return!1===n.prefix?s:"++"===n.operator?s+1:s-1}const o=e(r);let s;if(null!=t.localScope&&void 0!==t.localScope[o])return s=y(t.localScope[o].value),t.localScope[o]={value:"++"===n.operator?s+1:s-1,valueset:!0,node:n},!1===n.prefix?s:"++"===n.operator?s+1:s-1;if(void 0!==t.globalScope[o])return s=y(t.globalScope[o].value),t.globalScope[o]={value:"++"===n.operator?s+1:s-1,valueset:!0,node:n},!1===n.prefix?s:"++"===n.operator?s+1:s-1;throw new i(t,l.InvalidIdentifier,n)}function ie(e,t,n,r,o){switch(t){case"=":return e===m?null:e;case"/=":return y(n)/y(e);case"*=":return y(n)*y(e);case"-=":return y(n)-y(e);case"+=":return q(n)||q(e)?S(n)+S(e):y(n)+y(e);case"%=":return y(n)%y(e);default:throw new i(o,l.UnsupportedOperator,r)}}async function le(t,n){const r=n.left;if("MemberExpression"===r.type){const e=await J(t,r.object);let o;if(!0===r.computed)o=await J(t,r.property);else{if("Identifier"!==r.property.type)throw new i(t,l.InvalidIdentifier,n);o=r.property.name}const s=await J(t,n.right);if(P(e)){if(!W(o))throw new i(t,l.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>e.length)throw new i(t,l.OutOfBounds,n);if(o===e.length){if("="!==n.operator)throw new i(t,l.OutOfBounds,n);e[o]=ie(s,n.operator,e[o],n,t)}else e[o]=ie(s,n.operator,e[o],n,t)}else if(e instanceof a){if(!1===q(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,ie(s,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new i(t,l.FieldNotFound,n,{key:o});e.setField(o,ie(s,n.operator,null,n,t))}}else if(e instanceof Y){if(!1===q(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new i(t,l.ModuleExportNotFound,n);e.setGlobal(o,ie(s,n.operator,await e.global(o),n,t))}else{if(!v(e))throw b(e)?new i(t,l.Immutable,n):new i(t,l.InvalidParameter,n);if(!1===q(o))throw new i(t,l.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,ie(s,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new i(t,l.FieldNotFound,n,{key:o});e.setField(o,ie(s,n.operator,null,n,t))}}return m}const o=e(r);if(null!=t.localScope&&void 0!==t.localScope[o]){const e=await J(t,n.right);return t.localScope[o]={value:ie(e,n.operator,t.localScope[o].value,n,t),valueset:!0,node:n.right},m}if(void 0!==t.globalScope[o]){const e=await J(t,n.right);return t.globalScope[o]={value:ie(e,n.operator,t.globalScope[o].value,n,t),valueset:!0,node:n.right},m}throw new i(t,l.InvalidIdentifier,n)}async function se(e,t){const n=await J(e,t.expression);return n===m?m:new M(n)}async function ce(e,t){const n=await J(e,t.test);if(!0===n)return Q(e,t.consequent);if(!1===n)return null!==t.alternate?Q(e,t.alternate):m;throw new i(e,l.BooleanConditionRequired,t)}async function ue(e,t){return fe(e,t,0)}async function fe(e,t,n){if(n>=t.body.length)return m;const r=await Q(e,t.body[n]);return r instanceof I||r===C||r===R||n===t.body.length-1?r:fe(e,t,n+1)}async function pe(e,t){if(null===t.argument)return new I(m);const n=await J(e,t.argument);return new I(n)}async function we(t,n){const r=e(n.id);return t.globalScope[r]={valueset:!0,node:null,value:new z(n,t)},m}async function de(t,n){const r=e(n.specifiers[0].local),o=t.libraryResolver.loadLibrary(r);let a;return t.libraryResolver._moduleSingletons?.has(o.uri)?a=t.libraryResolver._moduleSingletons.get(o.uri):(a=new Y(o),await a.loadModule(t),t.libraryResolver._moduleSingletons?.set(o.uri,a)),t.globalScope[r]={value:a,valueset:!0,node:n},m}async function he(t,n){if(await Q(t,n.declaration),"FunctionDeclaration"===n.declaration.type)t.exports[e(n.declaration.id)]="function";else if("VariableDeclaration"===n.declaration.type)for(const r of n.declaration.declarations)t.exports[e(r.id)]="variable";return m}async function ge(e,t,n){return n>=t.declarations.length?m:(await me(e,t.declarations[n]),n===t.declarations.length-1||await ge(e,t,n+1),m)}async function me(t,n){let r=null;if(r=null===n.init?null:await J(t,n.init),null!==t.localScope){if(r===m&&(r=null),"Identifier"!==n.id.type)throw new i(t,l.InvalidIdentifier,n);const o=e(n.id);return void(null!=t.localScope&&(t.localScope[o]={value:r,valueset:!0,node:n.init}))}if("Identifier"!==n.id.type)throw new i(t,l.InvalidIdentifier,n);const o=e(n.id);r===m&&(r=null),t.globalScope[o]={value:r,valueset:!0,node:n.init}}async function ye(e,t){const n=await J(e,t.object);if(null===n)throw new i(e,l.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof a||v(n))return n.field(t.property.name);if(n instanceof D)return o(n,t.property.name,e,t);if(n instanceof Y){if(!n.hasGlobal(t.property.name))throw new i(e,l.InvalidIdentifier,t);return n.global(t.property.name)}throw new i(e,l.InvalidMemberAccessKey,t)}throw new i(e,l.InvalidMemberAccessKey,t)}let r=await J(e,t.property);if(n instanceof a||v(n)){if(q(r))return n.field(r);throw new i(e,l.InvalidMemberAccessKey,t)}if(n instanceof Y){if(q(r))return n.global(r);throw new i(e,l.InvalidMemberAccessKey,t)}if(n instanceof D){if(q(r))return o(n,r,e,t);throw new i(e,l.InvalidMemberAccessKey,t)}if(P(n)){if(W(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new i(e,l.OutOfBounds,t);return n[r]}throw new i(e,l.InvalidMemberAccessKey,t)}if(b(n)){if(W(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new i(e,l.OutOfBounds,t);return n.get(r)}throw new i(e,l.InvalidMemberAccessKey,t)}if(q(n)){if(W(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new i(e,l.OutOfBounds,t);return n[r]}throw new i(e,l.InvalidMemberAccessKey,t)}throw new i(e,l.InvalidMemberAccessKey,t)}async function ve(e,t){const n=await J(e,t.argument);if(G(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*y(n);if("+"===t.operator)return 1*y(n);if("~"===t.operator)return~y(n);throw new i(e,l.UnsupportedUnaryOperator,t)}if("-"===t.operator)return-1*y(n);if("+"===t.operator)return 1*y(n);if("~"===t.operator)return~y(n);throw new i(e,l.UnsupportedUnaryOperator,t)}async function be(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await J(e,t.elements[r]));for(let r=0;r<n.length;r++){if(g(n[r]))throw new i(e,l.NoFunctionInArray,t);n[r]===m&&(n[r]=null)}return n}async function Se(e,t){const n=await J(e,t.left),r=await J(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return F(y(n),y(r),t.operator);case"==":return h(n,r);case"!=":return!h(n,r);case"<":case">":case"<=":case">=":return x(n,r,t.operator);case"+":return q(n)||q(r)?S(n)+S(r):y(n)+y(r);case"-":return y(n)-y(r);case"*":return y(n)*y(r);case"/":return y(n)/y(r);case"%":return y(n)%y(r);default:throw new i(e,l.UnsupportedOperator,t)}}async function xe(e,t){const n=await J(e,t.left);if(!G(n))throw new i(e,l.LogicalExpressionOnlyBoolean,t);switch(t.operator){case"||":{if(!0===n)return n;const r=await J(e,t.right);if(G(r))return r;throw new i(e,l.LogicExpressionOrAnd,t)}case"&&":{if(!1===n)return n;const r=await J(e,t.right);if(G(r))return r;throw new i(e,l.LogicExpressionOrAnd,t)}default:throw new i(e,l.LogicExpressionOrAnd,t)}}async function Fe(t,n){const r=e(n);if(null!=t.localScope&&void 0!==t.localScope[r]){const e=t.localScope[r];if(!0===e.valueset)return e.value;if(null!==e.d)return e.d;e.d=J(t,e.node);const n=await e.d;return e.value=n,e.valueset=!0,n}if(void 0!==t.globalScope[r]){const e=t.globalScope[r];if(!0===e.valueset)return e.value;if(null!==e.d)return e.d;e.d=J(t,e.node);const n=await e.d;return e.value=n,e.valueset=!0,n}throw new i(t,l.InvalidIdentifier,n)}async function Ie(t,n){if("MemberExpression"===n.callee.type){const e=await J(t,n.callee.object);if(!(e instanceof Y))throw new i(t,l.FunctionNotFound,n);const r=!1===n.callee.computed?n.callee.property.name:await J(t,n.callee.property);if(!e.hasGlobal(r))throw new i(t,l.FunctionNotFound,n);const o=await e.global(r);if(!g(o))throw new i(t,l.CallNonFunction,n);return o.call(t,n)}if("Identifier"!==n.callee.type)throw new i(t,l.FunctionNotFound,n);const r=e(n.callee);if(null!=t.localScope&&void 0!==t.localScope[r]){const e=t.localScope[r];if(g(e.value))return e.value.call(t,n);throw new i(t,l.CallNonFunction,n)}if(void 0!==t.globalScope[r]){const e=t.globalScope[r];if(g(e.value))return e.value.call(t,n);throw new i(t,l.CallNonFunction,n)}throw new i(t,l.FunctionNotFound,n)}async function Me(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 J(e,t.expressions[r]);if(g(o))throw new i(e,l.NoFunctionInTemplateLiteral,t);n+=S(o)}r++}return n}const Ce={};async function Re(e,t,n,r){const o=await J(e,t.arguments[n]);if(h(o,r))return J(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?J(e,t.arguments[n]):2===a?null:3===a?J(e,t.arguments[n+2]):Re(e,t,n+2,r)}async function ke(e,t,n,r){if(!0===r)return J(e,t.arguments[n+1]);if(3===t.arguments.length-n)return J(e,t.arguments[n+2]);const o=await J(e,t.arguments[n+2]);if(!1===G(o))throw new i(e,l.ModuleExportNotFound,t.arguments[n+2]);return ke(e,t,n+2,o)}async function Ae(t,n,r,o){const a=t.body;if(r.length!==t.params.length)throw new i(n,l.WrongNumberOfParameters,null);for(let i=0;i<r.length;i++){const o=t.params[i];"Identifier"===o.type&&null!=n.localScope&&(n.localScope[e(o)]={d:null,value:r[i],valueset:!0,node:null})}const s=await Q(n,a);if(s instanceof I)return s.value;if(s===C)throw new i(n,l.UnexpectedToken,o);if(s===R)throw new i(n,l.UnexpectedToken,o);return s instanceof M?s.value:s}E(Ce,_),U(Ce,_),K(Ce,_),B(Ce,_),L(Ce,_),j({functions:Ce,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:_,standardFunctionAsync:H}),Ce.iif=async function(e,t){d(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await J(e,t.arguments[0]);if(!1===G(n))throw new i(e,l.BooleanConditionRequired,t);return J(e,n?t.arguments[1]:t.arguments[2])},Ce.defaultvalue=async function(e,t){d(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await J(e,t.arguments[0]);if(3===t.arguments.length){const o=await J(e,t.arguments[1]),a=r(n,o);return null!=a&&""!==a?a:J(e,t.arguments[2])}return null==n||""===n?J(e,t.arguments[1]):n},Ce.decode=async function(e,t){if(t.arguments.length<2)throw new i(e,l.WrongNumberOfParameters,t);if(2===t.arguments.length)return J(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new i(e,l.WrongNumberOfParameters,t);return Re(e,t,1,await J(e,t.arguments[0]))},Ce.when=async function(e,t){if(t.arguments.length<3)throw new i(e,l.WrongNumberOfParameters,t);if(t.arguments.length%2==0)throw new i(e,l.WrongNumberOfParameters,t);const n=await J(e,t.arguments[0]);if(!1===G(n))throw new i(e,l.BooleanConditionRequired,t.arguments[0]);return ke(e,t,0,n)};const Ne={fixSpatialReference:k,parseArguments:V,standardFunction:_,standardFunctionAsync:H,evaluateIdentifier:Fe};for(const Ue in Ce)Ce[Ue]={value:new u(Ce[Ue]),valueset:!0,node:null};const Oe=function(){};function Ee(e,t,n){const r=new Oe;null==e&&(e={}),null==t&&(t={});const o=new a({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});o.immutable=!1,r.textformatting={value:o,valueset:!0,node:null};for(const a in t)r[a]={value:new u(t[a]),native:!0,valueset:!0,node:null};for(const a in e)r[a]={value:T(e[a])?c.createFromGraphic(e[a],n):e[a],valueset:!0,node:null};return r}function je(e){console.log(e)}Oe.prototype=Ce,Oe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Oe.prototype.pi={value:Math.PI,valueset:!0,node:null};const Be=Ne;function Ke(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:_,standardFunctionAsync:H,evaluateIdentifier:Fe};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)Ce[n]={value:new u(t.functions[n]),valueset:!0,node:null},Oe.prototype[n]=Ce[n];for(let n=0;n<t.signatures.length;n++)N(t.signatures[n],"async")}async function Le(e,t){let r=t.spatialReference;null==r&&(r=new Z({wkid:102100}));let o=null;e.usesModules&&(o=new n(new Map,e.loadedModules));const a=Ee(t.vars,t.customfunctions,t.timeZone),s={spatialReference:r,services:t.services,exports:{},libraryResolver:o,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:a,console:t.console??je,timeZone:t.timeZone??null,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:{depth:1}},c=await ue(s,e);if(c instanceof I||c instanceof M){const e=c.value;if(e===m)return null;if(g(e))throw new i(s,l.IllegalResult,null);return e}if(c===m)return null;if(c===C)throw new i(s,l.IllegalResult,null);if(c===R)throw new i(s,l.IllegalResult,null);throw new i(s,l.NeverReach,null)}Ke([O]);export{Le as executeScript,Ke as extend,Be as functionHelper};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{toSymbolId as e}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as t}from"./ArcadeModuleLoader.js";import{geometryMember as o,getNestedOptionalValue as l}from"./containerUtils.js";import r from"./Dictionary.js";import{ArcadeExecutionError as a,ExecutionErrorCodes as s,ArcadeCompilationError as i,ArcadeUncompilableError as c}from"./executionError.js";import u from"./Feature.js";import{NativeFunction as p,ArcadeFunction as m,ScopeMarshalledFunction as g,wrapModuleScopedResponse as d}from"./FunctionWrapper.js";import{i as f,v as h,w as y,R as b,I as w,x as S,y as v,z as x,m as F,o as M,p as C,s as I,n as A,g as _,a as O,e as $,A as k,B as E,C as G}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as j}from"../chunks/array.js";import{registerFunctions as N}from"./functions/date.js";import{registerFunctions as R}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/geomsync.js";import{registerFunctions as U}from"./functions/maths.js";import{registerFunctions as D}from"./functions/stats.js";import{registerFunctions as Z}from"./functions/string.js";import{isPromiseLike as K}from"../core/promiseUtils.js";import P from"../geometry/Geometry.js";import W from"../geometry/SpatialReference.js";import{isGraphic as T,isNumber as q,isString as z}from"../support/guards.js";class V extends m{constructor(e,n){super(),this.paramCount=n,this.fn=e}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new a(e,s.WrongNumberOfParameters,null);return this.fn(...n)}}call(e,n){return this.fn(...n.arguments)}marshalledCall(e,n,t,o){return o(e,n,((n,l,r)=>{r=r.map((n=>!f(n)||n instanceof g?n:d(n,e,o)));const a=this.call(t,{arguments:r});return K(a)?a.then((e=>d(e,t,o))):a}))}}function J(e,n){const t=[];for(let o=0;o<n.arguments.length;o++)t.push(H(e,n.arguments[o]));return t}function Y(e,n,t){try{return t(e,null,n.arguments)}catch(o){throw o}}function H(e,n){switch(n.type){case"AssignmentExpression":return le(e,n);case"UpdateExpression":return te(e,n);case"TemplateLiteral":return we(e,n);case"Identifier":return xe(e,n);case"MemberExpression":return he(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return Fe(e,n);case"UnaryExpression":return ye(e,n);case"BinaryExpression":return Se(e,n);case"LogicalExpression":return ve(e,n);case"ArrayExpression":return be(e,n);case"ObjectExpression":return X(e,n);default:throw new i(e,s.Unrecognized,n)}}function Q(e,n){switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return de(e,n);case"BlockStatement":return ie(e,n);case"FunctionDeclaration":return ge(e,n);case"ImportDeclaration":return ue(e,n);case"ExportNamedDeclaration":return pe(e,n);case"ReturnStatement":return ce(e,n);case"IfStatement":return se(e,n);case"ExpressionStatement":return re(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return ne(e,n);case"ForInStatement":return ee(e,n);case"WhileStatement":return oe(e,n);default:throw new i(e,s.Unrecognized,n)}}function X(e,n){let t="lang.dictionary([";for(let o=0;o<n.properties.length;o++){const l=n.properties[o];let r;"Identifier"===l.key.type?(me(l.key.name),r="'"+l.key.name+"'"):r=H(e,l.key);o>0&&(t+=","),t+="lang.strCheck("+r+",'ObjectExpression'),lang.aCheck("+H(e,l.value)+", 'ObjectExpression')"}return t+="])",t}function ee(n,t){const o=$e(n),l=$e(n),r=$e(n);let a="var "+o+" = "+H(n,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=Q(n,t.left));const s=e("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);me(s);let i="";null!==n.localScope&&(void 0!==n.localScope[s]?i="lscope['"+s+"']":void 0!==n.localScope._SymbolsMap[s]&&(i="lscope['"+n.localScope._SymbolsMap[s]+"']"));let c="";if(""===i)if(void 0!==n.globalScope[s])i="gscope['"+s+"']";else if(void 0!==n.globalScope._SymbolsMap[s])i="gscope['"+n.globalScope._SymbolsMap[s]+"']";else if(null!==n.localScope)if(n.undeclaredGlobalsInFunctions.has(s))i="gscope['"+n.undeclaredGlobalsInFunctions.get(s).manglename+"']",c=n.undeclaredGlobalsInFunctions.get(s).manglename;else{const e={manglename:Oe(n),node:t.left};n.undeclaredGlobalsInFunctions.set(s,e),i="gscope['"+e.manglename+"']",c=e.manglename}return c&&(a+="lang.chkAssig('"+c+"',runtimeCtx); \n"),a+="if ("+o+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+o+") || lc.isString("+o+")) {",a+="var "+l+"="+o+".length; \n",a+="for(var "+r+"=0; "+r+"<"+l+"; "+r+"++) {\n",a+=i+"="+r+";\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+o+")) {",a+="var "+l+"="+o+".length(); \n",a+="for(var "+r+"=0; "+r+"<"+l+"; "+r+"++) {\n",a+=i+"="+r+";\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+o+" instanceof lang.Dictionary) || ( "+o+" instanceof lang.Feature)) {",a+="var "+l+"="+o+".keys(); \n",a+="for(var "+r+"=0; "+r+"<"+l+".length; "+r+"++) {\n",a+=i+"="+l+"["+r+"];\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",n.isAsync&&(a+="else if (lc.isFeatureSet("+o+")) {",a+="var "+l+"="+o+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+r+"=lang. graphicToFeature( yield "+l+".next(),"+o+", runtimeCtx); "+r+"!=null; "+r+"=lang. graphicToFeature( yield "+l+".next(),"+o+", runtimeCtx)) {\n",a+=i+"="+r+";\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ne(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&("VariableDeclaration"===n.init.type?t+=Q(e,n.init):t+=H(e,n.init)+"; ");const o=$e(e),l=$e(e);return t+="var "+o+" = true; ",t+="\n do { ",null!==n.update&&(t+=" if ("+o+"===false) {\n "+H(e,n.update)+" \n}\n "+o+"=false; \n"),null!==n.test&&(t+="var "+l+" = "+H(e,n.test)+"; ",t+="if ("+l+"===false) { break; } else if ("+l+"!==true) { lang.error('"+s.BooleanConditionRequired+"'); }\n"),t+=Q(e,n.body),null!==n.update&&(t+="\n "+H(e,n.update)),t+="\n"+o+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function te(n,t){if("CallExpression"===t.argument.type)throw new i(n,s.NeverReach,t);let o;if("MemberExpression"===t.argument.type){const e=H(n,t.argument.object);return!0===t.argument.computed?o=H(n,t.argument.property):(me(t.argument.property.name),o="'"+t.argument.property.name+"'"),"lang.memberupdate("+e+","+o+",'"+t.operator+"',"+t.prefix+")"}const l=e(t.argument);if(me(l),null!==n.localScope){if(void 0!==n.localScope[l])return"lang.update(lscope, '"+l+"','"+t.operator+"',"+t.prefix+")";if(void 0!==n.localScope._SymbolsMap[l])return"lang.update(lscope, '"+n.localScope._SymbolsMap[l]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==n.globalScope[l])return"lang.update(gscope, '"+l+"','"+t.operator+"',"+t.prefix+")";if(void 0!==n.globalScope._SymbolsMap[l])return"lang.update(gscope, '"+n.globalScope._SymbolsMap[l]+"','"+t.operator+"',"+t.prefix+")";if(null!==n.localScope){if(n.undeclaredGlobalsInFunctions.has(l))return"lang.update(gscope,lang.chkAssig( '"+n.undeclaredGlobalsInFunctions.get(l).manglename+"',runtimeCtx),'"+t.operator+"',"+t.prefix+")";const e={manglename:Oe(n),node:t.argument};return n.undeclaredGlobalsInFunctions.set(l,e),"lang.update(gscope, lang.chkAssig('"+e.manglename+"',runtimeCtx),'"+t.operator+"',"+t.prefix+")"}throw new a(n,s.InvalidIdentifier,t)}function oe(e,n){let t="lastStatement = lc.voidOperation; \n";const o=$e(e);return t+=`\n var ${o} = true;\n do {\n ${o} = ${H(e,n.test)};\n if (${o}==false) {\n break;\n }\n if (${o}!==true) {\n lang.error('${s.BooleanConditionRequired}');\n }\n ${Q(e,n.body)}\n }\n while (${o} !== false);\n lastStatement = lc.voidOperation;\n `,t}function le(n,t){const o=H(n,t.right);if("MemberExpression"===t.left.type){let e;const l=H(n,t.left.object);return!0===t.left.computed?e=H(n,t.left.property):(e="'"+t.left.property.name+"'",me(t.left.property.name)),"lang.assignmember("+l+","+e+",'"+t.operator+"',"+o+")"}const l=e(t.left);if(me(l),null!==n.localScope){if(void 0!==n.localScope[l])return"lscope['"+l+"']=lang.assign("+o+",'"+t.operator+"', lscope['"+l+"'])";if(void 0!==n.localScope._SymbolsMap[l])return"lscope['"+n.localScope._SymbolsMap[l]+"']=lang.assign("+o+",'"+t.operator+"', lscope['"+n.localScope._SymbolsMap[l]+"'])"}if(void 0!==n.globalScope[l])return"gscope['"+l+"']=lang.assign("+o+",'"+t.operator+"', gscope['"+l+"'])";if(void 0!==n.globalScope._SymbolsMap[l])return"gscope['"+n.globalScope._SymbolsMap[l]+"']=lang.assign("+o+",'"+t.operator+"', gscope['"+n.globalScope._SymbolsMap[l]+"'])";if(null!==n.localScope){if(n.undeclaredGlobalsInFunctions.has(l))return"gscope[lang.chkAssig('"+n.undeclaredGlobalsInFunctions.get(l).manglename+"',runtimeCtx)]=lang.assign("+o+",'"+t.operator+"', gscope['"+n.undeclaredGlobalsInFunctions.get(l).manglename+"'])";const e={manglename:Oe(n),node:t.left};return n.undeclaredGlobalsInFunctions.set(l,e),"gscope[lang.chkAssig('"+e.manglename+"',runtimeCtx)]=lang.assign("+o+",'"+t.operator+"', gscope['"+e.manglename+"'])"}throw new a(n,s.InvalidIdentifier,t)}function re(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+H(e,n.expression)+"; \n ":"lastStatement = "+H(e,n.expression)+"; "}function ae(e,n){return"BlockStatement"===n.type?Q(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?Q(e,n)+"; ":"ExpressionStatement"===n.type?Q(e,n):Q(e,n)+"; "}function se(e,n){return`if (lang.mustBoolean(${H(e,n.test)}, runtimeCtx) === true) {\n ${ae(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+se(e,n.alternate):` else {\n ${ae(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function ie(e,n){let t="";for(let o=0;o<n.body.length;o++)"EmptyStatement"!==n.body[o].type&&("ReturnStatement"===n.body[o].type||"BreakStatement"===n.body[o].type||"ContinueStatement"===n.body[o].type?t+=Q(e,n.body[o])+"; \n":t+=Q(e,n.body[o])+" \n");return t}function ce(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+H(e,n.argument)}function ue(n,t){const o=e(t.specifiers[0].local);me(o);const l=n.libraryResolver?.loadLibrary(o),r=Oe(n);void 0===n.moduleFactory[l.uri]&&(n.moduleFactory[l.uri]=qe(l.syntax,{interceptor:n.interceptor,services:n.services,moduleFactory:n.moduleFactory,lrucache:n.lrucache,timeZone:n.timeZone??null,libraryResolver:n.libraryResolver,customfunctions:n.customfunctions,vars:{}},n.isAsync)),n.moduleFactoryMap[r]=l.uri;let a,s="";return s=n.isAsync?"(yield lang.loadModule('"+r+"', runtimeCtx) ); ":"lang.loadModule('"+r+"', runtimeCtx); ",void 0!==n.globalScope[o]?"gscope['"+o+"']="+s:void 0!==n.globalScope._SymbolsMap[o]?"gscope['"+n.globalScope._SymbolsMap[o]+"']="+s:(n.undeclaredGlobalsInFunctions.has(o)?(a=n.undeclaredGlobalsInFunctions.get(o).manglename,n.undeclaredGlobalsInFunctions.delete(o)):a=Oe(n),n.globalScope._SymbolsMap[o]=a,n.mangleMap[o]=a,"gscope[lang.setAssig('"+a+"', runtimeCtx)]="+s)}function pe(n,t){const o=Q(n,t.declaration);if("FunctionDeclaration"===t.declaration.type)n.exports[e(t.declaration.id)]="function";else if("VariableDeclaration"===t.declaration.type)for(const l of t.declaration.declarations)n.exports[e(l.id)]="variable";return o}function me(e){if("iif"===e)throw new c;if("decode"===e)throw new c;if("when"===e)throw new c;if("defaultvalue"===e)throw new c}function ge(n,t){const o=e(t.id);let l;me(o);let r=!1;void 0!==n.globalScope[o]?l=o:void 0!==n.globalScope._SymbolsMap[o]?l=n.globalScope._SymbolsMap[o]:n.undeclaredGlobalsInFunctions.has(o)?(l=n.undeclaredGlobalsInFunctions.get(o).manglename,n.globalScope._SymbolsMap[o]=l,n.mangleMap[o]=l,n.undeclaredGlobalsInFunctions.delete(o),r=!0):(l=Oe(n),n.globalScope._SymbolsMap[o]=l,n.mangleMap[o]=l);const a={isAsync:n.isAsync,console:n.console,exports:n.exports,undeclaredGlobalsInFunctions:n.undeclaredGlobalsInFunctions,customfunctions:n.customfunctions,moduleFactory:n.moduleFactory,moduleFactoryMap:n.moduleFactoryMap,libraryResolver:n.libraryResolver,lrucache:n.lrucache,interceptor:n.interceptor,services:n.services,symbols:n.symbols,mangleMap:n.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:n.depthCounter,globalScope:n.globalScope};let s="new lang.UserDefinedCompiledFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let i=0;i<t.params.length;i++){const o=e(t.params[i]);me(o);const l=Oe(n);a.localScope._SymbolsMap[o]=l,a.mangleMap[o]=l,s+="lscope['"+l+"']=arguments["+i.toString()+"];\n"}return!0===n.isAsync?(s+="return lang.__awaiter(this, void 0, void 0, function* () {\n",s+=ie(a,t.body)+"\n return lastStatement; ",s+="}); }",s+=", runtimeCtx),"+t.params.length+")",s+="\n lastStatement = lc.voidOperation; \n"):(s+=ie(a,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",s+="\n lastStatement = lc.voidOperation; \n"),r?"gscope[lang.setAssig('"+l+"', runtimeCtx)]="+s:"gscope['"+l+"']="+s}function de(e,n){const t=[];for(let o=0;o<n.declarations.length;o++)t.push(fe(e,n.declarations[o]));return t.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function fe(n,t){const o=null===t.init?null:H(n,t.init),l=e(t.id);if(me(l),null!==n.localScope){if(void 0!==n.localScope[l])return"lscope['"+l+"']="+o+"; ";if(void 0!==n.localScope._SymbolsMap[l])return"lscope['"+n.localScope._SymbolsMap[l]+"']="+o+"; ";const e=Oe(n);return n.localScope._SymbolsMap[l]=e,n.mangleMap[l]=e,"lscope['"+e+"']="+o+"; "}if(void 0!==n.globalScope[l])return"gscope['"+l+"']="+o+"; ";if(void 0!==n.globalScope._SymbolsMap[l])return"gscope['"+n.globalScope._SymbolsMap[l]+"']="+o+"; ";if(n.undeclaredGlobalsInFunctions.has(l)){const e=n.undeclaredGlobalsInFunctions.get(l).manglename;return n.globalScope._SymbolsMap[l]=e,n.mangleMap[l]=e,n.undeclaredGlobalsInFunctions.delete(l),"gscope[lang.setAssig('"+e+"', runtimeCtx)]="+o+"; "}const r=Oe(n);return n.globalScope._SymbolsMap[l]=r,n.mangleMap[l]=r,"gscope['"+r+"']="+o+"; "}function he(e,n){try{let t;return!0===n.computed?t=H(e,n.property):(me(n.property.name),t="'"+n.property.name+"'"),"lang.member("+H(e,n.object)+","+t+")"}catch(t){throw t}}function ye(e,n){try{return"lang.unary("+H(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function be(e,n){try{const t=[];for(let o=0;o<n.elements.length;o++)"Literal"===n.elements[o].type?t.push(H(e,n.elements[o])):t.push("lang.aCheck("+H(e,n.elements[o])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function we(e,n){try{const t=[];let o=0;for(const l of n.quasis)t.push(l.value?JSON.stringify(l.value.cooked):JSON.stringify("")),!1===l.tail&&(t.push(n.expressions[o]?"lang.castString(lang.aCheck("+H(e,n.expressions[o])+", 'TemplateLiteral'))":""),o++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function Se(e,n){try{return"lang.binary("+H(e,n.left)+","+H(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function ve(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new i(e,s.LogicalExpressionOnlyBoolean,n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new i(e,s.LogicalExpressionOnlyBoolean,n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+H(e,n.left)+") "+n.operator+" lang.logicalCheck("+H(e,n.right)+"))";throw new i(null,s.LogicExpressionOrAnd,null)}catch(t){throw t}}function xe(n,t){try{const o=e(t);if(me(o),null!==n.localScope){if(void 0!==n.localScope[o])return"lscope['"+o+"']";if(void 0!==n.localScope._SymbolsMap[o])return"lscope['"+n.localScope._SymbolsMap[o]+"']"}if(void 0!==n.globalScope[o])return"gscope['"+o+"']";if(void 0!==n.globalScope._SymbolsMap[o])return"gscope['"+n.globalScope._SymbolsMap[o]+"']";if(null!==n.localScope){if(n.undeclaredGlobalsInFunctions.has(o))return"gscope[lang.chkAssig('"+n.undeclaredGlobalsInFunctions.get(o).manglename+"',runtimeCtx)]";const e={manglename:Oe(n),node:t};return n.undeclaredGlobalsInFunctions.set(o,e),"gscope[lang.chkAssig('"+e.manglename+"',runtimeCtx)]"}throw new i(n,s.InvalidIdentifier,t)}catch(o){throw o}}function Fe(n,t){try{if("MemberExpression"===t.callee.type){let e;!0===t.callee.computed?e=H(n,t.callee.property):(me(t.callee.property.name),e="'"+t.callee.property.name+"'");let o="[";for(let l=0;l<t.arguments.length;l++)l>0&&(o+=", "),o+=H(n,t.arguments[l]);return o+="]",n.isAsync?"(yield lang.callModuleFunction("+H(n,t.callee.object)+","+o+","+e+",runtimeCtx))":"lang.callModuleFunction("+H(n,t.callee.object)+","+o+","+e+",runtimeCtx)"}if("Identifier"!==t.callee.type)throw new i(n,s.FunctionNotFound,t);const o=e(t.callee);if("iif"===o)return Me(n,t);if("when"===o)return Ie(n,t);if("defaultvalue"===o)return Ce(n,t);if("decode"===o)return Ae(n,t);let l="";if(null!==n.localScope&&(void 0!==n.localScope[o]?l="lscope['"+o+"']":void 0!==n.localScope._SymbolsMap[o]&&(l="lscope['"+n.localScope._SymbolsMap[o]+"']")),""===l)if(void 0!==n.globalScope[o])l="gscope['"+o+"']";else if(void 0!==n.globalScope._SymbolsMap[o])l="gscope['"+n.globalScope._SymbolsMap[o]+"']";else if(null!==n.localScope)if(n.undeclaredGlobalsInFunctions.has(o))l="gscope[lang.chkAssig('"+n.undeclaredGlobalsInFunctions.get(o).manglename+"',runtimeCtx)]";else{const e={manglename:Oe(n),node:t.callee};n.undeclaredGlobalsInFunctions.set(o,e),l="gscope[lang.chkAssig('"+e.manglename+"',runtimeCtx)]"}if(""!==l){let e="[";for(let o=0;o<t.arguments.length;o++)o>0&&(e+=", "),e+=H(n,t.arguments[o]);return e+="]",n.isAsync?"(yield lang.callfunc("+l+","+e+",runtimeCtx) )":"lang.callfunc("+l+","+e+",runtimeCtx)"}throw new i(n,s.FunctionNotFound,t)}catch(o){throw o}}function Me(e,n){try{if(3!==n.arguments.length)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e);return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n\n if (${t} === true) {\n return ${H(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${H(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ce(e,n){try{if(n.arguments.length<2||n.arguments.length>3)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e),o=$e(e);return 3===n.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n var ${o} = ${H(e,n.arguments[1])};\n ${t} = lang.getNestedOptionalValue(${t}, ${o});\n return ${t} != null && ${t} !== "" ? ${t} : ${H(e,n.arguments[2])};\n ${e.isAsync?"})}()))":"}()"}`:`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n if (${t} === null) {\n return ${H(e,n.arguments[1])};\n }\n if (${t} === "") {\n return ${H(e,n.arguments[1])};\n }\n if (${t} === undefined) {\n return ${H(e,n.arguments[1])};\n }\n return ${t};\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ie(e,n){try{if(n.arguments.length<3)throw new i(e,s.WrongNumberOfParameters,n);if(n.arguments.length%2==0)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e);let o="var ";for(let l=0;l<n.arguments.length-1;l+=2)o+=`${t} = lang.mustBoolean(${H(e,n.arguments[l])}, runtimeCtx);\n if (${t} === true ) {\n return ${H(e,n.arguments[l+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${o}\n return ${H(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ae(e,n){try{if(n.arguments.length<2)throw new i(e,s.WrongNumberOfParameters,n);if(2===n.arguments.length)return`(${H(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e),o=$e(e);let l="var ";for(let r=1;r<n.arguments.length-1;r+=2)l+=`${o} = ${H(e,n.arguments[r])};\n if (lang.binary(${o}, ${t}, "==") === true ) {\n return ${H(e,n.arguments[r+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n ${l}\n return ${H(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}const _e={};function Oe(e){return e.symbols.symbolCounter++,`_T${e.symbols.symbolCounter}`}function $e(e){return e.symbols.symbolCounter++,`_Tvar${e.symbols.symbolCounter}`}N(_e,Y),Z(_e,Y),U(_e,Y),R(_e,Y),D(_e,Y),_e.iif=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}},_e.decode=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}},_e.when=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}},_e.defaultvalue=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}};const ke={};for(const ze in _e)ke[ze]=new p(_e[ze]);L(_e,Y);for(const ze in _e)_e[ze]=new p(_e[ze]);const Ee=function(){};Ee.prototype=_e;const Ge=function(){};function Be(e,n,t){const o={_SymbolsMap:{}};e||(e={}),t||(t={}),o.textformatting=1,o.infinity=1,o.pi=1;for(const l in n)o[l]=1;for(const l in t)o[l]=1;for(const l in e)o[l]=1;return o}function je(e,n,t,o){const l=t?new Ge:new Ee;e||(e={}),n||(n={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,l._SymbolsMap={textformatting:1,infinity:1,pi:1},l.textformatting=a,l.infinity=Number.POSITIVE_INFINITY,l.pi=Math.PI;for(const r in n)l[r]=n[r],l._SymbolsMap[r]=1;for(const r in e){const n=e[r];l._SymbolsMap[r]=1,T(n)?l[r]=u.createFromGraphic(n,o??null):l[r]=n}return l}Ge.prototype=ke;const Ne={fixSpatialReference:h,parseArguments:J,standardFunction:Y};function Re(e,n){const t={mode:n,compiled:!0,functions:{},signatures:[],standardFunction:Y,standardFunctionAsync:Y,evaluateIdentifier:Ue};for(let o=0;o<e.length;o++)e[o].registerFunctions(t);if("sync"===n){for(const e in t.functions)_e[e]=new p(t.functions[e]),Ee.prototype[e]=_e[e];for(let e=0;e<t.signatures.length;e++)B(t.signatures[e],"sync")}else{for(const e in t.functions)ke[e]=new p(t.functions[e]),Ge.prototype[e]=ke[e];for(let e=0;e<t.signatures.length;e++)B(t.signatures[e],"async")}}function Le(e,n){return e(n)}function Ue(e,n){const t=n.name;if("_SymbolsMap"===t)throw new a(e,s.InvalidIdentifier,null);if(e.localStack.length>0){if(!t.toLowerCase().startsWith("_t")&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t];const n=e.mangleMap[t];if(void 0!==n&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n]}if(!t.toLowerCase().startsWith("_t")&&void 0!==e.globalScope[t])return e.globalScope[t];if(1===e.globalScope._SymbolsMap[t])return e.globalScope[t];const o=e.mangleMap[t];return void 0!==o?e.globalScope[o]:void 0}Re([j],"sync"),Re([j],"async");let De=0;const Ze={isNumber:e=>q(e),isArray:e=>F(e),isImmutableArray:e=>M(e),isFeature:e=>C(e),isString:e=>z(e),isDictionary:e=>I(e),isGeometry:e=>A(e),geometryMember:(e,n,t,l,r=1)=>o(e,n,t,l,r),error(e){throw new a(null,e,null)},__awaiter:(e,n,t,o)=>new Promise(((t,l)=>{function r(e){try{s(o.next(e))}catch(n){l(n)}}function a(e){try{s(o.throw(e))}catch(n){l(n)}}function s(e){e.done?t(e.value):e.value?.then?e.value.then(r,a):(De++,De%100==0?setTimeout((()=>{De=0,r(e.value)}),0):r(e.value))}s((o=o.apply(e,n||[])).next())})),functionDepthchecker:(e,n)=>function(){if(n.depthCounter.depth++,n.localStack.push({}),n.depthCounter.depth>64)throw new a(null,s.MaximumCallDepth,null);const t=e.apply(this,arguments);return K(t)?t.then((e=>(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,e))):(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,t)},chkAssig(e,n){if(void 0===n.gdefs[e])throw new a(n,s.InvalidIdentifier,null);return e},mustBoolean(e,n){if(!0===e||!1===e)return e;throw new a(n,s.BooleanConditionRequired,null)},setAssig:(e,n)=>(n.gdefs[e]=1,e),castString:e=>_(e),aCheck(e,n){if(f(e)){if("ArrayExpression"===n)throw new a(null,s.NoFunctionInArray,null);if("ObjectExpression"===n)throw new a(null,s.NoFunctionInDictionary,null);throw new a(null,s.NoFunctionInTemplateLiteral,null)}return e===S?null:e},Dictionary:r,Feature:u,UserDefinedCompiledFunction:V,dictionary(e){const n={},t=new Map;for(let l=0;l<e.length;l+=2){if(f(e[l+1]))throw new a(null,s.NoFunctionInDictionary,null);if(!1===z(e[l]))throw new a(null,s.KeyMustBeString,null);let o=e[l].toString();const r=o.toLowerCase();t.has(r)?o=t.get(r):t.set(r,o),e[l+1]===S?n[o]=null:n[o]=e[l+1]}const o=new r(n);return o.immutable=!1,o},strCheck(e){if(!1===z(e))throw new a(null,s.KeyMustBeString,null);return e},unary(e,n){if(O(e)){if("!"===n)return!e;if("-"===n)return-1*$(e);if("+"===n)return 1*$(e);if("~"===n)return~$(e);throw new a(null,s.UnsupportedUnaryOperator,null)}if("-"===n)return-1*$(e);if("+"===n)return 1*$(e);if("~"===n)return~$(e);throw new a(null,s.UnsupportedUnaryOperator,null)},logicalCheck(e){if(!1===O(e))throw new a(null,s.LogicExpressionOrAnd,null);return e},logical(e,n,t){if(O(e)&&O(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new a(null,s.LogicExpressionOrAnd,null)}throw new a(null,s.LogicExpressionOrAnd,null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return G($(e),$(n),t);case"==":case"=":return E(e,n);case"!=":return!E(e,n);case"<":case">":case"<=":case">=":return k(e,n,t);case"+":return z(e)||z(n)?_(e)+_(n):$(e)+$(n);case"-":return $(e)-$(n);case"*":return $(e)*$(n);case"/":return $(e)/$(n);case"%":return $(e)%$(n);default:throw new a(null,s.UnsupportedOperator,null)}},assign(e,n,t){switch(n){case"=":return e===S?null:e;case"/=":return $(t)/$(e);case"*=":return $(t)*$(e);case"-=":return $(t)-$(e);case"+=":return z(t)||z(e)?_(t)+_(e):$(t)+$(e);case"%=":return $(t)%$(e);default:throw new a(null,s.UnsupportedOperator,null)}},update(e,n,t,o){const l=$(e[n]);return e[n]="++"===t?l+1:l-1,!1===o?l:"++"===t?l+1:l-1},graphicToFeature:(e,n,t)=>null===e?null:u.createFromGraphicLikeObject(e.geometry,e.attributes,n,t.timeZone),memberupdate(e,n,t,o){let l;if(F(e)){if(!q(n))throw new a(null,s.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>=e.length)throw new a(null,s.OutOfBounds,null);l=$(e[n]),e[n]="++"===t?l+1:l-1}else if(e instanceof r){if(!1===z(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new a(null,s.FieldNotFound,null,{key:n});l=$(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else if(C(e)){if(!1===z(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new a(null,s.FieldNotFound,null);l=$(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else{if(M(e))throw new a(null,s.Immutable,null);if(!(e instanceof Te))throw new a(null,s.InvalidIdentifier,null);if(!1===z(n))throw new a(null,s.ModuleAccessorMustBeString,null);if(!0!==e.hasGlobal(n))throw new a(null,s.ModuleExportNotFound,null);l=$(e.global(n)),e.setGlobal(n,"++"===t?l+1:l-1)}return!1===o?l:"++"===t?l+1:l-1},assignmember(e,n,t,o){if(F(e)){if(!q(n))throw new a(null,s.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>e.length)throw new a(null,s.OutOfBounds,null);if(n===e.length){if("="!==t)throw new a(null,s.OutOfBounds,null);e[n]=this.assign(o,t,e[n])}else e[n]=this.assign(o,t,e[n])}else if(e instanceof r){if(!1===z(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(o,t,e.field(n)));else{if("="!==t)throw new a(null,s.FieldNotFound,null);e.setField(n,this.assign(o,t,null))}}else if(C(e)){if(!1===z(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(o,t,e.field(n)));else{if("="!==t)throw new a(null,s.FieldNotFound,null);e.setField(n,this.assign(o,t,null))}}else{if(M(e))throw new a(null,s.Immutable,null);if(!(e instanceof Te))throw new a(null,s.InvalidIdentifier,null);if(!1===z(n))throw new a(null,s.ModuleAccessorMustBeString,null);if(!e.hasGlobal(n))throw new a(null,s.ModuleExportNotFound,null);e.setGlobal(n,this.assign(o,t,e.global(n)))}},member(e,n){if(null===e)throw new a(null,s.MemberOfNull,null);if(e instanceof r||C(e)){if(z(n))return e.field(n);throw new a(null,s.InvalidMemberAccessKey,null)}if(e instanceof P){if(z(n))return o(e,n,null,null);throw new a(null,s.InvalidMemberAccessKey,null)}if(F(e)){if(q(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new a(null,s.OutOfBounds,null);return e[n]}throw new a(null,s.InvalidMemberAccessKey,null)}if(z(e)){if(q(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new a(null,s.OutOfBounds,null);return e[n]}throw new a(null,s.InvalidMemberAccessKey,null)}if(M(e)){if(q(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length()+n),n>=e.length()||n<0)throw new a(null,s.OutOfBounds,null);return e.get(n)}throw new a(null,s.InvalidMemberAccessKey,null)}if(e instanceof Te){if(z(n))return e.global(n);throw new a(null,s.InvalidMemberAccessKey,null)}throw new a(null,s.InvalidMemberAccessKey,null)},callfunc:(e,n,t)=>e.call(t,{arguments:n,preparsed:!0}),loadModule(e,n){const t=n.moduleFactoryMap[e];if(n.moduleSingletons[t])return n.moduleSingletons[t];const o=n.moduleFactory[t]({vars:{},moduleSingletons:n.moduleSingletons,depthCounter:n.depthCounter,console:n.console,abortSignal:n.abortSignal,isAsync:n.isAsync,services:n.services,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor},n.spatialReference);return n.moduleSingletons[t]=o,o},callModuleFunction(e,n,t,o){if(!(e instanceof Te))throw new a(null,s.FunctionNotFound,null);const l=e.global(t);if(!1===f(l))throw new a(null,s.CallNonFunction,null);return l.call(o,{preparsed:!0,arguments:n})},getNestedOptionalValue:(e,n)=>l(e,n)};function Ke(e){console.log(e)}function Pe(e,n,o=!1){null===n&&(n={vars:{},customfunctions:{}});let l=null;e.usesModules&&(l=new t(null,e.loadedModules));const r={isAsync:o,globalScope:Be(n.vars,o?ke:_e,n.customfunctions),moduleFactory:{},moduleFactoryMap:{},undeclaredGlobalsInFunctions:new Map,customfunctions:n.customfunctions,libraryResolver:l,localScope:null,mangleMap:{},depthCounter:{depth:1},exports:{},console:Ke,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let c=ie(r,e);""===c&&(c="lc.voidOperation; "),r.undeclaredGlobalsInFunctions.size>0&&r.undeclaredGlobalsInFunctions.forEach((e=>{throw new i(n,s.InvalidIdentifier,e.node)}));let u="";u=o?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+c+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+c+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const p=r.moduleFactory,m=r.moduleFactoryMap,g=r.exports,d={};let h;for(h in g)d[h]=r.mangleMap[h]??h;const F={lc:y,lang:Ze,mangles:r.mangleMap,postProcess(e){if(e instanceof b&&(e=e.value),e instanceof w&&(e=e.value),e===S&&(e=null),e===v)throw new a(null,s.IllegalResult,null);if(e===x)throw new a(null,s.IllegalResult,null);if(f(e))throw new a(null,s.IllegalResult,null);return e},prepare(e,n){let t=e.spatialReference;null==t&&(t=W.WebMercator);const o=je(e.vars,e.customfunctions,n,e.timeZone);return{localStack:[],isAsync:n,moduleFactory:p,moduleFactoryMap:m,mangleMap:this.mangles,moduleSingletons:{},exports:g,gdefs:{},exportmangle:d,spatialReference:t,globalScope:o,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console??Ke,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:{depth:1}}}};return new Function("context","spatialReference",u).bind(F)}async function We(){return Re([await import("./functions/geomasync.js")],"async"),!0}class Te extends n{constructor(e){super(),this.moduleContext=e}hasGlobal(e){return void 0===this.moduleContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.moduleContext.exports[e]}setGlobal(e,n){const t=this.moduleContext.globalScope,o=e.toLowerCase();if(f(n))throw new a(null,s.AssignModuleFunction,null);t[this.moduleContext.exportmangle[o]]=n}global(e){const n=this.moduleContext.globalScope,t=e.toLowerCase(),o=n[this.moduleContext.exportmangle[t]];if(void 0===o)throw new a(null,s.InvalidIdentifier,null);if(f(o)&&!(o instanceof g)){const e=new g;return e.fn=o,e.parameterEvaluator=Y,e.context=this.moduleContext,n[this.moduleContext.exportmangle[t]]=e,e}return o}}function qe(e,n,o=!1){const l={isAsync:o,moduleFactory:n.moduleFactory,moduleFactoryMap:{},libraryResolver:new t(null,e.loadedModules),globalScope:Be(n.vars,o?ke:_e,n.customfunctions),customfunctions:n.customfunctions,localScope:null,mangleMap:{},undeclaredGlobalsInFunctions:new Map,depthCounter:{depth:1},exports:{},console:Ke,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let r=ie(l,e);""===r&&(r="lc.voidOperation; ");let a="";a=o?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+r+"\n return lastStatement; }); } \n yield mainBody(); \n return this.prepareModule(runtimeCtx); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+r+"\n return lastStatement; } \n mainBody(); \n return this.prepareModule(runtimeCtx); ";const s=l.moduleFactory,i=l.moduleFactoryMap,c=l.exports,u={};let p;for(p in c)u[p]=l.mangleMap[p]??p;const m={lc:y,lang:Ze,mangles:l.mangleMap,prepareModule:e=>new Te(e),prepare(e,n){let t=e.spatialReference;null==t&&(t=new W({wkid:102100}));const o=je(e.vars,e.customfunctions,n,e.timeZone);return{localStack:[],isAsync:n,exports:c,exportmangle:u,gdefs:{},moduleFactory:s,moduleFactoryMap:i,moduleSingletons:e.moduleSingletons,mangleMap:this.mangles,spatialReference:t,globalScope:o,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console??Ke,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:e.depthCounter}}};return new Function("context","spatialReference",a).bind(m)}export{V as UserDefinedCompiledFunction,Pe as compileScript,We as enableAsyncSupport,Le as executeScript,Re as extend,Ne as functionHelper};
5
+ import{toSymbolId as e}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as t}from"./ArcadeModuleLoader.js";import{geometryMember as o,getNestedOptionalValue as l}from"./containerUtils.js";import r from"./Dictionary.js";import{ArcadeExecutionError as a,ExecutionErrorCodes as s,ArcadeCompilationError as i,ArcadeUncompilableError as c}from"./executionError.js";import u from"./Feature.js";import{NativeFunction as p,ArcadeFunction as m,ScopeMarshalledFunction as g,wrapModuleScopedResponse as d}from"./FunctionWrapper.js";import{i as f,s as h,u as y,R as b,I as w,v as S,w as v,x,m as F,n as M,q as C,l as I,f as A,d as _,y as O,z as $,A as k}from"../chunks/languageUtils.js";import{addFunctionDeclaration as E}from"./treeAnalysis.js";import{A as G}from"../chunks/array.js";import{registerFunctions as B}from"./functions/date.js";import{registerFunctions as j}from"./functions/geometry.js";import{registerFunctions as N}from"./functions/geomsync.js";import{registerFunctions as R}from"./functions/maths.js";import{registerFunctions as L}from"./functions/stats.js";import{registerFunctions as U}from"./functions/string.js";import{isPromiseLike as D}from"../core/promiseUtils.js";import Z from"../geometry/Geometry.js";import K from"../geometry/SpatialReference.js";import{isGraphic as P,isNumber as W,isArray as T,isString as q,isBoolean as z}from"../support/guards.js";class V extends m{constructor(e,n){super(),this.paramCount=n,this.fn=e}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new a(e,s.WrongNumberOfParameters,null);return this.fn(...n)}}call(e,n){return this.fn(...n.arguments)}marshalledCall(e,n,t,o){return o(e,n,((n,l,r)=>{r=r.map((n=>!f(n)||n instanceof g?n:d(n,e,o)));const a=this.call(t,{arguments:r});return D(a)?a.then((e=>d(e,t,o))):a}))}}function J(e,n){const t=[];for(let o=0;o<n.arguments.length;o++)t.push(H(e,n.arguments[o]));return t}function Y(e,n,t){try{return t(e,null,n.arguments)}catch(o){throw o}}function H(e,n){switch(n.type){case"AssignmentExpression":return le(e,n);case"UpdateExpression":return te(e,n);case"TemplateLiteral":return we(e,n);case"Identifier":return xe(e,n);case"MemberExpression":return he(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return Fe(e,n);case"UnaryExpression":return ye(e,n);case"BinaryExpression":return Se(e,n);case"LogicalExpression":return ve(e,n);case"ArrayExpression":return be(e,n);case"ObjectExpression":return X(e,n);default:throw new i(e,s.Unrecognized,n)}}function Q(e,n){switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return de(e,n);case"BlockStatement":return ie(e,n);case"FunctionDeclaration":return ge(e,n);case"ImportDeclaration":return ue(e,n);case"ExportNamedDeclaration":return pe(e,n);case"ReturnStatement":return ce(e,n);case"IfStatement":return se(e,n);case"ExpressionStatement":return re(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return ne(e,n);case"ForInStatement":return ee(e,n);case"WhileStatement":return oe(e,n);default:throw new i(e,s.Unrecognized,n)}}function X(e,n){let t="lang.dictionary([";for(let o=0;o<n.properties.length;o++){const l=n.properties[o];let r;"Identifier"===l.key.type?(me(l.key.name),r="'"+l.key.name+"'"):r=H(e,l.key);o>0&&(t+=","),t+="lang.strCheck("+r+",'ObjectExpression'),lang.aCheck("+H(e,l.value)+", 'ObjectExpression')"}return t+="])",t}function ee(n,t){const o=$e(n),l=$e(n),r=$e(n);let a="var "+o+" = "+H(n,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=Q(n,t.left));const s=e("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);me(s);let i="";null!==n.localScope&&(void 0!==n.localScope[s]?i="lscope['"+s+"']":void 0!==n.localScope._SymbolsMap[s]&&(i="lscope['"+n.localScope._SymbolsMap[s]+"']"));let c="";if(""===i)if(void 0!==n.globalScope[s])i="gscope['"+s+"']";else if(void 0!==n.globalScope._SymbolsMap[s])i="gscope['"+n.globalScope._SymbolsMap[s]+"']";else if(null!==n.localScope)if(n.undeclaredGlobalsInFunctions.has(s))i="gscope['"+n.undeclaredGlobalsInFunctions.get(s).manglename+"']",c=n.undeclaredGlobalsInFunctions.get(s).manglename;else{const e={manglename:Oe(n),node:t.left};n.undeclaredGlobalsInFunctions.set(s,e),i="gscope['"+e.manglename+"']",c=e.manglename}return c&&(a+="lang.chkAssig('"+c+"',runtimeCtx); \n"),a+="if ("+o+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+o+") || lc.isString("+o+")) {",a+="var "+l+"="+o+".length; \n",a+="for(var "+r+"=0; "+r+"<"+l+"; "+r+"++) {\n",a+=i+"="+r+";\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+o+")) {",a+="var "+l+"="+o+".length(); \n",a+="for(var "+r+"=0; "+r+"<"+l+"; "+r+"++) {\n",a+=i+"="+r+";\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+o+" instanceof lang.Dictionary) || ( "+o+" instanceof lang.Feature)) {",a+="var "+l+"="+o+".keys(); \n",a+="for(var "+r+"=0; "+r+"<"+l+".length; "+r+"++) {\n",a+=i+"="+l+"["+r+"];\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",n.isAsync&&(a+="else if (lc.isFeatureSet("+o+")) {",a+="var "+l+"="+o+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+r+"=lang. graphicToFeature( yield "+l+".next(),"+o+", runtimeCtx); "+r+"!=null; "+r+"=lang. graphicToFeature( yield "+l+".next(),"+o+", runtimeCtx)) {\n",a+=i+"="+r+";\n",a+=Q(n,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ne(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&("VariableDeclaration"===n.init.type?t+=Q(e,n.init):t+=H(e,n.init)+"; ");const o=$e(e),l=$e(e);return t+="var "+o+" = true; ",t+="\n do { ",null!==n.update&&(t+=" if ("+o+"===false) {\n "+H(e,n.update)+" \n}\n "+o+"=false; \n"),null!==n.test&&(t+="var "+l+" = "+H(e,n.test)+"; ",t+="if ("+l+"===false) { break; } else if ("+l+"!==true) { lang.error('"+s.BooleanConditionRequired+"'); }\n"),t+=Q(e,n.body),null!==n.update&&(t+="\n "+H(e,n.update)),t+="\n"+o+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function te(n,t){if("CallExpression"===t.argument.type)throw new i(n,s.NeverReach,t);let o;if("MemberExpression"===t.argument.type){const e=H(n,t.argument.object);return!0===t.argument.computed?o=H(n,t.argument.property):(me(t.argument.property.name),o="'"+t.argument.property.name+"'"),"lang.memberupdate("+e+","+o+",'"+t.operator+"',"+t.prefix+")"}const l=e(t.argument);if(me(l),null!==n.localScope){if(void 0!==n.localScope[l])return"lang.update(lscope, '"+l+"','"+t.operator+"',"+t.prefix+")";if(void 0!==n.localScope._SymbolsMap[l])return"lang.update(lscope, '"+n.localScope._SymbolsMap[l]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==n.globalScope[l])return"lang.update(gscope, '"+l+"','"+t.operator+"',"+t.prefix+")";if(void 0!==n.globalScope._SymbolsMap[l])return"lang.update(gscope, '"+n.globalScope._SymbolsMap[l]+"','"+t.operator+"',"+t.prefix+")";if(null!==n.localScope){if(n.undeclaredGlobalsInFunctions.has(l))return"lang.update(gscope,lang.chkAssig( '"+n.undeclaredGlobalsInFunctions.get(l).manglename+"',runtimeCtx),'"+t.operator+"',"+t.prefix+")";const e={manglename:Oe(n),node:t.argument};return n.undeclaredGlobalsInFunctions.set(l,e),"lang.update(gscope, lang.chkAssig('"+e.manglename+"',runtimeCtx),'"+t.operator+"',"+t.prefix+")"}throw new a(n,s.InvalidIdentifier,t)}function oe(e,n){let t="lastStatement = lc.voidOperation; \n";const o=$e(e);return t+=`\n var ${o} = true;\n do {\n ${o} = ${H(e,n.test)};\n if (${o}==false) {\n break;\n }\n if (${o}!==true) {\n lang.error('${s.BooleanConditionRequired}');\n }\n ${Q(e,n.body)}\n }\n while (${o} !== false);\n lastStatement = lc.voidOperation;\n `,t}function le(n,t){const o=H(n,t.right);if("MemberExpression"===t.left.type){let e;const l=H(n,t.left.object);return!0===t.left.computed?e=H(n,t.left.property):(e="'"+t.left.property.name+"'",me(t.left.property.name)),"lang.assignmember("+l+","+e+",'"+t.operator+"',"+o+")"}const l=e(t.left);if(me(l),null!==n.localScope){if(void 0!==n.localScope[l])return"lscope['"+l+"']=lang.assign("+o+",'"+t.operator+"', lscope['"+l+"'])";if(void 0!==n.localScope._SymbolsMap[l])return"lscope['"+n.localScope._SymbolsMap[l]+"']=lang.assign("+o+",'"+t.operator+"', lscope['"+n.localScope._SymbolsMap[l]+"'])"}if(void 0!==n.globalScope[l])return"gscope['"+l+"']=lang.assign("+o+",'"+t.operator+"', gscope['"+l+"'])";if(void 0!==n.globalScope._SymbolsMap[l])return"gscope['"+n.globalScope._SymbolsMap[l]+"']=lang.assign("+o+",'"+t.operator+"', gscope['"+n.globalScope._SymbolsMap[l]+"'])";if(null!==n.localScope){if(n.undeclaredGlobalsInFunctions.has(l))return"gscope[lang.chkAssig('"+n.undeclaredGlobalsInFunctions.get(l).manglename+"',runtimeCtx)]=lang.assign("+o+",'"+t.operator+"', gscope['"+n.undeclaredGlobalsInFunctions.get(l).manglename+"'])";const e={manglename:Oe(n),node:t.left};return n.undeclaredGlobalsInFunctions.set(l,e),"gscope[lang.chkAssig('"+e.manglename+"',runtimeCtx)]=lang.assign("+o+",'"+t.operator+"', gscope['"+e.manglename+"'])"}throw new a(n,s.InvalidIdentifier,t)}function re(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+H(e,n.expression)+"; \n ":"lastStatement = "+H(e,n.expression)+"; "}function ae(e,n){return"BlockStatement"===n.type?Q(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?Q(e,n)+"; ":"ExpressionStatement"===n.type?Q(e,n):Q(e,n)+"; "}function se(e,n){return`if (lang.mustBoolean(${H(e,n.test)}, runtimeCtx) === true) {\n ${ae(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+se(e,n.alternate):` else {\n ${ae(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function ie(e,n){let t="";for(let o=0;o<n.body.length;o++)"EmptyStatement"!==n.body[o].type&&("ReturnStatement"===n.body[o].type||"BreakStatement"===n.body[o].type||"ContinueStatement"===n.body[o].type?t+=Q(e,n.body[o])+"; \n":t+=Q(e,n.body[o])+" \n");return t}function ce(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+H(e,n.argument)}function ue(n,t){const o=e(t.specifiers[0].local);me(o);const l=n.libraryResolver?.loadLibrary(o),r=Oe(n);void 0===n.moduleFactory[l.uri]&&(n.moduleFactory[l.uri]=qe(l.syntax,{interceptor:n.interceptor,services:n.services,moduleFactory:n.moduleFactory,lrucache:n.lrucache,timeZone:n.timeZone??null,libraryResolver:n.libraryResolver,customfunctions:n.customfunctions,vars:{}},n.isAsync)),n.moduleFactoryMap[r]=l.uri;let a,s="";return s=n.isAsync?"(yield lang.loadModule('"+r+"', runtimeCtx) ); ":"lang.loadModule('"+r+"', runtimeCtx); ",void 0!==n.globalScope[o]?"gscope['"+o+"']="+s:void 0!==n.globalScope._SymbolsMap[o]?"gscope['"+n.globalScope._SymbolsMap[o]+"']="+s:(n.undeclaredGlobalsInFunctions.has(o)?(a=n.undeclaredGlobalsInFunctions.get(o).manglename,n.undeclaredGlobalsInFunctions.delete(o)):a=Oe(n),n.globalScope._SymbolsMap[o]=a,n.mangleMap[o]=a,"gscope[lang.setAssig('"+a+"', runtimeCtx)]="+s)}function pe(n,t){const o=Q(n,t.declaration);if("FunctionDeclaration"===t.declaration.type)n.exports[e(t.declaration.id)]="function";else if("VariableDeclaration"===t.declaration.type)for(const l of t.declaration.declarations)n.exports[e(l.id)]="variable";return o}function me(e){if("iif"===e)throw new c;if("decode"===e)throw new c;if("when"===e)throw new c;if("defaultvalue"===e)throw new c}function ge(n,t){const o=e(t.id);let l;me(o);let r=!1;void 0!==n.globalScope[o]?l=o:void 0!==n.globalScope._SymbolsMap[o]?l=n.globalScope._SymbolsMap[o]:n.undeclaredGlobalsInFunctions.has(o)?(l=n.undeclaredGlobalsInFunctions.get(o).manglename,n.globalScope._SymbolsMap[o]=l,n.mangleMap[o]=l,n.undeclaredGlobalsInFunctions.delete(o),r=!0):(l=Oe(n),n.globalScope._SymbolsMap[o]=l,n.mangleMap[o]=l);const a={isAsync:n.isAsync,console:n.console,exports:n.exports,undeclaredGlobalsInFunctions:n.undeclaredGlobalsInFunctions,customfunctions:n.customfunctions,moduleFactory:n.moduleFactory,moduleFactoryMap:n.moduleFactoryMap,libraryResolver:n.libraryResolver,lrucache:n.lrucache,interceptor:n.interceptor,services:n.services,symbols:n.symbols,mangleMap:n.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:n.depthCounter,globalScope:n.globalScope};let s="new lang.UserDefinedCompiledFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let i=0;i<t.params.length;i++){const o=e(t.params[i]);me(o);const l=Oe(n);a.localScope._SymbolsMap[o]=l,a.mangleMap[o]=l,s+="lscope['"+l+"']=arguments["+i.toString()+"];\n"}return!0===n.isAsync?(s+="return lang.__awaiter(this, void 0, void 0, function* () {\n",s+=ie(a,t.body)+"\n return lastStatement; ",s+="}); }",s+=", runtimeCtx),"+t.params.length+")",s+="\n lastStatement = lc.voidOperation; \n"):(s+=ie(a,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",s+="\n lastStatement = lc.voidOperation; \n"),r?"gscope[lang.setAssig('"+l+"', runtimeCtx)]="+s:"gscope['"+l+"']="+s}function de(e,n){const t=[];for(let o=0;o<n.declarations.length;o++)t.push(fe(e,n.declarations[o]));return t.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function fe(n,t){const o=null===t.init?null:H(n,t.init),l=e(t.id);if(me(l),null!==n.localScope){if(void 0!==n.localScope[l])return"lscope['"+l+"']="+o+"; ";if(void 0!==n.localScope._SymbolsMap[l])return"lscope['"+n.localScope._SymbolsMap[l]+"']="+o+"; ";const e=Oe(n);return n.localScope._SymbolsMap[l]=e,n.mangleMap[l]=e,"lscope['"+e+"']="+o+"; "}if(void 0!==n.globalScope[l])return"gscope['"+l+"']="+o+"; ";if(void 0!==n.globalScope._SymbolsMap[l])return"gscope['"+n.globalScope._SymbolsMap[l]+"']="+o+"; ";if(n.undeclaredGlobalsInFunctions.has(l)){const e=n.undeclaredGlobalsInFunctions.get(l).manglename;return n.globalScope._SymbolsMap[l]=e,n.mangleMap[l]=e,n.undeclaredGlobalsInFunctions.delete(l),"gscope[lang.setAssig('"+e+"', runtimeCtx)]="+o+"; "}const r=Oe(n);return n.globalScope._SymbolsMap[l]=r,n.mangleMap[l]=r,"gscope['"+r+"']="+o+"; "}function he(e,n){try{let t;return!0===n.computed?t=H(e,n.property):(me(n.property.name),t="'"+n.property.name+"'"),"lang.member("+H(e,n.object)+","+t+")"}catch(t){throw t}}function ye(e,n){try{return"lang.unary("+H(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function be(e,n){try{const t=[];for(let o=0;o<n.elements.length;o++)"Literal"===n.elements[o].type?t.push(H(e,n.elements[o])):t.push("lang.aCheck("+H(e,n.elements[o])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function we(e,n){try{const t=[];let o=0;for(const l of n.quasis)t.push(l.value?JSON.stringify(l.value.cooked):JSON.stringify("")),!1===l.tail&&(t.push(n.expressions[o]?"lang.castString(lang.aCheck("+H(e,n.expressions[o])+", 'TemplateLiteral'))":""),o++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function Se(e,n){try{return"lang.binary("+H(e,n.left)+","+H(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function ve(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new i(e,s.LogicalExpressionOnlyBoolean,n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new i(e,s.LogicalExpressionOnlyBoolean,n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+H(e,n.left)+") "+n.operator+" lang.logicalCheck("+H(e,n.right)+"))";throw new i(null,s.LogicExpressionOrAnd,null)}catch(t){throw t}}function xe(n,t){try{const o=e(t);if(me(o),null!==n.localScope){if(void 0!==n.localScope[o])return"lscope['"+o+"']";if(void 0!==n.localScope._SymbolsMap[o])return"lscope['"+n.localScope._SymbolsMap[o]+"']"}if(void 0!==n.globalScope[o])return"gscope['"+o+"']";if(void 0!==n.globalScope._SymbolsMap[o])return"gscope['"+n.globalScope._SymbolsMap[o]+"']";if(null!==n.localScope){if(n.undeclaredGlobalsInFunctions.has(o))return"gscope[lang.chkAssig('"+n.undeclaredGlobalsInFunctions.get(o).manglename+"',runtimeCtx)]";const e={manglename:Oe(n),node:t};return n.undeclaredGlobalsInFunctions.set(o,e),"gscope[lang.chkAssig('"+e.manglename+"',runtimeCtx)]"}throw new i(n,s.InvalidIdentifier,t)}catch(o){throw o}}function Fe(n,t){try{if("MemberExpression"===t.callee.type){let e;!0===t.callee.computed?e=H(n,t.callee.property):(me(t.callee.property.name),e="'"+t.callee.property.name+"'");let o="[";for(let l=0;l<t.arguments.length;l++)l>0&&(o+=", "),o+=H(n,t.arguments[l]);return o+="]",n.isAsync?"(yield lang.callModuleFunction("+H(n,t.callee.object)+","+o+","+e+",runtimeCtx))":"lang.callModuleFunction("+H(n,t.callee.object)+","+o+","+e+",runtimeCtx)"}if("Identifier"!==t.callee.type)throw new i(n,s.FunctionNotFound,t);const o=e(t.callee);if("iif"===o)return Me(n,t);if("when"===o)return Ie(n,t);if("defaultvalue"===o)return Ce(n,t);if("decode"===o)return Ae(n,t);let l="";if(null!==n.localScope&&(void 0!==n.localScope[o]?l="lscope['"+o+"']":void 0!==n.localScope._SymbolsMap[o]&&(l="lscope['"+n.localScope._SymbolsMap[o]+"']")),""===l)if(void 0!==n.globalScope[o])l="gscope['"+o+"']";else if(void 0!==n.globalScope._SymbolsMap[o])l="gscope['"+n.globalScope._SymbolsMap[o]+"']";else if(null!==n.localScope)if(n.undeclaredGlobalsInFunctions.has(o))l="gscope[lang.chkAssig('"+n.undeclaredGlobalsInFunctions.get(o).manglename+"',runtimeCtx)]";else{const e={manglename:Oe(n),node:t.callee};n.undeclaredGlobalsInFunctions.set(o,e),l="gscope[lang.chkAssig('"+e.manglename+"',runtimeCtx)]"}if(""!==l){let e="[";for(let o=0;o<t.arguments.length;o++)o>0&&(e+=", "),e+=H(n,t.arguments[o]);return e+="]",n.isAsync?"(yield lang.callfunc("+l+","+e+",runtimeCtx) )":"lang.callfunc("+l+","+e+",runtimeCtx)"}throw new i(n,s.FunctionNotFound,t)}catch(o){throw o}}function Me(e,n){try{if(3!==n.arguments.length)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e);return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n\n if (${t} === true) {\n return ${H(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${H(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ce(e,n){try{if(n.arguments.length<2||n.arguments.length>3)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e),o=$e(e);return 3===n.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n var ${o} = ${H(e,n.arguments[1])};\n ${t} = lang.getNestedOptionalValue(${t}, ${o});\n return ${t} != null && ${t} !== "" ? ${t} : ${H(e,n.arguments[2])};\n ${e.isAsync?"})}()))":"}()"}`:`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n if (${t} === null) {\n return ${H(e,n.arguments[1])};\n }\n if (${t} === "") {\n return ${H(e,n.arguments[1])};\n }\n if (${t} === undefined) {\n return ${H(e,n.arguments[1])};\n }\n return ${t};\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ie(e,n){try{if(n.arguments.length<3)throw new i(e,s.WrongNumberOfParameters,n);if(n.arguments.length%2==0)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e);let o="var ";for(let l=0;l<n.arguments.length-1;l+=2)o+=`${t} = lang.mustBoolean(${H(e,n.arguments[l])}, runtimeCtx);\n if (${t} === true ) {\n return ${H(e,n.arguments[l+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${o}\n return ${H(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ae(e,n){try{if(n.arguments.length<2)throw new i(e,s.WrongNumberOfParameters,n);if(2===n.arguments.length)return`(${H(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new i(e,s.WrongNumberOfParameters,n);const t=$e(e),o=$e(e);let l="var ";for(let r=1;r<n.arguments.length-1;r+=2)l+=`${o} = ${H(e,n.arguments[r])};\n if (lang.binary(${o}, ${t}, "==") === true ) {\n return ${H(e,n.arguments[r+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${H(e,n.arguments[0])};\n ${l}\n return ${H(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}const _e={};function Oe(e){return e.symbols.symbolCounter++,`_T${e.symbols.symbolCounter}`}function $e(e){return e.symbols.symbolCounter++,`_Tvar${e.symbols.symbolCounter}`}B(_e,Y),U(_e,Y),R(_e,Y),j(_e,Y),L(_e,Y),_e.iif=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}},_e.decode=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}},_e.when=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}},_e.defaultvalue=function(e,n){try{return Y(e,n,((t,o,l)=>{throw new a(e,s.Unrecognized,n)}))}catch(t){throw t}};const ke={};for(const ze in _e)ke[ze]=new p(_e[ze]);N(_e,Y);for(const ze in _e)_e[ze]=new p(_e[ze]);const Ee=function(){};Ee.prototype=_e;const Ge=function(){};function Be(e,n,t){const o={_SymbolsMap:{}};e||(e={}),t||(t={}),o.textformatting=1,o.infinity=1,o.pi=1;for(const l in n)o[l]=1;for(const l in t)o[l]=1;for(const l in e)o[l]=1;return o}function je(e,n,t,o){const l=t?new Ge:new Ee;e||(e={}),n||(n={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,l._SymbolsMap={textformatting:1,infinity:1,pi:1},l.textformatting=a,l.infinity=Number.POSITIVE_INFINITY,l.pi=Math.PI;for(const r in n)l[r]=n[r],l._SymbolsMap[r]=1;for(const r in e){const n=e[r];l._SymbolsMap[r]=1,P(n)?l[r]=u.createFromGraphic(n,o??null):l[r]=n}return l}Ge.prototype=ke;const Ne={fixSpatialReference:h,parseArguments:J,standardFunction:Y};function Re(e,n){const t={mode:n,compiled:!0,functions:{},signatures:[],standardFunction:Y,standardFunctionAsync:Y,evaluateIdentifier:Ue};for(let o=0;o<e.length;o++)e[o].registerFunctions(t);if("sync"===n){for(const e in t.functions)_e[e]=new p(t.functions[e]),Ee.prototype[e]=_e[e];for(let e=0;e<t.signatures.length;e++)E(t.signatures[e],"sync")}else{for(const e in t.functions)ke[e]=new p(t.functions[e]),Ge.prototype[e]=ke[e];for(let e=0;e<t.signatures.length;e++)E(t.signatures[e],"async")}}function Le(e,n){return e(n)}function Ue(e,n){const t=n.name;if("_SymbolsMap"===t)throw new a(e,s.InvalidIdentifier,null);if(e.localStack.length>0){if(!t.toLowerCase().startsWith("_t")&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t];const n=e.mangleMap[t];if(void 0!==n&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n]}if(!t.toLowerCase().startsWith("_t")&&void 0!==e.globalScope[t])return e.globalScope[t];if(1===e.globalScope._SymbolsMap[t])return e.globalScope[t];const o=e.mangleMap[t];return void 0!==o?e.globalScope[o]:void 0}Re([G],"sync"),Re([G],"async");let De=0;const Ze={isNumber:e=>W(e),isArray:e=>T(e),isImmutableArray:e=>F(e),isFeature:e=>M(e),isString:e=>q(e),isDictionary:e=>C(e),isGeometry:e=>I(e),geometryMember:(e,n,t,l,r=1)=>o(e,n,t,l,r),error(e){throw new a(null,e,null)},__awaiter:(e,n,t,o)=>new Promise(((t,l)=>{function r(e){try{s(o.next(e))}catch(n){l(n)}}function a(e){try{s(o.throw(e))}catch(n){l(n)}}function s(e){e.done?t(e.value):e.value?.then?e.value.then(r,a):(De++,De%100==0?setTimeout((()=>{De=0,r(e.value)}),0):r(e.value))}s((o=o.apply(e,n||[])).next())})),functionDepthchecker:(e,n)=>function(){if(n.depthCounter.depth++,n.localStack.push({}),n.depthCounter.depth>64)throw new a(null,s.MaximumCallDepth,null);const t=e.apply(this,arguments);return D(t)?t.then((e=>(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,e))):(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,t)},chkAssig(e,n){if(void 0===n.gdefs[e])throw new a(n,s.InvalidIdentifier,null);return e},mustBoolean(e,n){if(!0===e||!1===e)return e;throw new a(n,s.BooleanConditionRequired,null)},setAssig:(e,n)=>(n.gdefs[e]=1,e),castString:e=>A(e),aCheck(e,n){if(f(e)){if("ArrayExpression"===n)throw new a(null,s.NoFunctionInArray,null);if("ObjectExpression"===n)throw new a(null,s.NoFunctionInDictionary,null);throw new a(null,s.NoFunctionInTemplateLiteral,null)}return e===S?null:e},Dictionary:r,Feature:u,UserDefinedCompiledFunction:V,dictionary(e){const n={},t=new Map;for(let l=0;l<e.length;l+=2){if(f(e[l+1]))throw new a(null,s.NoFunctionInDictionary,null);if(!1===q(e[l]))throw new a(null,s.KeyMustBeString,null);let o=e[l].toString();const r=o.toLowerCase();t.has(r)?o=t.get(r):t.set(r,o),e[l+1]===S?n[o]=null:n[o]=e[l+1]}const o=new r(n);return o.immutable=!1,o},strCheck(e){if(!1===q(e))throw new a(null,s.KeyMustBeString,null);return e},unary(e,n){if(z(e)){if("!"===n)return!e;if("-"===n)return-1*_(e);if("+"===n)return 1*_(e);if("~"===n)return~_(e);throw new a(null,s.UnsupportedUnaryOperator,null)}if("-"===n)return-1*_(e);if("+"===n)return 1*_(e);if("~"===n)return~_(e);throw new a(null,s.UnsupportedUnaryOperator,null)},logicalCheck(e){if(!1===z(e))throw new a(null,s.LogicExpressionOrAnd,null);return e},logical(e,n,t){if(z(e)&&z(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new a(null,s.LogicExpressionOrAnd,null)}throw new a(null,s.LogicExpressionOrAnd,null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return k(_(e),_(n),t);case"==":case"=":return $(e,n);case"!=":return!$(e,n);case"<":case">":case"<=":case">=":return O(e,n,t);case"+":return q(e)||q(n)?A(e)+A(n):_(e)+_(n);case"-":return _(e)-_(n);case"*":return _(e)*_(n);case"/":return _(e)/_(n);case"%":return _(e)%_(n);default:throw new a(null,s.UnsupportedOperator,null)}},assign(e,n,t){switch(n){case"=":return e===S?null:e;case"/=":return _(t)/_(e);case"*=":return _(t)*_(e);case"-=":return _(t)-_(e);case"+=":return q(t)||q(e)?A(t)+A(e):_(t)+_(e);case"%=":return _(t)%_(e);default:throw new a(null,s.UnsupportedOperator,null)}},update(e,n,t,o){const l=_(e[n]);return e[n]="++"===t?l+1:l-1,!1===o?l:"++"===t?l+1:l-1},graphicToFeature:(e,n,t)=>null===e?null:u.createFromGraphicLikeObject(e.geometry,e.attributes,n,t.timeZone),memberupdate(e,n,t,o){let l;if(T(e)){if(!W(n))throw new a(null,s.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>=e.length)throw new a(null,s.OutOfBounds,null);l=_(e[n]),e[n]="++"===t?l+1:l-1}else if(e instanceof r){if(!1===q(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new a(null,s.FieldNotFound,null,{key:n});l=_(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else if(M(e)){if(!1===q(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new a(null,s.FieldNotFound,null);l=_(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else{if(F(e))throw new a(null,s.Immutable,null);if(!(e instanceof Te))throw new a(null,s.InvalidIdentifier,null);if(!1===q(n))throw new a(null,s.ModuleAccessorMustBeString,null);if(!0!==e.hasGlobal(n))throw new a(null,s.ModuleExportNotFound,null);l=_(e.global(n)),e.setGlobal(n,"++"===t?l+1:l-1)}return!1===o?l:"++"===t?l+1:l-1},assignmember(e,n,t,o){if(T(e)){if(!W(n))throw new a(null,s.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>e.length)throw new a(null,s.OutOfBounds,null);if(n===e.length){if("="!==t)throw new a(null,s.OutOfBounds,null);e[n]=this.assign(o,t,e[n])}else e[n]=this.assign(o,t,e[n])}else if(e instanceof r){if(!1===q(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(o,t,e.field(n)));else{if("="!==t)throw new a(null,s.FieldNotFound,null);e.setField(n,this.assign(o,t,null))}}else if(M(e)){if(!1===q(n))throw new a(null,s.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(o,t,e.field(n)));else{if("="!==t)throw new a(null,s.FieldNotFound,null);e.setField(n,this.assign(o,t,null))}}else{if(F(e))throw new a(null,s.Immutable,null);if(!(e instanceof Te))throw new a(null,s.InvalidIdentifier,null);if(!1===q(n))throw new a(null,s.ModuleAccessorMustBeString,null);if(!e.hasGlobal(n))throw new a(null,s.ModuleExportNotFound,null);e.setGlobal(n,this.assign(o,t,e.global(n)))}},member(e,n){if(null===e)throw new a(null,s.MemberOfNull,null);if(e instanceof r||M(e)){if(q(n))return e.field(n);throw new a(null,s.InvalidMemberAccessKey,null)}if(e instanceof Z){if(q(n))return o(e,n,null,null);throw new a(null,s.InvalidMemberAccessKey,null)}if(T(e)){if(W(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new a(null,s.OutOfBounds,null);return e[n]}throw new a(null,s.InvalidMemberAccessKey,null)}if(q(e)){if(W(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new a(null,s.OutOfBounds,null);return e[n]}throw new a(null,s.InvalidMemberAccessKey,null)}if(F(e)){if(W(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length()+n),n>=e.length()||n<0)throw new a(null,s.OutOfBounds,null);return e.get(n)}throw new a(null,s.InvalidMemberAccessKey,null)}if(e instanceof Te){if(q(n))return e.global(n);throw new a(null,s.InvalidMemberAccessKey,null)}throw new a(null,s.InvalidMemberAccessKey,null)},callfunc:(e,n,t)=>e.call(t,{arguments:n,preparsed:!0}),loadModule(e,n){const t=n.moduleFactoryMap[e];if(n.moduleSingletons[t])return n.moduleSingletons[t];const o=n.moduleFactory[t]({vars:{},moduleSingletons:n.moduleSingletons,depthCounter:n.depthCounter,console:n.console,abortSignal:n.abortSignal,isAsync:n.isAsync,services:n.services,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor},n.spatialReference);return n.moduleSingletons[t]=o,o},callModuleFunction(e,n,t,o){if(!(e instanceof Te))throw new a(null,s.FunctionNotFound,null);const l=e.global(t);if(!1===f(l))throw new a(null,s.CallNonFunction,null);return l.call(o,{preparsed:!0,arguments:n})},getNestedOptionalValue:(e,n)=>l(e,n)};function Ke(e){console.log(e)}function Pe(e,n,o=!1){null===n&&(n={vars:{},customfunctions:{}});let l=null;e.usesModules&&(l=new t(null,e.loadedModules));const r={isAsync:o,globalScope:Be(n.vars,o?ke:_e,n.customfunctions),moduleFactory:{},moduleFactoryMap:{},undeclaredGlobalsInFunctions:new Map,customfunctions:n.customfunctions,libraryResolver:l,localScope:null,mangleMap:{},depthCounter:{depth:1},exports:{},console:Ke,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let c=ie(r,e);""===c&&(c="lc.voidOperation; "),r.undeclaredGlobalsInFunctions.size>0&&r.undeclaredGlobalsInFunctions.forEach((e=>{throw new i(n,s.InvalidIdentifier,e.node)}));let u="";u=o?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+c+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+c+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const p=r.moduleFactory,m=r.moduleFactoryMap,g=r.exports,d={};let h;for(h in g)d[h]=r.mangleMap[h]??h;const F={lc:y,lang:Ze,mangles:r.mangleMap,postProcess(e){if(e instanceof b&&(e=e.value),e instanceof w&&(e=e.value),e===S&&(e=null),e===v)throw new a(null,s.IllegalResult,null);if(e===x)throw new a(null,s.IllegalResult,null);if(f(e))throw new a(null,s.IllegalResult,null);return e},prepare(e,n){let t=e.spatialReference;null==t&&(t=K.WebMercator);const o=je(e.vars,e.customfunctions,n,e.timeZone);return{localStack:[],isAsync:n,moduleFactory:p,moduleFactoryMap:m,mangleMap:this.mangles,moduleSingletons:{},exports:g,gdefs:{},exportmangle:d,spatialReference:t,globalScope:o,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console??Ke,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:{depth:1}}}};return new Function("context","spatialReference",u).bind(F)}async function We(){return Re([await import("./functions/geomasync.js")],"async"),!0}class Te extends n{constructor(e){super(),this.moduleContext=e}hasGlobal(e){return void 0===this.moduleContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.moduleContext.exports[e]}setGlobal(e,n){const t=this.moduleContext.globalScope,o=e.toLowerCase();if(f(n))throw new a(null,s.AssignModuleFunction,null);t[this.moduleContext.exportmangle[o]]=n}global(e){const n=this.moduleContext.globalScope,t=e.toLowerCase(),o=n[this.moduleContext.exportmangle[t]];if(void 0===o)throw new a(null,s.InvalidIdentifier,null);if(f(o)&&!(o instanceof g)){const e=new g;return e.fn=o,e.parameterEvaluator=Y,e.context=this.moduleContext,n[this.moduleContext.exportmangle[t]]=e,e}return o}}function qe(e,n,o=!1){const l={isAsync:o,moduleFactory:n.moduleFactory,moduleFactoryMap:{},libraryResolver:new t(null,e.loadedModules),globalScope:Be(n.vars,o?ke:_e,n.customfunctions),customfunctions:n.customfunctions,localScope:null,mangleMap:{},undeclaredGlobalsInFunctions:new Map,depthCounter:{depth:1},exports:{},console:Ke,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let r=ie(l,e);""===r&&(r="lc.voidOperation; ");let a="";a=o?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+r+"\n return lastStatement; }); } \n yield mainBody(); \n return this.prepareModule(runtimeCtx); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+r+"\n return lastStatement; } \n mainBody(); \n return this.prepareModule(runtimeCtx); ";const s=l.moduleFactory,i=l.moduleFactoryMap,c=l.exports,u={};let p;for(p in c)u[p]=l.mangleMap[p]??p;const m={lc:y,lang:Ze,mangles:l.mangleMap,prepareModule:e=>new Te(e),prepare(e,n){let t=e.spatialReference;null==t&&(t=new K({wkid:102100}));const o=je(e.vars,e.customfunctions,n,e.timeZone);return{localStack:[],isAsync:n,exports:c,exportmangle:u,gdefs:{},moduleFactory:s,moduleFactoryMap:i,moduleSingletons:e.moduleSingletons,mangleMap:this.mangles,spatialReference:t,globalScope:o,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console??Ke,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:e.depthCounter}}};return new Function("context","spatialReference",a).bind(m)}export{V as UserDefinedCompiledFunction,Pe as compileScript,We as enableAsyncSupport,Le as executeScript,Re as extend,Ne as functionHelper};