@arcgis/core 4.33.0-next.20250213 → 4.33.0-next.20250214

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 (241) hide show
  1. package/arcade/arcadeAsyncRuntime.js +1 -1
  2. package/arcade/arcadeCompiler.js +1 -1
  3. package/arcade/arcadeEnvironment.js +1 -1
  4. package/arcade/arcadeRuntime.js +1 -1
  5. package/arcade/featureSetUtils.js +1 -1
  6. package/arcade/featureset/actions/GroupBy.js +1 -1
  7. package/arcade/featureset/actions/OrderBy.js +1 -1
  8. package/arcade/functions/date.js +1 -1
  9. package/arcade/functions/feature.js +1 -1
  10. package/arcade/functions/featuresetbase.js +1 -1
  11. package/arcade/functions/featuresetgeom.js +1 -1
  12. package/arcade/functions/featuresetstats.js +1 -1
  13. package/arcade/functions/featuresetstring.js +1 -1
  14. package/arcade/functions/fieldStats.js +1 -1
  15. package/arcade/functions/geomasync.js +1 -1
  16. package/arcade/functions/geometry.js +1 -1
  17. package/arcade/functions/geomsync.js +1 -1
  18. package/arcade/functions/knowledgegraph.js +1 -1
  19. package/arcade/functions/maths.js +1 -1
  20. package/arcade/functions/string.js +1 -1
  21. package/arcade/geometry/functions.js +1 -1
  22. package/arcade/languageUtils.js +1 -1
  23. package/arcade.js +1 -1
  24. package/assets/esri/core/workers/RemoteClient.js +1 -1
  25. package/assets/esri/core/workers/chunks/{89960be0e525d42ccffe.js → 01f8f52a3f9e6fb72f64.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{8191dd3d7451b2e7b95e.js → 041eebac192855fbf919.js} +1 -1
  27. package/assets/esri/core/workers/chunks/09cbf45dc7b026957d3e.js +1 -0
  28. package/assets/esri/core/workers/chunks/{1a286d43daa3b811c30d.js → 1661ac4e1b6c6af6ee0f.js} +1 -1
  29. package/assets/esri/core/workers/chunks/197dc75a1c10c0fbf65a.js +1 -0
  30. package/assets/esri/core/workers/chunks/238bcf6514a1f214cc8a.js +1 -0
  31. package/assets/esri/core/workers/chunks/{efded84870064c3d8210.js → 23a045fccc005079bd58.js} +1 -1
  32. package/assets/esri/core/workers/chunks/32fee5446ee0b0a6c4bd.js +1 -0
  33. package/assets/esri/core/workers/chunks/{f429d95eb986f3d215f3.js → 391c200274bbeb92404c.js} +1 -1
  34. package/assets/esri/core/workers/chunks/3c44b4bf7fe407ec1d70.js +1 -0
  35. package/assets/esri/core/workers/chunks/3eacb4d1275f2d87825f.js +1 -0
  36. package/assets/esri/core/workers/chunks/{c0af54cc5938176ce764.js → 3fe7be535affae31de7e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{c061cad8323f0469e7e4.js → 42f21349f488a14198e4.js} +1 -1
  38. package/assets/esri/core/workers/chunks/48eb5cbb4555acc56984.js +1 -0
  39. package/assets/esri/core/workers/chunks/4927b33f7e9daf059765.js +1 -0
  40. package/assets/esri/core/workers/chunks/50bab11c32bf4001edd7.js +1 -0
  41. package/assets/esri/core/workers/chunks/5c9a7b1dedd146cc65d2.js +1 -0
  42. package/assets/esri/core/workers/chunks/5d8120c84e5a164cb1bc.js +1 -0
  43. package/assets/esri/core/workers/chunks/{7a9e1696dc6120df15b0.js → 60ca6a2e9f1e2c969aab.js} +1 -1
  44. package/assets/esri/core/workers/chunks/679cc23be07ededb3992.js +1 -0
  45. package/assets/esri/core/workers/chunks/{9f122278e917c9ce5f95.js → 67c1e2c17ea3ca27248c.js} +1 -1
  46. package/assets/esri/core/workers/chunks/69b55259f90e8e4bc2aa.js +1 -0
  47. package/assets/esri/core/workers/chunks/69e0ff74e44962d97049.js +1 -0
  48. package/assets/esri/core/workers/chunks/6ca4b5d1a076c6079472.js +1 -0
  49. package/assets/esri/core/workers/chunks/{7058001bf66f9f3d5d45.js → 6d02d66234a7b74e5c14.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{77bfd4f819096cb754ae.js → 6e92569a4a82592b95dc.js} +1 -1
  51. package/assets/esri/core/workers/chunks/6f007703662e714b2f0a.js +1 -0
  52. package/assets/esri/core/workers/chunks/744bdf2bb0cc38e6a7b1.js +1 -0
  53. package/assets/esri/core/workers/chunks/7bf9ebff90bb02bec8e7.js +1 -0
  54. package/assets/esri/core/workers/chunks/{8b6580329e1e35ea4190.js → 7c03489438f51a5170f3.js} +1 -1
  55. package/assets/esri/core/workers/chunks/7e77e4288ed205128b87.js +1 -0
  56. package/assets/esri/core/workers/chunks/80c3e933b43ea79b30de.js +1 -0
  57. package/assets/esri/core/workers/chunks/830844f7fb7557d30f34.js +1 -0
  58. package/assets/esri/core/workers/chunks/8a66d06132c8803033c9.js +1 -0
  59. package/assets/esri/core/workers/chunks/{e9993d4f2bfdc434fbcc.js → 8f4bcca8b0525e19374f.js} +1 -1
  60. package/assets/esri/core/workers/chunks/95047f145ebda65c3d8e.js +1 -0
  61. package/assets/esri/core/workers/chunks/9968c6654d048c9add0c.js +1 -0
  62. package/assets/esri/core/workers/chunks/{b50176897ffadc53573e.js → 9bbfa8dc4124b5273d28.js} +1 -1
  63. package/assets/esri/core/workers/chunks/a2b548fbfa2eb5e6f2a7.js +1 -0
  64. package/assets/esri/core/workers/chunks/a37825705e49b60e5d4b.js +1 -0
  65. package/assets/esri/core/workers/chunks/{211c32244e05164dcd38.js → aebbaa7ab7a6b3b1579c.js} +2 -2
  66. package/assets/esri/core/workers/chunks/b90b7ffc1e9363ed18e0.js +1 -0
  67. package/assets/esri/core/workers/chunks/{a39977478a6c57d2e8fb.js → bd2dcc55ac3418421ee5.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{83fe9a8002a4fc96e534.js → bd38717780fffa49d36c.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{c77ade444aa2f3f2b599.js → bdc9dec6a359d2e3705c.js} +1 -1
  70. package/assets/esri/core/workers/chunks/bf127fe767174e2715b5.js +1 -0
  71. package/assets/esri/core/workers/chunks/c3806be4a760735e6082.js +1 -0
  72. package/assets/esri/core/workers/chunks/cb3148cf11a420d6e9ab.js +1 -0
  73. package/assets/esri/core/workers/chunks/{8d8f5f08d730270e1165.js → cb9a27176bd5de2c34ca.js} +1 -1
  74. package/assets/esri/core/workers/chunks/cdf942020b7054628dc9.js +1 -0
  75. package/assets/esri/core/workers/chunks/d6c3df07cfaa6bb639e9.js +1 -0
  76. package/assets/esri/core/workers/chunks/ed89a108b032b982b12f.js +1 -0
  77. package/assets/esri/core/workers/chunks/ee5b82873ff80cb4ba34.js +1 -0
  78. package/assets/esri/core/workers/chunks/{d0656e9d30eb3a66a8db.js → f976233ad5e5b718ba83.js} +1 -1
  79. package/assets/esri/themes/base/widgets/_Directions.scss +30 -9
  80. package/assets/esri/themes/base/widgets/_Editor.scss +1 -0
  81. package/assets/esri/themes/dark/main.css +1 -1
  82. package/assets/esri/themes/light/main.css +1 -1
  83. package/assets/esri/themes/light/view.css +1 -1
  84. package/chunks/arcade.js +1 -1
  85. package/chunks/array.js +1 -1
  86. package/chunks/languageUtils.js +1 -1
  87. package/copyright.txt +26 -19
  88. package/core/colorUtils.js +1 -1
  89. package/core/deprecate.js +1 -1
  90. package/editing/templateUtils.js +1 -1
  91. package/geohash/geohashUtils.js +1 -1
  92. package/interfaces.d.ts +634 -129
  93. package/intl/locale.js +1 -1
  94. package/layers/FeatureLayer.js +1 -1
  95. package/layers/GeoJSONLayer.js +1 -1
  96. package/layers/ImageryTileLayer.js +1 -1
  97. package/layers/OGCFeatureLayer.js +1 -1
  98. package/layers/RouteLayer.js +1 -1
  99. package/layers/SubtypeGroupLayer.js +1 -1
  100. package/layers/WFSLayer.js +1 -1
  101. package/layers/graphics/data/queryUtils.js +1 -1
  102. package/layers/mixins/ArcGISImageService.js +1 -1
  103. package/layers/mixins/ImageryTileMixin.js +1 -1
  104. package/layers/mixins/TrackableLayer.d.ts +4 -0
  105. package/layers/save/imageryUtils.js +1 -1
  106. package/layers/support/ExportImageServiceParameters.js +1 -1
  107. package/layers/support/SubtypeSublayer.js +1 -1
  108. package/layers/support/TitleCreator.js +5 -0
  109. package/layers/support/TrackInfo.d.ts +4 -0
  110. package/layers/support/TrackInfo.js +1 -1
  111. package/layers/support/TrackPartInfo.d.ts +4 -0
  112. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  113. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  114. package/layers/support/rasterDatasets/datasetUtils.js +5 -0
  115. package/layers/support/rasterFormats/RasterCodec.js +1 -1
  116. package/layers/support/rasterFormats/TiffDecoder.js +1 -1
  117. package/layers/support/rasterFormats/pixelRangeUtils.js +1 -1
  118. package/layers/support/rasterFunctions/creators/createLocalFunctions.js +1 -1
  119. package/layers/support/rasterFunctions/creators/createStatisticsFunctions.js +1 -1
  120. package/networks/UtilityNetwork.js +1 -1
  121. package/networks/support/networkFieldUtils.js +5 -0
  122. package/package.json +1 -1
  123. package/renderers/support/rasterRendererHelper.js +1 -1
  124. package/rest/query/executeForIds.js +1 -1
  125. package/rest/support/BinParametersBase.js +1 -1
  126. package/support/arcadeUtils.js +1 -1
  127. package/support/revision.js +1 -1
  128. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  129. package/symbols/cim/rasterizingUtils.js +1 -1
  130. package/symbols/support/previewCIMSymbol.js +1 -1
  131. package/symbols/support/previewSymbol2D.js +1 -1
  132. package/symbols/support/symbolUtils.js +1 -1
  133. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  134. package/views/2d/layers/RouteLayerView2D.js +1 -1
  135. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  136. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  137. package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
  138. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  139. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  140. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  141. package/views/3d/interactive/editingTools/transform/ScaleRotateMeshAdapter.js +1 -1
  142. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  143. package/views/3d/layers/I3SMeshView3D.js +1 -1
  144. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  145. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  146. package/views/3d/layers/i3s/BuildingFilterUtil.js +1 -1
  147. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  148. package/views/3d/layers/i3s/SymbologyInfo.js +5 -0
  149. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  150. package/views/3d/state/utils/navigationUtils.js +1 -1
  151. package/views/3d/webgl-engine/collections/Component/ComponentData.js +1 -1
  152. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  153. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  154. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +14 -14
  155. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  156. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  157. package/views/3d/webgl-engine/core/renderPasses/RenderPassIdentifier.js +5 -0
  158. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  159. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
  160. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  161. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  162. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  163. package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
  164. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  165. package/views/View.js +1 -1
  166. package/views/draw/DrawAction.js +1 -1
  167. package/views/layers/FeatureLayerView.js +1 -1
  168. package/views/layers/ImageryTileLayerView.js +1 -1
  169. package/views/support/RequiredFieldsOptions.js +5 -0
  170. package/views/webgl/Texture.js +1 -1
  171. package/widgets/BasemapGallery.js +1 -1
  172. package/widgets/BasemapToggle.js +1 -1
  173. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  174. package/widgets/BatchAttributeForm.js +1 -1
  175. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  176. package/widgets/Compass/CompassViewModel.js +1 -1
  177. package/widgets/DirectionalPad.js +1 -1
  178. package/widgets/Directions/DirectionsViewModel.js +1 -1
  179. package/widgets/Directions.js +1 -1
  180. package/widgets/Editor/AddAssociationWorkflow.js +1 -1
  181. package/widgets/Editor/EditorViewModel.js +1 -1
  182. package/widgets/Editor.js +1 -1
  183. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js +1 -1
  184. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  185. package/widgets/Fullscreen.js +1 -1
  186. package/widgets/Home.js +1 -1
  187. package/widgets/LayerList/LayerListItem.js +1 -1
  188. package/widgets/LayerList/ListItem.js +1 -1
  189. package/widgets/LayerList/support/layerListUtils.js +1 -1
  190. package/widgets/Legend/LegendViewModel.js +1 -1
  191. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  192. package/widgets/Legend.js +1 -1
  193. package/widgets/Locate.js +1 -1
  194. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  195. package/widgets/OrientedImageryViewer/adapters/sketch/DigitizationAdapter.js +1 -1
  196. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  197. package/widgets/OrientedImageryViewer/constants.js +1 -1
  198. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  199. package/widgets/OrientedImageryViewer/symbols.js +1 -1
  200. package/widgets/OrientedImageryViewer.js +1 -1
  201. package/widgets/ScaleBar.js +1 -1
  202. package/widgets/Swipe.js +1 -1
  203. package/widgets/TableList/ListItem.js +1 -1
  204. package/widgets/TableList.js +1 -1
  205. package/widgets/Track.js +1 -1
  206. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  207. package/widgets/UtilityNetworkTrace.js +1 -1
  208. package/widgets/support/GoTo.js +1 -1
  209. package/widgets/support/goToUtils.js +5 -0
  210. package/assets/esri/core/workers/chunks/03f51ea011ffbcfb7c7d.js +0 -1
  211. package/assets/esri/core/workers/chunks/122ed10cac9f192e1eec.js +0 -1
  212. package/assets/esri/core/workers/chunks/1249fd2f83caeaefd8ce.js +0 -1
  213. package/assets/esri/core/workers/chunks/144e534d4ac1aafab60d.js +0 -1
  214. package/assets/esri/core/workers/chunks/15ad8036736a32652c9b.js +0 -1
  215. package/assets/esri/core/workers/chunks/177d4c2c10ef7369006f.js +0 -1
  216. package/assets/esri/core/workers/chunks/1d282700e76285a1684c.js +0 -1
  217. package/assets/esri/core/workers/chunks/282c2d52011b331d4704.js +0 -1
  218. package/assets/esri/core/workers/chunks/35392bf8f21005ad6170.js +0 -1
  219. package/assets/esri/core/workers/chunks/37cfd102b6ab5b959f9d.js +0 -1
  220. package/assets/esri/core/workers/chunks/6a9a1cd8134a903dd05a.js +0 -1
  221. package/assets/esri/core/workers/chunks/73d03c208242778e67bf.js +0 -1
  222. package/assets/esri/core/workers/chunks/7485588bd24217669578.js +0 -1
  223. package/assets/esri/core/workers/chunks/80d3aa3f27ad5b2b969b.js +0 -1
  224. package/assets/esri/core/workers/chunks/8939479cd433cc53f6c1.js +0 -1
  225. package/assets/esri/core/workers/chunks/8a2f3ce46eeac853b3a9.js +0 -1
  226. package/assets/esri/core/workers/chunks/8f31fbb1d549230ee3db.js +0 -1
  227. package/assets/esri/core/workers/chunks/91384398f01485631f70.js +0 -1
  228. package/assets/esri/core/workers/chunks/9421ae38fdf986b9b107.js +0 -1
  229. package/assets/esri/core/workers/chunks/94225d92afbdb10dfedb.js +0 -1
  230. package/assets/esri/core/workers/chunks/99c136b800e5fc7e04f4.js +0 -1
  231. package/assets/esri/core/workers/chunks/9b74635d80d029498da1.js +0 -1
  232. package/assets/esri/core/workers/chunks/a9274c9132e7a2691abb.js +0 -1
  233. package/assets/esri/core/workers/chunks/af917f69d9c6e9937263.js +0 -1
  234. package/assets/esri/core/workers/chunks/ca6180e572e69540c183.js +0 -1
  235. package/assets/esri/core/workers/chunks/cccd215b0a4890551957.js +0 -1
  236. package/assets/esri/core/workers/chunks/d074c916b414432a7b6a.js +0 -1
  237. package/assets/esri/core/workers/chunks/de638753a30c9aa41bad.js +0 -1
  238. package/assets/esri/core/workers/chunks/e6633f0326a44477f630.js +0 -1
  239. package/assets/esri/core/workers/chunks/eb0ce7937813d1be1284.js +0 -1
  240. package/assets/esri/core/workers/chunks/f2cf05fbbb51d657d300.js +0 -1
  241. package/assets/esri/core/workers/chunks/f4ba823c8acd60c7c82d.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/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,getGeometryKeys as a}from"./containerUtils.js";import i from"./Dictionary.js";import{ArcadeExecutionError as l,ExecutionErrorCodes as s,ensureArcadeExecutionError as c}from"./executionError.js";import u from"./Feature.js";import{NativeFunction as f,ScopeMarshalledFunction as p,ArcadeFunction as w,wrapModuleScopedResponse as d}from"./FunctionWrapper.js";import{D as h,B as g,i as m,w as y,t as b,n as v,m as S,z as x,f as F,A as I,C as k,R as M,I as R,x as A,y as C,u as O,p as N,l as j}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as E}from"../chunks/array.js";import{registerFunctions as D}from"./functions/date.js";import{registerFunctions as K}from"./functions/feature.js";import{registerFunctions as U}from"./functions/geomasync.js";import{registerFunctions as Z}from"./functions/geometry.js";import{registerFunctions as G}from"./functions/maths.js";import{registerFunctions as L}from"./functions/stats.js";import{registerFunctions as q}from"./functions/string.js";import P from"../geometry/Geometry.js";import V from"../geometry/SpatialReference.js";import{isBoolean as W,isString as T,isArray as _,isNumber as z,isGraphic as Y}from"../support/guards.js";async function H(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await ee(e,t.arguments[r]));return n}async function J(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await H(e,t))}class Q extends w{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 l(e,s.MaximumCallDepth,null);return Ke(this.definition,n,t,null)}}call(e,t){return $(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 l(e,s.MaximumCallDepth,t);return Ke(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 p?t:d(t,e,r))),d(await Ke(this.definition,l,i,t),n,r)}))}}class X extends t{constructor(e){super(),this.source=e}global(t){const n=this.executingContext.globalScope[e(t)];if(m(n.value)&&!(n.value instanceof p)){const e=new p;e.fn=n.value,e.parameterEvaluator=$,e.context=this.executingContext,n.value=e}return n.value}setGlobal(t,n){if(m(n))throw new l(null,s.AssignModuleFunction,null);this.executingContext.globalScope[e(t)]={value:n}}hasGlobal(t){return void 0===this.executingContext.exports[t]&&(t=e(t)),void 0!==this.executingContext.exports[t]}async loadModule(e){let t=e.spatialReference;null==t&&(t=new V({wkid:102100})),this.moduleScope=Ge({},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??Le,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:null,depthCounter:{depth:1}},await me(this.executingContext,this.source.syntax)}}async function $(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await H(e,t))}async function ee(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await pe(e,t);case"AssignmentExpression":return await de(e,t);case"TemplateLiteral":return await je(e,t);case"Identifier":return Oe(e,t);case"MemberExpression":return await ke(e,t);case"Literal":return t.value;case"CallExpression":return await Ne(e,t);case"UnaryExpression":return await Me(e,t);case"BinaryExpression":return await Ae(e,t);case"LogicalExpression":return await Ce(e,t);case"ArrayExpression":return await Re(e,t);case"ObjectExpression":return await ne(e,t);default:throw new l(e,s.Unrecognized,t)}}catch(n){throw c(e,t,n)}}async function te(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await Se(e,t);case"ExportNamedDeclaration":return await xe(e,t);case"VariableDeclaration":return await Fe(e,t,0);case"BlockStatement":return await me(e,t);case"FunctionDeclaration":return await ve(e,t);case"ReturnStatement":return await be(e,t);case"IfStatement":return await ge(e,t);case"ExpressionStatement":return await he(e,t);case"ForStatement":return await oe(e,t);case"WhileStatement":return await re(e,t);case"ForInStatement":return await ue(e,t);case"ForOfStatement":return await fe(e,t);case"BreakStatement":return A;case"EmptyStatement":return y;case"ContinueStatement":return C;default:throw new l(e,s.Unrecognized,t)}}catch(n){throw c(e,t,n)}}async function ne(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await ee(e,r.value),a="Identifier"===r.key.type?r.key.name:await ee(e,r.key);n[i]={key:a,value:o}}const r={},o=new Map;for(let i=0;i<n.length;i++){const a=n[i];if(m(a.value))throw new l(e,s.NoFunctionInDictionary,t);if(!1===T(a.key))throw new l(e,s.KeyMustBeString,t);let c=a.key.toString();const u=c.toLowerCase();o.has(u)?c=o.get(u):o.set(u,c),a.value===y?r[c]=null:r[c]=a.value}const a=new i(r);return a.immutable=!1,a}async function re(e,t){let n=await ee(e,t.test);if(!1===n)return y;if(!0!==n)throw new l(e,s.BooleanConditionRequired,t);for(;!0===n;){const r=await te(e,t.body);if(r===A)break;if(r instanceof M)return r;if(n=await ee(e,t.test),!0!==n&&!1!==n)throw new l(e,s.BooleanConditionRequired,t)}return y}async function oe(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await te(e,t.init):await ee(e,t.init));;){if(null!==t.test){const n=await ee(e,t.test);if(!0===e.abortSignal?.aborted)throw new l(e,s.Cancelled,t);if(!1===n)break;if(!0!==n)throw new l(e,s.BooleanConditionRequired,t)}const n=await te(e,t.body);if(n===A)break;if(n instanceof M)return n;null!==t.update&&await ee(e,t.update)}return y}catch(n){throw n}}async function ae(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new l(e,s.OutOfBounds,t);r.value=n[i]}else r.value=i;const a=await te(e,t.body);if(a===A)break;if(a instanceof M)return a}return y}async function ie(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 te(e,t.body);if(a===A)break;if(a instanceof M)return a}return y}async function le(e,t,n,r){const o=n.iterator(e.abortSignal);let a;for(;null!=(a=await o.next());){const o=u.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone);o._underlyingGraphic=a,r.value=o;const i=await te(e,t.body);if(i===A)break;if(i instanceof M)return i}return y}async function se(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.value=new i({key:o,value:a});const l=await te(e,t.body);if(l===A)break;if(l instanceof M)return l}return y}async function ce(e,t,n,r){for(const l of a(n)){const a=o(n,l,e,t,1);r.value=new i({key:l,value:a});const s=await te(e,t.body);if(s===A)break;if(s instanceof M)return s}return y}async function ue(t,n){const r=await ee(t,n.right);"VariableDeclaration"===n.left.type&&await te(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let c=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(c=t.localScope[o]),null===c&&void 0!==t.globalScope[o]&&(c=t.globalScope[o]),null===c)throw new l(t,s.InvalidIdentifier,n);return _(r)||T(r)?await ae(t,n,r,c):S(r)?await ie(t,n,r,c):r instanceof i||x(r)?await ae(t,n,r.keys(),c,"k"):N(r)?await le(t,n,r,c):j(r)?await ae(t,n,a(r),c,"k"):y}async function fe(t,n){const r=await ee(t,n.right);"VariableDeclaration"===n.left.type&&await te(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let a=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(a=t.localScope[o]),null===a&&void 0!==t.globalScope[o]&&(a=t.globalScope[o]),null===a)throw new l(t,s.InvalidIdentifier,n);return _(r)||T(r)?await ae(t,n,r,a,"k"):S(r)?await ie(t,n,r,a,"k"):r instanceof i||x(r)?await se(t,n,r,a):N(r)?await le(t,n,r,a):j(r)?await ce(t,n,r,a):y}async function pe(t,n){const r=n.argument;if("CallExpression"===r.type)throw new l(t,s.NeverReach,n);if("MemberExpression"===r.type){const e=await ee(t,r.object);let o,a;if(!0===r.computed)o=await ee(t,r.property);else{if("Identifier"!==r.property.type)throw new l(t,s.Unrecognized,n);o=r.property.name}if(_(e)){if(!z(o))throw new l(t,s.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>=e.length)throw new l(t,s.OutOfBounds,n);a=b(e[o]),e[o]="++"===n.operator?a+1:a-1}else if(e instanceof i){if(!1===T(o))throw new l(t,s.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new l(t,s.FieldNotFound,n,{key:o});a=b(e.field(o)),e.setField(o,"++"===n.operator?a+1:a-1)}else if(e instanceof X){if(!1===T(o))throw new l(t,s.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new l(t,s.ModuleExportNotFound,n);a=b(e.global(o)),e.setGlobal(o,"++"===n.operator?a+1:a-1)}else{if(!v(e))throw S(e)?new l(t,s.Immutable,n):new l(t,s.InvalidParameter,n);if(!1===T(o))throw new l(t,s.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new l(t,s.FieldNotFound,n,{key:o});a=b(e.field(o)),e.setField(o,"++"===n.operator?a+1:a-1)}return!1===n.prefix?a:"++"===n.operator?a+1:a-1}const o=e(r);let a;if(null!=t.localScope&&void 0!==t.localScope[o])return a=b(t.localScope[o].value),t.localScope[o]={value:"++"===n.operator?a+1:a-1},!1===n.prefix?a:"++"===n.operator?a+1:a-1;if(void 0!==t.globalScope[o])return a=b(t.globalScope[o].value),t.globalScope[o]={value:"++"===n.operator?a+1:a-1},!1===n.prefix?a:"++"===n.operator?a+1:a-1;throw new l(t,s.InvalidIdentifier,n)}function we(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 T(n)||T(e)?F(n)+F(e):b(n)+b(e);case"%=":return b(n)%b(e);default:throw new l(o,s.UnsupportedOperator,r)}}async function de(t,n){const r=n.left;if("MemberExpression"===r.type){const e=await ee(t,r.object);let o;if(!0===r.computed)o=await ee(t,r.property);else{if("Identifier"!==r.property.type)throw new l(t,s.InvalidIdentifier,n);o=r.property.name}const a=await ee(t,n.right);if(_(e)){if(!z(o))throw new l(t,s.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>e.length)throw new l(t,s.OutOfBounds,n);if(o===e.length){if("="!==n.operator)throw new l(t,s.OutOfBounds,n);e[o]=we(a,n.operator,e[o],n,t)}else e[o]=we(a,n.operator,e[o],n,t)}else if(e instanceof i){if(!1===T(o))throw new l(t,s.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,we(a,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new l(t,s.FieldNotFound,n,{key:o});e.setField(o,we(a,n.operator,null,n,t))}}else if(e instanceof X){if(!1===T(o))throw new l(t,s.KeyAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new l(t,s.ModuleExportNotFound,n);e.setGlobal(o,we(a,n.operator,e.global(o),n,t))}else{if(!v(e))throw S(e)?new l(t,s.Immutable,n):new l(t,s.InvalidParameter,n);if(!1===T(o))throw new l(t,s.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,we(a,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new l(t,s.FieldNotFound,n,{key:o});e.setField(o,we(a,n.operator,null,n,t))}}return y}const o=e(r);if(null!=t.localScope&&void 0!==t.localScope[o]){const e=await ee(t,n.right);return t.localScope[o]={value:we(e,n.operator,t.localScope[o].value,n,t)},y}if(void 0!==t.globalScope[o]){const e=await ee(t,n.right);return t.globalScope[o]={value:we(e,n.operator,t.globalScope[o].value,n,t)},y}throw new l(t,s.InvalidIdentifier,n)}async function he(e,t){const n=await ee(e,t.expression);return n===y?y:new R(n)}async function ge(e,t){const n=await ee(e,t.test);if(!0===n)return te(e,t.consequent);if(!1===n)return null!==t.alternate?te(e,t.alternate):y;throw new l(e,s.BooleanConditionRequired,t)}async function me(e,t){return ye(e,t,0)}async function ye(e,t,n){if(n>=t.body.length)return y;const r=await te(e,t.body[n]);return r instanceof M||r===A||r===C||n===t.body.length-1?r:ye(e,t,n+1)}async function be(e,t){if(null===t.argument)return new M(y);const n=await ee(e,t.argument);return new M(n)}async function ve(t,n){const r=e(n.id);return t.globalScope[r]={value:new Q(n,t)},y}async function Se(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 X(o),await a.loadModule(t),t.libraryResolver._moduleSingletons?.set(o.uri,a)),t.globalScope[r]={value:a},y}async function xe(t,n){if(await te(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 Fe(e,t,n){return n>=t.declarations.length?y:(await Ie(e,t.declarations[n]),n===t.declarations.length-1||await Fe(e,t,n+1),y)}async function Ie(t,n){let r=null;if(r=null===n.init?null:await ee(t,n.init),null!==t.localScope){if(r===y&&(r=null),"Identifier"!==n.id.type)throw new l(t,s.InvalidIdentifier,n);const o=e(n.id);return void(null!=t.localScope&&(t.localScope[o]={value:r}))}if("Identifier"!==n.id.type)throw new l(t,s.InvalidIdentifier,n);const o=e(n.id);r===y&&(r=null),t.globalScope[o]={value:r}}async function ke(e,t){const n=await ee(e,t.object);if(null===n)throw new l(e,s.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof i||x(n))return n.field(t.property.name);if(n instanceof P)return o(n,t.property.name,e,t);if(n instanceof X){if(!n.hasGlobal(t.property.name))throw new l(e,s.InvalidIdentifier,t);return n.global(t.property.name)}throw new l(e,s.InvalidMemberAccessKey,t)}throw new l(e,s.InvalidMemberAccessKey,t)}let r=await ee(e,t.property);if(n instanceof i||x(n)){if(T(r))return n.field(r);throw new l(e,s.InvalidMemberAccessKey,t)}if(n instanceof X){if(T(r))return n.global(r);throw new l(e,s.InvalidMemberAccessKey,t)}if(n instanceof P){if(T(r))return o(n,r,e,t);throw new l(e,s.InvalidMemberAccessKey,t)}if(_(n)){if(z(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new l(e,s.OutOfBounds,t);return n[r]}throw new l(e,s.InvalidMemberAccessKey,t)}if(S(n)){if(z(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new l(e,s.OutOfBounds,t);return n.get(r)}throw new l(e,s.InvalidMemberAccessKey,t)}if(T(n)){if(z(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new l(e,s.OutOfBounds,t);return n[r]}throw new l(e,s.InvalidMemberAccessKey,t)}throw new l(e,s.InvalidMemberAccessKey,t)}async function Me(e,t){const n=await ee(e,t.argument);if(W(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 l(e,s.UnsupportedUnaryOperator,t)}if("-"===t.operator)return-1*b(n);if("+"===t.operator)return 1*b(n);if("~"===t.operator)return~b(n);throw new l(e,s.UnsupportedUnaryOperator,t)}async function Re(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await ee(e,t.elements[r]));for(let r=0;r<n.length;r++){if(m(n[r]))throw new l(e,s.NoFunctionInArray,t);n[r]===y&&(n[r]=null)}return n}async function Ae(e,t){const n=await ee(e,t.left),r=await ee(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return k(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 T(n)||T(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 l(e,s.UnsupportedOperator,t)}}async function Ce(e,t){const n=await ee(e,t.left);if(!W(n))throw new l(e,s.LogicalExpressionOnlyBoolean,t);switch(t.operator){case"||":{if(!0===n)return n;const r=await ee(e,t.right);if(W(r))return r;throw new l(e,s.LogicExpressionOrAnd,t)}case"&&":{if(!1===n)return n;const r=await ee(e,t.right);if(W(r))return r;throw new l(e,s.LogicExpressionOrAnd,t)}default:throw new l(e,s.LogicExpressionOrAnd,t)}}function Oe(t,n){const r=e(n);if(null!=t.localScope&&void 0!==t.localScope[r])return t.localScope[r].value;if(void 0!==t.globalScope[r])return t.globalScope[r].value;throw new l(t,s.InvalidIdentifier,n)}async function Ne(t,n){if("MemberExpression"===n.callee.type){const e=await ee(t,n.callee.object);if(!(e instanceof X))throw new l(t,s.FunctionNotFound,n);const r=!1===n.callee.computed?n.callee.property.name:await ee(t,n.callee.property);if(!e.hasGlobal(r))throw new l(t,s.FunctionNotFound,n);const o=e.global(r);if(!m(o))throw new l(t,s.CallNonFunction,n);return o.call(t,n)}if("Identifier"!==n.callee.type)throw new l(t,s.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 l(t,s.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 l(t,s.CallNonFunction,n)}throw new l(t,s.FunctionNotFound,n)}async function je(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 ee(e,t.expressions[r]);if(m(o))throw new l(e,s.NoFunctionInTemplateLiteral,t);n+=F(o)}r++}return n}const Be={};async function Ee(e,t,n,r){const o=await ee(e,t.arguments[n]);if(g(o,r))return ee(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?ee(e,t.arguments[n]):2===a?null:3===a?ee(e,t.arguments[n+2]):Ee(e,t,n+2,r)}async function De(e,t,n,r){if(!0===r)return ee(e,t.arguments[n+1]);if(3===t.arguments.length-n)return ee(e,t.arguments[n+2]);const o=await ee(e,t.arguments[n+2]);if(!1===W(o))throw new l(e,s.ModuleExportNotFound,t.arguments[n+2]);return De(e,t,n+2,o)}async function Ke(t,n,r,o){const a=t.body;if(r.length!==t.params.length)throw new l(n,s.WrongNumberOfParameters,null);for(let l=0;l<r.length;l++){const o=t.params[l];"Identifier"===o.type&&null!=n.localScope&&(n.localScope[e(o)]={value:r[l]})}const i=await te(n,a);if(i instanceof M)return i.value;if(i===A)throw new l(n,s.UnexpectedToken,o);if(i===C)throw new l(n,s.UnexpectedToken,o);return i instanceof R?i.value:i}D(Be,J),q(Be,J),K(Be,J,Oe),G(Be,J),Z(Be,J),L(Be,J),U({functions:Be,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:J,standardFunctionAsync:$}),Be.iif=async function(e,t){h(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await ee(e,t.arguments[0]);if(!1===W(n))throw new l(e,s.BooleanConditionRequired,t);return ee(e,n?t.arguments[1]:t.arguments[2])},Be.defaultvalue=async function(e,t){h(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await ee(e,t.arguments[0]);if(3===t.arguments.length){const o=await ee(e,t.arguments[1]),a=r(n,o);return null!=a&&""!==a?a:ee(e,t.arguments[2])}return null==n||""===n?ee(e,t.arguments[1]):n},Be.decode=async function(e,t){if(t.arguments.length<2)throw new l(e,s.WrongNumberOfParameters,t);if(2===t.arguments.length)return ee(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new l(e,s.WrongNumberOfParameters,t);return Ee(e,t,1,await ee(e,t.arguments[0]))},Be.when=async function(e,t){if(t.arguments.length<3)throw new l(e,s.WrongNumberOfParameters,t);if(t.arguments.length%2==0)throw new l(e,s.WrongNumberOfParameters,t);const n=await ee(e,t.arguments[0]);if(!1===W(n))throw new l(e,s.BooleanConditionRequired,t.arguments[0]);return De(e,t,0,n)};const Ue={fixSpatialReference:O,parseArguments:H,standardFunction:J,standardFunctionAsync:$,evaluateIdentifier:Oe};for(const We in Be)Be[We]={value:new f(Be[We])};const Ze=function(){};function Ge(e,t,n){const r=new Ze;null==e&&(e={}),null==t&&(t={});const o=new i({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});o.immutable=!1,r.textformatting={value:o};for(const a in t)r[a]={value:new f(t[a])};for(const a in e)r[a]={value:Y(e[a])?u.createFromGraphic(e[a],n):e[a]};return r}function Le(e){console.log(e)}Ze.prototype=Be,Ze.prototype.infinity={value:Number.POSITIVE_INFINITY},Ze.prototype.pi={value:Math.PI};const qe=Ue;function Pe(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:J,standardFunctionAsync:$,evaluateIdentifier:Oe};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)Be[n]={value:new f(t.functions[n])},Ze.prototype[n]=Be[n];for(let n=0;n<t.signatures.length;n++)B(t.signatures[n],"async")}async function Ve(e,t){let r=t.spatialReference;null==r&&(r=new V({wkid:102100}));let o=null;e.usesModules&&(o=new n(new Map,e.loadedModules));const a=Ge(t.vars,t.customfunctions,t.timeZone),i={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??Le,timeZone:t.timeZone??null,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:{depth:1}},c=await me(i,e);if(c instanceof M||c instanceof R){const e=c.value;if(e===y)return null;if(m(e))throw new l(i,s.IllegalResult,null);return e}if(c===y)return null;if(c===A)throw new l(i,s.IllegalResult,null);if(c===C)throw new l(i,s.IllegalResult,null);throw new l(i,s.NeverReach,null)}Pe([E]);export{Ve as executeScript,Pe as extend,qe as functionHelper};
5
+ import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{getNestedOptionalValue as o,geometryMember as a,getGeometryKeys as i}from"./containerUtils.js";import l from"./Dictionary.js";import{ArcadeExecutionError as s,ExecutionErrorCodes as c,ensureArcadeExecutionError as u}from"./executionError.js";import f from"./Feature.js";import{NativeFunction as p,ScopeMarshalledFunction as w,ArcadeFunction as d,wrapModuleScopedResponse as h}from"./FunctionWrapper.js";import{D as m,B as g,i as y,w as b,t as v,n as S,m as x,z as F,f as I,A as M,C as k,R,I as A,E as C,x as O,y as N,u as E,p as j,l as B}from"../chunks/languageUtils.js";import{addFunctionDeclaration as D}from"./treeAnalysis.js";import{A as K}from"../chunks/array.js";import{registerFunctions as U}from"./functions/date.js";import{registerFunctions as Z}from"./functions/feature.js";import{registerFunctions as G}from"./functions/geomasync.js";import{registerFunctions as L}from"./functions/geometry.js";import{registerFunctions as q}from"./functions/maths.js";import{registerFunctions as P}from"./functions/stats.js";import{registerFunctions as W}from"./functions/string.js";import V from"../geometry/Geometry.js";import T from"../geometry/SpatialReference.js";import{isBoolean as _,isString as z,isArray as Y,isNumber as H,isGraphic as J}from"../support/guards.js";async function Q(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await ne(e,t.arguments[r]));return n}async function X(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await Q(e,t))}class $ extends d{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,services:this.context.services,abortSignal:this.context.abortSignal,localScope:{},depthCounter:{depth:e.depthCounter+1},globalScope:this.context.globalScope};if(n.depthCounter.depth>64)throw new s(e,c.MaximumCallDepth,null);return Ze(this.definition,n,t,null)}}call(e,t){return te(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 s(e,c.MaximumCallDepth,t);return Ze(this.definition,a,o,t)}))}marshalledCall(e,t,n,r){return r(e,t,(async(o,a,i)=>{const l={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:{}};return i=i.map((t=>!y(t)||t instanceof w?t:h(t,e,r))),h(await Ze(this.definition,l,i,t),n,r)}))}}class ee extends n{constructor(e){super(),this.source=e}global(t){const n=this.executingContext.globalScope[e(t)];if(y(n.value)&&!(n.value instanceof w)){const e=new w;e.fn=n.value,e.parameterEvaluator=te,e.context=this.executingContext,n.value=e}return n.value}setGlobal(t,n){if(y(n))throw new s(null,c.AssignModuleFunction,null);this.executingContext.globalScope[e(t)]={value:n}}hasGlobal(t){return void 0===this.executingContext.exports[t]&&(t=e(t)),void 0!==this.executingContext.exports[t]}async loadModule(e){const n=e.spatialReference??T.WebMercator;this.moduleScope=qe(null,null,e.timeZone),this.executingContext={spatialReference:n,services:e.services,libraryResolver:new r(e.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},abortSignal:e.abortSignal??t,globalScope:this.moduleScope,console:e.console??Pe,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:null,depthCounter:{depth:1}},await be(this.executingContext,this.source.syntax)}}async function te(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await Q(e,t))}async function ne(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await de(e,t);case"AssignmentExpression":return await me(e,t);case"TemplateLiteral":return await Be(e,t);case"Identifier":return Ee(e,t);case"MemberExpression":return await Re(e,t);case"Literal":return t.value;case"CallExpression":return await je(e,t);case"UnaryExpression":return await Ae(e,t);case"BinaryExpression":return await Oe(e,t);case"LogicalExpression":return await Ne(e,t);case"ArrayExpression":return await Ce(e,t);case"ObjectExpression":return await oe(e,t);default:throw new s(e,c.Unrecognized,t)}}catch(n){throw u(e,t,n)}}async function re(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await Fe(e,t);case"ExportNamedDeclaration":return await Ie(e,t);case"VariableDeclaration":return await Me(e,t,0);case"BlockStatement":return await be(e,t);case"FunctionDeclaration":return await xe(e,t);case"ReturnStatement":return await Se(e,t);case"IfStatement":return await ye(e,t);case"ExpressionStatement":return await ge(e,t);case"ForStatement":return await ie(e,t);case"WhileStatement":return await ae(e,t);case"ForInStatement":return await pe(e,t);case"ForOfStatement":return await we(e,t);case"BreakStatement":return O;case"EmptyStatement":return b;case"ContinueStatement":return N;default:throw new s(e,c.Unrecognized,t)}}catch(n){throw u(e,t,n)}}async function oe(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await ne(e,r.value),a="Identifier"===r.key.type?r.key.name:await ne(e,r.key);n[i]={key:a,value:o}}const r={},o=new Map;for(let i=0;i<n.length;i++){const a=n[i];if(y(a.value))throw new s(e,c.NoFunctionInDictionary,t);if(!1===z(a.key))throw new s(e,c.KeyMustBeString,t);let l=a.key.toString();const u=l.toLowerCase();o.has(u)?l=o.get(u):o.set(u,l),a.value===b?r[l]=null:r[l]=a.value}const a=new l(r);return a.immutable=!1,a}async function ae(e,t){let n=await ne(e,t.test);if(!1===n)return b;if(!0!==n)throw new s(e,c.BooleanConditionRequired,t);for(;!0===n;){const r=await re(e,t.body);if(r===O)break;if(r instanceof R)return r;if(n=await ne(e,t.test),!0!==n&&!1!==n)throw new s(e,c.BooleanConditionRequired,t)}return b}async function ie(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await re(e,t.init):await ne(e,t.init));;){if(null!==t.test){const n=await ne(e,t.test);if(!0===e.abortSignal?.aborted)throw new s(e,c.Cancelled,t);if(!1===n)break;if(!0!==n)throw new s(e,c.BooleanConditionRequired,t)}const n=await re(e,t.body);if(n===O)break;if(n instanceof R)return n;null!==t.update&&await ne(e,t.update)}return b}catch(n){throw n}}async function le(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new s(e,c.OutOfBounds,t);r.value=n[i]}else r.value=i;const a=await re(e,t.body);if(a===O)break;if(a instanceof R)return a}return b}async function se(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 re(e,t.body);if(a===O)break;if(a instanceof R)return a}return b}async function ce(e,t,n,r){const o=n.iterator(e.abortSignal);let a;for(;null!=(a=await o.next());){const o=f.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone);o._underlyingGraphic=a,r.value=o;const i=await re(e,t.body);if(i===O)break;if(i instanceof R)return i}return b}async function ue(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.value=new l({key:o,value:a});const i=await re(e,t.body);if(i===O)break;if(i instanceof R)return i}return b}async function fe(e,t,n,r){for(const o of i(n)){const i=a(n,o,e,t,1);r.value=new l({key:o,value:i});const s=await re(e,t.body);if(s===O)break;if(s instanceof R)return s}return b}async function pe(t,n){const r=await ne(t,n.right);"VariableDeclaration"===n.left.type&&await re(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let a=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(a=t.localScope[o]),null===a&&void 0!==t.globalScope[o]&&(a=t.globalScope[o]),null===a)throw new s(t,c.InvalidIdentifier,n);return Y(r)||z(r)?await le(t,n,r,a):x(r)?await se(t,n,r,a):r instanceof l||F(r)?await le(t,n,r.keys(),a,"k"):j(r)?await ce(t,n,r,a):B(r)?await le(t,n,i(r),a,"k"):b}async function we(t,n){const r=await ne(t,n.right);"VariableDeclaration"===n.left.type&&await re(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let a=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(a=t.localScope[o]),null===a&&void 0!==t.globalScope[o]&&(a=t.globalScope[o]),null===a)throw new s(t,c.InvalidIdentifier,n);return Y(r)||z(r)?await le(t,n,r,a,"k"):x(r)?await se(t,n,r,a,"k"):r instanceof l||F(r)?await ue(t,n,r,a):j(r)?await ce(t,n,r,a):B(r)?await fe(t,n,r,a):b}async function de(t,n){const r=n.argument;if("CallExpression"===r.type)throw new s(t,c.NeverReach,n);if("MemberExpression"===r.type){const e=await ne(t,r.object);let o,a;if(!0===r.computed)o=await ne(t,r.property);else{if("Identifier"!==r.property.type)throw new s(t,c.Unrecognized,n);o=r.property.name}if(Y(e)){if(!H(o))throw new s(t,c.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>=e.length)throw new s(t,c.OutOfBounds,n);a=v(e[o]),e[o]="++"===n.operator?a+1:a-1}else if(e instanceof l){if(!1===z(o))throw new s(t,c.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new s(t,c.FieldNotFound,n,{key:o});a=v(e.field(o)),e.setField(o,"++"===n.operator?a+1:a-1)}else if(e instanceof ee){if(!1===z(o))throw new s(t,c.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new s(t,c.ModuleExportNotFound,n);a=v(e.global(o)),e.setGlobal(o,"++"===n.operator?a+1:a-1)}else{if(!S(e))throw x(e)?new s(t,c.Immutable,n):new s(t,c.InvalidParameter,n);if(!1===z(o))throw new s(t,c.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new s(t,c.FieldNotFound,n,{key:o});a=v(e.field(o)),e.setField(o,"++"===n.operator?a+1:a-1)}return!1===n.prefix?a:"++"===n.operator?a+1:a-1}const o=e(r);let a;if(null!=t.localScope&&void 0!==t.localScope[o])return a=v(t.localScope[o].value),t.localScope[o]={value:"++"===n.operator?a+1:a-1},!1===n.prefix?a:"++"===n.operator?a+1:a-1;if(void 0!==t.globalScope[o])return a=v(t.globalScope[o].value),t.globalScope[o]={value:"++"===n.operator?a+1:a-1},!1===n.prefix?a:"++"===n.operator?a+1:a-1;throw new s(t,c.InvalidIdentifier,n)}function he(e,t,n,r,o){switch(t){case"=":return e===b?null:e;case"/=":return v(n)/v(e);case"*=":return v(n)*v(e);case"-=":return v(n)-v(e);case"+=":return z(n)||z(e)?I(n)+I(e):v(n)+v(e);case"%=":return v(n)%v(e);default:throw new s(o,c.UnsupportedOperator,r)}}async function me(t,n){const r=n.left;if("MemberExpression"===r.type){const e=await ne(t,r.object);let o;if(!0===r.computed)o=await ne(t,r.property);else{if("Identifier"!==r.property.type)throw new s(t,c.InvalidIdentifier,n);o=r.property.name}const a=await ne(t,n.right);if(Y(e)){if(!H(o))throw new s(t,c.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>e.length)throw new s(t,c.OutOfBounds,n);if(o===e.length){if("="!==n.operator)throw new s(t,c.OutOfBounds,n);e[o]=he(a,n.operator,e[o],n,t)}else e[o]=he(a,n.operator,e[o],n,t)}else if(e instanceof l){if(!1===z(o))throw new s(t,c.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,he(a,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new s(t,c.FieldNotFound,n,{key:o});e.setField(o,he(a,n.operator,null,n,t))}}else if(e instanceof ee){if(!1===z(o))throw new s(t,c.KeyAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new s(t,c.ModuleExportNotFound,n);e.setGlobal(o,he(a,n.operator,e.global(o),n,t))}else{if(!S(e))throw x(e)?new s(t,c.Immutable,n):new s(t,c.InvalidParameter,n);if(!1===z(o))throw new s(t,c.KeyAccessorMustBeString,n);if(!0===e.hasField(o))e.setField(o,he(a,n.operator,e.field(o),n,t));else{if("="!==n.operator)throw new s(t,c.FieldNotFound,n,{key:o});e.setField(o,he(a,n.operator,null,n,t))}}return b}const o=e(r);if(null!=t.localScope&&void 0!==t.localScope[o]){const e=await ne(t,n.right);return t.localScope[o]={value:he(e,n.operator,t.localScope[o].value,n,t)},b}if(void 0!==t.globalScope[o]){const e=await ne(t,n.right);return t.globalScope[o]={value:he(e,n.operator,t.globalScope[o].value,n,t)},b}throw new s(t,c.InvalidIdentifier,n)}async function ge(e,t){const n=await ne(e,t.expression);return n===b?b:new A(n)}async function ye(e,t){const n=await ne(e,t.test);if(!0===n)return re(e,t.consequent);if(!1===n)return null!==t.alternate?re(e,t.alternate):b;throw new s(e,c.BooleanConditionRequired,t)}async function be(e,t){return ve(e,t,0)}async function ve(e,t,n){if(n>=t.body.length)return b;const r=await re(e,t.body[n]);return r instanceof R||r===O||r===N||n===t.body.length-1?r:ve(e,t,n+1)}async function Se(e,t){if(null===t.argument)return new R(b);const n=await ne(e,t.argument);return new R(n)}async function xe(t,n){const r=e(n.id);return t.globalScope[r]={value:new $(n,t)},b}async function Fe(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 ee(o),await a.loadModule(t),t.libraryResolver._moduleSingletons?.set(o.uri,a)),t.globalScope[r]={value:a},b}async function Ie(t,n){if(await re(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 b}async function Me(e,t,n){return n>=t.declarations.length?b:(await ke(e,t.declarations[n]),n===t.declarations.length-1||await Me(e,t,n+1),b)}async function ke(t,n){let r=null;if(r=null===n.init?null:await ne(t,n.init),null!==t.localScope){if(r===b&&(r=null),"Identifier"!==n.id.type)throw new s(t,c.InvalidIdentifier,n);const o=e(n.id);return void(null!=t.localScope&&(t.localScope[o]={value:r}))}if("Identifier"!==n.id.type)throw new s(t,c.InvalidIdentifier,n);const o=e(n.id);r===b&&(r=null),t.globalScope[o]={value:r}}async function Re(e,t){const n=await ne(e,t.object);if(null===n)throw new s(e,c.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof l||F(n))return n.field(t.property.name);if(n instanceof V)return a(n,t.property.name,e,t);if(n instanceof ee){if(!n.hasGlobal(t.property.name))throw new s(e,c.InvalidIdentifier,t);return n.global(t.property.name)}throw new s(e,c.InvalidMemberAccessKey,t)}throw new s(e,c.InvalidMemberAccessKey,t)}let r=await ne(e,t.property);if(n instanceof l||F(n)){if(z(r))return n.field(r);throw new s(e,c.InvalidMemberAccessKey,t)}if(n instanceof ee){if(z(r))return n.global(r);throw new s(e,c.InvalidMemberAccessKey,t)}if(n instanceof V){if(z(r))return a(n,r,e,t);throw new s(e,c.InvalidMemberAccessKey,t)}if(Y(n)){if(H(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,c.OutOfBounds,t);return n[r]}throw new s(e,c.InvalidMemberAccessKey,t)}if(x(n)){if(H(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new s(e,c.OutOfBounds,t);return n.get(r)}throw new s(e,c.InvalidMemberAccessKey,t)}if(z(n)){if(H(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,c.OutOfBounds,t);return n[r]}throw new s(e,c.InvalidMemberAccessKey,t)}throw new s(e,c.InvalidMemberAccessKey,t)}async function Ae(e,t){const n=await ne(e,t.argument);if(_(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*v(n);if("+"===t.operator)return 1*v(n);if("~"===t.operator)return~v(n);throw new s(e,c.UnsupportedUnaryOperator,t)}if("-"===t.operator)return-1*v(n);if("+"===t.operator)return 1*v(n);if("~"===t.operator)return~v(n);throw new s(e,c.UnsupportedUnaryOperator,t)}async function Ce(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await ne(e,t.elements[r]));for(let r=0;r<n.length;r++){if(y(n[r]))throw new s(e,c.NoFunctionInArray,t);n[r]===b&&(n[r]=null)}return n}async function Oe(e,t){const n=await ne(e,t.left),r=await ne(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return k(v(n),v(r),t.operator);case"==":return g(n,r);case"!=":return!g(n,r);case"<":case">":case"<=":case">=":return M(n,r,t.operator);case"+":return z(n)||z(r)?I(n)+I(r):v(n)+v(r);case"-":return v(n)-v(r);case"*":return v(n)*v(r);case"/":return v(n)/v(r);case"%":return v(n)%v(r);default:throw new s(e,c.UnsupportedOperator,t)}}async function Ne(e,t){const n=await ne(e,t.left);if(!_(n))throw new s(e,c.LogicalExpressionOnlyBoolean,t);switch(t.operator){case"||":{if(!0===n)return n;const r=await ne(e,t.right);if(_(r))return r;throw new s(e,c.LogicExpressionOrAnd,t)}case"&&":{if(!1===n)return n;const r=await ne(e,t.right);if(_(r))return r;throw new s(e,c.LogicExpressionOrAnd,t)}default:throw new s(e,c.LogicExpressionOrAnd,t)}}function Ee(t,n){const r=e(n);if(null!=t.localScope&&void 0!==t.localScope[r])return t.localScope[r].value;if(void 0!==t.globalScope[r])return t.globalScope[r].value;throw new s(t,c.InvalidIdentifier,n)}async function je(t,n){if("MemberExpression"===n.callee.type){const e=await ne(t,n.callee.object);if(!(e instanceof ee))throw new s(t,c.FunctionNotFound,n);const r=!1===n.callee.computed?n.callee.property.name:await ne(t,n.callee.property);if(!e.hasGlobal(r))throw new s(t,c.FunctionNotFound,n);const o=e.global(r);if(!y(o))throw new s(t,c.CallNonFunction,n);return o.call(t,n)}if("Identifier"!==n.callee.type)throw new s(t,c.FunctionNotFound,n);const r=e(n.callee);if(null!=t.localScope&&void 0!==t.localScope[r]){const e=t.localScope[r];if(y(e.value))return e.value.call(t,n);throw new s(t,c.CallNonFunction,n)}if(void 0!==t.globalScope[r]){const e=t.globalScope[r];if(y(e.value))return e.value.call(t,n);throw new s(t,c.CallNonFunction,n)}throw new s(t,c.FunctionNotFound,n)}async function Be(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 ne(e,t.expressions[r]);if(y(o))throw new s(e,c.NoFunctionInTemplateLiteral,t);n+=I(o)}r++}return n}const De={};async function Ke(e,t,n,r){const o=await ne(e,t.arguments[n]);if(g(o,r))return ne(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?ne(e,t.arguments[n]):2===a?null:3===a?ne(e,t.arguments[n+2]):Ke(e,t,n+2,r)}async function Ue(e,t,n,r){if(!0===r)return ne(e,t.arguments[n+1]);if(3===t.arguments.length-n)return ne(e,t.arguments[n+2]);const o=await ne(e,t.arguments[n+2]);if(!1===_(o))throw new s(e,c.ModuleExportNotFound,t.arguments[n+2]);return Ue(e,t,n+2,o)}async function Ze(t,n,r,o){const a=t.body;if(r.length!==t.params.length)throw new s(n,c.WrongNumberOfParameters,null);for(let l=0;l<r.length;l++){const o=t.params[l];"Identifier"===o.type&&null!=n.localScope&&(n.localScope[e(o)]={value:r[l]})}const i=await re(n,a);if(i instanceof R)return i.value;if(i===O)throw new s(n,c.UnexpectedToken,o);if(i===N)throw new s(n,c.UnexpectedToken,o);return i instanceof A?i.value:i}U(De,X),W(De,X),Z(De,X,Ee),q(De,X),L(De,X),P(De,X),G({functions:De,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:X,standardFunctionAsync:te}),De.iif=async function(e,t){m(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await ne(e,t.arguments[0]);if(!1===_(n))throw new s(e,c.BooleanConditionRequired,t);return ne(e,n?t.arguments[1]:t.arguments[2])},De.defaultvalue=async function(e,t){m(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await ne(e,t.arguments[0]);if(3===t.arguments.length){const r=await ne(e,t.arguments[1]),a=o(n,r);return null!=a&&""!==a?a:ne(e,t.arguments[2])}return null==n||""===n?ne(e,t.arguments[1]):n},De.decode=async function(e,t){if(t.arguments.length<2)throw new s(e,c.WrongNumberOfParameters,t);if(2===t.arguments.length)return ne(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new s(e,c.WrongNumberOfParameters,t);return Ke(e,t,1,await ne(e,t.arguments[0]))},De.when=async function(e,t){if(t.arguments.length<3)throw new s(e,c.WrongNumberOfParameters,t);if(t.arguments.length%2==0)throw new s(e,c.WrongNumberOfParameters,t);const n=await ne(e,t.arguments[0]);if(!1===_(n))throw new s(e,c.BooleanConditionRequired,t.arguments[0]);return Ue(e,t,0,n)};const Ge={fixSpatialReference:E,parseArguments:Q,standardFunction:X,standardFunctionAsync:te,evaluateIdentifier:Ee};for(const _e in De)De[_e]={value:new p(De[_e])};const Le=function(){};function qe(e,t,n){const r=new Le;null==e&&(e={}),null==t&&(t={});const o=new l({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});o.immutable=!1,r.textformatting={value:o};for(const a in t)r[a]={value:new p(t[a])};for(const a in e)r[a]={value:J(e[a])?f.createFromGraphic(e[a],n):e[a]};return r}function Pe(e){console.log(e)}Le.prototype=De,Le.prototype.infinity={value:Number.POSITIVE_INFINITY},Le.prototype.pi={value:Math.PI};const We=Ge;function Ve(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:X,standardFunctionAsync:te,evaluateIdentifier:Ee};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)De[n]={value:new p(t.functions[n])},Le.prototype[n]=De[n];for(let n=0;n<t.signatures.length;n++)D(t.signatures[n],"async")}async function Te(e,n){const o=n.spatialReference??T.WebMercator;let a=null;e.usesModules&&(a=new r(new Map,e.loadedModules));const i=qe(n.vars,n.customfunctions,n.timeZone),l={spatialReference:o,services:n.services,exports:{},libraryResolver:a,abortSignal:n.abortSignal??t,globalScope:i,console:n.console??Pe,timeZone:n.timeZone??null,lrucache:n.lrucache,interceptor:n.interceptor,localScope:null,depthCounter:{depth:1}},u=await be(l,e);if(u instanceof R||u instanceof A){const e=u.value;if(C(e))return null;if(y(e))throw new s(l,c.IllegalResult,null);return e}if(C(u))return null;if(u===O)throw new s(l,c.IllegalResult,null);if(u===N)throw new s(l,c.IllegalResult,null);throw new s(l,c.NeverReach,null)}Ve([K]);export{Te as executeScript,Ve as extend,We 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.33/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{getGeometryKeys as o,geometryMember as l,getNestedOptionalValue as r}from"./containerUtils.js";import a from"./Dictionary.js";import{ArcadeExecutionError as s,ExecutionErrorCodes as i,ArcadeCompilationError as c,ArcadeUncompilableError as u}from"./executionError.js";import p from"./Feature.js";import{NativeFunction as m,ArcadeFunction as g,ScopeMarshalledFunction as d,wrapModuleScopedResponse as f}from"./FunctionWrapper.js";import{i as h,u as y,v as b,R as S,I as w,w as v,x,y as M,m as F,z as $,q as C,l as I,f as A,t as _,A as O,B as k,C as G,n as E}from"../chunks/languageUtils.js";import{addFunctionDeclaration as j}from"./treeAnalysis.js";import{A as B}from"../chunks/array.js";import{registerFunctions as N}from"./functions/date.js";import{registerFunctions as R}from"./functions/feature.js";import{registerFunctions as D}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/geomsync.js";import{registerFunctions as U}from"./functions/maths.js";import{registerFunctions as K}from"./functions/stats.js";import{registerFunctions as Z}from"./functions/string.js";import{isPromiseLike as P}from"../core/promiseUtils.js";import W from"../geometry/Geometry.js";import T from"../geometry/SpatialReference.js";import{isGraphic as V,isNumber as q,isArray as z,isString as J,isBoolean as Y}from"../support/guards.js";class H extends g{constructor(e,n){super(),this.paramCount=n,this.fn=e}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new s(e,i.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=>!h(n)||n instanceof d?n:f(n,e,o)));const a=this.call(t,{arguments:r});return P(a)?a.then((e=>f(e,t,o))):a}))}}function Q(e,n){const t=[];for(let o=0;o<n.arguments.length;o++)t.push(ee(e,n.arguments[o]));return t}function X(e,n,t){try{return t(e,null,n.arguments)}catch(o){throw o}}function ee(e,n){switch(n.type){case"AssignmentExpression":return pe(e,n);case"UpdateExpression":return ce(e,n);case"TemplateLiteral":return Ce(e,n);case"Identifier":return _e(e,n);case"MemberExpression":return Me(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return Oe(e,n);case"UnaryExpression":return Fe(e,n);case"BinaryExpression":return Ie(e,n);case"LogicalExpression":return Ae(e,n);case"ArrayExpression":return $e(e,n);case"ObjectExpression":return te(e,n);default:throw new c(e,i.Unrecognized,n)}}function ne(e,n){switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return ve(e,n);case"BlockStatement":return fe(e,n);case"FunctionDeclaration":return we(e,n);case"ImportDeclaration":return ye(e,n);case"ExportNamedDeclaration":return be(e,n);case"ReturnStatement":return he(e,n);case"IfStatement":return de(e,n);case"ExpressionStatement":return me(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return ie(e,n);case"ForInStatement":return ae(e,n);case"ForOfStatement":return se(e,n);case"WhileStatement":return ue(e,n);default:throw new c(e,i.Unrecognized,n)}}function te(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?(Se(l.key.name),r="'"+l.key.name+"'"):r=ee(e,l.key);o>0&&(t+=","),t+="lang.strCheck("+r+",'ObjectExpression'),lang.aCheck("+ee(e,l.value)+", 'ObjectExpression')"}return t+="])",t}function oe(e,n,t,o,l=(e,n)=>`${e} = ${n}`){const r=Re(e),a=Re(e);return[`var ${r} = ${t};`,`for (var ${a} = 0; ${a} < ${r}; ${a}++) {`,` ${l(n,a)}`,` ${ne(e,o)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function le(e,n,t,o,l=e=>e){const r=Re(e),a=Re(e);return[`var ${r} = ${t};`,`for (var ${a} of ${r}) {`,` ${n} = ${l(a)};`,` ${ne(e,o)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function re(e,n,t,o){const l=Re(e);return[`var ${l} = ${t}.iterator(runtimeCtx.abortSignal);`,`while ((${n} = lang.graphicToFeature(yield ${l}.next(), ${t}, runtimeCtx)) != null) {`,` ${ne(e,o)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ae(n,t){const o=Re(n);let l="var "+o+" = "+ee(n,t.right)+";\n";"VariableDeclaration"===t.left.type&&(l+=ne(n,t.left));const r=e("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);Se(r);let a="";null!==n.localScope&&(void 0!==n.localScope[r]?a="lscope['"+r+"']":void 0!==n.localScope._SymbolsMap[r]&&(a="lscope['"+n.localScope._SymbolsMap[r]+"']"));let s="";if(""===a)if(void 0!==n.globalScope[r])a="gscope['"+r+"']";else if(void 0!==n.globalScope._SymbolsMap[r])a="gscope['"+n.globalScope._SymbolsMap[r]+"']";else if(null!==n.localScope)if(n.undeclaredGlobalsInFunctions.has(r))a="gscope['"+n.undeclaredGlobalsInFunctions.get(r).manglename+"']",s=n.undeclaredGlobalsInFunctions.get(r).manglename;else{const e={manglename:Ne(n),node:t.left};n.undeclaredGlobalsInFunctions.set(r,e),a="gscope['"+e.manglename+"']",s=e.manglename}return s&&(l+="lang.chkAssig('"+s+"',runtimeCtx); \n"),l+="if ("+o+"===null) { lastStatement = lc.voidOperation; }\n ",l+="else if (lc.isArray("+o+") || lc.isString("+o+")) {\n",l+=oe(n,a,`${o}.length`,t.body),l+="}\n",l+="else if (lc.isImmutableArray("+o+")) {\n",l+=oe(n,a,`${o}.length()`,t.body),l+="}\n",l+="else if (( "+o+" instanceof lang.Dictionary) || lc.isDictionaryLike("+o+")) {\n",l+=le(n,a,`${o}.keys()`,t.body),l+="}\n",n.isAsync&&(l+="else if (lc.isFeatureSet("+o+")) {\n",l+=re(n,a,o,t.body),l+="}\n"),l+=`else if (lc.isGeometry(${o})) {\n`,l+=le(n,a,`lang.getGeometryKeys(${o})`,t.body),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function se(n,t){const o=Re(n);let l="var "+o+" = "+ee(n,t.right)+";\n";"VariableDeclaration"===t.left.type&&(l+=ne(n,t.left));const r=e("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);Se(r);let a="";null!==n.localScope&&(void 0!==n.localScope[r]?a="lscope['"+r+"']":void 0!==n.localScope._SymbolsMap[r]&&(a="lscope['"+n.localScope._SymbolsMap[r]+"']"));let s="";if(""===a)if(void 0!==n.globalScope[r])a="gscope['"+r+"']";else if(void 0!==n.globalScope._SymbolsMap[r])a="gscope['"+n.globalScope._SymbolsMap[r]+"']";else if(null!==n.localScope)if(n.undeclaredGlobalsInFunctions.has(r))a="gscope['"+n.undeclaredGlobalsInFunctions.get(r).manglename+"']",s=n.undeclaredGlobalsInFunctions.get(r).manglename;else{const e={manglename:Ne(n),node:t.left};n.undeclaredGlobalsInFunctions.set(r,e),a="gscope['"+e.manglename+"']",s=e.manglename}return s&&(l+="lang.chkAssig('"+s+"',runtimeCtx); \n"),l+="if ("+o+"===null) { lastStatement = lc.voidOperation; }\n ",l+="else if (lc.isArray("+o+") || lc.isString("+o+")) {\n",l+=oe(n,a,`${o}.length`,t.body,((e,n)=>[`if (${n} >= ${o}.length) {`,` lang.error('${i.OutOfBounds}');`,"}",`${e} = ${o}[${n}];`].join("\n"))),l+="}\n",l+="else if (lc.isImmutableArray("+o+")) {\n",l+=oe(n,a,`${o}.length()`,t.body,((e,n)=>`${e} = ${o}.get(${n});`)),l+="}\n",l+="else if (( "+o+" instanceof lang.Dictionary) || lc.isDictionaryLike("+o+")) {\n",l+=le(n,a,`${o}.keys()`,t.body,(e=>`lang.entry(${e}, ${o}.field(${e}))`)),l+="}\n",n.isAsync&&(l+="else if (lc.isFeatureSet("+o+")) {\n",l+=re(n,a,o,t.body),l+="}\n"),l+=`else if (lc.isGeometry(${o})) {\n`,l+=le(n,a,`lang.getGeometryKeys(${o})`,t.body,(e=>`lang.entry(${e}, lang.geometryMember(${o}, ${e}, runtimeCtx, null, 1))`)),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function ie(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&("VariableDeclaration"===n.init.type?t+=ne(e,n.init):t+=ee(e,n.init)+"; ");const o=Re(e),l=Re(e);return t+="var "+o+" = true; ",t+="\n do { ",null!==n.update&&(t+=" if ("+o+"===false) {\n "+ee(e,n.update)+" \n}\n "+o+"=false; \n"),null!==n.test&&(t+="var "+l+" = "+ee(e,n.test)+"; ",t+="if ("+l+"===false) { break; } else if ("+l+"!==true) { lang.error('"+i.BooleanConditionRequired+"'); }\n"),t+=ne(e,n.body),null!==n.update&&(t+="\n "+ee(e,n.update)),t+="\n"+o+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function ce(n,t){if("CallExpression"===t.argument.type)throw new c(n,i.NeverReach,t);let o;if("MemberExpression"===t.argument.type){const e=ee(n,t.argument.object);return!0===t.argument.computed?o=ee(n,t.argument.property):(Se(t.argument.property.name),o="'"+t.argument.property.name+"'"),"lang.memberupdate("+e+","+o+",'"+t.operator+"',"+t.prefix+")"}const l=e(t.argument);if(Se(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:Ne(n),node:t.argument};return n.undeclaredGlobalsInFunctions.set(l,e),"lang.update(gscope, lang.chkAssig('"+e.manglename+"',runtimeCtx),'"+t.operator+"',"+t.prefix+")"}throw new s(n,i.InvalidIdentifier,t)}function ue(e,n){let t="lastStatement = lc.voidOperation; \n";const o=Re(e);return t+=`\n var ${o} = true;\n do {\n ${o} = ${ee(e,n.test)};\n if (${o}==false) {\n break;\n }\n if (${o}!==true) {\n lang.error('${i.BooleanConditionRequired}');\n }\n ${ne(e,n.body)}\n }\n while (${o} !== false);\n lastStatement = lc.voidOperation;\n `,t}function pe(n,t){const o=ee(n,t.right);if("MemberExpression"===t.left.type){let e;const l=ee(n,t.left.object);return!0===t.left.computed?e=ee(n,t.left.property):(e="'"+t.left.property.name+"'",Se(t.left.property.name)),"lang.assignmember("+l+","+e+",'"+t.operator+"',"+o+")"}const l=e(t.left);if(Se(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:Ne(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 s(n,i.InvalidIdentifier,t)}function me(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+ee(e,n.expression)+"; \n ":"lastStatement = "+ee(e,n.expression)+"; "}function ge(e,n){return"BlockStatement"===n.type?ne(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?ne(e,n)+"; ":"ExpressionStatement"===n.type?ne(e,n):ne(e,n)+"; "}function de(e,n){return`if (lang.mustBoolean(${ee(e,n.test)}, runtimeCtx) === true) {\n ${ge(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+de(e,n.alternate):` else {\n ${ge(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function fe(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+=ne(e,n.body[o])+"; \n":t+=ne(e,n.body[o])+" \n");return t}function he(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+ee(e,n.argument)}function ye(n,t){const o=e(t.specifiers[0].local);Se(o);const l=n.libraryResolver?.loadLibrary(o),r=Ne(n);void 0===n.moduleFactory[l.uri]&&(n.moduleFactory[l.uri]=Xe(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=Ne(n),n.globalScope._SymbolsMap[o]=a,n.mangleMap[o]=a,"gscope[lang.setAssig('"+a+"', runtimeCtx)]="+s)}function be(n,t){const o=ne(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 Se(e){if("iif"===e)throw new u;if("decode"===e)throw new u;if("when"===e)throw new u;if("defaultvalue"===e)throw new u}function we(n,t){const o=e(t.id);let l;Se(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=Ne(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]);Se(o);const l=Ne(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+=fe(a,t.body)+"\n return lastStatement; ",s+="}); }",s+=", runtimeCtx),"+t.params.length+")",s+="\n lastStatement = lc.voidOperation; \n"):(s+=fe(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 ve(e,n){const t=[];for(let o=0;o<n.declarations.length;o++)t.push(xe(e,n.declarations[o]));return t.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function xe(n,t){const o=null===t.init?null:ee(n,t.init),l=e(t.id);if(Se(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=Ne(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=Ne(n);return n.globalScope._SymbolsMap[l]=r,n.mangleMap[l]=r,"gscope['"+r+"']="+o+"; "}function Me(e,n){try{let t;return!0===n.computed?t=ee(e,n.property):(Se(n.property.name),t="'"+n.property.name+"'"),"lang.member("+ee(e,n.object)+","+t+")"}catch(t){throw t}}function Fe(e,n){try{return"lang.unary("+ee(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function $e(e,n){try{const t=[];for(let o=0;o<n.elements.length;o++)"Literal"===n.elements[o].type?t.push(ee(e,n.elements[o])):t.push("lang.aCheck("+ee(e,n.elements[o])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function Ce(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("+ee(e,n.expressions[o])+", 'TemplateLiteral'))":""),o++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function Ie(e,n){try{return"lang.binary("+ee(e,n.left)+","+ee(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function Ae(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new c(e,i.LogicalExpressionOnlyBoolean,n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new c(e,i.LogicalExpressionOnlyBoolean,n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+ee(e,n.left)+") "+n.operator+" lang.logicalCheck("+ee(e,n.right)+"))";throw new c(null,i.LogicExpressionOrAnd,null)}catch(t){throw t}}function _e(n,t){try{const o=e(t);if(Se(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:Ne(n),node:t};return n.undeclaredGlobalsInFunctions.set(o,e),"gscope[lang.chkAssig('"+e.manglename+"',runtimeCtx)]"}throw new c(n,i.InvalidIdentifier,t)}catch(o){throw o}}function Oe(n,t){try{if("MemberExpression"===t.callee.type){let e;!0===t.callee.computed?e=ee(n,t.callee.property):(Se(t.callee.property.name),e="'"+t.callee.property.name+"'");let o="[";for(let l=0;l<t.arguments.length;l++)l>0&&(o+=", "),o+=ee(n,t.arguments[l]);return o+="]",n.isAsync?"(yield lang.callModuleFunction("+ee(n,t.callee.object)+","+o+","+e+",runtimeCtx))":"lang.callModuleFunction("+ee(n,t.callee.object)+","+o+","+e+",runtimeCtx)"}if("Identifier"!==t.callee.type)throw new c(n,i.FunctionNotFound,t);const o=e(t.callee);if("iif"===o)return ke(n,t);if("when"===o)return Ee(n,t);if("defaultvalue"===o)return Ge(n,t);if("decode"===o)return je(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:Ne(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+=ee(n,t.arguments[o]);return e+="]",n.isAsync?"(yield lang.callfunc("+l+","+e+",runtimeCtx) )":"lang.callfunc("+l+","+e+",runtimeCtx)"}throw new c(n,i.FunctionNotFound,t)}catch(o){throw o}}function ke(e,n){try{if(3!==n.arguments.length)throw new c(e,i.WrongNumberOfParameters,n);const t=Re(e);return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ee(e,n.arguments[0])};\n\n if (${t} === true) {\n return ${ee(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${ee(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ge(e,n){try{if(n.arguments.length<2||n.arguments.length>3)throw new c(e,i.WrongNumberOfParameters,n);const t=Re(e),o=Re(e);return 3===n.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ee(e,n.arguments[0])};\n var ${o} = ${ee(e,n.arguments[1])};\n ${t} = lang.getNestedOptionalValue(${t}, ${o});\n return ${t} != null && ${t} !== "" ? ${t} : ${ee(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} = ${ee(e,n.arguments[0])};\n if (${t} === null) {\n return ${ee(e,n.arguments[1])};\n }\n if (${t} === "") {\n return ${ee(e,n.arguments[1])};\n }\n if (${t} === undefined) {\n return ${ee(e,n.arguments[1])};\n }\n return ${t};\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ee(e,n){try{if(n.arguments.length<3)throw new c(e,i.WrongNumberOfParameters,n);if(n.arguments.length%2==0)throw new c(e,i.WrongNumberOfParameters,n);const t=Re(e);let o="var ";for(let l=0;l<n.arguments.length-1;l+=2)o+=`${t} = lang.mustBoolean(${ee(e,n.arguments[l])}, runtimeCtx);\n if (${t} === true ) {\n return ${ee(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 ${ee(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function je(e,n){try{if(n.arguments.length<2)throw new c(e,i.WrongNumberOfParameters,n);if(2===n.arguments.length)return`(${ee(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new c(e,i.WrongNumberOfParameters,n);const t=Re(e),o=Re(e);let l="var ";for(let r=1;r<n.arguments.length-1;r+=2)l+=`${o} = ${ee(e,n.arguments[r])};\n if (lang.binary(${o}, ${t}, "==") === true ) {\n return ${ee(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} = ${ee(e,n.arguments[0])};\n ${l}\n return ${ee(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}const Be={};function Ne(e){return e.symbols.symbolCounter++,`_T${e.symbols.symbolCounter}`}function Re(e){return e.symbols.symbolCounter++,`_Tvar${e.symbols.symbolCounter}`}N(Be,X),Z(Be,X),R(Be,X,Ve),U(Be,X),D(Be,X),K(Be,X),Be.iif=function(e,n){try{return X(e,n,((t,o,l)=>{throw new s(e,i.Unrecognized,n)}))}catch(t){throw t}},Be.decode=function(e,n){try{return X(e,n,((t,o,l)=>{throw new s(e,i.Unrecognized,n)}))}catch(t){throw t}},Be.when=function(e,n){try{return X(e,n,((t,o,l)=>{throw new s(e,i.Unrecognized,n)}))}catch(t){throw t}},Be.defaultvalue=function(e,n){try{return X(e,n,((t,o,l)=>{throw new s(e,i.Unrecognized,n)}))}catch(t){throw t}};const De={};for(const en in Be)De[en]=new m(Be[en]);L(Be,X);for(const en in Be)Be[en]=new m(Be[en]);const Le=function(){};Le.prototype=Be;const Ue=function(){};function Ke(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 Ze(e,n,t,o){const l=t?new Ue:new Le;e||(e={}),n||(n={});const r=new a({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});r.immutable=!1,l._SymbolsMap={textformatting:1,infinity:1,pi:1},l.textformatting=r,l.infinity=Number.POSITIVE_INFINITY,l.pi=Math.PI;for(const a in n)l[a]=n[a],l._SymbolsMap[a]=1;for(const a in e){const n=e[a];l._SymbolsMap[a]=1,V(n)?l[a]=p.createFromGraphic(n,o??null):l[a]=n}return l}Ue.prototype=De;const Pe={fixSpatialReference:y,parseArguments:Q,standardFunction:X};function We(e,n){const t={mode:n,compiled:!0,functions:{},signatures:[],standardFunction:X,standardFunctionAsync:X,evaluateIdentifier:Ve};for(let o=0;o<e.length;o++)e[o].registerFunctions(t);if("sync"===n){for(const e in t.functions)Be[e]=new m(t.functions[e]),Le.prototype[e]=Be[e];for(let e=0;e<t.signatures.length;e++)j(t.signatures[e],"sync")}else{for(const e in t.functions)De[e]=new m(t.functions[e]),Ue.prototype[e]=De[e];for(let e=0;e<t.signatures.length;e++)j(t.signatures[e],"async")}}function Te(e,n){return e(n)}function Ve(e,n){const t=n.name;if("_SymbolsMap"===t)throw new s(e,i.InvalidIdentifier,null);if(e.localStack.length>0){const n=e.localStack[e.localStack.length-1];if(!t.toLowerCase().startsWith("_t")&&void 0!==n[t])return n[t];const o=e.mangleMap[t];if(void 0!==o&&void 0!==n[o])return n[o]}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}We([B],"sync"),We([B],"async");let qe=0;const ze={isNumber:e=>q(e),isArray:e=>z(e),isImmutableArray:e=>F(e),isDictionaryLike:e=>$(e),isString:e=>J(e),isDictionary:e=>C(e),isGeometry:e=>I(e),getGeometryKeys:e=>o(e),geometryMember:(e,n,t,o,r=1)=>l(e,n,t,o,r),error(e){throw new s(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):(qe++,qe%100==0?setTimeout((()=>{qe=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 s(null,i.MaximumCallDepth,null);const t=e.apply(this,arguments);return P(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 s(n,i.InvalidIdentifier,null);return e},mustBoolean(e,n){if(!0===e||!1===e)return e;throw new s(n,i.BooleanConditionRequired,null)},setAssig:(e,n)=>(n.gdefs[e]=1,e),castString:e=>A(e),aCheck(e,n){if(h(e)){if("ArrayExpression"===n)throw new s(null,i.NoFunctionInArray,null);if("ObjectExpression"===n)throw new s(null,i.NoFunctionInDictionary,null);throw new s(null,i.NoFunctionInTemplateLiteral,null)}return e===v?null:e},Dictionary:a,Feature:p,UserDefinedCompiledFunction:H,dictionary(e){const n={},t=new Map;for(let l=0;l<e.length;l+=2){if(h(e[l+1]))throw new s(null,i.NoFunctionInDictionary,null);if(!1===J(e[l]))throw new s(null,i.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]===v?n[o]=null:n[o]=e[l+1]}const o=new a(n);return o.immutable=!1,o},entry:(e,n)=>new a({key:e,value:n}),strCheck(e){if(!1===J(e))throw new s(null,i.KeyMustBeString,null);return e},unary(e,n){if(Y(e)){if("!"===n)return!e;if("-"===n)return-1*_(e);if("+"===n)return 1*_(e);if("~"===n)return~_(e);throw new s(null,i.UnsupportedUnaryOperator,null)}if("-"===n)return-1*_(e);if("+"===n)return 1*_(e);if("~"===n)return~_(e);throw new s(null,i.UnsupportedUnaryOperator,null)},logicalCheck(e){if(!1===Y(e))throw new s(null,i.LogicExpressionOrAnd,null);return e},logical(e,n,t){if(Y(e)&&Y(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new s(null,i.LogicExpressionOrAnd,null)}throw new s(null,i.LogicExpressionOrAnd,null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return G(_(e),_(n),t);case"==":case"=":return k(e,n);case"!=":return!k(e,n);case"<":case">":case"<=":case">=":return O(e,n,t);case"+":return J(e)||J(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 s(null,i.UnsupportedOperator,null)}},assign(e,n,t){switch(n){case"=":return e===v?null:e;case"/=":return _(t)/_(e);case"*=":return _(t)*_(e);case"-=":return _(t)-_(e);case"+=":return J(t)||J(e)?A(t)+A(e):_(t)+_(e);case"%=":return _(t)%_(e);default:throw new s(null,i.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:p.createFromGraphicLikeObject(e.geometry,e.attributes,n,t.timeZone),memberupdate(e,n,t,o){let l;if(z(e)){if(!q(n))throw new s(null,i.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>=e.length)throw new s(null,i.OutOfBounds,null);l=_(e[n]),e[n]="++"===t?l+1:l-1}else if(e instanceof a){if(!1===J(n))throw new s(null,i.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new s(null,i.FieldNotFound,null,{key:n});l=_(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else if(E(e)){if(!1===J(n))throw new s(null,i.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new s(null,i.FieldNotFound,null);l=_(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else{if(F(e))throw new s(null,i.Immutable,null);if(!(e instanceof Qe))throw new s(null,i.InvalidIdentifier,null);if(!1===J(n))throw new s(null,i.ModuleAccessorMustBeString,null);if(!0!==e.hasGlobal(n))throw new s(null,i.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(z(e)){if(!q(n))throw new s(null,i.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>e.length)throw new s(null,i.OutOfBounds,null);if(n===e.length){if("="!==t)throw new s(null,i.OutOfBounds,null);e[n]=this.assign(o,t,e[n])}else e[n]=this.assign(o,t,e[n])}else if(e instanceof a){if(!1===J(n))throw new s(null,i.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(o,t,e.field(n)));else{if("="!==t)throw new s(null,i.FieldNotFound,null);e.setField(n,this.assign(o,t,null))}}else if(E(e)){if(!1===J(n))throw new s(null,i.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(o,t,e.field(n)));else{if("="!==t)throw new s(null,i.FieldNotFound,null);e.setField(n,this.assign(o,t,null))}}else{if(F(e))throw new s(null,i.Immutable,null);if(!(e instanceof Qe))throw new s(null,i.InvalidIdentifier,null);if(!1===J(n))throw new s(null,i.ModuleAccessorMustBeString,null);if(!e.hasGlobal(n))throw new s(null,i.ModuleExportNotFound,null);e.setGlobal(n,this.assign(o,t,e.global(n)))}},member(e,n){if(null===e)throw new s(null,i.MemberOfNull,null);if(e instanceof a||$(e)){if(J(n))return e.field(n);throw new s(null,i.InvalidMemberAccessKey,null)}if(e instanceof W){if(J(n))return l(e,n,null,null);throw new s(null,i.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 s(null,i.OutOfBounds,null);return e[n]}throw new s(null,i.InvalidMemberAccessKey,null)}if(J(e)){if(q(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new s(null,i.OutOfBounds,null);return e[n]}throw new s(null,i.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 s(null,i.OutOfBounds,null);return e.get(n)}throw new s(null,i.InvalidMemberAccessKey,null)}if(e instanceof Qe){if(J(n))return e.global(n);throw new s(null,i.InvalidMemberAccessKey,null)}throw new s(null,i.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 Qe))throw new s(null,i.FunctionNotFound,null);const l=e.global(t);if(!1===h(l))throw new s(null,i.CallNonFunction,null);return l.call(o,{preparsed:!0,arguments:n})},getNestedOptionalValue:(e,n)=>r(e,n)};function Je(e){console.log(e)}function Ye(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:Ke(n.vars,o?De:Be,n.customfunctions),moduleFactory:{},moduleFactoryMap:{},undeclaredGlobalsInFunctions:new Map,customfunctions:n.customfunctions,libraryResolver:l,localScope:null,mangleMap:{},depthCounter:{depth:1},exports:{},console:Je,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let a=fe(r,e);""===a&&(a="lc.voidOperation; "),r.undeclaredGlobalsInFunctions.size>0&&r.undeclaredGlobalsInFunctions.forEach((e=>{throw new c(n,i.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"+a+"\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 "+a+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const p=r.moduleFactory,m=r.moduleFactoryMap,g=r.exports,d={};let f;for(f in g)d[f]=r.mangleMap[f]??f;const y={lc:b,lang:ze,mangles:r.mangleMap,postProcess(e){if(e instanceof S&&(e=e.value),e instanceof w&&(e=e.value),e===v&&(e=null),e===x)throw new s(null,i.IllegalResult,null);if(e===M)throw new s(null,i.IllegalResult,null);if(h(e))throw new s(null,i.IllegalResult,null);return e},prepare(e,n){let t=e.spatialReference;null==t&&(t=T.WebMercator);const o=Ze(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??Je,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:{depth:1}}}};return new Function("context","spatialReference",u).bind(y)}async function He(){return We([await import("./functions/geomasync.js")],"async"),!0}class Qe 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(h(n))throw new s(null,i.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 s(null,i.InvalidIdentifier,null);if(h(o)&&!(o instanceof d)){const e=new d;return e.fn=o,e.parameterEvaluator=X,e.context=this.moduleContext,n[this.moduleContext.exportmangle[t]]=e,e}return o}}function Xe(e,n,o=!1){const l={isAsync:o,moduleFactory:n.moduleFactory,moduleFactoryMap:{},libraryResolver:new t(null,e.loadedModules),globalScope:Ke(n.vars,o?De:Be,n.customfunctions),customfunctions:n.customfunctions,localScope:null,mangleMap:{},undeclaredGlobalsInFunctions:new Map,depthCounter:{depth:1},exports:{},console:Je,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let r=fe(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:b,lang:ze,mangles:l.mangleMap,prepareModule:e=>new Qe(e),prepare(e,n){let t=e.spatialReference;null==t&&(t=new T({wkid:102100}));const o=Ze(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??Je,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{H as UserDefinedCompiledFunction,Ye as compileScript,He as enableAsyncSupport,Te as executeScript,We as extend,Pe as functionHelper};
5
+ import{neverAbortedSignal as e,toSymbolId as n}from"./arcadeEnvironment.js";import{ArcadeModule as t}from"./ArcadeModule.js";import{ArcadeModuleLoader as l}from"./ArcadeModuleLoader.js";import{getGeometryKeys as o,geometryMember as r,getNestedOptionalValue as a}from"./containerUtils.js";import s from"./Dictionary.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as c,ArcadeCompilationError as u,ArcadeUncompilableError as p}from"./executionError.js";import m from"./Feature.js";import{NativeFunction as g,ArcadeFunction as d,ScopeMarshalledFunction as f,wrapModuleScopedResponse as h}from"./FunctionWrapper.js";import{i as y,u as b,v as w,R as S,I as v,w as x,x as M,y as F,m as $,z as C,q as I,l as A,f as _,t as O,A as k,B as G,C as E,n as j}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as N}from"../chunks/array.js";import{registerFunctions as R}from"./functions/date.js";import{registerFunctions as D}from"./functions/feature.js";import{registerFunctions as L}from"./functions/geometry.js";import{registerFunctions as U}from"./functions/geomsync.js";import{registerFunctions as K}from"./functions/maths.js";import{registerFunctions as P}from"./functions/stats.js";import{registerFunctions as W}from"./functions/string.js";import{isPromiseLike as T}from"../core/promiseUtils.js";import V from"../geometry/Geometry.js";import q from"../geometry/SpatialReference.js";import{isGraphic as Z,isNumber as z,isArray as J,isString as Y,isBoolean as H}from"../support/guards.js";class Q extends d{constructor(e,n){super(),this.paramCount=n,this.fn=e}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new i(e,c.WrongNumberOfParameters,null);return this.fn(...n)}}call(e,n){return this.fn(...n.arguments)}marshalledCall(e,n,t,l){return l(e,n,((n,o,r)=>{r=r.map((n=>!y(n)||n instanceof f?n:h(n,e,l)));const a=this.call(t,{arguments:r});return T(a)?a.then((e=>h(e,t,l))):a}))}}function X(e,n){const t=[];for(let l=0;l<n.arguments.length;l++)t.push(ne(e,n.arguments[l]));return t}function ee(e,n,t){try{return t(e,null,n.arguments)}catch(l){throw l}}function ne(e,n){switch(n.type){case"AssignmentExpression":return me(e,n);case"UpdateExpression":return ue(e,n);case"TemplateLiteral":return Ie(e,n);case"Identifier":return Oe(e,n);case"MemberExpression":return Fe(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return ke(e,n);case"UnaryExpression":return $e(e,n);case"BinaryExpression":return Ae(e,n);case"LogicalExpression":return _e(e,n);case"ArrayExpression":return Ce(e,n);case"ObjectExpression":return le(e,n);default:throw new u(null,c.Unrecognized,n)}}function te(e,n){switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return xe(e,n);case"BlockStatement":return he(e,n);case"FunctionDeclaration":return ve(e,n);case"ImportDeclaration":return be(e,n);case"ExportNamedDeclaration":return we(e,n);case"ReturnStatement":return ye(e,n);case"IfStatement":return fe(e,n);case"ExpressionStatement":return ge(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return ce(e,n);case"ForInStatement":return se(e,n);case"ForOfStatement":return ie(e,n);case"WhileStatement":return pe(e,n);default:throw new u(null,c.Unrecognized,n)}}function le(e,n){let t="lang.dictionary([";for(let l=0;l<n.properties.length;l++){const o=n.properties[l];let r;"Identifier"===o.key.type?(Se(o.key.name),r="'"+o.key.name+"'"):r=ne(e,o.key);l>0&&(t+=","),t+="lang.strCheck("+r+",'ObjectExpression'),lang.aCheck("+ne(e,o.value)+", 'ObjectExpression')"}return t+="])",t}function oe(e,n,t,l,o=(e,n)=>`${e} = ${n}`){const r=De(e),a=De(e);return[`var ${r} = ${t};`,`for (var ${a} = 0; ${a} < ${r}; ${a}++) {`,` ${o(n,a)}`,` ${te(e,l)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function re(e,n,t,l,o=e=>e){const r=De(e),a=De(e);return[`var ${r} = ${t};`,`for (var ${a} of ${r}) {`,` ${n} = ${o(a)};`,` ${te(e,l)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ae(e,n,t,l){const o=De(e);return[`var ${o} = ${t}.iterator(runtimeCtx.abortSignal);`,`while ((${n} = lang.graphicToFeature(yield ${o}.next(), ${t}, runtimeCtx)) != null) {`,` ${te(e,l)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function se(e,t){const l=De(e);let o="var "+l+" = "+ne(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(o+=te(e,t.left));const r=n("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);Se(r);let a="";null!==e.localScope&&(void 0!==e.localScope[r]?a="lscope['"+r+"']":void 0!==e.localScope._SymbolsMap[r]&&(a="lscope['"+e.localScope._SymbolsMap[r]+"']"));let s="";if(""===a)if(void 0!==e.globalScope[r])a="gscope['"+r+"']";else if(void 0!==e.globalScope._SymbolsMap[r])a="gscope['"+e.globalScope._SymbolsMap[r]+"']";else if(null!==e.localScope)if(e.undeclaredGlobalsInFunctions.has(r))a="gscope['"+e.undeclaredGlobalsInFunctions.get(r).manglename+"']",s=e.undeclaredGlobalsInFunctions.get(r).manglename;else{const n={manglename:Re(e),node:t.left};e.undeclaredGlobalsInFunctions.set(r,n),a="gscope['"+n.manglename+"']",s=n.manglename}return s&&(o+="lang.chkAssig('"+s+"',runtimeCtx); \n"),o+="if ("+l+"===null) { lastStatement = lc.voidOperation; }\n ",o+="else if (lc.isArray("+l+") || lc.isString("+l+")) {\n",o+=oe(e,a,`${l}.length`,t.body),o+="}\n",o+="else if (lc.isImmutableArray("+l+")) {\n",o+=oe(e,a,`${l}.length()`,t.body),o+="}\n",o+="else if (( "+l+" instanceof lang.Dictionary) || lc.isDictionaryLike("+l+")) {\n",o+=re(e,a,`${l}.keys()`,t.body),o+="}\n",e.isAsync&&(o+="else if (lc.isFeatureSet("+l+")) {\n",o+=ae(e,a,l,t.body),o+="}\n"),o+=`else if (lc.isGeometry(${l})) {\n`,o+=re(e,a,`lang.getGeometryKeys(${l})`,t.body),o+="}\n",o+="else { lastStatement = lc.voidOperation; } \n",o}function ie(e,t){const l=De(e);let o="var "+l+" = "+ne(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(o+=te(e,t.left));const r=n("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);Se(r);let a="";null!==e.localScope&&(void 0!==e.localScope[r]?a="lscope['"+r+"']":void 0!==e.localScope._SymbolsMap[r]&&(a="lscope['"+e.localScope._SymbolsMap[r]+"']"));let s="";if(""===a)if(void 0!==e.globalScope[r])a="gscope['"+r+"']";else if(void 0!==e.globalScope._SymbolsMap[r])a="gscope['"+e.globalScope._SymbolsMap[r]+"']";else if(null!==e.localScope)if(e.undeclaredGlobalsInFunctions.has(r))a="gscope['"+e.undeclaredGlobalsInFunctions.get(r).manglename+"']",s=e.undeclaredGlobalsInFunctions.get(r).manglename;else{const n={manglename:Re(e),node:t.left};e.undeclaredGlobalsInFunctions.set(r,n),a="gscope['"+n.manglename+"']",s=n.manglename}return s&&(o+="lang.chkAssig('"+s+"',runtimeCtx); \n"),o+="if ("+l+"===null) { lastStatement = lc.voidOperation; }\n ",o+="else if (lc.isArray("+l+") || lc.isString("+l+")) {\n",o+=oe(e,a,`${l}.length`,t.body,((e,n)=>[`if (${n} >= ${l}.length) {`,` lang.error('${c.OutOfBounds}');`,"}",`${e} = ${l}[${n}];`].join("\n"))),o+="}\n",o+="else if (lc.isImmutableArray("+l+")) {\n",o+=oe(e,a,`${l}.length()`,t.body,((e,n)=>`${e} = ${l}.get(${n});`)),o+="}\n",o+="else if (( "+l+" instanceof lang.Dictionary) || lc.isDictionaryLike("+l+")) {\n",o+=re(e,a,`${l}.keys()`,t.body,(e=>`lang.entry(${e}, ${l}.field(${e}))`)),o+="}\n",e.isAsync&&(o+="else if (lc.isFeatureSet("+l+")) {\n",o+=ae(e,a,l,t.body),o+="}\n"),o+=`else if (lc.isGeometry(${l})) {\n`,o+=re(e,a,`lang.getGeometryKeys(${l})`,t.body,(e=>`lang.entry(${e}, lang.geometryMember(${l}, ${e}, runtimeCtx, null, 1))`)),o+="}\n",o+="else { lastStatement = lc.voidOperation; } \n",o}function ce(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&("VariableDeclaration"===n.init.type?t+=te(e,n.init):t+=ne(e,n.init)+"; ");const l=De(e),o=De(e);return t+="var "+l+" = true; ",t+="\n do { ",null!==n.update&&(t+=" if ("+l+"===false) {\n "+ne(e,n.update)+" \n}\n "+l+"=false; \n"),null!==n.test&&(t+="var "+o+" = "+ne(e,n.test)+"; ",t+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error('"+c.BooleanConditionRequired+"'); }\n"),t+=te(e,n.body),null!==n.update&&(t+="\n "+ne(e,n.update)),t+="\n"+l+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function ue(e,t){if("CallExpression"===t.argument.type)throw new u(null,c.NeverReach,t);let l;if("MemberExpression"===t.argument.type){const n=ne(e,t.argument.object);return!0===t.argument.computed?l=ne(e,t.argument.property):(Se(t.argument.property.name),l="'"+t.argument.property.name+"'"),"lang.memberupdate("+n+","+l+",'"+t.operator+"',"+t.prefix+")"}const o=n(t.argument);if(Se(o),null!==e.localScope){if(void 0!==e.localScope[o])return"lang.update(lscope, '"+o+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[o])return"lang.update(lscope, '"+e.localScope._SymbolsMap[o]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[o])return"lang.update(gscope, '"+o+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[o])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[o]+"','"+t.operator+"',"+t.prefix+")";if(null!==e.localScope){if(e.undeclaredGlobalsInFunctions.has(o))return"lang.update(gscope,lang.chkAssig( '"+e.undeclaredGlobalsInFunctions.get(o).manglename+"',runtimeCtx),'"+t.operator+"',"+t.prefix+")";const n={manglename:Re(e),node:t.argument};return e.undeclaredGlobalsInFunctions.set(o,n),"lang.update(gscope, lang.chkAssig('"+n.manglename+"',runtimeCtx),'"+t.operator+"',"+t.prefix+")"}throw new u(null,c.InvalidIdentifier,t)}function pe(e,n){let t="lastStatement = lc.voidOperation; \n";const l=De(e);return t+=`\n var ${l} = true;\n do {\n ${l} = ${ne(e,n.test)};\n if (${l}==false) {\n break;\n }\n if (${l}!==true) {\n lang.error('${c.BooleanConditionRequired}');\n }\n ${te(e,n.body)}\n }\n while (${l} !== false);\n lastStatement = lc.voidOperation;\n `,t}function me(e,t){const l=ne(e,t.right);if("MemberExpression"===t.left.type){let n;const o=ne(e,t.left.object);return!0===t.left.computed?n=ne(e,t.left.property):(n="'"+t.left.property.name+"'",Se(t.left.property.name)),"lang.assignmember("+o+","+n+",'"+t.operator+"',"+l+")"}const o=n(t.left);if(Se(o),null!==e.localScope){if(void 0!==e.localScope[o])return"lscope['"+o+"']=lang.assign("+l+",'"+t.operator+"', lscope['"+o+"'])";if(void 0!==e.localScope._SymbolsMap[o])return"lscope['"+e.localScope._SymbolsMap[o]+"']=lang.assign("+l+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[o]+"'])"}if(void 0!==e.globalScope[o])return"gscope['"+o+"']=lang.assign("+l+",'"+t.operator+"', gscope['"+o+"'])";if(void 0!==e.globalScope._SymbolsMap[o])return"gscope['"+e.globalScope._SymbolsMap[o]+"']=lang.assign("+l+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[o]+"'])";if(null!==e.localScope){if(e.undeclaredGlobalsInFunctions.has(o))return"gscope[lang.chkAssig('"+e.undeclaredGlobalsInFunctions.get(o).manglename+"',runtimeCtx)]=lang.assign("+l+",'"+t.operator+"', gscope['"+e.undeclaredGlobalsInFunctions.get(o).manglename+"'])";const n={manglename:Re(e),node:t.left};return e.undeclaredGlobalsInFunctions.set(o,n),"gscope[lang.chkAssig('"+n.manglename+"',runtimeCtx)]=lang.assign("+l+",'"+t.operator+"', gscope['"+n.manglename+"'])"}throw new u(null,c.InvalidIdentifier,t)}function ge(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+ne(e,n.expression)+"; \n ":"lastStatement = "+ne(e,n.expression)+"; "}function de(e,n){return"BlockStatement"===n.type?te(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?te(e,n)+"; ":"ExpressionStatement"===n.type?te(e,n):te(e,n)+"; "}function fe(e,n){return`if (lang.mustBoolean(${ne(e,n.test)}, runtimeCtx) === true) {\n ${de(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+fe(e,n.alternate):` else {\n ${de(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function he(e,n){let t="";for(let l=0;l<n.body.length;l++)"EmptyStatement"!==n.body[l].type&&("ReturnStatement"===n.body[l].type||"BreakStatement"===n.body[l].type||"ContinueStatement"===n.body[l].type?t+=te(e,n.body[l])+"; \n":t+=te(e,n.body[l])+" \n");return t}function ye(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+ne(e,n.argument)}function be(e,t){const l=n(t.specifiers[0].local);Se(l);const o=e.libraryResolver?.loadLibrary(l),r=Re(e);void 0===e.moduleFactory[o.uri]&&(e.moduleFactory[o.uri]=en(o.syntax,{moduleFactory:e.moduleFactory,libraryResolver:e.libraryResolver},e.isAsync)),e.moduleFactoryMap[r]=o.uri;let a,s="";return s=e.isAsync?"(yield lang.loadModule('"+r+"', runtimeCtx) ); ":"lang.loadModule('"+r+"', runtimeCtx); ",void 0!==e.globalScope[l]?"gscope['"+l+"']="+s:void 0!==e.globalScope._SymbolsMap[l]?"gscope['"+e.globalScope._SymbolsMap[l]+"']="+s:(e.undeclaredGlobalsInFunctions.has(l)?(a=e.undeclaredGlobalsInFunctions.get(l).manglename,e.undeclaredGlobalsInFunctions.delete(l)):a=Re(e),e.globalScope._SymbolsMap[l]=a,e.mangleMap[l]=a,"gscope[lang.setAssig('"+a+"', runtimeCtx)]="+s)}function we(e,t){const l=te(e,t.declaration);if("FunctionDeclaration"===t.declaration.type)e.exports[n(t.declaration.id)]="function";else if("VariableDeclaration"===t.declaration.type)for(const o of t.declaration.declarations)e.exports[n(o.id)]="variable";return l}function Se(e){if("iif"===e)throw new p;if("decode"===e)throw new p;if("when"===e)throw new p;if("defaultvalue"===e)throw new p}function ve(e,t){const l=n(t.id);let o;Se(l);let r=!1;void 0!==e.globalScope[l]?o=l:void 0!==e.globalScope._SymbolsMap[l]?o=e.globalScope._SymbolsMap[l]:e.undeclaredGlobalsInFunctions.has(l)?(o=e.undeclaredGlobalsInFunctions.get(l).manglename,e.globalScope._SymbolsMap[l]=o,e.mangleMap[l]=o,e.undeclaredGlobalsInFunctions.delete(l),r=!0):(o=Re(e),e.globalScope._SymbolsMap[l]=o,e.mangleMap[l]=o);const a={isAsync:e.isAsync,exports:e.exports,undeclaredGlobalsInFunctions:e.undeclaredGlobalsInFunctions,moduleFactory:e.moduleFactory,moduleFactoryMap:e.moduleFactoryMap,libraryResolver:e.libraryResolver,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter,globalScope:e.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 l=n(t.params[i]);Se(l);const o=Re(e);a.localScope._SymbolsMap[l]=o,a.mangleMap[l]=o,s+="lscope['"+o+"']=arguments["+i.toString()+"];\n"}return!0===e.isAsync?(s+="return lang.__awaiter(this, void 0, void 0, function* () {\n",s+=he(a,t.body)+"\n return lastStatement; ",s+="}); }",s+=", runtimeCtx),"+t.params.length+")",s+="\n lastStatement = lc.voidOperation; \n"):(s+=he(a,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",s+="\n lastStatement = lc.voidOperation; \n"),r?"gscope[lang.setAssig('"+o+"', runtimeCtx)]="+s:"gscope['"+o+"']="+s}function xe(e,n){const t=[];for(let l=0;l<n.declarations.length;l++)t.push(Me(e,n.declarations[l]));return t.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function Me(e,t){const l=null===t.init?null:ne(e,t.init),o=n(t.id);if(Se(o),null!==e.localScope){if(void 0!==e.localScope[o])return"lscope['"+o+"']="+l+"; ";if(void 0!==e.localScope._SymbolsMap[o])return"lscope['"+e.localScope._SymbolsMap[o]+"']="+l+"; ";const n=Re(e);return e.localScope._SymbolsMap[o]=n,e.mangleMap[o]=n,"lscope['"+n+"']="+l+"; "}if(void 0!==e.globalScope[o])return"gscope['"+o+"']="+l+"; ";if(void 0!==e.globalScope._SymbolsMap[o])return"gscope['"+e.globalScope._SymbolsMap[o]+"']="+l+"; ";if(e.undeclaredGlobalsInFunctions.has(o)){const n=e.undeclaredGlobalsInFunctions.get(o).manglename;return e.globalScope._SymbolsMap[o]=n,e.mangleMap[o]=n,e.undeclaredGlobalsInFunctions.delete(o),"gscope[lang.setAssig('"+n+"', runtimeCtx)]="+l+"; "}const r=Re(e);return e.globalScope._SymbolsMap[o]=r,e.mangleMap[o]=r,"gscope['"+r+"']="+l+"; "}function Fe(e,n){try{let t;return!0===n.computed?t=ne(e,n.property):(Se(n.property.name),t="'"+n.property.name+"'"),"lang.member("+ne(e,n.object)+","+t+")"}catch(t){throw t}}function $e(e,n){try{return"lang.unary("+ne(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function Ce(e,n){try{const t=[];for(let l=0;l<n.elements.length;l++)"Literal"===n.elements[l].type?t.push(ne(e,n.elements[l])):t.push("lang.aCheck("+ne(e,n.elements[l])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function Ie(e,n){try{const t=[];let l=0;for(const o of n.quasis)t.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(t.push(n.expressions[l]?"lang.castString(lang.aCheck("+ne(e,n.expressions[l])+", 'TemplateLiteral'))":""),l++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function Ae(e,n){try{return"lang.binary("+ne(e,n.left)+","+ne(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function _e(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new u(null,c.LogicalExpressionOnlyBoolean,n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new u(null,c.LogicalExpressionOnlyBoolean,n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+ne(e,n.left)+") "+n.operator+" lang.logicalCheck("+ne(e,n.right)+"))";throw new u(null,c.LogicExpressionOrAnd,null)}catch(t){throw t}}function Oe(e,t){try{const l=n(t);if(Se(l),null!==e.localScope){if(void 0!==e.localScope[l])return"lscope['"+l+"']";if(void 0!==e.localScope._SymbolsMap[l])return"lscope['"+e.localScope._SymbolsMap[l]+"']"}if(void 0!==e.globalScope[l])return"gscope['"+l+"']";if(void 0!==e.globalScope._SymbolsMap[l])return"gscope['"+e.globalScope._SymbolsMap[l]+"']";if(null!==e.localScope){if(e.undeclaredGlobalsInFunctions.has(l))return"gscope[lang.chkAssig('"+e.undeclaredGlobalsInFunctions.get(l).manglename+"',runtimeCtx)]";const n={manglename:Re(e),node:t};return e.undeclaredGlobalsInFunctions.set(l,n),"gscope[lang.chkAssig('"+n.manglename+"',runtimeCtx)]"}throw new u(null,c.InvalidIdentifier,t)}catch(l){throw l}}function ke(e,t){try{if("MemberExpression"===t.callee.type){let n;!0===t.callee.computed?n=ne(e,t.callee.property):(Se(t.callee.property.name),n="'"+t.callee.property.name+"'");let l="[";for(let o=0;o<t.arguments.length;o++)o>0&&(l+=", "),l+=ne(e,t.arguments[o]);return l+="]",e.isAsync?"(yield lang.callModuleFunction("+ne(e,t.callee.object)+","+l+","+n+",runtimeCtx))":"lang.callModuleFunction("+ne(e,t.callee.object)+","+l+","+n+",runtimeCtx)"}if("Identifier"!==t.callee.type)throw new u(null,c.FunctionNotFound,t);const l=n(t.callee);if("iif"===l)return Ge(e,t);if("when"===l)return je(e,t);if("defaultvalue"===l)return Ee(e,t);if("decode"===l)return Be(e,t);let o="";if(null!==e.localScope&&(void 0!==e.localScope[l]?o="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(o="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===o)if(void 0!==e.globalScope[l])o="gscope['"+l+"']";else if(void 0!==e.globalScope._SymbolsMap[l])o="gscope['"+e.globalScope._SymbolsMap[l]+"']";else if(null!==e.localScope)if(e.undeclaredGlobalsInFunctions.has(l))o="gscope[lang.chkAssig('"+e.undeclaredGlobalsInFunctions.get(l).manglename+"',runtimeCtx)]";else{const n={manglename:Re(e),node:t.callee};e.undeclaredGlobalsInFunctions.set(l,n),o="gscope[lang.chkAssig('"+n.manglename+"',runtimeCtx)]"}if(""!==o){let n="[";for(let l=0;l<t.arguments.length;l++)l>0&&(n+=", "),n+=ne(e,t.arguments[l]);return n+="]",e.isAsync?"(yield lang.callfunc("+o+","+n+",runtimeCtx) )":"lang.callfunc("+o+","+n+",runtimeCtx)"}throw new u(null,c.FunctionNotFound,t)}catch(l){throw l}}function Ge(e,n){try{if(3!==n.arguments.length)throw new u(null,c.WrongNumberOfParameters,n);const t=De(e);return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ne(e,n.arguments[0])};\n\n if (${t} === true) {\n return ${ne(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${ne(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ee(e,n){try{if(n.arguments.length<2||n.arguments.length>3)throw new u(null,c.WrongNumberOfParameters,n);const t=De(e),l=De(e);return 3===n.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ne(e,n.arguments[0])};\n var ${l} = ${ne(e,n.arguments[1])};\n ${t} = lang.getNestedOptionalValue(${t}, ${l});\n return ${t} != null && ${t} !== "" ? ${t} : ${ne(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} = ${ne(e,n.arguments[0])};\n if (${t} === null) {\n return ${ne(e,n.arguments[1])};\n }\n if (${t} === "") {\n return ${ne(e,n.arguments[1])};\n }\n if (${t} === undefined) {\n return ${ne(e,n.arguments[1])};\n }\n return ${t};\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function je(e,n){try{if(n.arguments.length<3)throw new u(null,c.WrongNumberOfParameters,n);if(n.arguments.length%2==0)throw new u(null,c.WrongNumberOfParameters,n);const t=De(e);let l="var ";for(let o=0;o<n.arguments.length-1;o+=2)l+=`${t} = lang.mustBoolean(${ne(e,n.arguments[o])}, runtimeCtx);\n if (${t} === true ) {\n return ${ne(e,n.arguments[o+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${l}\n return ${ne(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Be(e,n){try{if(n.arguments.length<2)throw new u(null,c.WrongNumberOfParameters,n);if(2===n.arguments.length)return`(${ne(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new u(null,c.WrongNumberOfParameters,n);const t=De(e),l=De(e);let o="var ";for(let r=1;r<n.arguments.length-1;r+=2)o+=`${l} = ${ne(e,n.arguments[r])};\n if (lang.binary(${l}, ${t}, "==") === true ) {\n return ${ne(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} = ${ne(e,n.arguments[0])};\n ${o}\n return ${ne(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}const Ne={};function Re(e){return e.symbols.symbolCounter++,`_T${e.symbols.symbolCounter}`}function De(e){return e.symbols.symbolCounter++,`_Tvar${e.symbols.symbolCounter}`}R(Ne,ee),W(Ne,ee),D(Ne,ee,Ze),K(Ne,ee),L(Ne,ee),P(Ne,ee),Ne.iif=function(e,n){try{return ee(e,n,((t,l,o)=>{throw new i(e,c.Unrecognized,n)}))}catch(t){throw t}},Ne.decode=function(e,n){try{return ee(e,n,((t,l,o)=>{throw new i(e,c.Unrecognized,n)}))}catch(t){throw t}},Ne.when=function(e,n){try{return ee(e,n,((t,l,o)=>{throw new i(e,c.Unrecognized,n)}))}catch(t){throw t}},Ne.defaultvalue=function(e,n){try{return ee(e,n,((t,l,o)=>{throw new i(e,c.Unrecognized,n)}))}catch(t){throw t}};const Le={};for(const nn in Ne)Le[nn]=new g(Ne[nn]);U(Ne,ee);for(const nn in Ne)Ne[nn]=new g(Ne[nn]);const Ue=function(){};Ue.prototype=Ne;const Ke=function(){};function Pe(e,n,t){const l={_SymbolsMap:{}};e||(e={}),t||(t={}),l.textformatting=1,l.infinity=1,l.pi=1;for(const o in n)l[o]=1;for(const o in t)l[o]=1;for(const o in e)l[o]=1;return l}function We(e,n,t,l){const o=t?new Ke:new Ue;e||(e={}),n||(n={});const r=new s({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});r.immutable=!1,o._SymbolsMap={textformatting:1,infinity:1,pi:1},o.textformatting=r,o.infinity=Number.POSITIVE_INFINITY,o.pi=Math.PI;for(const a in n)o[a]=n[a],o._SymbolsMap[a]=1;for(const a in e){const n=e[a];o._SymbolsMap[a]=1,Z(n)?o[a]=m.createFromGraphic(n,l??null):o[a]=n}return o}Ke.prototype=Le;const Te={fixSpatialReference:b,parseArguments:X,standardFunction:ee};function Ve(e,n){const t={mode:n,compiled:!0,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:ee,evaluateIdentifier:Ze};for(let l=0;l<e.length;l++)e[l].registerFunctions(t);if("sync"===n){for(const e in t.functions)Ne[e]=new g(t.functions[e]),Ue.prototype[e]=Ne[e];for(let e=0;e<t.signatures.length;e++)B(t.signatures[e],"sync")}else{for(const e in t.functions)Le[e]=new g(t.functions[e]),Ke.prototype[e]=Le[e];for(let e=0;e<t.signatures.length;e++)B(t.signatures[e],"async")}}function qe(e,n){return e(n)}function Ze(e,n){const t=n.name;if("_SymbolsMap"===t)throw new i(e,c.InvalidIdentifier,null);if(e.localStack.length>0){const n=e.localStack[e.localStack.length-1];if(!t.toLowerCase().startsWith("_t")&&void 0!==n[t])return n[t];const l=e.mangleMap[t];if(void 0!==l&&void 0!==n[l])return n[l]}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 l=e.mangleMap[t];return void 0!==l?e.globalScope[l]:void 0}Ve([N],"sync"),Ve([N],"async");let ze=0;const Je={isNumber:e=>z(e),isArray:e=>J(e),isImmutableArray:e=>$(e),isDictionaryLike:e=>C(e),isString:e=>Y(e),isDictionary:e=>I(e),isGeometry:e=>A(e),getGeometryKeys:e=>o(e),geometryMember:(e,n,t,l,o=1)=>r(e,n,t,l,o),error(e){throw new i(null,e,null)},__awaiter:(e,n,t,l)=>new Promise(((t,o)=>{function r(e){try{s(l.next(e))}catch(n){o(n)}}function a(e){try{s(l.throw(e))}catch(n){o(n)}}function s(e){e.done?t(e.value):e.value?.then?e.value.then(r,a):(ze++,ze%100==0?setTimeout((()=>{ze=0,r(e.value)}),0):r(e.value))}s((l=l.apply(e,n||[])).next())})),functionDepthchecker:(e,n)=>function(){if(n.depthCounter.depth++,n.localStack.push({}),n.depthCounter.depth>64)throw new i(null,c.MaximumCallDepth,null);const t=e.apply(this,arguments);return T(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 i(n,c.InvalidIdentifier,null);return e},mustBoolean(e,n){if(!0===e||!1===e)return e;throw new i(n,c.BooleanConditionRequired,null)},setAssig:(e,n)=>(n.gdefs[e]=1,e),castString:e=>_(e),aCheck(e,n){if(y(e)){if("ArrayExpression"===n)throw new i(null,c.NoFunctionInArray,null);if("ObjectExpression"===n)throw new i(null,c.NoFunctionInDictionary,null);throw new i(null,c.NoFunctionInTemplateLiteral,null)}return e===x?null:e},Dictionary:s,Feature:m,UserDefinedCompiledFunction:Q,dictionary(e){const n={},t=new Map;for(let o=0;o<e.length;o+=2){if(y(e[o+1]))throw new i(null,c.NoFunctionInDictionary,null);if(!1===Y(e[o]))throw new i(null,c.KeyMustBeString,null);let l=e[o].toString();const r=l.toLowerCase();t.has(r)?l=t.get(r):t.set(r,l),e[o+1]===x?n[l]=null:n[l]=e[o+1]}const l=new s(n);return l.immutable=!1,l},entry:(e,n)=>new s({key:e,value:n}),strCheck(e){if(!1===Y(e))throw new i(null,c.KeyMustBeString,null);return e},unary(e,n){if(H(e)){if("!"===n)return!e;if("-"===n)return-1*O(e);if("+"===n)return 1*O(e);if("~"===n)return~O(e);throw new i(null,c.UnsupportedUnaryOperator,null)}if("-"===n)return-1*O(e);if("+"===n)return 1*O(e);if("~"===n)return~O(e);throw new i(null,c.UnsupportedUnaryOperator,null)},logicalCheck(e){if(!1===H(e))throw new i(null,c.LogicExpressionOrAnd,null);return e},logical(e,n,t){if(H(e)&&H(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new i(null,c.LogicExpressionOrAnd,null)}throw new i(null,c.LogicExpressionOrAnd,null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return E(O(e),O(n),t);case"==":case"=":return G(e,n);case"!=":return!G(e,n);case"<":case">":case"<=":case">=":return k(e,n,t);case"+":return Y(e)||Y(n)?_(e)+_(n):O(e)+O(n);case"-":return O(e)-O(n);case"*":return O(e)*O(n);case"/":return O(e)/O(n);case"%":return O(e)%O(n);default:throw new i(null,c.UnsupportedOperator,null)}},assign(e,n,t){switch(n){case"=":return e===x?null:e;case"/=":return O(t)/O(e);case"*=":return O(t)*O(e);case"-=":return O(t)-O(e);case"+=":return Y(t)||Y(e)?_(t)+_(e):O(t)+O(e);case"%=":return O(t)%O(e);default:throw new i(null,c.UnsupportedOperator,null)}},update(e,n,t,l){const o=O(e[n]);return e[n]="++"===t?o+1:o-1,!1===l?o:"++"===t?o+1:o-1},graphicToFeature:(e,n,t)=>null===e?null:m.createFromGraphicLikeObject(e.geometry,e.attributes,n,t.timeZone),memberupdate(e,n,t,l){let o;if(J(e)){if(!z(n))throw new i(null,c.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>=e.length)throw new i(null,c.OutOfBounds,null);o=O(e[n]),e[n]="++"===t?o+1:o-1}else if(e instanceof s){if(!1===Y(n))throw new i(null,c.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new i(null,c.FieldNotFound,null,{key:n});o=O(e.field(n)),e.setField(n,"++"===t?o+1:o-1)}else if(j(e)){if(!1===Y(n))throw new i(null,c.KeyAccessorMustBeString,null);if(!0!==e.hasField(n))throw new i(null,c.FieldNotFound,null);o=O(e.field(n)),e.setField(n,"++"===t?o+1:o-1)}else{if($(e))throw new i(null,c.Immutable,null);if(!(e instanceof Xe))throw new i(null,c.InvalidIdentifier,null);if(!1===Y(n))throw new i(null,c.ModuleAccessorMustBeString,null);if(!0!==e.hasGlobal(n))throw new i(null,c.ModuleExportNotFound,null);o=O(e.global(n)),e.setGlobal(n,"++"===t?o+1:o-1)}return!1===l?o:"++"===t?o+1:o-1},assignmember(e,n,t,l){if(J(e)){if(!z(n))throw new i(null,c.ArrayAccessorMustBeNumber,null);if(n<0&&(n=e.length+n),n<0||n>e.length)throw new i(null,c.OutOfBounds,null);if(n===e.length){if("="!==t)throw new i(null,c.OutOfBounds,null);e[n]=this.assign(l,t,e[n])}else e[n]=this.assign(l,t,e[n])}else if(e instanceof s){if(!1===Y(n))throw new i(null,c.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(l,t,e.field(n)));else{if("="!==t)throw new i(null,c.FieldNotFound,null);e.setField(n,this.assign(l,t,null))}}else if(j(e)){if(!1===Y(n))throw new i(null,c.KeyAccessorMustBeString,null);if(!0===e.hasField(n))e.setField(n,this.assign(l,t,e.field(n)));else{if("="!==t)throw new i(null,c.FieldNotFound,null);e.setField(n,this.assign(l,t,null))}}else{if($(e))throw new i(null,c.Immutable,null);if(!(e instanceof Xe))throw new i(null,c.InvalidIdentifier,null);if(!1===Y(n))throw new i(null,c.ModuleAccessorMustBeString,null);if(!e.hasGlobal(n))throw new i(null,c.ModuleExportNotFound,null);e.setGlobal(n,this.assign(l,t,e.global(n)))}},member(e,n){if(null===e)throw new i(null,c.MemberOfNull,null);if(e instanceof s||C(e)){if(Y(n))return e.field(n);throw new i(null,c.InvalidMemberAccessKey,null)}if(e instanceof V){if(Y(n))return r(e,n,null,null);throw new i(null,c.InvalidMemberAccessKey,null)}if(J(e)){if(z(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new i(null,c.OutOfBounds,null);return e[n]}throw new i(null,c.InvalidMemberAccessKey,null)}if(Y(e)){if(z(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new i(null,c.OutOfBounds,null);return e[n]}throw new i(null,c.InvalidMemberAccessKey,null)}if($(e)){if(z(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length()+n),n>=e.length()||n<0)throw new i(null,c.OutOfBounds,null);return e.get(n)}throw new i(null,c.InvalidMemberAccessKey,null)}if(e instanceof Xe){if(Y(n))return e.global(n);throw new i(null,c.InvalidMemberAccessKey,null)}throw new i(null,c.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 l=n.moduleFactory[t]({moduleSingletons:n.moduleSingletons,depthCounter:n.depthCounter,lrucache:n.lrucache,interceptor:n.interceptor,services:n.services,console:n.console,abortSignal:n.abortSignal,timeZone:n.timeZone??null,spatialReference:n.spatialReference});return n.moduleSingletons[t]=l,l},callModuleFunction(e,n,t,l){if(!(e instanceof Xe))throw new i(null,c.FunctionNotFound,null);const o=e.global(t);if(!1===y(o))throw new i(null,c.CallNonFunction,null);return o.call(l,{preparsed:!0,arguments:n})},getNestedOptionalValue:(e,n)=>a(e,n)};function Ye(e){console.log(e)}function He(n,t,o=!1){null==t&&(t={vars:{},customfunctions:{}});let r=null;n.usesModules&&(r=new l(null,n.loadedModules));const a={isAsync:o,globalScope:Pe(t.vars,o?Le:Ne,t.customfunctions),moduleFactory:{},moduleFactoryMap:{},undeclaredGlobalsInFunctions:new Map,libraryResolver:r,localScope:null,mangleMap:{},depthCounter:{depth:1},exports:{},symbols:{symbolCounter:0}};let s=he(a,n);""===s&&(s="lc.voidOperation; "),a.undeclaredGlobalsInFunctions.size>0&&a.undeclaredGlobalsInFunctions.forEach((e=>{throw new u(null,c.InvalidIdentifier,e.node)}));let p="";p=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"+s+"\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 "+s+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const m=a.moduleFactory,g=a.moduleFactoryMap,d=a.exports,f={};let h;for(h in d)f[h]=a.mangleMap[h]??h;const b={lc:w,lang:Je,mangles:a.mangleMap,postProcess(e){if(e instanceof S&&(e=e.value),e instanceof v&&(e=e.value),e===x&&(e=null),e===M)throw new i(null,c.IllegalResult,null);if(e===F)throw new i(null,c.IllegalResult,null);if(y(e))throw new i(null,c.IllegalResult,null);return e},prepare(n,t){const l=n.spatialReference??q.WebMercator,o=We(n.vars,n.customfunctions,t,n.timeZone);return{localStack:[],moduleFactory:m,moduleFactoryMap:g,mangleMap:this.mangles,moduleSingletons:{},exports:d,gdefs:{},exportmangle:f,spatialReference:l,globalScope:o,abortSignal:n.abortSignal??e,services:n.services,console:n.console??Ye,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,depthCounter:{depth:1}}}};return new Function("context",p).bind(b)}async function Qe(){return Ve([await import("./functions/geomasync.js")],"async"),!0}class Xe extends t{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,l=e.toLowerCase();if(y(n))throw new i(null,c.AssignModuleFunction,null);t[this.moduleContext.exportmangle[l]]=n}global(e){const n=this.moduleContext.globalScope,t=e.toLowerCase(),l=n[this.moduleContext.exportmangle[t]];if(void 0===l)throw new i(null,c.InvalidIdentifier,null);if(y(l)&&!(l instanceof f)){const e=new f;return e.fn=l,e.parameterEvaluator=ee,e.context=this.moduleContext,n[this.moduleContext.exportmangle[t]]=e,e}return l}}function en(n,t,o){const r={isAsync:o,moduleFactory:t.moduleFactory,moduleFactoryMap:{},libraryResolver:new l(null,n.loadedModules),globalScope:Pe(null,o?Le:Ne,null),localScope:null,mangleMap:{},undeclaredGlobalsInFunctions:new Map,depthCounter:{depth:1},exports:{},symbols:{symbolCounter:0}};let a=he(r,n);""===a&&(a="lc.voidOperation; ");let s="";s=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"+a+"\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 "+a+"\n return lastStatement; } \n mainBody(); \n return this.prepareModule(runtimeCtx); ";const i=r.moduleFactory,c=r.moduleFactoryMap,u=r.exports,p={};let m;for(m in u)p[m]=r.mangleMap[m]??m;const g={lc:w,lang:Je,mangles:r.mangleMap,prepareModule:e=>new Xe(e),prepare(n,t){const l=n.spatialReference??q.WebMercator,o=We(null,null,t,n.timeZone);return{localStack:[],exports:u,exportmangle:p,gdefs:{},moduleFactory:i,moduleFactoryMap:c,moduleSingletons:n.moduleSingletons,mangleMap:this.mangles,spatialReference:l,globalScope:o,abortSignal:n.abortSignal??e,services:n.services,console:n.console??Ye,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,depthCounter:n.depthCounter}}};return new Function("context",s).bind(g)}export{Q as UserDefinedCompiledFunction,He as compileScript,Qe as enableAsyncSupport,qe as executeScript,Ve as extend,Te 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.33/esri/copyright.txt for details.
4
4
  */
5
- import{ArcadeExecutionError as e,ExecutionErrorCodes as r}from"./executionError.js";function n(n){if("string"==typeof n)return n.toLowerCase();if("name"in n)return n.name.toLowerCase();if("string"!=typeof n.value)throw new e(null,r.InvalidIdentifier,null);return n.value.toLowerCase()}export{n as toSymbolId};
5
+ import{ArcadeExecutionError as e,ExecutionErrorCodes as r}from"./executionError.js";function t(t){if("string"==typeof t)return t.toLowerCase();if("name"in t)return t.name.toLowerCase();if("string"!=typeof t.value)throw new e(null,r.InvalidIdentifier,null);return t.value.toLowerCase()}const n=Object.freeze({aborted:!1});export{n as neverAbortedSignal,t as toSymbolId};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/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,getGeometryKeys as i}from"./containerUtils.js";import l from"./Dictionary.js";import{ArcadeExecutionError as a,ExecutionErrorCodes as s,ensureArcadeExecutionError as c}from"./executionError.js";import u from"./Feature.js";import{NativeFunction as f,ScopeMarshalledFunction as p,ArcadeFunction as h,wrapModuleScopedResponse as d}from"./FunctionWrapper.js";import{D as w,B as m,i as g,t as y,n as b,m as v,w as S,z as x,f as R,A as F,C as I,R as A,I as M,x as C,y as N,u as O,l as B}from"../chunks/languageUtils.js";import{addFunctionDeclaration as k}from"./treeAnalysis.js";import{A as j}from"../chunks/array.js";import{registerFunctions as E}from"./functions/date.js";import{registerFunctions as D}from"./functions/feature.js";import{registerFunctions as U}from"./functions/geometry.js";import{registerFunctions as K}from"./functions/geomsync.js";import{registerFunctions as Z}from"./functions/maths.js";import{registerFunctions as q}from"./functions/stats.js";import{registerFunctions as L}from"./functions/string.js";import G from"../geometry/Geometry.js";import P from"../geometry/SpatialReference.js";import{isBoolean as V,isString as W,isArray as T,isNumber as _,isGraphic as z}from"../support/guards.js";class Y extends h{constructor(e,t){super(),this.definition=e,this.context=t}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,localScope:{},depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope};if(n.depthCounter.depth>64)throw new a(e,s.MaximumCallDepth,null);return Oe(this.definition,n,t,null)}}call(e,t){return Q(e,t,((n,r,o)=>{const i={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};if(i.depthCounter.depth>64)throw new a(e,s.MaximumCallDepth,t);return Oe(this.definition,i,o,t)}))}marshalledCall(e,t,n,r){return r(e,t,((o,i,l)=>{const a={spatialReference:e.spatialReference,globalScope:n.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};return l=l.map((t=>!g(t)||t instanceof p?t:d(t,e,r))),d(Oe(this.definition,a,l,t),n,r)}))}}class H extends t{constructor(e){super(),this.source=e}global(t){const n=this.executingContext.globalScope[e(t)];if(g(n.value)&&!(n.value instanceof p)){const e=new p;e.fn=n.value,e.parameterEvaluator=Q,e.context=this.executingContext,n.value=e}return n.value}setGlobal(t,n){if(g(n))throw new a(null,s.AssignModuleFunction,null);this.executingContext.globalScope[e(t)]={value:n}}hasGlobal(t){return void 0===this.executingContext.exports[t]&&(t=e(t)),void 0!==this.executingContext.exports[t]}loadModule(e){let t=e.spatialReference;null==t&&(t=new P({wkid:102100})),this.moduleScope=ke({},e.customfunctions,e.timeZone),this.executingContext={spatialReference:t,globalScope:this.moduleScope,localScope:null,libraryResolver:new n(e.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},services:e.services,console:e.console??Ee,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,depthCounter:{depth:1}},fe(this.executingContext,this.source.syntax)}}function J(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(X(e,t.arguments[r]));return n}function Q(e,t,n){try{return!0===t.preparsed?n(e,null,t.arguments):n(e,t,J(e,t))}catch(r){throw r}}function X(e,t){try{switch(t.type){case"AssignmentExpression":return se(e,t);case"UpdateExpression":return le(e,t);case"TemplateLiteral":return Fe(e,t);case"Identifier":return Ie(e,t);case"MemberExpression":return ye(e,t);case"Literal":return t.value;case"CallExpression":return Ae(e,t);case"UnaryExpression":return be(e,t);case"BinaryExpression":return Se(e,t);case"LogicalExpression":return xe(e,t);case"ArrayExpression":return ve(e,t);case"ObjectExpression":return ee(e,t);default:throw new a(e,s.Unrecognized,t)}}catch(n){throw c(e,t,n)}}function $(e,t){switch(t.type){case"EmptyStatement":return S;case"VariableDeclaration":return me(e,t);case"ImportDeclaration":return de(e,t);case"ExportNamedDeclaration":return we(e,t);case"BlockStatement":return fe(e,t);case"FunctionDeclaration":return he(e,t);case"ReturnStatement":return pe(e,t);case"IfStatement":return ue(e,t);case"ExpressionStatement":return ce(e,t);case"BreakStatement":return C;case"ContinueStatement":return N;case"ForStatement":return re(e,t);case"ForInStatement":return te(e,t);case"ForOfStatement":return ne(e,t);case"WhileStatement":return oe(e,t);default:throw new a(e,s.Unrecognized,t)}}function ee(e,t){const n={},r=new Map;for(let i=0;i<t.properties.length;i++){const o=t.properties[i],l="Identifier"===o.key.type?o.key.name:X(e,o.key),c=X(e,o.value);if(g(c))throw new a(e,s.NoFunctionInDictionary,t);if(!1===W(l))throw new a(e,s.KeyMustBeString,t);let u=l.toString();const f=u.toLowerCase();r.has(f)?u=r.get(f):r.set(f,u),n[u]=c===S?null:c}const o=new l(n);return o.immutable=!1,o}function te(t,n){const r=X(t,n.right);"VariableDeclaration"===n.left.type&&me(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let c=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(c=t.localScope[o]),null===c&&void 0!==t.globalScope[o]&&(c=t.globalScope[o]),null===c)throw new a(t,s.InvalidIdentifier,n);if(T(r)||W(r)){const e=r.length;for(let r=0;r<e;r++){c.value=r;const e=$(t,n.body);if(e===C)break;if(e instanceof A)return e}return S}if(v(r)){for(let e=0;e<r.length();e++){c.value=e;const r=$(t,n.body);if(r===C)break;if(r instanceof A)return r}return S}if(r instanceof l||x(r)){const e=r.keys();for(let r=0;r<e.length;r++){c.value=e[r];const o=$(t,n.body);if(o===C)break;if(o instanceof A)return o}return S}if(B(r)){for(const e of i(r)){c.value=e;const r=$(t,n.body);if(r===C)break;if(r instanceof A)return r}return S}return S}function ne(t,n){const r=X(t,n.right);"VariableDeclaration"===n.left.type&&$(t,n.left);const c=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let u=null;if(null!=t.localScope&&void 0!==t.localScope[c]&&(u=t.localScope[c]),null===u&&void 0!==t.globalScope[c]&&(u=t.globalScope[c]),null===u)throw new a(t,s.InvalidIdentifier,n);if(T(r)||W(r)){const e=r.length;for(let o=0;o<e;o++){if(o>=r.length)throw new a(t,s.OutOfBounds,n);u.value=r[o];const e=$(t,n.body);if(e===C)break;if(e instanceof A)return e}return S}if(v(r)){for(let e=0;e<r.length();e++){u.value=r.get(e);const o=$(t,n.body);if(o===C)break;if(o instanceof A)return o}return S}if(r instanceof l||x(r)){for(const e of r.keys()){const o=r.field(e);u.value=new l({key:e,value:o});const i=$(t,n.body);if(i===C)break;if(i instanceof A)return i}return S}if(B(r)){for(const e of i(r)){const i=o(r,e,t,n,1);u.value=new l({key:e,value:i});const a=$(t,n.body);if(a===C)break;if(a instanceof A)return a}return S}return S}function re(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?$(e,t.init):X(e,t.init));const n={testResult:!0,lastAction:S};do{ie(e,t,n)}while(!0===n.testResult);return n.lastAction instanceof A?n.lastAction:S}function oe(e,t){const n={testResult:!0,lastAction:S};if(n.testResult=X(e,t.test),!1===n.testResult)return S;if(!0!==n.testResult)throw new a(e,s.BooleanConditionRequired,t);for(;!0===n.testResult&&(n.lastAction=$(e,t.body),n.lastAction!==C)&&!(n.lastAction instanceof A);)if(n.testResult=X(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new a(e,s.BooleanConditionRequired,t);return n.lastAction instanceof A?n.lastAction:S}function ie(e,t,n){if(null!==t.test){if(n.testResult=X(e,t.test),!1===n.testResult)return;if(!0!==n.testResult)throw new a(e,s.BooleanConditionRequired,t)}n.lastAction=$(e,t.body),n.lastAction!==C?n.lastAction instanceof A?n.testResult=!1:null!==t.update&&X(e,t.update):n.testResult=!1}function le(t,n){if("CallExpression"===n.argument.type)throw new a(t,s.NeverReach,n);let r;if("MemberExpression"===n.argument.type){const e=X(t,n.argument.object);let o;if(!0===n.argument.computed)o=X(t,n.argument.property);else{if("Identifier"!==n.argument.property.type)throw new a(t,s.Unrecognized,n);o=n.argument.property.name}if(T(e)){if(!_(o))throw new a(t,s.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>=e.length)throw new a(t,s.OutOfBounds,n);r=y(e[o]),e[o]="++"===n.operator?r+1:r-1}else if(e instanceof l){if(!1===W(o))throw new a(t,s.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new a(t,s.FieldNotFound,n);r=y(e.field(o)),e.setField(o,"++"===n.operator?r+1:r-1)}else if(b(e)){if(!1===W(o))throw new a(t,s.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new a(t,s.FieldNotFound,n);r=y(e.field(o)),e.setField(o,"++"===n.operator?r+1:r-1)}else{if(v(e))throw new a(t,s.Immutable,n);if(!(e instanceof H))throw new a(t,s.InvalidParameter,n);if(!1===W(o))throw new a(t,s.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new a(t,s.ModuleExportNotFound,n);r=y(e.global(o)),e.setGlobal(o,"++"===n.operator?r+1:r-1)}return!1===n.prefix?r:"++"===n.operator?r+1:r-1}const o=e(n.argument);if(null!=t.localScope&&void 0!==t.localScope[o])return r=y(t.localScope[o].value),t.localScope[o]={value:"++"===n.operator?r+1:r-1},!1===n.prefix?r:"++"===n.operator?r+1:r-1;if(void 0!==t.globalScope[o])return r=y(t.globalScope[o].value),t.globalScope[o]={value:"++"===n.operator?r+1:r-1},!1===n.prefix?r:"++"===n.operator?r+1:r-1;throw new a(t,s.InvalidIdentifier,n)}function ae(e,t,n,r,o){switch(t){case"=":return e===S?null:e;case"/=":return y(n)/y(e);case"*=":return y(n)*y(e);case"-=":return y(n)-y(e);case"+=":return W(n)||W(e)?R(n)+R(e):y(n)+y(e);case"%=":return y(n)%y(e);default:throw new a(o,s.UnsupportedOperator,r)}}function se(t,n){if("MemberExpression"===n.left.type){const e=X(t,n.left.object);let r;if(!0===n.left.computed)r=X(t,n.left.property);else{if("Identifier"!==n.left.property.type)throw new a(t,s.InvalidIdentifier,n);r=n.left.property.name}const o=X(t,n.right);if(T(e)){if(!_(r))throw new a(t,s.ArrayAccessorMustBeNumber,n);if(r<0&&(r=e.length+r),r<0||r>e.length)throw new a(t,s.OutOfBounds,n);if(r===e.length){if("="!==n.operator)throw new a(t,s.OutOfBounds,n);e[r]=ae(o,n.operator,e[r],n,t)}else e[r]=ae(o,n.operator,e[r],n,t)}else if(e instanceof l){if(!1===W(r))throw new a(t,s.KeyAccessorMustBeString,n);if(!0===e.hasField(r))e.setField(r,ae(o,n.operator,e.field(r),n,t));else{if("="!==n.operator)throw new a(t,s.FieldNotFound,n,{key:r});e.setField(r,ae(o,n.operator,null,n,t))}}else if(b(e)){if(!1===W(r))throw new a(t,s.KeyAccessorMustBeString,n);if(!0===e.hasField(r))e.setField(r,ae(o,n.operator,e.field(r),n,t));else{if("="!==n.operator)throw new a(t,s.FieldNotFound,n,{key:r});e.setField(r,ae(o,n.operator,null,n,t))}}else{if(v(e))throw new a(t,s.Immutable,n);if(!(e instanceof H))throw new a(t,s.InvalidIdentifier,n);if(!1===W(r))throw new a(t,s.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(r))throw new a(t,s.ModuleExportNotFound,n);e.setGlobal(r,ae(o,n.operator,e.global(r),n,t))}return S}const r=e(n.left),o=X(t,n.right);if(null!=t.localScope&&void 0!==t.localScope[r])return t.localScope[r]={value:ae(o,n.operator,t.localScope[r].value,n,t)},S;if(void 0!==t.globalScope[r])return t.globalScope[r]={value:ae(o,n.operator,t.globalScope[r].value,n,t)},S;throw new a(t,s.InvalidIdentifier,n)}function ce(e,t){const n=X(e,t.expression);return n===S?S:new M(n)}function ue(e,t){const n=X(e,t.test);if(!0===n)return $(e,t.consequent);if(!1===n)return null!==t.alternate?$(e,t.alternate):S;throw new a(e,s.BooleanConditionRequired,t)}function fe(e,t){let n=S;for(let r=0;r<t.body.length;r++)if(n=$(e,t.body[r]),n instanceof A||n===C||n===N)return n;return n}function pe(e,t){if(null===t.argument)return new A(S);const n=X(e,t.argument);return new A(n)}function he(t,n){const r=e(n.id);return t.globalScope[r]={value:new Y(n,t)},S}function de(t,n){const r=e(n.specifiers[0].local),o=t.libraryResolver.loadLibrary(r);let i;return t.libraryResolver._moduleSingletons?.has(o.uri)?i=t.libraryResolver._moduleSingletons.get(o.uri):(i=new H(o),i.loadModule(t),t.libraryResolver._moduleSingletons?.set(o.uri,i)),t.globalScope[r]={value:i},S}function we(t,n){if($(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 S}function me(e,t){for(let n=0;n<t.declarations.length;n++)ge(e,t.declarations[n]);return S}function ge(t,n){let r=null===n.init?null:X(t,n.init);if(r===S&&(r=null),"Identifier"!==n.id.type)throw new a(t,s.InvalidIdentifier,n);const o=e(n.id);null!=t.localScope?t.localScope[o]={value:r}:t.globalScope[o]={value:r}}function ye(e,t){try{const n=X(e,t.object);if(null===n)throw new a(e,s.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof l||x(n))return n.field(t.property.name);if(n instanceof G)return o(n,t.property.name,e,t);if(n instanceof H){if(!n.hasGlobal(t.property.name))throw new a(e,s.InvalidIdentifier,t);return n.global(t.property.name)}}throw new a(e,s.InvalidMemberAccessKey,t)}let r=X(e,t.property);if(n instanceof l||x(n)){if(W(r))return n.field(r);throw new a(e,s.InvalidMemberAccessKey,t)}if(n instanceof H){if(W(r))return n.global(r);throw new a(e,s.InvalidMemberAccessKey,t)}if(n instanceof G){if(W(r))return o(n,r,e,t);throw new a(e,s.InvalidMemberAccessKey,t)}if(T(n)){if(_(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new a(e,s.OutOfBounds,t);return n[r]}throw new a(e,s.InvalidMemberAccessKey,t)}if(W(n)){if(_(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new a(e,s.OutOfBounds,t);return n[r]}throw new a(e,s.InvalidMemberAccessKey,t)}if(v(n)){if(_(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new a(e,s.OutOfBounds,t);return n.get(r)}throw new a(e,s.InvalidMemberAccessKey,t)}throw new a(e,s.InvalidMemberAccessKey,t)}catch(n){throw n}}function be(e,t){try{const n=X(e,t.argument);if(V(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 a(e,s.UnsupportedUnaryOperator,t)}if("~"===t.operator)return~y(n);if("-"===t.operator)return-1*y(n);if("+"===t.operator)return 1*y(n);throw new a(e,s.UnsupportedUnaryOperator,t)}catch(n){throw n}}function ve(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++){const o=X(e,t.elements[r]);if(g(o))throw new a(e,s.NoFunctionInArray,t);o===S?n.push(null):n.push(o)}return n}catch(n){throw n}}function Se(e,t){try{const n=X(e,t.left),r=X(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return I(y(n),y(r),t.operator);case"==":return m(n,r);case"!=":return!m(n,r);case"<":case">":case"<=":case">=":return F(n,r,t.operator);case"+":return W(n)||W(r)?R(n)+R(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 a(e,s.UnsupportedOperator,t)}}catch(n){throw n}}function xe(e,t){try{const n=X(e,t.left);if(V(n))switch(t.operator){case"||":{if(!0===n)return n;const r=X(e,t.right);if(V(r))return r;throw new a(e,s.LogicExpressionOrAnd,t)}case"&&":{if(!1===n)return n;const r=X(e,t.right);if(V(r))return r;throw new a(e,s.LogicExpressionOrAnd,t)}default:throw new a(e,s.LogicExpressionOrAnd,t)}throw new a(e,s.LogicalExpressionOnlyBoolean,t)}catch(n){throw n}}function Re(e,t,n){if(g(e))throw new a(t,s.NoFunctionInTemplateLiteral,n);return e}function Fe(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){n+=t.expressions[r]?R(Re(X(e,t.expressions[r]),e,t)):"",r++}return n}function Ie(t,n){try{const r=e(n);if(null!=t.localScope&&void 0!==t.localScope[r])return t.localScope[r].value;if(void 0!==t.globalScope[r])return t.globalScope[r].value;throw new a(t,s.InvalidIdentifier,n)}catch(r){throw r}}function Ae(t,n){try{if("MemberExpression"===n.callee.type){const e=X(t,n.callee.object);if(!(e instanceof H))throw new a(t,s.FunctionNotFound,n);const r=!1===n.callee.computed?n.callee.property.name:X(t,n.callee.property);if(!e.hasGlobal(r))throw new a(t,s.FunctionNotFound,n);const o=e.global(r);if(!g(o))throw new a(t,s.CallNonFunction,n);return o.call(t,n)}if("Identifier"!==n.callee.type)throw new a(t,s.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 a(t,s.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 a(t,s.CallNonFunction,n)}throw new a(t,s.FunctionNotFound,n)}catch(r){throw r}}const Me={};function Ce(e,t,n,r){try{const o=t.arguments,i=X(e,o[n]);if(m(i,r))return X(e,o[n+1]);{const i=o.length-n;return 1===i?X(e,o[n]):2===i?null:3===i?X(e,o[n+2]):Ce(e,t,n+2,r)}}catch(o){throw o}}function Ne(e,t,n,r){try{const o=t.arguments;if(!0===r)return X(e,o[n+1]);if(3===o.length-n)return X(e,o[n+2]);{const r=X(e,o[n+2]);if(!1===V(r))throw new a(e,s.BooleanConditionRequired,o[n+2]);return Ne(e,t,n+2,r)}}catch(o){throw o}}function Oe(t,n,r,o){try{const i=t.body;if(r.length!==t.params.length)throw new a(n,s.WrongNumberOfParameters,o);if(null!=n.localScope)for(let o=0;o<r.length;o++)n.localScope[e(t.params[o])]={value:r[o]};const l=$(n,i);if(l instanceof A)return l.value;if(l===C)throw new a(n,s.UnexpectedToken,o);if(l===N)throw new a(n,s.UnexpectedToken,o);return l instanceof M?l.value:l}catch(i){throw i}}E(Me,Q),L(Me,Q),D(Me,Q,Ie),Z(Me,Q),U(Me,Q),q(Me,Q),K(Me,Q),Me.iif=function(e,t){try{if(!0===t.preparsed)throw new a(e,s.NeverReach,t);const n=t.arguments;w(null===n?[]:n,3,3,e,t);const r=X(e,n[0]);if(!1===V(r))throw new a(e,s.BooleanConditionRequired,t);return X(e,!0===r?n[1]:n[2])}catch(n){throw n}},Me.defaultvalue=function(e,t){try{if(!0===t.preparsed)throw new a(e,s.NeverReach,t);const n=t.arguments;w(null===n?[]:n,2,3,e,t);const o=X(e,n[0]);if(3===n.length){const t=X(e,n[1]),i=r(o,t);return null!=i&&""!==i?i:X(e,n[2])}return null===o||""===o||void 0===o?X(e,n[1]):o}catch(n){throw n}},Me.decode=function(e,t){try{if(!0===t.preparsed)throw new a(e,s.NeverReach,t);const n=t.arguments;if(n.length<2)throw new a(e,s.WrongNumberOfParameters,t);if(2===n.length)return X(e,n[1]);{if((n.length-1)%2==0)throw new a(e,s.WrongNumberOfParameters,t);const r=X(e,n[0]);return Ce(e,t,1,r)}}catch(n){throw n}},Me.when=function(e,t){try{if(!0===t.preparsed)throw new a(e,s.NeverReach,t);const n=t.arguments;if(n.length<3)throw new a(e,s.WrongNumberOfParameters,t);if(n.length%2==0)throw new a(e,s.WrongNumberOfParameters,t);const r=X(e,n[0]);if(!1===V(r))throw new a(e,s.BooleanConditionRequired,n[0]);return Ne(e,t,0,r)}catch(n){throw n}};for(const Ke in Me)Me[Ke]={value:new f(Me[Ke])};const Be=function(){};function ke(e,t,n){const r=new Be;e||(e={}),t||(t={});const o=new l({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});o.immutable=!1,r.textformatting={value:o};for(const i in t)r[i]={value:new f(t[i])};for(const i in e)r[i]={value:z(e[i])?u.createFromGraphic(e[i],n):e[i]};return r}Be.prototype=Me,Be.prototype.infinity={value:Number.POSITIVE_INFINITY},Be.prototype.pi={value:Math.PI};const je={fixSpatialReference:O,parseArguments:J,standardFunction:Q};function Ee(e){console.log(e)}function De(e){const t={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:Q,evaluateIdentifier:Ie};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)Me[n]={value:new f(t.functions[n])},Be.prototype[n]=Me[n];for(let n=0;n<t.signatures.length;n++)k(t.signatures[n],"sync")}function Ue(e,t){let r=t.spatialReference;null==r&&(r=new P({wkid:102100}));let o=null;e.usesModules&&(o=new n(new Map,e.loadedModules));const i={spatialReference:r,globalScope:ke(t.vars,t.customfunctions,t.timeZone),localScope:null,services:t.services,exports:{},libraryResolver:o,console:t.console??Ee,timeZone:t.timeZone??null,lrucache:t.lrucache,interceptor:t.interceptor,depthCounter:{depth:1}},l=fe(i,e);if(l instanceof A||l instanceof M){const e=l.value;if(e===S)return null;if(g(e))throw new a(i,s.IllegalResult,null);return e}if(l===S)return null;if(l===C)throw new a(i,s.IllegalResult,null);if(l===N)throw new a(i,s.IllegalResult,null);throw new a(i,s.NeverReach,null)}De([j]);export{Ue as executeScript,De as extend,je as functionHelper};
5
+ import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{getNestedOptionalValue as o,geometryMember as i,getGeometryKeys as l}from"./containerUtils.js";import a from"./Dictionary.js";import{ArcadeExecutionError as s,ExecutionErrorCodes as c,ensureArcadeExecutionError as u}from"./executionError.js";import f from"./Feature.js";import{NativeFunction as p,ScopeMarshalledFunction as h,ArcadeFunction as d,wrapModuleScopedResponse as w}from"./FunctionWrapper.js";import{D as m,B as g,i as b,t as y,n as v,m as S,w as x,z as R,f as F,A as I,C as M,R as A,I as C,E as N,x as O,y as B,u as j,l as E}from"../chunks/languageUtils.js";import{addFunctionDeclaration as k}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as U}from"./functions/date.js";import{registerFunctions as K}from"./functions/feature.js";import{registerFunctions as Z}from"./functions/geometry.js";import{registerFunctions as q}from"./functions/geomsync.js";import{registerFunctions as L}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as W}from"./functions/string.js";import"../core/has.js";import P from"../geometry/Geometry.js";import V from"../geometry/SpatialReference.js";import{isBoolean as T,isString as _,isArray as z,isNumber as Y,isGraphic as H}from"../support/guards.js";class J extends d{constructor(e,t){super(),this.definition=e,this.context=t}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:{},depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope};if(n.depthCounter.depth>64)throw new s(e,c.MaximumCallDepth,null);return je(this.definition,n,t,null)}}call(e,t){return $(e,t,((n,r,o)=>{const i={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:{}};if(i.depthCounter.depth>64)throw new s(e,c.MaximumCallDepth,t);return je(this.definition,i,o,t)}))}marshalledCall(e,t,n,r){return r(e,t,((o,i,l)=>{const a={spatialReference:e.spatialReference,globalScope:n.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:{}};return l=l.map((t=>!b(t)||t instanceof h?t:w(t,e,r))),w(je(this.definition,a,l,t),n,r)}))}}class Q extends n{constructor(e){super(),this.source=e}global(t){const n=this.executingContext.globalScope[e(t)];if(b(n.value)&&!(n.value instanceof h)){const e=new h;e.fn=n.value,e.parameterEvaluator=$,e.context=this.executingContext,n.value=e}return n.value}setGlobal(t,n){if(b(n))throw new s(null,c.AssignModuleFunction,null);this.executingContext.globalScope[e(t)]={value:n}}hasGlobal(t){return void 0===this.executingContext.exports[t]&&(t=e(t)),void 0!==this.executingContext.exports[t]}loadModule(e){const n=e.spatialReference??V.WebMercator;this.moduleScope=ke(null,null,e.timeZone),this.executingContext={spatialReference:n,globalScope:this.moduleScope,localScope:null,libraryResolver:new r(e.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},services:e.services,console:e.console??Ue,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:t,depthCounter:{depth:1}},he(this.executingContext,this.source.syntax)}}function X(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(ee(e,t.arguments[r]));return n}function $(e,t,n){try{return!0===t.preparsed?n(e,null,t.arguments):n(e,t,X(e,t))}catch(r){throw r}}function ee(e,t){try{switch(t.type){case"AssignmentExpression":return ue(e,t);case"UpdateExpression":return se(e,t);case"TemplateLiteral":return Me(e,t);case"Identifier":return Ae(e,t);case"MemberExpression":return ve(e,t);case"Literal":return t.value;case"CallExpression":return Ce(e,t);case"UnaryExpression":return Se(e,t);case"BinaryExpression":return Re(e,t);case"LogicalExpression":return Fe(e,t);case"ArrayExpression":return xe(e,t);case"ObjectExpression":return ne(e,t);default:throw new s(e,c.Unrecognized,t)}}catch(n){throw u(e,t,n)}}function te(e,t){switch(t.type){case"EmptyStatement":return x;case"VariableDeclaration":return be(e,t);case"ImportDeclaration":return me(e,t);case"ExportNamedDeclaration":return ge(e,t);case"BlockStatement":return he(e,t);case"FunctionDeclaration":return we(e,t);case"ReturnStatement":return de(e,t);case"IfStatement":return pe(e,t);case"ExpressionStatement":return fe(e,t);case"BreakStatement":return O;case"ContinueStatement":return B;case"ForStatement":return ie(e,t);case"ForInStatement":return re(e,t);case"ForOfStatement":return oe(e,t);case"WhileStatement":return le(e,t);default:throw new s(e,c.Unrecognized,t)}}function ne(e,t){const n={},r=new Map;for(let i=0;i<t.properties.length;i++){const o=t.properties[i],l="Identifier"===o.key.type?o.key.name:ee(e,o.key),a=ee(e,o.value);if(b(a))throw new s(e,c.NoFunctionInDictionary,t);if(!1===_(l))throw new s(e,c.KeyMustBeString,t);let u=l.toString();const f=u.toLowerCase();r.has(f)?u=r.get(f):r.set(f,u),n[u]=a===x?null:a}const o=new a(n);return o.immutable=!1,o}function re(t,n){const r=ee(t,n.right);"VariableDeclaration"===n.left.type&&be(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let i=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(i=t.localScope[o]),null===i&&void 0!==t.globalScope[o]&&(i=t.globalScope[o]),null===i)throw new s(t,c.InvalidIdentifier,n);if(z(r)||_(r)){const e=r.length;for(let r=0;r<e;r++){i.value=r;const e=te(t,n.body);if(e===O)break;if(e instanceof A)return e}return x}if(S(r)){for(let e=0;e<r.length();e++){i.value=e;const r=te(t,n.body);if(r===O)break;if(r instanceof A)return r}return x}if(r instanceof a||R(r)){const e=r.keys();for(let r=0;r<e.length;r++){i.value=e[r];const o=te(t,n.body);if(o===O)break;if(o instanceof A)return o}return x}if(E(r)){for(const e of l(r)){i.value=e;const r=te(t,n.body);if(r===O)break;if(r instanceof A)return r}return x}return x}function oe(t,n){const r=ee(t,n.right);"VariableDeclaration"===n.left.type&&te(t,n.left);const o=e("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let u=null;if(null!=t.localScope&&void 0!==t.localScope[o]&&(u=t.localScope[o]),null===u&&void 0!==t.globalScope[o]&&(u=t.globalScope[o]),null===u)throw new s(t,c.InvalidIdentifier,n);if(z(r)||_(r)){const e=r.length;for(let o=0;o<e;o++){if(o>=r.length)throw new s(t,c.OutOfBounds,n);u.value=r[o];const e=te(t,n.body);if(e===O)break;if(e instanceof A)return e}return x}if(S(r)){for(let e=0;e<r.length();e++){u.value=r.get(e);const o=te(t,n.body);if(o===O)break;if(o instanceof A)return o}return x}if(r instanceof a||R(r)){for(const e of r.keys()){const o=r.field(e);u.value=new a({key:e,value:o});const i=te(t,n.body);if(i===O)break;if(i instanceof A)return i}return x}if(E(r)){for(const e of l(r)){const o=i(r,e,t,n,1);u.value=new a({key:e,value:o});const l=te(t,n.body);if(l===O)break;if(l instanceof A)return l}return x}return x}function ie(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?te(e,t.init):ee(e,t.init));const n={testResult:!0,lastAction:x};do{ae(e,t,n)}while(!0===n.testResult);return n.lastAction instanceof A?n.lastAction:x}function le(e,t){const n={testResult:!0,lastAction:x};if(n.testResult=ee(e,t.test),!1===n.testResult)return x;if(!0!==n.testResult)throw new s(e,c.BooleanConditionRequired,t);for(;!0===n.testResult&&(n.lastAction=te(e,t.body),n.lastAction!==O)&&!(n.lastAction instanceof A);)if(n.testResult=ee(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new s(e,c.BooleanConditionRequired,t);return n.lastAction instanceof A?n.lastAction:x}function ae(e,t,n){if(null!==t.test){if(n.testResult=ee(e,t.test),!1===n.testResult)return;if(!0!==n.testResult)throw new s(e,c.BooleanConditionRequired,t)}n.lastAction=te(e,t.body),n.lastAction!==O?n.lastAction instanceof A?n.testResult=!1:null!==t.update&&ee(e,t.update):n.testResult=!1}function se(t,n){if("CallExpression"===n.argument.type)throw new s(t,c.NeverReach,n);let r;if("MemberExpression"===n.argument.type){const e=ee(t,n.argument.object);let o;if(!0===n.argument.computed)o=ee(t,n.argument.property);else{if("Identifier"!==n.argument.property.type)throw new s(t,c.Unrecognized,n);o=n.argument.property.name}if(z(e)){if(!Y(o))throw new s(t,c.ArrayAccessorMustBeNumber,n);if(o<0&&(o=e.length+o),o<0||o>=e.length)throw new s(t,c.OutOfBounds,n);r=y(e[o]),e[o]="++"===n.operator?r+1:r-1}else if(e instanceof a){if(!1===_(o))throw new s(t,c.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new s(t,c.FieldNotFound,n);r=y(e.field(o)),e.setField(o,"++"===n.operator?r+1:r-1)}else if(v(e)){if(!1===_(o))throw new s(t,c.KeyAccessorMustBeString,n);if(!0!==e.hasField(o))throw new s(t,c.FieldNotFound,n);r=y(e.field(o)),e.setField(o,"++"===n.operator?r+1:r-1)}else{if(S(e))throw new s(t,c.Immutable,n);if(!(e instanceof Q))throw new s(t,c.InvalidParameter,n);if(!1===_(o))throw new s(t,c.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(o))throw new s(t,c.ModuleExportNotFound,n);r=y(e.global(o)),e.setGlobal(o,"++"===n.operator?r+1:r-1)}return!1===n.prefix?r:"++"===n.operator?r+1:r-1}const o=e(n.argument);if(null!=t.localScope&&void 0!==t.localScope[o])return r=y(t.localScope[o].value),t.localScope[o]={value:"++"===n.operator?r+1:r-1},!1===n.prefix?r:"++"===n.operator?r+1:r-1;if(void 0!==t.globalScope[o])return r=y(t.globalScope[o].value),t.globalScope[o]={value:"++"===n.operator?r+1:r-1},!1===n.prefix?r:"++"===n.operator?r+1:r-1;throw new s(t,c.InvalidIdentifier,n)}function ce(e,t,n,r,o){switch(t){case"=":return e===x?null:e;case"/=":return y(n)/y(e);case"*=":return y(n)*y(e);case"-=":return y(n)-y(e);case"+=":return _(n)||_(e)?F(n)+F(e):y(n)+y(e);case"%=":return y(n)%y(e);default:throw new s(o,c.UnsupportedOperator,r)}}function ue(t,n){if("MemberExpression"===n.left.type){const e=ee(t,n.left.object);let r;if(!0===n.left.computed)r=ee(t,n.left.property);else{if("Identifier"!==n.left.property.type)throw new s(t,c.InvalidIdentifier,n);r=n.left.property.name}const o=ee(t,n.right);if(z(e)){if(!Y(r))throw new s(t,c.ArrayAccessorMustBeNumber,n);if(r<0&&(r=e.length+r),r<0||r>e.length)throw new s(t,c.OutOfBounds,n);if(r===e.length){if("="!==n.operator)throw new s(t,c.OutOfBounds,n);e[r]=ce(o,n.operator,e[r],n,t)}else e[r]=ce(o,n.operator,e[r],n,t)}else if(e instanceof a){if(!1===_(r))throw new s(t,c.KeyAccessorMustBeString,n);if(!0===e.hasField(r))e.setField(r,ce(o,n.operator,e.field(r),n,t));else{if("="!==n.operator)throw new s(t,c.FieldNotFound,n,{key:r});e.setField(r,ce(o,n.operator,null,n,t))}}else if(v(e)){if(!1===_(r))throw new s(t,c.KeyAccessorMustBeString,n);if(!0===e.hasField(r))e.setField(r,ce(o,n.operator,e.field(r),n,t));else{if("="!==n.operator)throw new s(t,c.FieldNotFound,n,{key:r});e.setField(r,ce(o,n.operator,null,n,t))}}else{if(S(e))throw new s(t,c.Immutable,n);if(!(e instanceof Q))throw new s(t,c.InvalidIdentifier,n);if(!1===_(r))throw new s(t,c.ModuleAccessorMustBeString,n);if(!0!==e.hasGlobal(r))throw new s(t,c.ModuleExportNotFound,n);e.setGlobal(r,ce(o,n.operator,e.global(r),n,t))}return x}const r=e(n.left),o=ee(t,n.right);if(null!=t.localScope&&void 0!==t.localScope[r])return t.localScope[r]={value:ce(o,n.operator,t.localScope[r].value,n,t)},x;if(void 0!==t.globalScope[r])return t.globalScope[r]={value:ce(o,n.operator,t.globalScope[r].value,n,t)},x;throw new s(t,c.InvalidIdentifier,n)}function fe(e,t){const n=ee(e,t.expression);return n===x?x:new C(n)}function pe(e,t){const n=ee(e,t.test);if(!0===n)return te(e,t.consequent);if(!1===n)return null!==t.alternate?te(e,t.alternate):x;throw new s(e,c.BooleanConditionRequired,t)}function he(e,t){let n=x;for(let r=0;r<t.body.length;r++)if(n=te(e,t.body[r]),n instanceof A||n===O||n===B)return n;return n}function de(e,t){if(null===t.argument)return new A(x);const n=ee(e,t.argument);return new A(n)}function we(t,n){const r=e(n.id);return t.globalScope[r]={value:new J(n,t)},x}function me(t,n){const r=e(n.specifiers[0].local),o=t.libraryResolver.loadLibrary(r);let i;return t.libraryResolver._moduleSingletons?.has(o.uri)?i=t.libraryResolver._moduleSingletons.get(o.uri):(i=new Q(o),i.loadModule(t),t.libraryResolver._moduleSingletons?.set(o.uri,i)),t.globalScope[r]={value:i},x}function ge(t,n){if(te(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 x}function be(e,t){for(let n=0;n<t.declarations.length;n++)ye(e,t.declarations[n]);return x}function ye(t,n){let r=null===n.init?null:ee(t,n.init);if(r===x&&(r=null),"Identifier"!==n.id.type)throw new s(t,c.InvalidIdentifier,n);const o=e(n.id);null!=t.localScope?t.localScope[o]={value:r}:t.globalScope[o]={value:r}}function ve(e,t){try{const n=ee(e,t.object);if(null===n)throw new s(e,c.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof a||R(n))return n.field(t.property.name);if(n instanceof P)return i(n,t.property.name,e,t);if(n instanceof Q){if(!n.hasGlobal(t.property.name))throw new s(e,c.InvalidIdentifier,t);return n.global(t.property.name)}}throw new s(e,c.InvalidMemberAccessKey,t)}let r=ee(e,t.property);if(n instanceof a||R(n)){if(_(r))return n.field(r);throw new s(e,c.InvalidMemberAccessKey,t)}if(n instanceof Q){if(_(r))return n.global(r);throw new s(e,c.InvalidMemberAccessKey,t)}if(n instanceof P){if(_(r))return i(n,r,e,t);throw new s(e,c.InvalidMemberAccessKey,t)}if(z(n)){if(Y(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,c.OutOfBounds,t);return n[r]}throw new s(e,c.InvalidMemberAccessKey,t)}if(_(n)){if(Y(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,c.OutOfBounds,t);return n[r]}throw new s(e,c.InvalidMemberAccessKey,t)}if(S(n)){if(Y(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new s(e,c.OutOfBounds,t);return n.get(r)}throw new s(e,c.InvalidMemberAccessKey,t)}throw new s(e,c.InvalidMemberAccessKey,t)}catch(n){throw n}}function Se(e,t){try{const n=ee(e,t.argument);if(T(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 s(e,c.UnsupportedUnaryOperator,t)}if("~"===t.operator)return~y(n);if("-"===t.operator)return-1*y(n);if("+"===t.operator)return 1*y(n);throw new s(e,c.UnsupportedUnaryOperator,t)}catch(n){throw n}}function xe(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++){const o=ee(e,t.elements[r]);if(b(o))throw new s(e,c.NoFunctionInArray,t);o===x?n.push(null):n.push(o)}return n}catch(n){throw n}}function Re(e,t){try{const n=ee(e,t.left),r=ee(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return M(y(n),y(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 _(n)||_(r)?F(n)+F(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 s(e,c.UnsupportedOperator,t)}}catch(n){throw n}}function Fe(e,t){try{const n=ee(e,t.left);if(T(n))switch(t.operator){case"||":{if(!0===n)return n;const r=ee(e,t.right);if(T(r))return r;throw new s(e,c.LogicExpressionOrAnd,t)}case"&&":{if(!1===n)return n;const r=ee(e,t.right);if(T(r))return r;throw new s(e,c.LogicExpressionOrAnd,t)}default:throw new s(e,c.LogicExpressionOrAnd,t)}throw new s(e,c.LogicalExpressionOnlyBoolean,t)}catch(n){throw n}}function Ie(e,t,n){if(b(e))throw new s(t,c.NoFunctionInTemplateLiteral,n);return e}function Me(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){n+=t.expressions[r]?F(Ie(ee(e,t.expressions[r]),e,t)):"",r++}return n}function Ae(t,n){try{const r=e(n);if(null!=t.localScope&&void 0!==t.localScope[r])return t.localScope[r].value;if(void 0!==t.globalScope[r])return t.globalScope[r].value;throw new s(t,c.InvalidIdentifier,n)}catch(r){throw r}}function Ce(t,n){try{if("MemberExpression"===n.callee.type){const e=ee(t,n.callee.object);if(!(e instanceof Q))throw new s(t,c.FunctionNotFound,n);const r=!1===n.callee.computed?n.callee.property.name:ee(t,n.callee.property);if(!e.hasGlobal(r))throw new s(t,c.FunctionNotFound,n);const o=e.global(r);if(!b(o))throw new s(t,c.CallNonFunction,n);return o.call(t,n)}if("Identifier"!==n.callee.type)throw new s(t,c.FunctionNotFound,n);const r=e(n.callee);if(null!=t.localScope&&void 0!==t.localScope[r]){const e=t.localScope[r];if(b(e.value))return e.value.call(t,n);throw new s(t,c.CallNonFunction,n)}if(void 0!==t.globalScope[r]){const e=t.globalScope[r];if(b(e.value))return e.value.call(t,n);throw new s(t,c.CallNonFunction,n)}throw new s(t,c.FunctionNotFound,n)}catch(r){throw r}}const Ne={};function Oe(e,t,n,r){try{const o=t.arguments,i=ee(e,o[n]);if(g(i,r))return ee(e,o[n+1]);{const i=o.length-n;return 1===i?ee(e,o[n]):2===i?null:3===i?ee(e,o[n+2]):Oe(e,t,n+2,r)}}catch(o){throw o}}function Be(e,t,n,r){try{const o=t.arguments;if(!0===r)return ee(e,o[n+1]);if(3===o.length-n)return ee(e,o[n+2]);{const r=ee(e,o[n+2]);if(!1===T(r))throw new s(e,c.BooleanConditionRequired,o[n+2]);return Be(e,t,n+2,r)}}catch(o){throw o}}function je(t,n,r,o){try{const i=t.body;if(r.length!==t.params.length)throw new s(n,c.WrongNumberOfParameters,o);if(null!=n.localScope)for(let o=0;o<r.length;o++)n.localScope[e(t.params[o])]={value:r[o]};const l=te(n,i);if(l instanceof A)return l.value;if(l===O)throw new s(n,c.UnexpectedToken,o);if(l===B)throw new s(n,c.UnexpectedToken,o);return l instanceof C?l.value:l}catch(i){throw i}}U(Ne,$),W(Ne,$),K(Ne,$,Ae),L(Ne,$),Z(Ne,$),G(Ne,$),q(Ne,$),Ne.iif=function(e,t){try{if(!0===t.preparsed)throw new s(e,c.NeverReach,t);const n=t.arguments;m(null===n?[]:n,3,3,e,t);const r=ee(e,n[0]);if(!1===T(r))throw new s(e,c.BooleanConditionRequired,t);return ee(e,!0===r?n[1]:n[2])}catch(n){throw n}},Ne.defaultvalue=function(e,t){try{if(!0===t.preparsed)throw new s(e,c.NeverReach,t);const n=t.arguments;m(null===n?[]:n,2,3,e,t);const r=ee(e,n[0]);if(3===n.length){const t=ee(e,n[1]),i=o(r,t);return null!=i&&""!==i?i:ee(e,n[2])}return null===r||""===r||void 0===r?ee(e,n[1]):r}catch(n){throw n}},Ne.decode=function(e,t){try{if(!0===t.preparsed)throw new s(e,c.NeverReach,t);const n=t.arguments;if(n.length<2)throw new s(e,c.WrongNumberOfParameters,t);if(2===n.length)return ee(e,n[1]);{if((n.length-1)%2==0)throw new s(e,c.WrongNumberOfParameters,t);const r=ee(e,n[0]);return Oe(e,t,1,r)}}catch(n){throw n}},Ne.when=function(e,t){try{if(!0===t.preparsed)throw new s(e,c.NeverReach,t);const n=t.arguments;if(n.length<3)throw new s(e,c.WrongNumberOfParameters,t);if(n.length%2==0)throw new s(e,c.WrongNumberOfParameters,t);const r=ee(e,n[0]);if(!1===T(r))throw new s(e,c.BooleanConditionRequired,n[0]);return Be(e,t,0,r)}catch(n){throw n}};for(const qe in Ne)Ne[qe]={value:new p(Ne[qe])};const Ee=function(){};function ke(e,t,n){const r=new Ee;e||(e={}),t||(t={});const o=new a({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});o.immutable=!1,r.textformatting={value:o};for(const i in t)r[i]={value:new p(t[i])};for(const i in e)r[i]={value:H(e[i])?f.createFromGraphic(e[i],n):e[i]};return r}Ee.prototype=Ne,Ee.prototype.infinity={value:Number.POSITIVE_INFINITY},Ee.prototype.pi={value:Math.PI};const De={fixSpatialReference:j,parseArguments:X,standardFunction:$};function Ue(e){console.log(e)}function Ke(e){const t={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:$,evaluateIdentifier:Ae};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)Ne[n]={value:new p(t.functions[n])},Ee.prototype[n]=Ne[n];for(let n=0;n<t.signatures.length;n++)k(t.signatures[n],"sync")}function Ze(e,n){const o=n.spatialReference??V.WebMercator;let i=null;e.usesModules&&(i=new r(new Map,e.loadedModules));const l={spatialReference:o,globalScope:ke(n.vars,n.customfunctions,n.timeZone),localScope:null,services:n.services,exports:{},libraryResolver:i,console:n.console??Ue,timeZone:n.timeZone??null,lrucache:n.lrucache,interceptor:n.interceptor,abortSignal:t,depthCounter:{depth:1}},a=he(l,e);if(a instanceof A||a instanceof C){const e=a.value;if(N(e))return null;if(b(e))throw new s(l,c.IllegalResult,null);return e}if(N(a))return null;if(a===O)throw new s(l,c.IllegalResult,null);if(a===B)throw new s(l,c.IllegalResult,null);throw new s(l,c.NeverReach,null)}Ke([D]);export{Ze as executeScript,Ke as extend,De 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.33/esri/copyright.txt for details.
4
4
  */
5
- import e from"../request.js";import t from"./featureSetCollection.js";import{p as a,Z as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import i from"./featureset/actions/GroupBy.js";import l from"./featureset/actions/OrderBy.js";import s from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import f from"./featureset/support/cache.js";import{FeatureSetError as p,FeatureSetErrorCodes as m}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as y,extractServiceUrl as h,isSupportedLayer as w}from"./featureset/support/shared.js";import _ from"../core/Loadable.js";import L from"../core/sql/WhereClause.js";import I from"../layers/FeatureLayer.js";import S from"../layers/Layer.js";import g from"../portal/PortalItem.js";function C(){null===f.applicationCache&&(f.applicationCache=new f)}async function F(e,t,a){if(f.applicationCache){const a=f.applicationCache.getLayerInfo(e);if(a){const r=await a;return new I({url:e,outFields:t,sourceJSON:r})}const n=new I({url:e,outFields:t}),i=(async()=>(await n.load(),n.sourceJSON))();if(f.applicationCache){f.applicationCache.setLayerInfo(e,i);try{return await i,n}catch(r){throw f.applicationCache.clearLayerInfo(e),r}}return await i,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new I({url:e,outFields:t,sourceJSON:a})}const i=new I({url:e,outFields:t}),l=(async()=>(await i.load(),i.sourceJSON))();a.setCachedLayerMetadata(e,l);try{return await l,i}catch(n){throw a.removeCachedLayerMetadata(e,l),n}}return new I({url:e,outFields:t})}async function N(e,t,a,r,n,i=null){return T(await F(e,["*"],n),t,a,r,n,i)}function T(e,t=null,a=null,r=!0,n=null,i=null){switch(e.type){case"catalog-footprint":return T(e.parent,t,a,r,n,i);case"subtype-sublayer":{const l=T(e.parent,t,a,r,n,i);return l.filter(L.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:l.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const l={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i};return!e.url&&e.source?new c(l):new u(l)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function A(t){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw f.applicationCache.clearLayerInfo(t),r}}return a}async function b(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new p(m.DataElementsNotFound)})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(r,n);try{return await n}catch(i){throw f.applicationCache.clearLayerInfo(r),i}}return n}async function k(t,a){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw f.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(i){throw a.removeCachedServiceMetadata(t,r),i}}return r}async function O(e,t){const a={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null},r=await k(e,null);if(a.metadata=r,void 0!==r.controllerDatasetLayers?.utilityNetworkLayerId&&null!==r.controllerDatasetLayers.utilityNetworkLayerId){if(r.layers)for(const e of r.layers)a.layerNameLkp[e.id]=e.name;if(r.tables)for(const e of r.tables)a.layerNameLkp[e.id]=e.name;const n=r.controllerDatasetLayers.utilityNetworkLayerId;a.networkId=n;const i=await b(e,n);if(i){a.queryelem=i,a.queryelem?.dataElement&&void 0!==a.queryelem.dataElement.schemaGeneration&&(a.unVersion=a.queryelem.dataElement.schemaGeneration),a.lkp={},a.queryelem.dataElement.domainNetworks||(a.queryelem.dataElement.domainNetworks=[]);for(const e of a.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}}if(a.queryelem.dataElement.terminalConfigurations)for(const e of a.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)a.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const r=await A(e+"/"+n);if(void 0!==r.systemLayers?.associationsTableId&&null!==r.systemLayers.associationsTableId){const n=[];a.unVersion>=4&&(n.push("STATUS"),n.push("PERCENTALONG"));let i=await N(e+"/"+r.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...n],!1,null,null);return await i.load(),a.unVersion>=4&&(i=i.filter(L.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:i.getFieldsIndex(),timeZone:i.dateFieldsTimeZoneDefaultUTC})),await i.load()),{lkp:a.lkp,associations:i,unVersion:a.unVersion,terminals:a.terminals}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}async function E(e,t,a,r=null,n=null,i=!0,l=null,s=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await N(o,r,n,i,l,s);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:i,lrucache:l,interceptor:s})}n.registerAction(),i.registerAction(),l.registerAction(),s.registerAction(),o.registerAction();class j extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.title===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e=r.outFields?r:{...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}async featureSetById(e,t=!0,a=["*"]){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.id===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e={...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await k(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])l.name===e&&(i=l);if(!i)for(const l of n.tables??[])l.name===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(!i)for(const l of n.tables??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function v(e,t,a=null,r=null){return new j(e,t,a,r)}function R(e,t,a=null,r=null){return new D(e,t,a,r)}function M(e,t,n,i,l){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof S&&y(e)){const a=e;switch(t){case"datasource":return T(a,l,"outFields"in a?a.outFields:null,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(a,l,"outFields"in a?a.outFields:null,!0,n,i)}return null}if(r(e)){switch(t){case"datasource":return T(e.parent,l,e.parent.outFields,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(e,l,e.parent.outFields,!0,n,i)}return null}return null}async function q(e,t,a,r,n,i,l,s=null){if(f.applicationCache){const o=f.applicationCache.getLayerInfo(e+":"+i.url);if(o)return G(await o,t,a,r,n,l,s)}if(null!=l){const o=l.getCachedPortalItem(i.url,e);if(null!=o)return await G(await o,t,a,r,n,l,s)}const o=new g({id:e,portal:i}).load();f.applicationCache?f.applicationCache.setLayerInfo(e+":"+i.url,o):null!=l&&l.setCachedPortalItem(i.url,e,o);try{return await G(await o,t,a,r,n,l,s)}catch(u){throw f.applicationCache&&f.applicationCache.clearLayerInfo(e+":"+i.url),null!=l&&l.removeCachedPortalItem(i.url,e,o),u}}async function G(e,t,a,r,n,i,l){let s;if("Feature Service"===e.type||"Map Service"===e.type)s=await F(h(e.url??"")+"/"+t,["*"],i);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=i){const t=i.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)s=await t;else{const t=S.fromPortalItem(e);i.setCachedPortalItemLayer(e.portal.url,e.id,t);try{s=await t}catch(o){throw i.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else s=await S.fromPortalItem(e)}return T(s,a,r,n,i,l)}export{O as constructAssociationMetaDataFeatureSetFromUrl,T as constructFeatureSet,q as constructFeatureSetFromPortalItem,E as constructFeatureSetFromRelationship,N as constructFeatureSetFromUrl,M as convertToFeatureSet,v as createFeatureSetCollectionFromMap,R as createFeatureSetCollectionFromService,C as initialiseMetaDataCache};
5
+ import e from"../request.js";import t from"./featureSetCollection.js";import{p as a,_ as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import i from"./featureset/actions/GroupBy.js";import l from"./featureset/actions/OrderBy.js";import s from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import f from"./featureset/support/cache.js";import{FeatureSetError as p,FeatureSetErrorCodes as m}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as y,extractServiceUrl as h,isSupportedLayer as w}from"./featureset/support/shared.js";import _ from"../core/Loadable.js";import L from"../core/sql/WhereClause.js";import I from"../layers/FeatureLayer.js";import S from"../layers/Layer.js";import g from"../portal/PortalItem.js";function C(){null===f.applicationCache&&(f.applicationCache=new f)}async function F(e,t,a){if(f.applicationCache){const a=f.applicationCache.getLayerInfo(e);if(a){const r=await a;return new I({url:e,outFields:t,sourceJSON:r})}const n=new I({url:e,outFields:t}),i=(async()=>(await n.load(),n.sourceJSON))();if(f.applicationCache){f.applicationCache.setLayerInfo(e,i);try{return await i,n}catch(r){throw f.applicationCache.clearLayerInfo(e),r}}return await i,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new I({url:e,outFields:t,sourceJSON:a})}const i=new I({url:e,outFields:t}),l=(async()=>(await i.load(),i.sourceJSON))();a.setCachedLayerMetadata(e,l);try{return await l,i}catch(n){throw a.removeCachedLayerMetadata(e,l),n}}return new I({url:e,outFields:t})}async function N(e,t,a,r,n,i=null){return T(await F(e,["*"],n),t,a,r,n,i)}function T(e,t=null,a=null,r=!0,n=null,i=null){switch(e.type){case"catalog-footprint":return T(e.parent,t,a,r,n,i);case"subtype-sublayer":{const l=T(e.parent,t,a,r,n,i);return l.filter(L.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:l.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const l={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i};return!e.url&&e.source?new c(l):new u(l)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function A(t){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw f.applicationCache.clearLayerInfo(t),r}}return a}async function b(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new p(m.DataElementsNotFound)})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(r,n);try{return await n}catch(i){throw f.applicationCache.clearLayerInfo(r),i}}return n}async function k(t,a){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw f.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(i){throw a.removeCachedServiceMetadata(t,r),i}}return r}async function O(e,t){const a={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null},r=await k(e,null);if(a.metadata=r,void 0!==r.controllerDatasetLayers?.utilityNetworkLayerId&&null!==r.controllerDatasetLayers.utilityNetworkLayerId){if(r.layers)for(const e of r.layers)a.layerNameLkp[e.id]=e.name;if(r.tables)for(const e of r.tables)a.layerNameLkp[e.id]=e.name;const n=r.controllerDatasetLayers.utilityNetworkLayerId;a.networkId=n;const i=await b(e,n);if(i){a.queryelem=i,a.queryelem?.dataElement&&void 0!==a.queryelem.dataElement.schemaGeneration&&(a.unVersion=a.queryelem.dataElement.schemaGeneration),a.lkp={},a.queryelem.dataElement.domainNetworks||(a.queryelem.dataElement.domainNetworks=[]);for(const e of a.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}}if(a.queryelem.dataElement.terminalConfigurations)for(const e of a.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)a.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const r=await A(e+"/"+n);if(void 0!==r.systemLayers?.associationsTableId&&null!==r.systemLayers.associationsTableId){const n=[];a.unVersion>=4&&(n.push("STATUS"),n.push("PERCENTALONG"));let i=await N(e+"/"+r.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...n],!1,null,null);return await i.load(),a.unVersion>=4&&(i=i.filter(L.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:i.getFieldsIndex(),timeZone:i.dateFieldsTimeZoneDefaultUTC})),await i.load()),{lkp:a.lkp,associations:i,unVersion:a.unVersion,terminals:a.terminals}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}async function E(e,t,a,r=null,n=null,i=!0,l=null,s=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await N(o,r,n,i,l,s);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:i,lrucache:l,interceptor:s})}n.registerAction(),i.registerAction(),l.registerAction(),s.registerAction(),o.registerAction();class j extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.title===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e=r.outFields?r:{...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}async featureSetById(e,t=!0,a=["*"]){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.id===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e={...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await k(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])l.name===e&&(i=l);if(!i)for(const l of n.tables??[])l.name===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(!i)for(const l of n.tables??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function v(e,t,a=null,r=null){return new j(e,t,a,r)}function R(e,t,a=null,r=null){return new D(e,t,a,r)}function M(e,t,n,i,l){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof S&&y(e)){const a=e;switch(t){case"datasource":return T(a,l,"outFields"in a?a.outFields:null,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(a,l,"outFields"in a?a.outFields:null,!0,n,i)}return null}if(r(e)){switch(t){case"datasource":return T(e.parent,l,e.parent.outFields,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(e,l,e.parent.outFields,!0,n,i)}return null}return null}async function q(e,t,a,r,n,i,l,s=null){if(f.applicationCache){const o=f.applicationCache.getLayerInfo(e+":"+i.url);if(o)return G(await o,t,a,r,n,l,s)}if(null!=l){const o=l.getCachedPortalItem(i.url,e);if(null!=o)return await G(await o,t,a,r,n,l,s)}const o=new g({id:e,portal:i}).load();f.applicationCache?f.applicationCache.setLayerInfo(e+":"+i.url,o):null!=l&&l.setCachedPortalItem(i.url,e,o);try{return await G(await o,t,a,r,n,l,s)}catch(u){throw f.applicationCache&&f.applicationCache.clearLayerInfo(e+":"+i.url),null!=l&&l.removeCachedPortalItem(i.url,e,o),u}}async function G(e,t,a,r,n,i,l){let s;if("Feature Service"===e.type||"Map Service"===e.type)s=await F(h(e.url??"")+"/"+t,["*"],i);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=i){const t=i.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)s=await t;else{const t=S.fromPortalItem(e);i.setCachedPortalItemLayer(e.portal.url,e.id,t);try{s=await t}catch(o){throw i.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else s=await S.fromPortalItem(e)}return T(s,a,r,n,i,l)}export{O as constructAssociationMetaDataFeatureSetFromUrl,T as constructFeatureSet,q as constructFeatureSetFromPortalItem,E as constructFeatureSetFromRelationship,N as constructFeatureSetFromUrl,M as convertToFeatureSet,v as createFeatureSetCollectionFromMap,R as createFeatureSetCollectionFromService,C as initialiseMetaDataCache};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Graphic.js";import{_ as t}from"../../../chunks/languageUtils.js";import{SqlExpressionAdapted as i,OriginalField as s,AdaptedFeatureSet as n}from"./Adapted.js";import r from"./AttributeFilter.js";import a from"./OrderBy.js";import{FeatureSetError as o,FeatureSetErrorCodes as l}from"../support/errorsupport.js";import d from"../support/FeatureSet.js";import u from"../support/IdSet.js";import f from"../support/OrderbyClause.js";import{IdState as c,layerGeometryEsriConstants as p,FeatureServiceDatabaseType as h}from"../support/shared.js";import{isSingleField as g,toWhereClause as _,predictType as m,scanForField as y,reformulateWithoutField as b}from"../support/sqlUtils.js";import w from"../support/StatsField.js";import{createMD5Hash as F,outputTypes as I}from"../../../core/MD5.js";import{aggregateFunction as S}from"../../../core/sql/AggregateFunctions.js";import{DateOnly as x}from"../../../core/sql/DateOnly.js";import{SqlTimeStampOffset as D}from"../../../core/sql/SqlTimestampOffset.js";import{TimeOnly as j}from"../../../core/sql/TimeOnly.js";import k from"../../../core/sql/WhereClause.js";import C from"../../../geometry/SpatialReference.js";import A from"../../../layers/support/Field.js";import T from"../../../layers/support/FieldsIndex.js";function G(e){if(!e)return"COUNT";switch(e.toLowerCase()){case"max":return"MAX";case"var":case"variance":return"VAR";case"avg":case"average":case"mean":return"AVG";case"min":return"MIN";case"sum":return"SUM";case"stdev":case"stddev":return"STDDEV";case"count":return"COUNT"}return"COUNT"}class O extends d{constructor(e){super(e),this._decodedStatsfield=[],this._decodedGroupbyfield=[],this._candosimplegroupby=!0,this.phsyicalgroupbyfields=[],this.objectIdField="ROW__ID",this._internalObjectIdField="ROW__ID",this._adaptedFields=[],this.declaredClass="esri.arcade.featureset.actions.Aggregate",this._uniqueIds=1,this._maxQuery=10,this._maxProcessing=10,this._parent=e.parentfeatureset,this._config=e}isTable(){return!0}async _getSet(e){if(null===this._wset){const t=await this._getFilteredSet("",null,null,null,e);return this._wset=t,this._wset}return this._wset}_isInFeatureSet(){return c.InFeatureSet}_nextUniqueName(e){for(;1===e["T"+this._uniqueIds.toString()];)this._uniqueIds++;const t="T"+this._uniqueIds.toString();return e[t]=1,t}_convertToEsriFieldType(e){return e}_initialiseFeatureSet(){const e={};let t=!1,n=1;const r=this._parent?this._parent.getFieldsIndex():new T([]);for(this.objectIdField="ROW__ID",this.globalIdField="";!1===t;){let e=!1;for(let t=0;t<this._config.groupbyfields.length;t++)if(this._config.groupbyfields[t].name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}if(!1===e)for(let t=0;t<this._config.statsfields.length;t++)if(this._config.statsfields[t].name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}!1===e?t=!0:(this.objectIdField="ROW__ID"+n.toString(),n++)}for(const i of this._config.statsfields){const e=new w;e.field=i.name,e.tofieldname=i.name,e.workingexpr=i.expression instanceof k?i.expression:k.create(i.expression,{fieldsIndex:r,timeZone:this.dateFieldsTimeZoneDefaultUTC}),e.typeofstat=G(i.statistic),this._decodedStatsfield.push(e)}this._decodedGroupbyfield=[];for(const i of this._config.groupbyfields){const e={name:i.name,singlefield:null,tofieldname:i.name,expression:i.expression instanceof k?i.expression:k.create(i.expression,{fieldsIndex:r,timeZone:this.dateFieldsTimeZoneDefaultUTC}),sqlType:null};this._decodedGroupbyfield.push(e)}if(null!==this._parent){this.geometryType=this._parent.geometryType,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField="";for(const t of this._parent.fields)e[t.name.toUpperCase()]=1;this.types=null,this.subtypes=null,this.subtypeField=""}else this.geometryType=p.point,this.typeIdField="",this.types=null,this.subtypes=null,this.subtypeField="",this.spatialReference=new C({wkid:4326});this.fields=[];const a=new w;a.field=this._nextUniqueName(e),a.tofieldname=this.objectIdField,a.workingexpr=k.create(this._parent.objectIdField,{fieldsIndex:this._parent.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC}),a.typeofstat="MIN",this._decodedStatsfield.push(a);for(const s of this._decodedGroupbyfield){const t=new A;if(s.name=this._nextUniqueName(e),t.name=s.tofieldname,t.alias=t.name,g(s.expression)){const e=this._parent.getField(_(s.expression,h.Standardised));if(!e)throw new o(l.AggregationFieldNotFound);s.name=e.name,s.singlefield=e.name,this.phsyicalgroupbyfields.push(e.name),t.type=e.type,s.sqlType=e.type}else{t.type=this._convertToEsriFieldType(m(s.expression,this._parent.fields));const e=new A;e.name=s.name,e.alias=e.name,this.phsyicalgroupbyfields.push(s.name),this._adaptedFields.push(new i(e,s.expression)),this._candosimplegroupby=!1,s.sqlType=t.type}this.fields.push(t)}if(this._adaptedFields.length>0)for(const i of this._parent.fields)this._adaptedFields.push(new s(i));for(let i=0;i<this._decodedStatsfield.length;i++){const t=new A;let s=null;const n=this._decodedStatsfield[i];n.field=this._nextUniqueName(e),n.tofieldname===this.objectIdField&&(this._internalObjectIdField=n.field),t.name=n.tofieldname,t.alias=t.name;const r=null!==n.workingexpr&&g(n.workingexpr)?_(n.workingexpr,h.Standardised):"";switch(this._decodedStatsfield[i].typeofstat){case"SUM":if(""!==r){if(s=this._parent.getField(r),!s)throw new o(l.AggregationFieldNotFound);t.type=s.type}else t.type="double";break;case"MIN":case"MAX":if(""!==r){if(s=this._parent.getField(r),!s)throw new o(l.AggregationFieldNotFound);t.type=s.type}else t.type="double";break;case"COUNT":t.type="integer";break;case"STDDEV":case"VAR":case"AVG":if(""!==r&&(s=this._parent.getField(r),!s))throw new o(l.AggregationFieldNotFound);t.type="double"}this.fields.push(t)}}async _canDoAggregates(){return!1}async _getFeatures(e,t,i,s){-1!==t&&this._featureCache[t];const n=this._maxQuery;return!0===this._checkIfNeedToExpandKnownPage(e,n)?(await this._expandPagedSet(e,n,0,0,s),this._getFeatures(e,t,i,s)):"success"}async _getFilteredSet(e,t,i,s,o){if(""!==e)return new u([],[],!0,null);let l=null;const d={ordered:!1,nowhereclause:!1};if(await this._ensureLoaded(),null!==i)for(let n=0;n<this._decodedStatsfield.length;n++)if(!0===y(i,this._decodedStatsfield[n].tofieldname)){d.nowhereclause=!0,i=null;break}if(null!==s){d.ordered=!0;for(let e=0;e<this._decodedStatsfield.length;e++)if(!0===s.scanForField(this._decodedStatsfield[e].tofieldname)){s=null,d.ordered=!1;break}if(null!==s)for(const e of this._decodedGroupbyfield)if(null===e.singlefield&&!0===s.scanForField(e.tofieldname)){s=null,d.ordered=!1;break}}if(!1!==this._candosimplegroupby&&await this._parent._canDoAggregates(this.phsyicalgroupbyfields,this._decodedStatsfield,"",null,null)){let e=null;i&&(e=this._reformulateWhereClauseWithoutGroupByFields(i));let t=null;s&&(t=this._reformulateOrderClauseWithoutGroupByFields(s));const n=await this._parent._getAggregatePagesDataSourceDefinition(this.phsyicalgroupbyfields,this._decodedStatsfield,"",null,e,t,this._internalObjectIdField);return this._checkCancelled(o),l=!0===d.nowhereclause?new u(n._candidates.slice().concat(n._known.slice()),[],!0===d.ordered&&n._ordered,this._clonePageDefinition(n.pagesDefinition)):new u(n._candidates.slice(),n._known.slice(),!0===d.ordered&&n._ordered,this._clonePageDefinition(n.pagesDefinition)),l}let c=this._parent;if(this._adaptedFields.length>0&&(c=new n({parentfeatureset:this._parent,adaptedFields:this._adaptedFields,extraFilter:null})),!0===d.nowhereclause)l=new u(["GETPAGES"],[],!1,{aggregatefeaturesetpagedefinition:!0,resultOffset:0,resultRecordCount:this._maxQuery,internal:{fullyResolved:!1,workingItem:null,type:"manual",iterator:null,set:[],subfeatureset:new a({parentfeatureset:c,orderbyclause:new f(this.phsyicalgroupbyfields.join(",")+","+this._parent.objectIdField+" ASC")})}});else{let e=c;if(null!==i){let t=null;i&&(t=this._reformulateWhereClauseWithoutGroupByFields(i)),e=new r({parentfeatureset:e,whereclause:t})}l=new u(["GETPAGES"],[],!1,{aggregatefeaturesetpagedefinition:!0,resultOffset:0,resultRecordCount:this._maxQuery,internal:{fullyResolved:!1,workingItem:null,type:"manual",iterator:null,set:[],subfeatureset:new a({parentfeatureset:e,orderbyclause:new f(this.phsyicalgroupbyfields.join(",")+","+this._parent.objectIdField+" ASC")})}})}return l}_reformulateWhereClauseWithoutStatsFields(e){for(const t of this._decodedStatsfield)e=b(e,t.tofieldname,_(t.workingexpr,h.Standardised),this._parent.getFieldsIndex());return e}_reformulateWhereClauseWithoutGroupByFields(e){for(const t of this._decodedGroupbyfield)t.tofieldname!==t.name&&(e=b(e,t.tofieldname,_(t.expression,h.Standardised),this._parent.getFieldsIndex()));return e}_reformulateOrderClauseWithoutGroupByFields(e){const t=[];for(const i of this._decodedGroupbyfield)i.tofieldname!==i.name&&t.push({field:i.tofieldname,newfield:i.name});return t.length>0?e.replaceFields(t):e}_clonePageDefinition(e){return null===e?null:!0===e.aggregatefeaturesetpagedefinition?{aggregatefeaturesetpagedefinition:!0,resultRecordCount:e.resultRecordCount,resultOffset:e.resultOffset,internal:e.internal}:this._parent._clonePageDefinition(e)}async _refineSetBlock(e,t,i){if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQuery))return await this._expandPagedSet(e,this._maxQuery,0,0,i),this._refineSetBlock(e,t,i);this._checkCancelled(i);const s=e._candidates.length;this._refineKnowns(e,t);e._candidates.length;return e._candidates.length,e}_expandPagedSet(e,t,i,s,n){return this._expandPagedSetFeatureSet(e,t,i,s,n)}async _getPhysicalPage(t,i,s){if(!0===t.pagesDefinition.aggregatefeaturesetpagedefinition)return this._sequentialGetPhysicalItem(t,t.pagesDefinition.resultRecordCount,s,[]);const n=await this._getAgregagtePhysicalPage(t,i,s);for(const r of n){const t={geometry:r.geometry,attributes:{}},i={};for(const e in r.attributes)i[e.toLowerCase()]=r.attributes[e];for(const e of this._decodedGroupbyfield)t.attributes[e.tofieldname]=i[e.name.toLowerCase()];for(const e of this._decodedStatsfield)t.attributes[e.tofieldname]=i[e.field.toLowerCase()];this._featureCache[t.attributes[this.objectIdField]]=new e(t)}return n.length}_sequentialGetPhysicalItem(e,t,i,s){return new Promise(((n,r)=>{null===e.pagesDefinition.internal.iterator&&(e.pagesDefinition.internal.iterator=e.pagesDefinition.internal.subfeatureset.iterator(i)),!0===e.pagesDefinition.internal.fullyResolved||0===t?n(s.length):this._nextAggregateItem(e,t,i,s,(r=>{null===r?n(s.length):(t-=1,n(this._sequentialGetPhysicalItem(e,t,i,s)))}),r)}))}_nextAggregateItem(e,i,s,n,r,a){try{t(e.pagesDefinition.internal.iterator.next()).then((t=>{if(null===t)if(null!==e.pagesDefinition.internal.workingItem){const t=this._calculateAndAppendAggregateItem(e.pagesDefinition.internal.workingItem);n.push(t),e.pagesDefinition.internal.workingItem=null,e.pagesDefinition.internal.set.push(t.attributes[this.objectIdField]),e.pagesDefinition.internal.fullyResolved=!0,r(null)}else e.pagesDefinition.internal.fullyResolved=!0,r(null);else{const o=this._generateAggregateHash(t);if(null===e.pagesDefinition.internal.workingItem)e.pagesDefinition.internal.workingItem={features:[t],id:o};else{if(o!==e.pagesDefinition.internal.workingItem.id){const s=this._calculateAndAppendAggregateItem(e.pagesDefinition.internal.workingItem);return n.push(s),e.pagesDefinition.internal.workingItem=null,e.pagesDefinition.internal.set.push(s.attributes[this.objectIdField]),i-=1,e.pagesDefinition.internal.workingItem={features:[t],id:o},void r(s)}e.pagesDefinition.internal.workingItem.features.push(t)}this._nextAggregateItem(e,i,s,n,r,a)}}),a)}catch(o){a(o)}}_calculateFieldStat(e,t,i){const s=[];for(const n of e.features)if(null!==t.workingexpr){const e=t.workingexpr.calculateValue(n);null!==e&&(e instanceof x||e instanceof j?s.push(e.toNumber()):e instanceof D?s.push(e.toMilliseconds()):s.push(e))}else s.push(null);i.attributes[t.tofieldname]=S(t.typeofstat,[s])}_calculateAndAppendAggregateItem(t){const i={attributes:{},geometry:null};for(const e of this._decodedGroupbyfield){const s=e.singlefield?t.features[0].attributes[e.singlefield]:k.convertValueToStorageFormat(e.expression.calculateValue(t.features[0]),e.sqlType);i.attributes[e.tofieldname]=s}for(const e of this._decodedStatsfield)this._calculateFieldStat(t,e,i);const s=[];for(let e=0;e<this._decodedStatsfield.length;e++)s.push(this._calculateFieldStat(t,this._decodedStatsfield[e],i));return this._featureCache[i.attributes[this.objectIdField]]=new e({attributes:i.attributes,geometry:i.geometry}),i}_generateAggregateHash(e){let t="";for(const i of this._decodedGroupbyfield){const s=i.singlefield?e.attributes[i.singlefield]:i.expression.calculateValue(e);t+=null==s?":":":"+s.toString()}return F(t,I.String)}async _stat(){return{calculated:!1}}async getFeatureByObjectId(){return null}static registerAction(){d._featuresetFunctions.groupby=function(e,t){return new O({parentfeatureset:this,groupbyfields:e,statsfields:t})}}}export{O as default};
5
+ import e from"../../../Graphic.js";import{$ as t}from"../../../chunks/languageUtils.js";import{SqlExpressionAdapted as i,OriginalField as s,AdaptedFeatureSet as n}from"./Adapted.js";import r from"./AttributeFilter.js";import a from"./OrderBy.js";import{FeatureSetError as o,FeatureSetErrorCodes as l}from"../support/errorsupport.js";import d from"../support/FeatureSet.js";import u from"../support/IdSet.js";import f from"../support/OrderbyClause.js";import{IdState as c,layerGeometryEsriConstants as p,FeatureServiceDatabaseType as h}from"../support/shared.js";import{isSingleField as g,toWhereClause as _,predictType as m,scanForField as y,reformulateWithoutField as b}from"../support/sqlUtils.js";import w from"../support/StatsField.js";import{createMD5Hash as F,outputTypes as I}from"../../../core/MD5.js";import{aggregateFunction as S}from"../../../core/sql/AggregateFunctions.js";import{DateOnly as x}from"../../../core/sql/DateOnly.js";import{SqlTimeStampOffset as D}from"../../../core/sql/SqlTimestampOffset.js";import{TimeOnly as j}from"../../../core/sql/TimeOnly.js";import k from"../../../core/sql/WhereClause.js";import C from"../../../geometry/SpatialReference.js";import A from"../../../layers/support/Field.js";import T from"../../../layers/support/FieldsIndex.js";function G(e){if(!e)return"COUNT";switch(e.toLowerCase()){case"max":return"MAX";case"var":case"variance":return"VAR";case"avg":case"average":case"mean":return"AVG";case"min":return"MIN";case"sum":return"SUM";case"stdev":case"stddev":return"STDDEV";case"count":return"COUNT"}return"COUNT"}class O extends d{constructor(e){super(e),this._decodedStatsfield=[],this._decodedGroupbyfield=[],this._candosimplegroupby=!0,this.phsyicalgroupbyfields=[],this.objectIdField="ROW__ID",this._internalObjectIdField="ROW__ID",this._adaptedFields=[],this.declaredClass="esri.arcade.featureset.actions.Aggregate",this._uniqueIds=1,this._maxQuery=10,this._maxProcessing=10,this._parent=e.parentfeatureset,this._config=e}isTable(){return!0}async _getSet(e){if(null===this._wset){const t=await this._getFilteredSet("",null,null,null,e);return this._wset=t,this._wset}return this._wset}_isInFeatureSet(){return c.InFeatureSet}_nextUniqueName(e){for(;1===e["T"+this._uniqueIds.toString()];)this._uniqueIds++;const t="T"+this._uniqueIds.toString();return e[t]=1,t}_convertToEsriFieldType(e){return e}_initialiseFeatureSet(){const e={};let t=!1,n=1;const r=this._parent?this._parent.getFieldsIndex():new T([]);for(this.objectIdField="ROW__ID",this.globalIdField="";!1===t;){let e=!1;for(let t=0;t<this._config.groupbyfields.length;t++)if(this._config.groupbyfields[t].name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}if(!1===e)for(let t=0;t<this._config.statsfields.length;t++)if(this._config.statsfields[t].name.toLowerCase()===this.objectIdField.toLowerCase()){e=!0;break}!1===e?t=!0:(this.objectIdField="ROW__ID"+n.toString(),n++)}for(const i of this._config.statsfields){const e=new w;e.field=i.name,e.tofieldname=i.name,e.workingexpr=i.expression instanceof k?i.expression:k.create(i.expression,{fieldsIndex:r,timeZone:this.dateFieldsTimeZoneDefaultUTC}),e.typeofstat=G(i.statistic),this._decodedStatsfield.push(e)}this._decodedGroupbyfield=[];for(const i of this._config.groupbyfields){const e={name:i.name,singlefield:null,tofieldname:i.name,expression:i.expression instanceof k?i.expression:k.create(i.expression,{fieldsIndex:r,timeZone:this.dateFieldsTimeZoneDefaultUTC}),sqlType:null};this._decodedGroupbyfield.push(e)}if(null!==this._parent){this.geometryType=this._parent.geometryType,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField="";for(const t of this._parent.fields)e[t.name.toUpperCase()]=1;this.types=null,this.subtypes=null,this.subtypeField=""}else this.geometryType=p.point,this.typeIdField="",this.types=null,this.subtypes=null,this.subtypeField="",this.spatialReference=new C({wkid:4326});this.fields=[];const a=new w;a.field=this._nextUniqueName(e),a.tofieldname=this.objectIdField,a.workingexpr=k.create(this._parent.objectIdField,{fieldsIndex:this._parent.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC}),a.typeofstat="MIN",this._decodedStatsfield.push(a);for(const s of this._decodedGroupbyfield){const t=new A;if(s.name=this._nextUniqueName(e),t.name=s.tofieldname,t.alias=t.name,g(s.expression)){const e=this._parent.getField(_(s.expression,h.Standardised));if(!e)throw new o(l.AggregationFieldNotFound);s.name=e.name,s.singlefield=e.name,this.phsyicalgroupbyfields.push(e.name),t.type=e.type,s.sqlType=e.type}else{t.type=this._convertToEsriFieldType(m(s.expression,this._parent.fields));const e=new A;e.name=s.name,e.alias=e.name,this.phsyicalgroupbyfields.push(s.name),this._adaptedFields.push(new i(e,s.expression)),this._candosimplegroupby=!1,s.sqlType=t.type}this.fields.push(t)}if(this._adaptedFields.length>0)for(const i of this._parent.fields)this._adaptedFields.push(new s(i));for(let i=0;i<this._decodedStatsfield.length;i++){const t=new A;let s=null;const n=this._decodedStatsfield[i];n.field=this._nextUniqueName(e),n.tofieldname===this.objectIdField&&(this._internalObjectIdField=n.field),t.name=n.tofieldname,t.alias=t.name;const r=null!==n.workingexpr&&g(n.workingexpr)?_(n.workingexpr,h.Standardised):"";switch(this._decodedStatsfield[i].typeofstat){case"SUM":if(""!==r){if(s=this._parent.getField(r),!s)throw new o(l.AggregationFieldNotFound);t.type=s.type}else t.type="double";break;case"MIN":case"MAX":if(""!==r){if(s=this._parent.getField(r),!s)throw new o(l.AggregationFieldNotFound);t.type=s.type}else t.type="double";break;case"COUNT":t.type="integer";break;case"STDDEV":case"VAR":case"AVG":if(""!==r&&(s=this._parent.getField(r),!s))throw new o(l.AggregationFieldNotFound);t.type="double"}this.fields.push(t)}}async _canDoAggregates(){return!1}async _getFeatures(e,t,i,s){-1!==t&&this._featureCache[t];const n=this._maxQuery;return!0===this._checkIfNeedToExpandKnownPage(e,n)?(await this._expandPagedSet(e,n,0,0,s),this._getFeatures(e,t,i,s)):"success"}async _getFilteredSet(e,t,i,s,o){if(""!==e)return new u([],[],!0,null);let l=null;const d={ordered:!1,nowhereclause:!1};if(await this._ensureLoaded(),null!==i)for(let n=0;n<this._decodedStatsfield.length;n++)if(!0===y(i,this._decodedStatsfield[n].tofieldname)){d.nowhereclause=!0,i=null;break}if(null!==s){d.ordered=!0;for(let e=0;e<this._decodedStatsfield.length;e++)if(!0===s.scanForField(this._decodedStatsfield[e].tofieldname)){s=null,d.ordered=!1;break}if(null!==s)for(const e of this._decodedGroupbyfield)if(null===e.singlefield&&!0===s.scanForField(e.tofieldname)){s=null,d.ordered=!1;break}}if(!1!==this._candosimplegroupby&&await this._parent._canDoAggregates(this.phsyicalgroupbyfields,this._decodedStatsfield,"",null,null)){let e=null;i&&(e=this._reformulateWhereClauseWithoutGroupByFields(i));let t=null;s&&(t=this._reformulateOrderClauseWithoutGroupByFields(s));const n=await this._parent._getAggregatePagesDataSourceDefinition(this.phsyicalgroupbyfields,this._decodedStatsfield,"",null,e,t,this._internalObjectIdField);return this._checkCancelled(o),l=!0===d.nowhereclause?new u(n._candidates.slice().concat(n._known.slice()),[],!0===d.ordered&&n._ordered,this._clonePageDefinition(n.pagesDefinition)):new u(n._candidates.slice(),n._known.slice(),!0===d.ordered&&n._ordered,this._clonePageDefinition(n.pagesDefinition)),l}let c=this._parent;if(this._adaptedFields.length>0&&(c=new n({parentfeatureset:this._parent,adaptedFields:this._adaptedFields,extraFilter:null})),!0===d.nowhereclause)l=new u(["GETPAGES"],[],!1,{aggregatefeaturesetpagedefinition:!0,resultOffset:0,resultRecordCount:this._maxQuery,internal:{fullyResolved:!1,workingItem:null,type:"manual",iterator:null,set:[],subfeatureset:new a({parentfeatureset:c,orderbyclause:new f(this.phsyicalgroupbyfields.join(",")+","+this._parent.objectIdField+" ASC")})}});else{let e=c;if(null!==i){let t=null;i&&(t=this._reformulateWhereClauseWithoutGroupByFields(i)),e=new r({parentfeatureset:e,whereclause:t})}l=new u(["GETPAGES"],[],!1,{aggregatefeaturesetpagedefinition:!0,resultOffset:0,resultRecordCount:this._maxQuery,internal:{fullyResolved:!1,workingItem:null,type:"manual",iterator:null,set:[],subfeatureset:new a({parentfeatureset:e,orderbyclause:new f(this.phsyicalgroupbyfields.join(",")+","+this._parent.objectIdField+" ASC")})}})}return l}_reformulateWhereClauseWithoutStatsFields(e){for(const t of this._decodedStatsfield)e=b(e,t.tofieldname,_(t.workingexpr,h.Standardised),this._parent.getFieldsIndex());return e}_reformulateWhereClauseWithoutGroupByFields(e){for(const t of this._decodedGroupbyfield)t.tofieldname!==t.name&&(e=b(e,t.tofieldname,_(t.expression,h.Standardised),this._parent.getFieldsIndex()));return e}_reformulateOrderClauseWithoutGroupByFields(e){const t=[];for(const i of this._decodedGroupbyfield)i.tofieldname!==i.name&&t.push({field:i.tofieldname,newfield:i.name});return t.length>0?e.replaceFields(t):e}_clonePageDefinition(e){return null===e?null:!0===e.aggregatefeaturesetpagedefinition?{aggregatefeaturesetpagedefinition:!0,resultRecordCount:e.resultRecordCount,resultOffset:e.resultOffset,internal:e.internal}:this._parent._clonePageDefinition(e)}async _refineSetBlock(e,t,i){if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQuery))return await this._expandPagedSet(e,this._maxQuery,0,0,i),this._refineSetBlock(e,t,i);this._checkCancelled(i);const s=e._candidates.length;this._refineKnowns(e,t);e._candidates.length;return e._candidates.length,e}_expandPagedSet(e,t,i,s,n){return this._expandPagedSetFeatureSet(e,t,i,s,n)}async _getPhysicalPage(t,i,s){if(!0===t.pagesDefinition.aggregatefeaturesetpagedefinition)return this._sequentialGetPhysicalItem(t,t.pagesDefinition.resultRecordCount,s,[]);const n=await this._getAgregagtePhysicalPage(t,i,s);for(const r of n){const t={geometry:r.geometry,attributes:{}},i={};for(const e in r.attributes)i[e.toLowerCase()]=r.attributes[e];for(const e of this._decodedGroupbyfield)t.attributes[e.tofieldname]=i[e.name.toLowerCase()];for(const e of this._decodedStatsfield)t.attributes[e.tofieldname]=i[e.field.toLowerCase()];this._featureCache[t.attributes[this.objectIdField]]=new e(t)}return n.length}_sequentialGetPhysicalItem(e,t,i,s){return new Promise(((n,r)=>{null===e.pagesDefinition.internal.iterator&&(e.pagesDefinition.internal.iterator=e.pagesDefinition.internal.subfeatureset.iterator(i)),!0===e.pagesDefinition.internal.fullyResolved||0===t?n(s.length):this._nextAggregateItem(e,t,i,s,(r=>{null===r?n(s.length):(t-=1,n(this._sequentialGetPhysicalItem(e,t,i,s)))}),r)}))}_nextAggregateItem(e,i,s,n,r,a){try{t(e.pagesDefinition.internal.iterator.next()).then((t=>{if(null===t)if(null!==e.pagesDefinition.internal.workingItem){const t=this._calculateAndAppendAggregateItem(e.pagesDefinition.internal.workingItem);n.push(t),e.pagesDefinition.internal.workingItem=null,e.pagesDefinition.internal.set.push(t.attributes[this.objectIdField]),e.pagesDefinition.internal.fullyResolved=!0,r(null)}else e.pagesDefinition.internal.fullyResolved=!0,r(null);else{const o=this._generateAggregateHash(t);if(null===e.pagesDefinition.internal.workingItem)e.pagesDefinition.internal.workingItem={features:[t],id:o};else{if(o!==e.pagesDefinition.internal.workingItem.id){const s=this._calculateAndAppendAggregateItem(e.pagesDefinition.internal.workingItem);return n.push(s),e.pagesDefinition.internal.workingItem=null,e.pagesDefinition.internal.set.push(s.attributes[this.objectIdField]),i-=1,e.pagesDefinition.internal.workingItem={features:[t],id:o},void r(s)}e.pagesDefinition.internal.workingItem.features.push(t)}this._nextAggregateItem(e,i,s,n,r,a)}}),a)}catch(o){a(o)}}_calculateFieldStat(e,t,i){const s=[];for(const n of e.features)if(null!==t.workingexpr){const e=t.workingexpr.calculateValue(n);null!==e&&(e instanceof x||e instanceof j?s.push(e.toNumber()):e instanceof D?s.push(e.toMilliseconds()):s.push(e))}else s.push(null);i.attributes[t.tofieldname]=S(t.typeofstat,[s])}_calculateAndAppendAggregateItem(t){const i={attributes:{},geometry:null};for(const e of this._decodedGroupbyfield){const s=e.singlefield?t.features[0].attributes[e.singlefield]:k.convertValueToStorageFormat(e.expression.calculateValue(t.features[0]),e.sqlType);i.attributes[e.tofieldname]=s}for(const e of this._decodedStatsfield)this._calculateFieldStat(t,e,i);const s=[];for(let e=0;e<this._decodedStatsfield.length;e++)s.push(this._calculateFieldStat(t,this._decodedStatsfield[e],i));return this._featureCache[i.attributes[this.objectIdField]]=new e({attributes:i.attributes,geometry:i.geometry}),i}_generateAggregateHash(e){let t="";for(const i of this._decodedGroupbyfield){const s=i.singlefield?e.attributes[i.singlefield]:i.expression.calculateValue(e);t+=null==s?":":":"+s.toString()}return F(t,I.String)}async _stat(){return{calculated:!1}}async getFeatureByObjectId(){return null}static registerAction(){d._featuresetFunctions.groupby=function(e,t){return new O({parentfeatureset:this,groupbyfields:e,statsfields:t})}}}export{O as default};