@arcgis/core 4.24.0-next.20220529 → 4.24.0-next.20220603

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 (487) hide show
  1. package/Camera.js +1 -1
  2. package/WebMap.js +1 -1
  3. package/analysis/LengthDimension.js +1 -1
  4. package/analysis/LineOfSightAnalysis.js +1 -1
  5. package/analysis/SlicePlane.js +1 -1
  6. package/arcade/Dictionary.js +1 -1
  7. package/arcade/Feature.js +1 -1
  8. package/arcade/arcadeAsyncRuntime.js +1 -1
  9. package/arcade/arcadeCompiler.js +1 -1
  10. package/arcade/arcadeRuntime.js +1 -1
  11. package/arcade/functions/convertdirection.js +1 -1
  12. package/arcade/functions/date.js +1 -1
  13. package/arcade/functions/featuresetbase.js +1 -1
  14. package/arcade/functions/featuresetgeom.js +1 -1
  15. package/arcade/functions/featuresetstats.js +1 -1
  16. package/arcade/functions/featuresetstring.js +1 -1
  17. package/arcade/functions/fieldStats.js +1 -1
  18. package/arcade/functions/geomasync.js +1 -1
  19. package/arcade/functions/geometry.js +1 -1
  20. package/arcade/functions/geomsync.js +1 -1
  21. package/arcade/functions/maths.js +1 -1
  22. package/arcade/functions/stats.js +1 -1
  23. package/arcade/functions/string.js +1 -1
  24. package/arcade/languageUtils.js +1 -1
  25. package/arcade.js +5 -0
  26. package/assets/esri/core/libs/libtess/libtess.wasm +0 -0
  27. package/assets/esri/core/workers/RemoteClient.js +1 -1
  28. package/assets/esri/core/workers/chunks/0832c0f5e61b7b354a17.js +1 -0
  29. package/assets/esri/core/workers/chunks/{f0e462f5a16852f33225.js → 11d306532d47314b12a6.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{2bd070e0dc971e54ba28.js → 13e9e6f0b4942d79b0eb.js} +1 -1
  31. package/assets/esri/core/workers/chunks/185da42e7cc8e440c0f0.js +1 -0
  32. package/assets/esri/core/workers/chunks/1d893ebc6f203ff1fc3d.js +1 -0
  33. package/assets/esri/core/workers/chunks/1fe8daa3a0f4fea3a61c.js +1 -0
  34. package/assets/esri/core/workers/chunks/{5c334b4a40c2c5f7e5ad.js → 2ac6c99aacb873134f7c.js} +1 -1
  35. package/assets/esri/core/workers/chunks/2bc150d036a007f9fe91.js +1 -0
  36. package/assets/esri/core/workers/chunks/2e2d7f5952934af43fd7.js +1 -0
  37. package/assets/esri/core/workers/chunks/{04f7a5fceba712596683.js → 2f29b446a5ca848e1261.js} +1 -1
  38. package/assets/esri/core/workers/chunks/312cd453385ea66eb3ca.js +1 -0
  39. package/assets/esri/core/workers/chunks/{f7134e672ec8fec76d09.js → 323232157b1eeb171c25.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{5cf2064bfd9d0847d9ec.js → 3d966b49ebc1522f4333.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{58b39f18cd0c6579e2fd.js → 3f195d2bde880dd01416.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{f668ccaf8bd0be0ab57b.js → 3f2221614bf87020db70.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{10cd3a846e297006f3a3.js → 3f28d0fd791bf05f8571.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{97015a05c44cc206a81a.js → 4445227fad0b307edf5f.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{3c258ac11c963b7d9509.js → 459550fedbeef49694ff.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{222d51ad2b897188363c.js → 4af682fc586f7b034353.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{c0e6dbecdbd30066a82c.js → 4baaccf51681997672af.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{72d022e438835d756dca.js → 4c04407224b17b7398d6.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{aa40e324e59038c2f123.js → 4c5b80ba3dbfe6f6cafb.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{907e7e8a9b664b425feb.js → 4d2181bde97983ecac8b.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{505b0aa5ee3e5a26c351.js → 4d387d8ae8bd9055ff74.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{4281b4b27f4767cdd3ae.js → 4daed788b965c26d76ec.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{0ad179f4332d5242cc5f.js → 4e01e193b5c6c2f905a0.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{ea73a1d9cad5e1a5d861.js → 577679f302c26ba4060a.js} +1 -1
  55. package/assets/esri/core/workers/chunks/61ad46ea11cc7fdacdf7.js +1 -0
  56. package/assets/esri/core/workers/chunks/6a6db009f3de562ab6fe.js +1 -0
  57. package/assets/esri/core/workers/chunks/{3db46791499c32dd5841.js → 6f41f039226a043a2d18.js} +1 -1
  58. package/assets/esri/core/workers/chunks/71d445d1e6812e03a1d7.js +1 -0
  59. package/assets/esri/core/workers/chunks/7271ec92d0cac96db4f4.js +1 -0
  60. package/assets/esri/core/workers/chunks/72c7d48408d1f8050026.js +1 -0
  61. package/assets/esri/core/workers/chunks/7649817d808df6766805.js +1 -0
  62. package/assets/esri/core/workers/chunks/7ee4fb971aa61f8db0b3.js +1 -0
  63. package/assets/esri/core/workers/chunks/7ee551c88ef8a3e383cc.js +1 -0
  64. package/assets/esri/core/workers/chunks/7fe767d944fee7d56d5e.js +1 -0
  65. package/assets/esri/core/workers/chunks/{c8c2edfd2a88436cc688.js → 8152cd26ebeae910b753.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{aa0276e79f9a158ffea7.js → 829afaaadc0b87fe96e9.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{b476a80ef81c211685be.js → 86ac05ce8da7d319d440.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{ca035cb79695ce94f46f.js → 878f32a6f0f165e8c560.js} +1 -1
  69. package/assets/esri/core/workers/chunks/896208f35943791fe72e.js +1 -0
  70. package/assets/esri/core/workers/chunks/89cc8e4975c77c7ca0ec.js +1 -0
  71. package/assets/esri/core/workers/chunks/{8ea4175870819aef06c9.js → 8afd68560d0d0c2f950a.js} +1 -1
  72. package/assets/esri/core/workers/chunks/92e1fd97afcdbb719e3f.js +1 -0
  73. package/assets/esri/core/workers/chunks/98c519ac806cc55bc19b.js +1 -0
  74. package/assets/esri/core/workers/chunks/{7f4c1c67551584bb9f0f.js → 9c80ccc89f8ecf2d9c93.js} +1 -1
  75. package/assets/esri/core/workers/chunks/9ef91f315aedd762a3f8.js +1 -0
  76. package/assets/esri/core/workers/chunks/9f08ea41d9096a070dd0.js +1 -0
  77. package/assets/esri/core/workers/chunks/{20b454e62e31afb59fad.js → 9f2d2b4356baf435c232.js} +1 -1
  78. package/assets/esri/core/workers/chunks/a379e8cd8eab66b3cbd2.js +1 -0
  79. package/assets/esri/core/workers/chunks/a53cb8b619ad2bd8b31d.js +1 -0
  80. package/assets/esri/core/workers/chunks/a8e95f11e147137880ce.js +1 -0
  81. package/assets/esri/core/workers/chunks/{27572edd67242e1b6646.js → aacf83bf78dc9cc5d5cf.js} +1 -1
  82. package/assets/esri/core/workers/chunks/b50bbfd75768d9a8de88.js +1 -0
  83. package/assets/esri/core/workers/chunks/{c3e7290fb128d4fefd44.js → bbff8ed3192fe22a6b6d.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{ba04a742ca282a23257c.js → bd2f4a01cb71e25837ba.js} +1 -1
  85. package/assets/esri/core/workers/chunks/be541ea96979555f7486.js +1 -0
  86. package/assets/esri/core/workers/chunks/c1653b6cb201ecbaabaa.js +1 -0
  87. package/assets/esri/core/workers/chunks/{ae899d1770b84cc5456c.js → c165845a117c21246b1e.js} +1 -1
  88. package/assets/esri/core/workers/chunks/c8bd56dbd54432c37eb8.js +1 -0
  89. package/assets/esri/core/workers/chunks/c9405a922a0d8c0ed8ad.js +1 -0
  90. package/assets/esri/core/workers/chunks/cb906a3f03dd0805c880.js +1 -0
  91. package/assets/esri/core/workers/chunks/cbe98327181d8d7ad9e5.js +1 -0
  92. package/assets/esri/core/workers/chunks/{70b6356357e7640c4e8b.js → ce546851aa7f48585494.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{1f4ba2fd71425b875eb4.js → d03a537a6586925a387a.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{5f47e9fc1e50b0d61248.js → d4e382adb96ae14596f5.js} +1 -1
  95. package/assets/esri/core/workers/chunks/d7168ff8f26ca2537080.js +1 -0
  96. package/assets/esri/core/workers/chunks/d91140bc583925e4faf6.js +1 -0
  97. package/assets/esri/core/workers/chunks/e4ca3f04ca7f71b46240.js +1 -0
  98. package/assets/esri/core/workers/chunks/{ebc248a2a2ddc5346915.js → e51420d231c286b9c062.js} +1 -1
  99. package/assets/esri/core/workers/chunks/e99b58d07475bffce7ea.js +1 -0
  100. package/assets/esri/core/workers/chunks/{845ac02b34f710bc14a3.js → ee03cec8a2335b2e14f0.js} +1 -1
  101. package/assets/esri/core/workers/chunks/f0a130d6c2f6b14e7cfd.js +1 -0
  102. package/assets/esri/core/workers/chunks/f3d885aec4bca18928d4.js +1 -0
  103. package/assets/esri/core/workers/chunks/f457a8f923931748191a.js +1 -0
  104. package/assets/esri/core/workers/chunks/{46358c71fa3d8ff42142.js → f598c333a9268dcee348.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{5606cc14a4d54bc0ba3e.js → f76d73fce6c5dc146ac4.js} +1 -1
  106. package/assets/esri/core/workers/chunks/f9e8c41a1207a6ad2943.js +1 -0
  107. package/assets/esri/core/workers/chunks/{9b4159f2e4150414b594.js → fc0da1dfeef041182ddf.js} +1 -1
  108. package/assets/esri/core/workers/chunks/fcebce1a03ef798cb01d.js +1 -0
  109. package/assets/esri/core/workers/chunks/ff6ebc9c3890a9e28e12.js +1 -0
  110. package/assets/esri/themes/base/widgets/_Bookmarks.scss +3 -1
  111. package/assets/esri/themes/base/widgets/_FeatureForm.scss +1 -1
  112. package/assets/esri/themes/base/widgets/_FeatureMedia.scss +2 -4
  113. package/assets/esri/themes/base/widgets/_FeatureTable.scss +2 -2
  114. package/assets/esri/themes/base/widgets/_Grid.scss +12 -1
  115. package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +24 -0
  116. package/assets/esri/themes/base/widgets/_Tooltip.scss +2 -0
  117. package/assets/esri/themes/dark/main.css +1 -1
  118. package/assets/esri/themes/light/main.css +1 -1
  119. package/assets/esri/themes/light/view.css +1 -1
  120. package/assets/esri/widgets/Daylight/t9n/Daylight.json +1 -1
  121. package/assets/esri/widgets/Daylight/t9n/Daylight_ar.json +1 -1
  122. package/assets/esri/widgets/Daylight/t9n/Daylight_bg.json +1 -1
  123. package/assets/esri/widgets/Daylight/t9n/Daylight_bs.json +1 -1
  124. package/assets/esri/widgets/Daylight/t9n/Daylight_ca.json +1 -1
  125. package/assets/esri/widgets/Daylight/t9n/Daylight_cs.json +1 -1
  126. package/assets/esri/widgets/Daylight/t9n/Daylight_da.json +1 -1
  127. package/assets/esri/widgets/Daylight/t9n/Daylight_de.json +1 -1
  128. package/assets/esri/widgets/Daylight/t9n/Daylight_el.json +1 -1
  129. package/assets/esri/widgets/Daylight/t9n/Daylight_en.json +1 -1
  130. package/assets/esri/widgets/Daylight/t9n/Daylight_es.json +1 -1
  131. package/assets/esri/widgets/Daylight/t9n/Daylight_et.json +1 -1
  132. package/assets/esri/widgets/Daylight/t9n/Daylight_fi.json +1 -1
  133. package/assets/esri/widgets/Daylight/t9n/Daylight_fr.json +1 -1
  134. package/assets/esri/widgets/Daylight/t9n/Daylight_he.json +1 -1
  135. package/assets/esri/widgets/Daylight/t9n/Daylight_hr.json +1 -1
  136. package/assets/esri/widgets/Daylight/t9n/Daylight_hu.json +1 -1
  137. package/assets/esri/widgets/Daylight/t9n/Daylight_id.json +1 -1
  138. package/assets/esri/widgets/Daylight/t9n/Daylight_it.json +1 -1
  139. package/assets/esri/widgets/Daylight/t9n/Daylight_ja.json +1 -1
  140. package/assets/esri/widgets/Daylight/t9n/Daylight_ko.json +1 -1
  141. package/assets/esri/widgets/Daylight/t9n/Daylight_lt.json +1 -1
  142. package/assets/esri/widgets/Daylight/t9n/Daylight_lv.json +1 -1
  143. package/assets/esri/widgets/Daylight/t9n/Daylight_nb.json +1 -1
  144. package/assets/esri/widgets/Daylight/t9n/Daylight_nl.json +1 -1
  145. package/assets/esri/widgets/Daylight/t9n/Daylight_pl.json +1 -1
  146. package/assets/esri/widgets/Daylight/t9n/Daylight_pt-BR.json +1 -1
  147. package/assets/esri/widgets/Daylight/t9n/Daylight_pt-PT.json +1 -1
  148. package/assets/esri/widgets/Daylight/t9n/Daylight_ro.json +1 -1
  149. package/assets/esri/widgets/Daylight/t9n/Daylight_ru.json +1 -1
  150. package/assets/esri/widgets/Daylight/t9n/Daylight_sk.json +1 -1
  151. package/assets/esri/widgets/Daylight/t9n/Daylight_sl.json +1 -1
  152. package/assets/esri/widgets/Daylight/t9n/Daylight_sr.json +1 -1
  153. package/assets/esri/widgets/Daylight/t9n/Daylight_sv.json +1 -1
  154. package/assets/esri/widgets/Daylight/t9n/Daylight_th.json +1 -1
  155. package/assets/esri/widgets/Daylight/t9n/Daylight_tr.json +1 -1
  156. package/assets/esri/widgets/Daylight/t9n/Daylight_uk.json +1 -1
  157. package/assets/esri/widgets/Daylight/t9n/Daylight_vi.json +1 -1
  158. package/assets/esri/widgets/Daylight/t9n/Daylight_zh-CN.json +1 -1
  159. package/assets/esri/widgets/Daylight/t9n/Daylight_zh-HK.json +1 -1
  160. package/assets/esri/widgets/Daylight/t9n/Daylight_zh-TW.json +1 -1
  161. package/assets/esri/widgets/Print/t9n/Print.json +1 -1
  162. package/assets/esri/widgets/Print/t9n/Print_ar.json +1 -1
  163. package/assets/esri/widgets/Print/t9n/Print_bg.json +1 -1
  164. package/assets/esri/widgets/Print/t9n/Print_bs.json +1 -1
  165. package/assets/esri/widgets/Print/t9n/Print_ca.json +1 -1
  166. package/assets/esri/widgets/Print/t9n/Print_cs.json +1 -1
  167. package/assets/esri/widgets/Print/t9n/Print_da.json +1 -1
  168. package/assets/esri/widgets/Print/t9n/Print_de.json +1 -1
  169. package/assets/esri/widgets/Print/t9n/Print_el.json +1 -1
  170. package/assets/esri/widgets/Print/t9n/Print_en.json +1 -1
  171. package/assets/esri/widgets/Print/t9n/Print_es.json +1 -1
  172. package/assets/esri/widgets/Print/t9n/Print_et.json +1 -1
  173. package/assets/esri/widgets/Print/t9n/Print_fi.json +1 -1
  174. package/assets/esri/widgets/Print/t9n/Print_fr.json +1 -1
  175. package/assets/esri/widgets/Print/t9n/Print_he.json +1 -1
  176. package/assets/esri/widgets/Print/t9n/Print_hr.json +1 -1
  177. package/assets/esri/widgets/Print/t9n/Print_hu.json +1 -1
  178. package/assets/esri/widgets/Print/t9n/Print_id.json +1 -1
  179. package/assets/esri/widgets/Print/t9n/Print_it.json +1 -1
  180. package/assets/esri/widgets/Print/t9n/Print_ja.json +1 -1
  181. package/assets/esri/widgets/Print/t9n/Print_ko.json +1 -1
  182. package/assets/esri/widgets/Print/t9n/Print_lt.json +1 -1
  183. package/assets/esri/widgets/Print/t9n/Print_lv.json +1 -1
  184. package/assets/esri/widgets/Print/t9n/Print_nb.json +1 -1
  185. package/assets/esri/widgets/Print/t9n/Print_nl.json +1 -1
  186. package/assets/esri/widgets/Print/t9n/Print_pl.json +1 -1
  187. package/assets/esri/widgets/Print/t9n/Print_pt-BR.json +1 -1
  188. package/assets/esri/widgets/Print/t9n/Print_pt-PT.json +1 -1
  189. package/assets/esri/widgets/Print/t9n/Print_ro.json +1 -1
  190. package/assets/esri/widgets/Print/t9n/Print_ru.json +1 -1
  191. package/assets/esri/widgets/Print/t9n/Print_sk.json +1 -1
  192. package/assets/esri/widgets/Print/t9n/Print_sl.json +1 -1
  193. package/assets/esri/widgets/Print/t9n/Print_sr.json +1 -1
  194. package/assets/esri/widgets/Print/t9n/Print_sv.json +1 -1
  195. package/assets/esri/widgets/Print/t9n/Print_th.json +1 -1
  196. package/assets/esri/widgets/Print/t9n/Print_tr.json +1 -1
  197. package/assets/esri/widgets/Print/t9n/Print_uk.json +1 -1
  198. package/assets/esri/widgets/Print/t9n/Print_vi.json +1 -1
  199. package/assets/esri/widgets/Print/t9n/Print_zh-CN.json +1 -1
  200. package/assets/esri/widgets/Print/t9n/Print_zh-HK.json +1 -1
  201. package/assets/esri/widgets/Print/t9n/Print_zh-TW.json +1 -1
  202. package/chunks/_commonjsHelpers.js +1 -1
  203. package/chunks/array.js +1 -1
  204. package/chunks/geometryEngineBase.js +1 -1
  205. package/chunks/languageUtils.js +1 -1
  206. package/chunks/libtess-asm.js +1 -1
  207. package/chunks/libtess.js +1 -1
  208. package/chunks/mat4.js +1 -1
  209. package/chunks/quat2.js +1 -1
  210. package/chunks/vec3.js +1 -1
  211. package/copyright.txt +56 -0
  212. package/core/Cyclical.js +1 -1
  213. package/core/accessorSupport/diffUtils.js +1 -1
  214. package/core/accessorSupport/write.js +1 -1
  215. package/core/libs/gl-matrix-2/mat4.js +1 -1
  216. package/core/libs/gl-matrix-2/math/mat4.js +1 -1
  217. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  218. package/core/libs/gl-matrix-2/vec3.js +1 -1
  219. package/core/quantityFormatUtils.js +1 -1
  220. package/core/quantityUtils.js +1 -1
  221. package/core/unitFormatUtils.js +1 -1
  222. package/geometry/libtess.js +1 -1
  223. package/geometry/projection.js +1 -1
  224. package/geometry/support/normalizeUtilsCommon.js +1 -1
  225. package/geometry/support/normalizeUtilsSync.js +1 -1
  226. package/geometry/support/spatialReferenceUtils.js +1 -1
  227. package/interfaces.d.ts +328 -130
  228. package/intl/duration.js +1 -1
  229. package/intl/number.js +1 -1
  230. package/layers/ImageryLayer.js +1 -1
  231. package/layers/LineOfSightLayer.js +1 -1
  232. package/layers/MediaLayer.js +1 -1
  233. package/layers/RouteLayer.js +1 -1
  234. package/layers/SceneLayer.js +1 -1
  235. package/layers/VoxelLayer.js +1 -1
  236. package/layers/WMSLayer.js +1 -1
  237. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  238. package/layers/graphics/data/BoundsStore.js +1 -1
  239. package/layers/graphics/data/FeatureStore.js +1 -1
  240. package/layers/graphics/data/QueryEngine.js +1 -1
  241. package/layers/graphics/data/QueryEngineResult.js +1 -1
  242. package/layers/graphics/data/utils.js +1 -1
  243. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  244. package/layers/mixins/ArcGISImageService.js +1 -1
  245. package/layers/mixins/ImageryTileMixin.js +1 -1
  246. package/layers/save/featureLayerUtils.js +1 -1
  247. package/layers/support/CornersGeoreference.js +1 -1
  248. package/layers/support/ExportImageServiceParameters.js +1 -1
  249. package/layers/support/ExtentAndRotationGeoreference.js +1 -1
  250. package/layers/support/ImageElement.js +1 -1
  251. package/layers/support/LocalMediaElementSource.js +1 -1
  252. package/layers/support/PolygonCollection.js +1 -1
  253. package/layers/support/SceneFilter.d.ts +4 -0
  254. package/layers/support/SceneFilter.js +1 -1
  255. package/layers/support/VoxelVariable.d.ts +1 -1
  256. package/layers/support/VoxelVariable.js +1 -1
  257. package/layers/support/VoxelVolumeStyle.d.ts +1 -1
  258. package/layers/support/VoxelVolumeStyle.js +1 -1
  259. package/layers/support/labelFormatUtils.js +1 -1
  260. package/layers/support/mediaUtils.js +5 -0
  261. package/layers/support/rasterDatasets/multidimensionalUtils.js +1 -1
  262. package/networks/RulesTable.js +5 -0
  263. package/networks/UtilityNetwork.js +1 -1
  264. package/networks/support/typeUtils.js +1 -1
  265. package/package.json +1 -1
  266. package/portal/schemas/definitions.js +1 -1
  267. package/portal/schemas/sceneLayerItem.js +1 -1
  268. package/renderers/FlowRenderer.js +1 -1
  269. package/renderers/PieChartRenderer.js +1 -1
  270. package/renderers/support/DictionaryLoader.js +1 -1
  271. package/renderers/support/OthersCategory.js +1 -1
  272. package/renderers/support/renderingInfoUtils.js +1 -1
  273. package/rest/imageService/fetchRasterInfo.js +1 -1
  274. package/rest/query/operations/query.js +1 -1
  275. package/rest/support/DirectionLine.js +1 -1
  276. package/rest/support/DirectionPoint.js +1 -1
  277. package/rest/support/PointBarrier.js +1 -1
  278. package/rest/support/PolygonBarrier.js +1 -1
  279. package/rest/support/PolylineBarrier.js +1 -1
  280. package/rest/support/RouteInfo.js +1 -1
  281. package/rest/support/Stop.js +1 -1
  282. package/smartMapping/renderers/pieChart.js +1 -1
  283. package/support/arcadeUtils.js +1 -1
  284. package/support/revision.js +1 -1
  285. package/symbols/WebStyleSymbol.js +1 -1
  286. package/symbols/cim/CIMSymbolHelper.js +1 -1
  287. package/symbols/cim/cimAnalyzer.js +1 -1
  288. package/symbols/cim/enums.js +1 -1
  289. package/symbols/support/previewSymbol2D.js +1 -1
  290. package/symbols/support/styleUtils.js +1 -1
  291. package/symbols/support/symbolUtils.js +1 -1
  292. package/symbols/support/webStyleSymbolUtils.js +1 -1
  293. package/views/2d/LabelManager.js +1 -1
  294. package/views/2d/engine/webgl/Overlay.js +1 -1
  295. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  296. package/views/2d/engine/webgl/TextureManager.js +1 -1
  297. package/views/2d/engine/webgl/Utils.js +1 -1
  298. package/views/2d/engine/webgl/VertexStream.js +1 -1
  299. package/views/2d/engine/webgl/WGLRendererInfo.js +1 -1
  300. package/views/2d/engine/webgl/animatedFormats/gif.js +1 -1
  301. package/views/2d/engine/webgl/brushes/WGLBrushPieChart.js +1 -1
  302. package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
  303. package/views/2d/engine/webgl/mesh/templates/WGLBaseMarkerTemplate.js +1 -1
  304. package/views/2d/engine/webgl/mesh/templates/WGLDynamicMeshTemplate.js +1 -1
  305. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  306. package/views/2d/engine/webgl/techniques/Technique.js +1 -1
  307. package/views/2d/engine/webgl/techniques/dotDensity/TechniqueDotDensity.js +1 -1
  308. package/views/2d/engine/webgl/techniques/pieChart/TechniquePieChart.js +1 -1
  309. package/views/2d/input/MapViewInputManager.js +1 -1
  310. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  311. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  312. package/views/2d/layers/MediaLayerView2D.js +1 -1
  313. package/views/2d/layers/features/FeatureStore2D.js +1 -1
  314. package/views/2d/layers/graphics/GraphicStore.js +1 -1
  315. package/views/2d/layers/graphics/GraphicStoreItem.js +1 -1
  316. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  317. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  318. package/views/2d/layers/graphics/graphicsUtils.js +1 -1
  319. package/views/2d/layers/support/cimSymbolUtils.js +1 -1
  320. package/views/2d/layers/support/webStyleUtils.js +1 -1
  321. package/views/3d/analysis/Dimensioning/LengthDimensionVisualization.js +1 -1
  322. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  323. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  324. package/views/3d/environment/CloudsComposition.js +1 -1
  325. package/views/3d/environment/CloudsGenerator.js +1 -1
  326. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  327. package/views/3d/environment/Precipitation.js +1 -1
  328. package/views/3d/glTF/internal/Resource.js +1 -1
  329. package/views/3d/input/SceneInputManager.js +1 -1
  330. package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
  331. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  332. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  333. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  334. package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
  335. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
  336. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
  337. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  338. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  339. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  340. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  341. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  342. package/views/3d/layers/I3SMeshView3D.js +1 -1
  343. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  344. package/views/3d/layers/MediaLayerView3D.js +1 -1
  345. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  346. package/views/3d/layers/SceneLayerView3D.js +1 -1
  347. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  348. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  349. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  350. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  351. package/views/3d/layers/graphics/Graphics3DFilterVisibility.js +1 -1
  352. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  353. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  354. package/views/3d/layers/graphics/labelPlacement.js +1 -1
  355. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  356. package/views/3d/layers/i3s/I3SAsyncElevationUpdater.js +5 -0
  357. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  358. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  359. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  360. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  361. package/views/3d/layers/support/uvUtils.js +1 -1
  362. package/views/3d/support/viewpointUtils.js +1 -1
  363. package/views/3d/terrain/TerrainRenderer.js +1 -1
  364. package/views/3d/terrain/TerrainSurface.js +1 -1
  365. package/views/3d/terrain/Tile.js +1 -1
  366. package/views/3d/terrain/TileRenderer.js +1 -1
  367. package/views/3d/terrain/terrainUtils.js +1 -1
  368. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  369. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  370. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  371. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  372. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +1 -1
  373. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +9 -9
  374. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  375. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  376. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  377. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  378. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  379. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  380. package/views/MapView.js +1 -1
  381. package/views/draw/DrawOperation.js +1 -1
  382. package/views/draw/support/Reshape.js +1 -1
  383. package/views/input/InputManager.js +1 -1
  384. package/views/input/handlers/LatestPointer.js +5 -0
  385. package/views/interactive/SegmentLabels.js +1 -1
  386. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  387. package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
  388. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  389. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  390. package/views/interactive/tooltip/Tooltip.js +1 -1
  391. package/views/interactive/tooltip/TransformTooltipInfos.js +1 -1
  392. package/views/interactive/tooltip/TranslateTooltipInfos.js +1 -1
  393. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  394. package/views/interactive/tooltip/content/TooltipContentTransformAbsolute.js +1 -1
  395. package/views/interactive/tooltip/content/TooltipContentTransformRotate.js +1 -1
  396. package/views/interactive/tooltip/content/TooltipContentTransformScale.js +1 -1
  397. package/views/interactive/tooltip/content/{TooltipContentExtentMoveZ.js → TooltipContentTranslateZ.js} +1 -1
  398. package/views/interactive/tooltip/content/tooltipContentFactory.js +1 -1
  399. package/views/layers/SceneLayerView.js +1 -1
  400. package/views/layers/support/Transition.js +1 -1
  401. package/views/support/colorUtils.js +1 -1
  402. package/webscene/Slide.js +1 -1
  403. package/widgets/Attribution.js +1 -1
  404. package/widgets/Daylight/DaylightViewModel.js +1 -1
  405. package/widgets/Daylight/VisibleElements.js +1 -1
  406. package/widgets/Daylight/css.js +1 -1
  407. package/widgets/Daylight.js +1 -1
  408. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  409. package/widgets/Editor/CreateWorkflow.js +1 -1
  410. package/widgets/Editor/UpdateWorkflow.js +1 -1
  411. package/widgets/Editor/workflowUtils.js +1 -1
  412. package/widgets/Editor.js +1 -1
  413. package/widgets/ElevationProfile/components/Statistics.js +1 -1
  414. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  415. package/widgets/Feature/FeatureMedia.js +1 -1
  416. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  417. package/widgets/FeatureTable/FieldColumn.js +1 -1
  418. package/widgets/FeatureTable/Grid/Column.js +1 -1
  419. package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
  420. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  421. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  422. package/widgets/FeatureTable/Grid/GroupColumn.js +1 -1
  423. package/widgets/FeatureTable/support/ColumnTemplate.js +1 -1
  424. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  425. package/widgets/FeatureTable/support/EditableColumnTemplateMixin.js +1 -1
  426. package/widgets/FeatureTable/support/FieldColumnTemplate.js +1 -1
  427. package/widgets/FeatureTable/support/GroupColumnTemplate.js +1 -1
  428. package/widgets/FeatureTable.js +1 -1
  429. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  430. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  431. package/widgets/Print/PrintViewModel.js +1 -1
  432. package/widgets/Print/TemplateOptions.js +1 -1
  433. package/widgets/Print.js +1 -1
  434. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
  435. package/widgets/ScaleRangeSlider.js +1 -1
  436. package/widgets/Sketch/SketchViewModel.js +1 -1
  437. package/widgets/Slider.js +1 -1
  438. package/widgets/support/AnalysisViewModel.js +1 -1
  439. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  440. package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
  441. package/widgets/support/SnappingControls/SnappingLayerListViewModel.js +1 -1
  442. package/widgets/support/SnappingControls.js +1 -1
  443. package/assets/esri/core/workers/chunks/0c1c3bcde46f324016e4.js +0 -1
  444. package/assets/esri/core/workers/chunks/13387f56acbc3291561a.js +0 -1
  445. package/assets/esri/core/workers/chunks/157813ff6dcc225eeabe.js +0 -1
  446. package/assets/esri/core/workers/chunks/1d8bfaa0358391e773d7.js +0 -1
  447. package/assets/esri/core/workers/chunks/1db8bfb1731be3ae320c.js +0 -1
  448. package/assets/esri/core/workers/chunks/21a169ebef6c9a207eeb.js +0 -1
  449. package/assets/esri/core/workers/chunks/24b8cb0c0019de981f4f.js +0 -1
  450. package/assets/esri/core/workers/chunks/26c53acf19675c60cc97.js +0 -1
  451. package/assets/esri/core/workers/chunks/27f974dae930eb12fe38.js +0 -1
  452. package/assets/esri/core/workers/chunks/2fb65fc66c6d8be7b193.js +0 -1
  453. package/assets/esri/core/workers/chunks/44ba8d7e96462a6a48b4.js +0 -1
  454. package/assets/esri/core/workers/chunks/46fd6f54a7fd66532957.js +0 -1
  455. package/assets/esri/core/workers/chunks/4cdd29e1f3a1c7a39af7.js +0 -1
  456. package/assets/esri/core/workers/chunks/4f7d3495a31716d8b815.js +0 -1
  457. package/assets/esri/core/workers/chunks/5637a192b47ed9cfd5d6.js +0 -1
  458. package/assets/esri/core/workers/chunks/579077fa79b425bdbd58.js +0 -1
  459. package/assets/esri/core/workers/chunks/5bfd11944c4bd19f50fb.js +0 -1
  460. package/assets/esri/core/workers/chunks/5fd787f63362defc984f.js +0 -1
  461. package/assets/esri/core/workers/chunks/72aee613a7a6f00c78a3.js +0 -1
  462. package/assets/esri/core/workers/chunks/74186531254d53e237c5.js +0 -1
  463. package/assets/esri/core/workers/chunks/7c4b69c7c82cab7a91f9.js +0 -1
  464. package/assets/esri/core/workers/chunks/7f7702e66c01188c9df9.js +0 -1
  465. package/assets/esri/core/workers/chunks/84ed8ad6e9c0677b2765.js +0 -1
  466. package/assets/esri/core/workers/chunks/8878bc8ee647f9eadc62.js +0 -1
  467. package/assets/esri/core/workers/chunks/8a33f777e8a122872e8b.js +0 -1
  468. package/assets/esri/core/workers/chunks/8c50af01668496e1fec2.js +0 -1
  469. package/assets/esri/core/workers/chunks/93c4e01b237a6b3f871f.js +0 -1
  470. package/assets/esri/core/workers/chunks/a3b0887e29efa6d52c1d.js +0 -1
  471. package/assets/esri/core/workers/chunks/aa9620aa76fd1ccb5abc.js +0 -1
  472. package/assets/esri/core/workers/chunks/ad93f7893bb6cf24b677.js +0 -1
  473. package/assets/esri/core/workers/chunks/b4f171db73355c6f766e.js +0 -1
  474. package/assets/esri/core/workers/chunks/b78c3e9d31c4a562cdf0.js +0 -1
  475. package/assets/esri/core/workers/chunks/be78dd8dbb8d8149d27a.js +0 -1
  476. package/assets/esri/core/workers/chunks/c4115e8d1eb2ca6bb605.js +0 -1
  477. package/assets/esri/core/workers/chunks/cb7543f798c2fa1d6654.js +0 -1
  478. package/assets/esri/core/workers/chunks/cc372e1bc7ce932c4b76.js +0 -1
  479. package/assets/esri/core/workers/chunks/cfd611059f609c2e2bcb.js +0 -1
  480. package/assets/esri/core/workers/chunks/d16b328d32a6ddc2fdb9.js +0 -1
  481. package/assets/esri/core/workers/chunks/d6924e7fadd2fd52e62d.js +0 -1
  482. package/assets/esri/core/workers/chunks/eb3855d3753d6b8334bd.js +0 -1
  483. package/assets/esri/core/workers/chunks/f356e505c36397fda3cf.js +0 -1
  484. package/assets/esri/core/workers/chunks/f60bbd47e9376e8b10f6.js +0 -1
  485. package/layers/support/VoxelFormat.d.ts +0 -4
  486. package/layers/support/VoxelVolume.d.ts +0 -4
  487. package/views/input/handlers/LatestPointerType.js +0 -5
package/Camera.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"./chunks/tslib.es6.js";import{ClonableMixin as r}from"./core/Clonable.js";import{cyclicalDeg as t}from"./core/Cyclical.js";import{JSONSupport as e}from"./core/JSONSupport.js";import{clamp as s}from"./core/mathUtils.js";import{property as i}from"./core/accessorSupport/decorators/property.js";import"./core/arrayUtils.js";import"./core/has.js";import{cast as p}from"./core/accessorSupport/decorators/cast.js";import{reader as n}from"./core/accessorSupport/decorators/reader.js";import{subclass as a}from"./core/accessorSupport/decorators/subclass.js";import{writer as c}from"./core/accessorSupport/decorators/writer.js";import{ensureNumber as l}from"./core/accessorSupport/ensureType.js";import m from"./geometry/Point.js";let u=class extends(r(e)){constructor(...o){super(...o),this.position=new m([0,0,0]),this.heading=0,this.tilt=0,this.fov=55}normalizeCtorArgs(o,r,t,e){if(o&&"object"==typeof o&&("x"in o||Array.isArray(o))){const s={position:o};return null!=r&&(s.heading=r),null!=t&&(s.tilt=t),null!=e&&(s.fov=e),s}return o}writePosition(o,r,t,e){const s=o.clone();s.x=l(o.x||0),s.y=l(o.y||0),s.z=o.hasZ?l(o.z||0):o.z,r[t]=s.write({},e)}readPosition(o,r){const t=new m;return t.read(o,r),t.x=l(t.x||0),t.y=l(t.y||0),t.z=t.hasZ?l(t.z||0):t.z,t}equals(o){return!!o&&(this.tilt===o.tilt&&this.heading===o.heading&&this.fov===o.fov&&this.position.equals(o.position))}};o([i({type:m,json:{write:{isRequired:!0}}})],u.prototype,"position",void 0),o([c("position")],u.prototype,"writePosition",null),o([n("position")],u.prototype,"readPosition",null),o([i({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),p((o=>t.normalize(l(o))))],u.prototype,"heading",void 0),o([i({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),p((o=>s(l(o),-180,180)))],u.prototype,"tilt",void 0),o([i({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],u.prototype,"fov",void 0),u=o([a("esri.Camera")],u);const d=u;export{d as default};
5
+ import{_ as o}from"./chunks/tslib.es6.js";import{ClonableMixin as r}from"./core/Clonable.js";import{cyclicalDegrees as t}from"./core/Cyclical.js";import{JSONSupport as e}from"./core/JSONSupport.js";import{clamp as s}from"./core/mathUtils.js";import{property as i}from"./core/accessorSupport/decorators/property.js";import"./core/arrayUtils.js";import"./core/has.js";import{cast as p}from"./core/accessorSupport/decorators/cast.js";import{reader as n}from"./core/accessorSupport/decorators/reader.js";import{subclass as a}from"./core/accessorSupport/decorators/subclass.js";import{writer as c}from"./core/accessorSupport/decorators/writer.js";import{ensureNumber as l}from"./core/accessorSupport/ensureType.js";import m from"./geometry/Point.js";let u=class extends(r(e)){constructor(...o){super(...o),this.position=new m([0,0,0]),this.heading=0,this.tilt=0,this.fov=55}normalizeCtorArgs(o,r,t,e){if(o&&"object"==typeof o&&("x"in o||Array.isArray(o))){const s={position:o};return null!=r&&(s.heading=r),null!=t&&(s.tilt=t),null!=e&&(s.fov=e),s}return o}writePosition(o,r,t,e){const s=o.clone();s.x=l(o.x||0),s.y=l(o.y||0),s.z=o.hasZ?l(o.z||0):o.z,r[t]=s.write({},e)}readPosition(o,r){const t=new m;return t.read(o,r),t.x=l(t.x||0),t.y=l(t.y||0),t.z=t.hasZ?l(t.z||0):t.z,t}equals(o){return!!o&&(this.tilt===o.tilt&&this.heading===o.heading&&this.fov===o.fov&&this.position.equals(o.position))}};o([i({type:m,json:{write:{isRequired:!0}}})],u.prototype,"position",void 0),o([c("position")],u.prototype,"writePosition",null),o([n("position")],u.prototype,"readPosition",null),o([i({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),p((o=>t.normalize(l(o))))],u.prototype,"heading",void 0),o([i({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),p((o=>s(l(o),-180,180)))],u.prototype,"tilt",void 0),o([i({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],u.prototype,"fov",void 0),u=o([a("esri.Camera")],u);const d=u;export{d as default};
package/WebMap.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import{flatten as o}from"./core/arrayUtils.js";import a from"./core/Collection.js";import s from"./core/Error.js";import n from"./core/Loadable.js";import{loadAll as l}from"./core/loadAll.js";import p from"./core/Logger.js";import{unwrap as m,isSome as h}from"./core/maybe.js";import{MultiOriginJSONMixin as u,MultiOriginJSONSupport as c}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as d}from"./core/Promise.js";import{eachAlways as y}from"./core/promiseUtils.js";import{whenOnce as w}from"./core/reactiveUtils.js";import{urlToObject as g,isDataProtocol as f,dataComponents as b,addQueryParameter as _}from"./core/urlUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/has.js";import"./core/accessorSupport/ensureType.js";import{reader as I}from"./core/accessorSupport/decorators/reader.js";import{subclass as A}from"./core/accessorSupport/decorators/subclass.js";import{writer as S}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as j}from"./core/accessorSupport/originUtils.js";import{readLoadable as L}from"./core/accessorSupport/read.js";import O from"./geometry/SpatialReference.js";import{equals as P}from"./geometry/support/spatialReferenceUtils.js";import{geographicToWebMercator as V,webMercatorToGeographic as U}from"./geometry/support/webMercatorUtils.js";import{isServerOrServicesAGOLUrl as T}from"./layers/support/arcgisLayerUrl.js";import{isFeatureServiceLayer as F,isFeatureCollectionLayer as W}from"./layers/support/layerUtils.js";import R from"./networks/UtilityNetwork.js";import M from"./portal/Portal.js";import k from"./portal/PortalItem.js";import{removeTypeKeyword as N,addTypeKeyword as x,hasTypeKeyword as E,TypeKeyword as C}from"./portal/support/portalItemUtils.js";import{project as B}from"./rest/geometryService/project.js";import G from"./rest/support/ProjectParameters.js";import{hasDeveloperBasemapLayer as J,isDeveloperBasemapLayer as D,findSpatialReference as K}from"./support/basemapUtils.js";import $ from"./support/MapFloorInfo.js";import z from"./webdoc/GeotriggersInfo.js";import q from"./webdoc/RangeInfo.js";import H from"./webdoc/Widgets.js";import{getOptimalThumbnailSize as Q}from"./webdoc/support/thumbnailUtils.js";import{getLayerJSON as X}from"./webdoc/support/writeUtils.js";import Y from"./webmap/ApplicationProperties.js";import Z from"./webmap/Bookmark.js";import ee from"./webmap/InitialViewProperties.js";import{Version as te}from"./webmap/Version.js";import re from"./webmap/background/ColorBackground.js";const ie=new te(2,24),oe="Web Map",ae=a.ofType(Z),se=a.ofType(R),ne=p.getLogger("esri.WebMap"),le=new Map;le.set("image/jpeg","jpeg"),le.set("image/jpg","jpg"),le.set("image/png","png"),le.set("image/gif","gif");const pe="ArcGIS Pro",me=C.JSAPI,he="CollectorDisabled",ue="Collector",ce="Data Editing",de="OfflineDisabled",ye="Offline",we="Workforce Project",ge="Workforce Worker",fe="Workforce Dispatcher",be="Offline Map Areas",_e="FieldMapsDisabled",ve=C.DEVELOPER_BASEMAP,Ie=["NatGeo_World_Map","Ocean_Basemap","USA_Topo_Maps","World_Imagery","World_Street_Map","World_Terrain_Base","World_Topo_Map","World_Hillshade","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Reference/World_Boundaries_and_Places","Reference/World_Reference_Overlay","Reference/World_Transportation"].map((e=>e.toLowerCase()));let Ae=class extends(u(n.LoadableMixin(d(r)))){constructor(e){super(e),this.applicationProperties=null,this.bookmarks=new ae,this.floorInfo=null,this.geotriggersInfo=null,this.initialViewProperties=new ee,this.portalItem=null,this.presentation=null,this.sourceVersion=null,this.widgets=null,this.utilityNetworks=null,this.authoringApp=this.authoringAppVersion=null,this._isAuthoringAppSetByUser=this._isAuthoringAppVersionSetByUser=!1}destroy(){const e=this.portalItem;this.portalItem=null,e?.destroy()}initialize(){if(this.when().catch((e=>{ne.error("#load()","Failed to load web map",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t)}}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp=me}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}readInitialViewProperties(e,t){const r=new ee;t.background&&(r.background=re.fromJSON(t.background));const o=t.initialState?.viewpoint;if(o){if(o.rotation){te.parse(t.version||"","webmap").lessThan(2,20)&&t.authoringApp===pe&&(o.rotation*=-1)}r.viewpoint=i.fromJSON(o)}return t.mapRangeInfo&&(r.rangeInfo=q.fromJSON(t.mapRangeInfo)),t.spatialReference&&(r.spatialReference=O.fromJSON(t.spatialReference)),r}writeInitialViewProperties(e,t,r,i){if(!e)return;const o=e.background;o&&o.color&&(t.background=o.write({},i)),e.viewpoint&&(t.initialState={viewpoint:e.viewpoint.write({},i)}),e.rangeInfo&&(t.mapRangeInfo=e.rangeInfo.toJSON(i)),e.spatialReference&&(t.spatialReference=e.spatialReference.write({},i))}writeLayers(e,t,r,i){t[r]=this._writeLayers(e,i,"operational-layers")}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new te(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${ie.major}.${ie.minor}`}writeTables(e,t,r,i){const o=this._writeLayers(e,i,"tables");o.length&&(t[r]=o)}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?(this._override("thumbnailUrl",e),this._thumbnailFilename=this._generateCustomThumbnailFilename(e)):this._clearThumbnailOverride()}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return l(this,(e=>{e(this.ground,this.basemap,this.layers,this.tables)}))}read(e,t){t={...t,origin:"web-map"};const r=this._getAuthoringPropsState();L(this,e,(t=>super.read(e,t)),t),this._restoreAuthoringPropsFromState(r)}write(e,t){if("loaded"!==this.loadStatus){const e=new s("webmap:not-loaded","Web map must be loaded before it can be serialized");throw ne.error("#toJSON()","Web map must be loaded before it can be serialized",this.loadError||this.loadStatus),e}return this._removeDanglingLayerRefs(),t={...t,origin:"web-map",restrictedWebMapWriting:!0,webmap:this},super.write(e,t)}async save(e){e=e||{},this._validateItem(),await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),await this._validateMap();const t=this.portalItem,r={origin:"web-map",messages:[],writtenProperties:[],url:t.itemUrl&&g(t.itemUrl),portal:t.portal||M.getDefault()},i=this.write({},r);return this._validateJSONForWriting(r,e),await this._updateItemProperties(t),await this._updateItem(t,i,r),await this._updateItemThumbnail(),t}async saveAs(e,t){t=t||{};const r=this._getPortalItem(e);await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),await this._validateMap();const i={origin:"web-map",messages:[],writtenProperties:[],url:null,portal:r.portal},o=this.write({},i);this._validateJSONForWriting(i,t),await this._updateItemPropertiesForSaveAs(r);const a=this._getThumbnailState();return await this._createItem(r,o,i,t),this._restoreThumbnailFromState(a),await this._updateItemThumbnail(),r}async updateFrom(e,t){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;r===this._updateFromPromise&&(this._updateFromPromise=null)}getLayerJSONFromResourceInfo(e){const t=this.resourceInfo;return this._collectAllLayersJSON(o([t?.baseMap?.baseMapLayers,t?.operationalLayers,this.basemap?.resourceInfo?.data?.baseMapLayers])).find((t=>t.id===e.id))}_collectAllLayersJSON(e){return e.reduce(((e,t)=>(e.push(t),"GroupLayer"===t.layerType&&(e=e.concat(this._collectAllLayersJSON(t.layers||[]))),e)),[])}_writeLayers(e,t,r){t={...t,layerContainerType:r};return e.map((e=>m(X(e,"tables"===r?null:this.getLayerJSONFromResourceInfo(e),t)))).filter(Boolean).toArray()}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-map"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):Promise.resolve(null)}_loadFromItem(e){return e.load().catch((e=>{throw new s("webmap:load-portal-item","Failed to load portal item",{error:e})})).then((()=>{if("Web Map"!==e.type)throw new s("webmap:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Map'",{type:e.type})})).then((()=>e.fetchData())).then((t=>(this.resourceInfo=t,this._readAndLoadFromJSON(t,{origin:"web-map",portal:e.portal||M.getDefault()})))).then((()=>this._computeInitialViewpoint()))}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_validateJSON(e){const t=te.parse(e.version||"","webmap");return ie.validate(t),e.version=`${t.major}.${t.minor}`,e}_loadFromJSON(e,t){const r={context:{...t,layerContainerType:"operational-layers"}};return this.portalItem&&(r.context.portal=this.portalItem.portal||M.getDefault()),import("./layers/support/layersCreator.js").then((({populateOperationalLayers:t})=>{const i=[],o=e.operationalLayers;o&&o.length&&i.push(t(this.layers,o,r));const a={...r,context:{...r.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"},s=e.tables;return s&&s.length&&i.push(t(this.tables,s,a)),y(i).then((()=>{}))}))}async _computeInitialViewpoint(){let e=this.initialViewProperties;const t=e?.viewpoint?.targetGeometry;if(t)return;const r=await this._getExtentFromItem();r&&(e=e?e.clone():new ee,e.viewpoint=new i,e.viewpoint.targetGeometry=r,this.initialViewProperties=e)}async _getExtentFromItem(){const e=this.initialViewProperties?.spatialReference,t=this.portalItem?.extent;if(e&&t){if(e.isWGS84)return t.clone();if(e.isWebMercator)return V(t);return(await import("./portal/support/geometryServiceUtils.js")).getGeometryServiceURL(this.portalItem).then((r=>{const i=new G;return i.geometries=[t],i.outSpatialReference=e,B(r,i)})).then((e=>e[0])).catch((e=>(ne.error("Error projecting item's extent:",e),null)))}return null}_removeDanglingLayerRefs(){const e=this.applicationProperties,t=e&&e.viewing&&e.viewing.search,r=e=>this.allLayers.some((t=>t.id===e));t&&t.layers&&(t.layers=t.layers.filter((e=>r(e.id)))),t&&t.tables&&(t.tables=t.tables.filter((e=>this.tables.some((t=>t.id===e.id)))));const i=e&&e.editing&&e.editing.locationTracking;i&&i.info&&!r(i.info.layerId)&&(e.editing=null);const o=this.presentation&&this.presentation.slides;o&&o.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>r(e.id))))}))}async _validateMap(){if(!this.basemap?.baseLayers.length)throw new s("webmap:save","Map does not have a valid basemap with a base layer.");let e=null;if(await w((()=>{const t=K(this.initialViewProperties,this.basemap);return e=t.spatialReference,!t.updating})),!P(e,this.initialViewProperties.spatialReference))throw new s("webmap:save","The spatial reference of the basemap is not compatible with the one from the map.",{expected:this.initialViewProperties.spatialReference,actual:e})}_validateItem(){if(!this.portalItem)throw ne.error("save: requires the portalItem property to be set"),new s("webmap:portal-item-not-set","Portal item to save to has not been set on the WebMap");this._validateItemType(this.portalItem)}_validateItemType(e){if(e.type!==oe)throw new s("webmap:portal-item-wrong-type",`Portal item needs to have type "${oe}"`)}_loadLayerContainers(){const e=[];return this.basemap&&e.push(this.basemap.load()),this.ground&&e.push(this.ground.load()),y(e).then((()=>{}))}async _beforeSave(){const e=[];for(const t of this.allLayers)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await y(e)}_loadAllLayers(){const e=this._getAllLayersAndTables().map((e=>e.load()));return y(e).then((()=>{}))}_getAllLayersAndTables(){return this.allLayers.concat(this.allTables)}_validateJSONForWriting(e,t){let r=e.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));if(t.ignoreUnsupported&&(r=r.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name))),r.length>0)throw new s("webmap:save","Failed to save webmap due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:r})}async _updateItemProperties(e){e.extent=await this._getWGS84Extent(this.initialViewProperties.viewpoint.targetGeometry),await this._updateTypeKeywords(e)}async _updateItemPropertiesForSaveAs(e){N(e,he),N(e,_e),N(e,C.METADATA),N(e,de),N(e,be),N(e,fe),N(e,we),N(e,ge),await this._updateItemProperties(e)}async _getWGS84Extent(e){const t=e.clone().normalize();let r;if(t.length>1)for(const i of t)r?i.width>r.width&&(r=i):r=i;else r=t[0];return this._projectToWGS84(r)}async _projectToWGS84(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return U(e);const r=await import("./portal/support/geometryServiceUtils.js"),i=await r.getGeometryServiceURL(this.portalItem),o=new G;o.geometries=[e],o.outSpatialReference=O.WGS84;return(await B(i,o))[0]}async _updateTypeKeywords(e){x(e,me),await this._loadAllLayers(),this._evalCollectorKeyword(e),this._evalDataEditingKeyword(e),this._evalOfflineKeyword(e),this._evalDeveloperBasemapKeyword(e),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}_evalCollectorKeyword(e){E(e,he)||E(e,we)||E(e,ge)||E(e,fe)||!this._hasEditableFeatureLayer()?N(e,ue):x(e,ue)}_evalDataEditingKeyword(e){this._hasEditableFeatureLayer()?x(e,ce):N(e,ce)}_evalOfflineKeyword(e){!E(e,de)&&this._isOfflineCapableMap()?x(e,ye):N(e,ye)}_evalDeveloperBasemapKeyword(e){J(this.basemap)?x(e,ve):N(e,ve)}_hasEditableFeatureLayer(){return this._getAllLayersAndTables().some((e=>e.loaded&&F(e)&&e.capabilities.operations.supportsEditing&&e.editingEnabled))}_isOfflineCapableMap(){return this._getAllLayersAndTables().filter((e=>"group"!==e.type)).every((e=>e.loaded&&this._isOfflineCapableLayer(e)))}_isFeatureCollectionLike(e){return W(e)||"map-notes"===e.type||"route"===e.type}_isOfflineCapableLayer(e){return F(e)&&e.capabilities.operations.supportsSync||this._isFeatureCollectionLike(e)&&!e.portalItem||("tile"===e.type||"vector-tile"===e.type)&&(e.capabilities.operations.supportsExportTiles||this._isExportableAGOLTileLayer(e)||D(e))&&e.spatialReference.equals(this.initialViewProperties.spatialReference)}_isExportableAGOLTileLayer(e){return"tile"===e.type&&(T(e.url)&&Ie.some((t=>e.url.toLowerCase().includes("/"+t+"/"))))}async _updateItem(e,t,r){await e.update({data:t}),this._syncUpInstanceWithItem(e,t,r)}async _createItem(e,t,r,i){const o=this.portalItem,a=!!(o&&o.id&&o.portal.user),n=e.portal;if(await n._signIn(),!await this._canCopyItem(o,a,n))throw new s("webmap:save-as-copy-not-allowed","Owner of this map does not allow others to save a copy");await n.user.addItem({item:e,folder:i.folder,data:t}),this.portalItem=e,this._syncUpInstanceWithItem(e,t,r)}async _canCopyItem(e,t,r){return!(h(e)&&e.id&&e.typeKeywords&&e.typeKeywords.includes("useOnly"))||e.portal.portalHostname===r.portalHostname&&(t||await e.reload(),"admin"===e.itemControl||"update"===e.itemControl)}_syncUpInstanceWithItem(e,t,r){c.prototype.read.call(this,{version:t.version,authoringApp:t.authoringApp,authoringAppVersion:t.authoringAppVersion},{origin:"web-map",ignoreDefaults:!0,url:e.itemUrl&&g(e.itemUrl)}),j(r),this.resourceInfo=t}async _updateItemThumbnail(){this.thumbnailUrl&&this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl,filename:this._thumbnailFilename}),this._clearThumbnailOverride())}_getPortalItem(e){let t=k.from(e);return t.id&&(t=t.clone(),t.id=null),t.type||(t.type=oe),t.portal||(t.portal=M.getDefault()),this._validateItemType(t),t}async _updateFromInternal(e,t){if(t=t||{},await w((()=>e.ready)),this._updateInitialViewProperties(e,t),e.map===this)for(const r of e.allLayerViews)for(const e of["visible","featureEffect"])e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e]);await this._updateThumbnailUrl(e,t)}_updateInitialViewProperties(e,t){if(t.backgroundExcluded||(this.initialViewProperties.background=e.background?.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),t.viewpointExcluded||(this.initialViewProperties.viewpoint=new i({rotation:e.rotation,scale:t.scalePreserved?e.scale:null,targetGeometry:this._getViewExtent(e)})),!t.widgetsExcluded)for(const r of e.persistableViewModels)r.updateWebDocument(this)}_getViewExtent(e){const t=e.center.clone().normalize(),r=e.extent.clone(),i=r.width/2;return r.xmin=t.x-i,r.xmax=t.x+i,r}async _updateThumbnailUrl(e,t){if(t.thumbnailExcluded)return;const r=Q(e,t.thumbnailSize),i=await e.takeScreenshot({format:"png",width:r.width,height:r.height});this._setAutoGeneratedThumbnail(i.dataUrl)}_setAutoGeneratedThumbnail(e){this.thumbnailUrl=e,this._thumbnailFilename=null}_clearThumbnailOverride(){this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"),this._thumbnailFilename=null}_generateCustomThumbnailFilename(e){if(f(e)){const t=b(e),r=t&&t.mediaType,i=r&&le.get(r.toLowerCase())||null,o=`thumbnail${Date.now()}`;return i?`${o}.${i}`:o}return null}_getThumbnailState(){let e=this.thumbnailUrl;return e&&(e=this._isOverridden("thumbnailUrl")?e:_(e,"w","8192")),{thumbnailUrl:e,filename:this._thumbnailFilename}}_restoreThumbnailFromState(e){this.thumbnailUrl=e.thumbnailUrl,this._thumbnailFilename=e.filename}_getAuthoringPropsState(){return{authoringApp:this.authoringApp,authoringAppVersion:this.authoringAppVersion,isAuthoringAppSetByUser:this._isAuthoringAppSetByUser,isAuthoringAppVersionSetByUser:this._isAuthoringAppVersionSetByUser}}_restoreAuthoringPropsFromState(e){e.isAuthoringAppSetByUser?this.authoringApp=e.authoringApp:this._isAuthoringAppSetByUser=!1,e.isAuthoringAppVersionSetByUser?this.authoringAppVersion=e.authoringAppVersion:this._isAuthoringAppVersionSetByUser=!1}static fromJSON(e){const t=e;if(!t)throw new s("webmap:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:t})}};Ae.VERSION=ie,e([v({type:Y,json:{write:!0}})],Ae.prototype,"applicationProperties",void 0),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],Ae.prototype,"authoringApp",null),e([S("authoringApp")],Ae.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],Ae.prototype,"authoringAppVersion",null),e([S("authoringAppVersion")],Ae.prototype,"writeAuthoringAppVersion",null),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],Ae.prototype,"basemap",void 0),e([v({type:ae,json:{write:{overridePolicy:e=>({enabled:!!(e&&e.length>0),ignoreOrigin:!0})}}})],Ae.prototype,"bookmarks",void 0),e([v({type:$,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],Ae.prototype,"floorInfo",void 0),e([v({type:z,json:{write:!0}})],Ae.prototype,"geotriggersInfo",void 0),e([v({type:ee,nonNullable:!0,json:{read:{source:["background","initialState.viewpoint","mapRangeInfo","spatialReference"]},write:{ignoreOrigin:!0,target:{background:{type:re},"initialState.viewpoint":{type:i},mapRangeInfo:{type:q},spatialReference:{type:O}}}}})],Ae.prototype,"initialViewProperties",void 0),e([I("initialViewProperties")],Ae.prototype,"readInitialViewProperties",null),e([S("initialViewProperties")],Ae.prototype,"writeInitialViewProperties",null),e([v({json:{read:!1,write:{target:"operationalLayers",ignoreOrigin:!0}}})],Ae.prototype,"layers",void 0),e([S("layers")],Ae.prototype,"writeLayers",null),e([v({type:k})],Ae.prototype,"portalItem",void 0),e([v({json:{write:!0}})],Ae.prototype,"presentation",void 0),e([v()],Ae.prototype,"resourceInfo",void 0),e([v({readOnly:!0,type:te,json:{read:{source:"version"},write:{allowNull:!0,ignoreOrigin:!0,target:"version",isRequired:!0}}})],Ae.prototype,"sourceVersion",void 0),e([I("sourceVersion")],Ae.prototype,"readSourceVersion",null),e([S("sourceVersion")],Ae.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:{ignoreOrigin:!0}}})],Ae.prototype,"tables",void 0),e([S("tables")],Ae.prototype,"writeTables",null),e([v()],Ae.prototype,"thumbnailUrl",null),e([v({type:H,json:{write:!0}})],Ae.prototype,"widgets",void 0),e([v({type:se,json:{read:!0,write:!0}})],Ae.prototype,"utilityNetworks",void 0),Ae=e([A("esri.WebMap")],Ae);const Se=Ae;export{Se as default};
5
+ import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import{flatten as o}from"./core/arrayUtils.js";import a from"./core/Collection.js";import s from"./core/Error.js";import n from"./core/Loadable.js";import{loadAll as l}from"./core/loadAll.js";import p from"./core/Logger.js";import{unwrap as m,isSome as h}from"./core/maybe.js";import{MultiOriginJSONMixin as u,MultiOriginJSONSupport as c}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as d}from"./core/Promise.js";import{eachAlways as y}from"./core/promiseUtils.js";import{whenOnce as w}from"./core/reactiveUtils.js";import{urlToObject as g,isDataProtocol as f,dataComponents as b,addQueryParameter as _}from"./core/urlUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/has.js";import"./core/accessorSupport/ensureType.js";import{reader as I}from"./core/accessorSupport/decorators/reader.js";import{subclass as A}from"./core/accessorSupport/decorators/subclass.js";import{writer as S}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as j}from"./core/accessorSupport/originUtils.js";import{readLoadable as L}from"./core/accessorSupport/read.js";import O from"./geometry/SpatialReference.js";import{equals as P}from"./geometry/support/spatialReferenceUtils.js";import{geographicToWebMercator as V,webMercatorToGeographic as U}from"./geometry/support/webMercatorUtils.js";import{isServerOrServicesAGOLUrl as T}from"./layers/support/arcgisLayerUrl.js";import{isFeatureServiceLayer as F,isFeatureCollectionLayer as W}from"./layers/support/layerUtils.js";import R from"./networks/UtilityNetwork.js";import M from"./portal/Portal.js";import k from"./portal/PortalItem.js";import{removeTypeKeyword as N,addTypeKeyword as x,hasTypeKeyword as E,TypeKeyword as C}from"./portal/support/portalItemUtils.js";import{project as B}from"./rest/geometryService/project.js";import G from"./rest/support/ProjectParameters.js";import{hasDeveloperBasemapLayer as J,isDeveloperBasemapLayer as D,findSpatialReference as K}from"./support/basemapUtils.js";import $ from"./support/MapFloorInfo.js";import z from"./webdoc/GeotriggersInfo.js";import q from"./webdoc/RangeInfo.js";import H from"./webdoc/Widgets.js";import{getOptimalThumbnailSize as Q}from"./webdoc/support/thumbnailUtils.js";import{getLayerJSON as X}from"./webdoc/support/writeUtils.js";import Y from"./webmap/ApplicationProperties.js";import Z from"./webmap/Bookmark.js";import ee from"./webmap/InitialViewProperties.js";import{Version as te}from"./webmap/Version.js";import re from"./webmap/background/ColorBackground.js";const ie=new te(2,25),oe="Web Map",ae=a.ofType(Z),se=a.ofType(R),ne=p.getLogger("esri.WebMap"),le=new Map;le.set("image/jpeg","jpeg"),le.set("image/jpg","jpg"),le.set("image/png","png"),le.set("image/gif","gif");const pe="ArcGIS Pro",me=C.JSAPI,he="CollectorDisabled",ue="Collector",ce="Data Editing",de="OfflineDisabled",ye="Offline",we="Workforce Project",ge="Workforce Worker",fe="Workforce Dispatcher",be="Offline Map Areas",_e="FieldMapsDisabled",ve=C.DEVELOPER_BASEMAP,Ie=["NatGeo_World_Map","Ocean_Basemap","USA_Topo_Maps","World_Imagery","World_Street_Map","World_Terrain_Base","World_Topo_Map","World_Hillshade","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Reference/World_Boundaries_and_Places","Reference/World_Reference_Overlay","Reference/World_Transportation"].map((e=>e.toLowerCase()));let Ae=class extends(u(n.LoadableMixin(d(r)))){constructor(e){super(e),this.applicationProperties=null,this.bookmarks=new ae,this.floorInfo=null,this.geotriggersInfo=null,this.initialViewProperties=new ee,this.portalItem=null,this.presentation=null,this.sourceVersion=null,this.widgets=null,this.utilityNetworks=null,this.authoringApp=this.authoringAppVersion=null,this._isAuthoringAppSetByUser=this._isAuthoringAppVersionSetByUser=!1}destroy(){const e=this.portalItem;this.portalItem=null,e?.destroy()}initialize(){if(this.when().catch((e=>{ne.error("#load()","Failed to load web map",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t)}}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp=me}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}readInitialViewProperties(e,t){const r=new ee;t.background&&(r.background=re.fromJSON(t.background));const o=t.initialState?.viewpoint;if(o){if(o.rotation){te.parse(t.version||"","webmap").lessThan(2,20)&&t.authoringApp===pe&&(o.rotation*=-1)}r.viewpoint=i.fromJSON(o)}return t.mapRangeInfo&&(r.rangeInfo=q.fromJSON(t.mapRangeInfo)),t.spatialReference&&(r.spatialReference=O.fromJSON(t.spatialReference)),r}writeInitialViewProperties(e,t,r,i){if(!e)return;const o=e.background;o&&o.color&&(t.background=o.write({},i)),e.viewpoint&&(t.initialState={viewpoint:e.viewpoint.write({},i)}),e.rangeInfo&&(t.mapRangeInfo=e.rangeInfo.toJSON(i)),e.spatialReference&&(t.spatialReference=e.spatialReference.write({},i))}writeLayers(e,t,r,i){t[r]=this._writeLayers(e,i,"operational-layers")}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new te(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${ie.major}.${ie.minor}`}writeTables(e,t,r,i){const o=this._writeLayers(e,i,"tables");o.length&&(t[r]=o)}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?(this._override("thumbnailUrl",e),this._thumbnailFilename=this._generateCustomThumbnailFilename(e)):this._clearThumbnailOverride()}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return l(this,(e=>{e(this.ground,this.basemap,this.layers,this.tables)}))}read(e,t){t={...t,origin:"web-map"};const r=this._getAuthoringPropsState();L(this,e,(t=>super.read(e,t)),t),this._restoreAuthoringPropsFromState(r)}write(e,t){if("loaded"!==this.loadStatus){const e=new s("webmap:not-loaded","Web map must be loaded before it can be serialized");throw ne.error("#toJSON()","Web map must be loaded before it can be serialized",this.loadError||this.loadStatus),e}return this._removeDanglingLayerRefs(),t={...t,origin:"web-map",restrictedWebMapWriting:!0,webmap:this},super.write(e,t)}async save(e){e=e||{},this._validateItem(),await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),await this._validateMap();const t=this.portalItem,r={origin:"web-map",messages:[],writtenProperties:[],url:t.itemUrl&&g(t.itemUrl),portal:t.portal||M.getDefault()},i=this.write({},r);return this._validateJSONForWriting(r,e),await this._updateItemProperties(t),await this._updateItem(t,i,r),await this._updateItemThumbnail(),t}async saveAs(e,t){t=t||{};const r=this._getPortalItem(e);await this._updateFromPromise,await this.load(),await this._loadLayerContainers(),await this._beforeSave(),await this._validateMap();const i={origin:"web-map",messages:[],writtenProperties:[],url:null,portal:r.portal},o=this.write({},i);this._validateJSONForWriting(i,t),await this._updateItemPropertiesForSaveAs(r);const a=this._getThumbnailState();return await this._createItem(r,o,i,t),this._restoreThumbnailFromState(a),await this._updateItemThumbnail(),r}async updateFrom(e,t){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;r===this._updateFromPromise&&(this._updateFromPromise=null)}getLayerJSONFromResourceInfo(e){const t=this.resourceInfo;return this._collectAllLayersJSON(o([t?.baseMap?.baseMapLayers,t?.operationalLayers,this.basemap?.resourceInfo?.data?.baseMapLayers])).find((t=>t.id===e.id))}_collectAllLayersJSON(e){return e.reduce(((e,t)=>(e.push(t),"GroupLayer"===t.layerType&&(e=e.concat(this._collectAllLayersJSON(t.layers||[]))),e)),[])}_writeLayers(e,t,r){t={...t,layerContainerType:r};return e.map((e=>m(X(e,"tables"===r?null:this.getLayerJSONFromResourceInfo(e),t)))).filter(Boolean).toArray()}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-map"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):Promise.resolve(null)}_loadFromItem(e){return e.load().catch((e=>{throw new s("webmap:load-portal-item","Failed to load portal item",{error:e})})).then((()=>{if("Web Map"!==e.type)throw new s("webmap:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Map'",{type:e.type})})).then((()=>e.fetchData())).then((t=>(this.resourceInfo=t,this._readAndLoadFromJSON(t,{origin:"web-map",portal:e.portal||M.getDefault()})))).then((()=>this._computeInitialViewpoint()))}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_validateJSON(e){const t=te.parse(e.version||"","webmap");return ie.validate(t),e.version=`${t.major}.${t.minor}`,e}_loadFromJSON(e,t){const r={context:{...t,layerContainerType:"operational-layers"}};return this.portalItem&&(r.context.portal=this.portalItem.portal||M.getDefault()),import("./layers/support/layersCreator.js").then((({populateOperationalLayers:t})=>{const i=[],o=e.operationalLayers;o&&o.length&&i.push(t(this.layers,o,r));const a={...r,context:{...r.context,layerContainerType:"tables"},defaultLayerType:"ArcGISFeatureLayer"},s=e.tables;return s&&s.length&&i.push(t(this.tables,s,a)),y(i).then((()=>{}))}))}async _computeInitialViewpoint(){let e=this.initialViewProperties;const t=e?.viewpoint?.targetGeometry;if(t)return;const r=await this._getExtentFromItem();r&&(e=e?e.clone():new ee,e.viewpoint=new i,e.viewpoint.targetGeometry=r,this.initialViewProperties=e)}async _getExtentFromItem(){const e=this.initialViewProperties?.spatialReference,t=this.portalItem?.extent;if(e&&t){if(e.isWGS84)return t.clone();if(e.isWebMercator)return V(t);return(await import("./portal/support/geometryServiceUtils.js")).getGeometryServiceURL(this.portalItem).then((r=>{const i=new G;return i.geometries=[t],i.outSpatialReference=e,B(r,i)})).then((e=>e[0])).catch((e=>(ne.error("Error projecting item's extent:",e),null)))}return null}_removeDanglingLayerRefs(){const e=this.applicationProperties,t=e&&e.viewing&&e.viewing.search,r=e=>this.allLayers.some((t=>t.id===e));t&&t.layers&&(t.layers=t.layers.filter((e=>r(e.id)))),t&&t.tables&&(t.tables=t.tables.filter((e=>this.tables.some((t=>t.id===e.id)))));const i=e&&e.editing&&e.editing.locationTracking;i&&i.info&&!r(i.info.layerId)&&(e.editing=null);const o=this.presentation&&this.presentation.slides;o&&o.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>r(e.id))))}))}async _validateMap(){if(!this.basemap?.baseLayers.length)throw new s("webmap:save","Map does not have a valid basemap with a base layer.");let e=null;if(await w((()=>{const t=K(this.initialViewProperties,this.basemap);return e=t.spatialReference,!t.updating})),!P(e,this.initialViewProperties.spatialReference))throw new s("webmap:save","The spatial reference of the basemap is not compatible with the one from the map.",{expected:this.initialViewProperties.spatialReference,actual:e})}_validateItem(){if(!this.portalItem)throw ne.error("save: requires the portalItem property to be set"),new s("webmap:portal-item-not-set","Portal item to save to has not been set on the WebMap");this._validateItemType(this.portalItem)}_validateItemType(e){if(e.type!==oe)throw new s("webmap:portal-item-wrong-type",`Portal item needs to have type "${oe}"`)}_loadLayerContainers(){const e=[];return this.basemap&&e.push(this.basemap.load()),this.ground&&e.push(this.ground.load()),y(e).then((()=>{}))}async _beforeSave(){const e=[];for(const t of this.allLayers)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await y(e)}_loadAllLayers(){const e=this._getAllLayersAndTables().map((e=>e.load()));return y(e).then((()=>{}))}_getAllLayersAndTables(){return this.allLayers.concat(this.allTables)}_validateJSONForWriting(e,t){let r=e.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));if(t.ignoreUnsupported&&(r=r.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name))),r.length>0)throw new s("webmap:save","Failed to save webmap due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:r})}async _updateItemProperties(e){e.extent=await this._getWGS84Extent(this.initialViewProperties.viewpoint.targetGeometry),await this._updateTypeKeywords(e)}async _updateItemPropertiesForSaveAs(e){N(e,he),N(e,_e),N(e,C.METADATA),N(e,de),N(e,be),N(e,fe),N(e,we),N(e,ge),await this._updateItemProperties(e)}async _getWGS84Extent(e){const t=e.clone().normalize();let r;if(t.length>1)for(const i of t)r?i.width>r.width&&(r=i):r=i;else r=t[0];return this._projectToWGS84(r)}async _projectToWGS84(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return U(e);const r=await import("./portal/support/geometryServiceUtils.js"),i=await r.getGeometryServiceURL(this.portalItem),o=new G;o.geometries=[e],o.outSpatialReference=O.WGS84;return(await B(i,o))[0]}async _updateTypeKeywords(e){x(e,me),await this._loadAllLayers(),this._evalCollectorKeyword(e),this._evalDataEditingKeyword(e),this._evalOfflineKeyword(e),this._evalDeveloperBasemapKeyword(e),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}_evalCollectorKeyword(e){E(e,he)||E(e,we)||E(e,ge)||E(e,fe)||!this._hasEditableFeatureLayer()?N(e,ue):x(e,ue)}_evalDataEditingKeyword(e){this._hasEditableFeatureLayer()?x(e,ce):N(e,ce)}_evalOfflineKeyword(e){!E(e,de)&&this._isOfflineCapableMap()?x(e,ye):N(e,ye)}_evalDeveloperBasemapKeyword(e){J(this.basemap)?x(e,ve):N(e,ve)}_hasEditableFeatureLayer(){return this._getAllLayersAndTables().some((e=>e.loaded&&F(e)&&e.capabilities.operations.supportsEditing&&e.editingEnabled))}_isOfflineCapableMap(){return this._getAllLayersAndTables().filter((e=>"group"!==e.type)).every((e=>e.loaded&&this._isOfflineCapableLayer(e)))}_isFeatureCollectionLike(e){return W(e)||"map-notes"===e.type||"route"===e.type}_isOfflineCapableLayer(e){return F(e)&&e.capabilities.operations.supportsSync||this._isFeatureCollectionLike(e)&&!e.portalItem||("tile"===e.type||"vector-tile"===e.type)&&(e.capabilities.operations.supportsExportTiles||this._isExportableAGOLTileLayer(e)||D(e))&&e.spatialReference.equals(this.initialViewProperties.spatialReference)}_isExportableAGOLTileLayer(e){return"tile"===e.type&&(T(e.url)&&Ie.some((t=>e.url.toLowerCase().includes("/"+t+"/"))))}async _updateItem(e,t,r){await e.update({data:t}),this._syncUpInstanceWithItem(e,t,r)}async _createItem(e,t,r,i){const o=this.portalItem,a=!!(o&&o.id&&o.portal.user),n=e.portal;if(await n._signIn(),!await this._canCopyItem(o,a,n))throw new s("webmap:save-as-copy-not-allowed","Owner of this map does not allow others to save a copy");await n.user.addItem({item:e,folder:i.folder,data:t}),this.portalItem=e,this._syncUpInstanceWithItem(e,t,r)}async _canCopyItem(e,t,r){return!(h(e)&&e.id&&e.typeKeywords&&e.typeKeywords.includes("useOnly"))||e.portal.portalHostname===r.portalHostname&&(t||await e.reload(),"admin"===e.itemControl||"update"===e.itemControl)}_syncUpInstanceWithItem(e,t,r){c.prototype.read.call(this,{version:t.version,authoringApp:t.authoringApp,authoringAppVersion:t.authoringAppVersion},{origin:"web-map",ignoreDefaults:!0,url:e.itemUrl&&g(e.itemUrl)}),j(r),this.resourceInfo=t}async _updateItemThumbnail(){this.thumbnailUrl&&this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl,filename:this._thumbnailFilename}),this._clearThumbnailOverride())}_getPortalItem(e){let t=k.from(e);return t.id&&(t=t.clone(),t.id=null),t.type||(t.type=oe),t.portal||(t.portal=M.getDefault()),this._validateItemType(t),t}async _updateFromInternal(e,t){if(t=t||{},await w((()=>e.ready)),this._updateInitialViewProperties(e,t),e.map===this)for(const r of e.allLayerViews)for(const e of["visible","featureEffect"])e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e]);await this._updateThumbnailUrl(e,t)}_updateInitialViewProperties(e,t){if(t.backgroundExcluded||(this.initialViewProperties.background=e.background?.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),t.viewpointExcluded||(this.initialViewProperties.viewpoint=new i({rotation:e.rotation,scale:t.scalePreserved?e.scale:null,targetGeometry:this._getViewExtent(e)})),!t.widgetsExcluded)for(const r of e.persistableViewModels)r.updateWebDocument(this)}_getViewExtent(e){const t=e.center.clone().normalize(),r=e.extent.clone(),i=r.width/2;return r.xmin=t.x-i,r.xmax=t.x+i,r}async _updateThumbnailUrl(e,t){if(t.thumbnailExcluded)return;const r=Q(e,t.thumbnailSize),i=await e.takeScreenshot({format:"png",width:r.width,height:r.height});this._setAutoGeneratedThumbnail(i.dataUrl)}_setAutoGeneratedThumbnail(e){this.thumbnailUrl=e,this._thumbnailFilename=null}_clearThumbnailOverride(){this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"),this._thumbnailFilename=null}_generateCustomThumbnailFilename(e){if(f(e)){const t=b(e),r=t&&t.mediaType,i=r&&le.get(r.toLowerCase())||null,o=`thumbnail${Date.now()}`;return i?`${o}.${i}`:o}return null}_getThumbnailState(){let e=this.thumbnailUrl;return e&&(e=this._isOverridden("thumbnailUrl")?e:_(e,"w","8192")),{thumbnailUrl:e,filename:this._thumbnailFilename}}_restoreThumbnailFromState(e){this.thumbnailUrl=e.thumbnailUrl,this._thumbnailFilename=e.filename}_getAuthoringPropsState(){return{authoringApp:this.authoringApp,authoringAppVersion:this.authoringAppVersion,isAuthoringAppSetByUser:this._isAuthoringAppSetByUser,isAuthoringAppVersionSetByUser:this._isAuthoringAppVersionSetByUser}}_restoreAuthoringPropsFromState(e){e.isAuthoringAppSetByUser?this.authoringApp=e.authoringApp:this._isAuthoringAppSetByUser=!1,e.isAuthoringAppVersionSetByUser?this.authoringAppVersion=e.authoringAppVersion:this._isAuthoringAppVersionSetByUser=!1}static fromJSON(e){const t=e;if(!t)throw new s("webmap:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:t})}};Ae.VERSION=ie,e([v({type:Y,json:{write:!0}})],Ae.prototype,"applicationProperties",void 0),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],Ae.prototype,"authoringApp",null),e([S("authoringApp")],Ae.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],Ae.prototype,"authoringAppVersion",null),e([S("authoringAppVersion")],Ae.prototype,"writeAuthoringAppVersion",null),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],Ae.prototype,"basemap",void 0),e([v({type:ae,json:{write:{overridePolicy:e=>({enabled:!!(e&&e.length>0),ignoreOrigin:!0})}}})],Ae.prototype,"bookmarks",void 0),e([v({type:$,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],Ae.prototype,"floorInfo",void 0),e([v({type:z,json:{write:!0}})],Ae.prototype,"geotriggersInfo",void 0),e([v({type:ee,nonNullable:!0,json:{read:{source:["background","initialState.viewpoint","mapRangeInfo","spatialReference"]},write:{ignoreOrigin:!0,target:{background:{type:re},"initialState.viewpoint":{type:i},mapRangeInfo:{type:q},spatialReference:{type:O}}}}})],Ae.prototype,"initialViewProperties",void 0),e([I("initialViewProperties")],Ae.prototype,"readInitialViewProperties",null),e([S("initialViewProperties")],Ae.prototype,"writeInitialViewProperties",null),e([v({json:{read:!1,write:{target:"operationalLayers",ignoreOrigin:!0}}})],Ae.prototype,"layers",void 0),e([S("layers")],Ae.prototype,"writeLayers",null),e([v({type:k})],Ae.prototype,"portalItem",void 0),e([v({json:{write:!0}})],Ae.prototype,"presentation",void 0),e([v()],Ae.prototype,"resourceInfo",void 0),e([v({readOnly:!0,type:te,json:{read:{source:"version"},write:{allowNull:!0,ignoreOrigin:!0,target:"version",isRequired:!0}}})],Ae.prototype,"sourceVersion",void 0),e([I("sourceVersion")],Ae.prototype,"readSourceVersion",null),e([S("sourceVersion")],Ae.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:{ignoreOrigin:!0}}})],Ae.prototype,"tables",void 0),e([S("tables")],Ae.prototype,"writeTables",null),e([v()],Ae.prototype,"thumbnailUrl",null),e([v({type:H,json:{write:!0}})],Ae.prototype,"widgets",void 0),e([v({type:se,json:{read:!0,write:!0}})],Ae.prototype,"utilityNetworks",void 0),Ae=e([A("esri.WebMap")],Ae);const Se=Ae;export{Se as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import"../geometry.js";import{lengthDimensionAxes as o}from"./dimensionUtils.js";import{Clonable as r}from"../core/Clonable.js";import{cyclicalDeg as e}from"../core/Cyclical.js";import{isNone as s,isSome as i}from"../core/maybe.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as a}from"../core/accessorSupport/ensureType.js";import l from"../geometry/Extent.js";import c from"../geometry/Point.js";let y=class extends r{constructor(t){super(t),this.type="length",this.startPoint=null,this.endPoint=null,this.axis="horizontal",this.offset=0,this.heading=0}get extent(){if(s(this.startPoint))return null;const t=l.fromPoint(this.startPoint);return i(this.endPoint)&&t.union(l.fromPoint(this.endPoint)),t}};t([n({type:["length"]})],y.prototype,"type",void 0),t([n({type:c})],y.prototype,"startPoint",void 0),t([n({type:c})],y.prototype,"endPoint",void 0),t([n({type:o,nonNullable:!0})],y.prototype,"axis",void 0),t([n({type:Number,nonNullable:!0})],y.prototype,"offset",void 0),t([n({type:Number,nonNullable:!0}),p((t=>e.normalize(a(t),0,!0)))],y.prototype,"heading",void 0),t([n({readOnly:!0})],y.prototype,"extent",null),y=t([m("esri.analysis.LengthDimension")],y);const u=y;export{u as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import"../geometry.js";import{lengthDimensionAxes as o}from"./dimensionUtils.js";import{Clonable as r}from"../core/Clonable.js";import{cyclicalDegrees as e}from"../core/Cyclical.js";import{isNone as s,isSome as i}from"../core/maybe.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as a}from"../core/accessorSupport/ensureType.js";import l from"../geometry/Extent.js";import c from"../geometry/Point.js";let y=class extends r{constructor(t){super(t),this.type="length",this.startPoint=null,this.endPoint=null,this.axis="horizontal",this.offset=0,this.heading=0}get extent(){if(s(this.startPoint))return null;const t=l.fromPoint(this.startPoint);return i(this.endPoint)&&t.union(l.fromPoint(this.endPoint)),t}};t([n({type:["length"]})],y.prototype,"type",void 0),t([n({type:c})],y.prototype,"startPoint",void 0),t([n({type:c})],y.prototype,"endPoint",void 0),t([n({type:o,nonNullable:!0})],y.prototype,"axis",void 0),t([n({type:Number,nonNullable:!0})],y.prototype,"offset",void 0),t([n({type:Number,nonNullable:!0}),p((t=>e.normalize(a(t),0,!0)))],y.prototype,"heading",void 0),t([n({readOnly:!0})],y.prototype,"extent",null),y=t([m("esri.analysis.LengthDimension")],y);const u=y;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import e from"./Analysis.js";import o from"./LineOfSightAnalysisObserver.js";import r from"./LineOfSightAnalysisTarget.js";import s from"../core/Collection.js";import{castForReferenceSetter as i,referenceSetter as n}from"../core/collectionUtils.js";import{isNone as p,isSome as a,applySome as l}from"../core/maybe.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import{fromValues as g,expandWithVec3 as m,toExtent as u}from"../geometry/support/aaBoundingBox.js";const f=s.ofType(r);let h=class extends e{constructor(t){super(t),this.type="line-of-sight",this.observer=null,this.nonEditableMessage="Assign an observer location to the analysis to allow editing."}get targets(){return this._get("targets")||new f}set targets(t){this._set("targets",n(t,this.targets,f))}get extent(){if(p(this.observer)||p(this.observer.position))return null;const t=this.observer.position,e=g(t.x,t.y,t.z,t.x,t.y,t.z);for(const o of this.targets)a(o.position)&&m(e,[o.position.x,o.position.y,o.position.z]);return u(e,t.spatialReference)}get requiredPropertiesForEditing(){return[l(this.observer,(t=>t.position))]}};t([c({type:["line-of-sight"]})],h.prototype,"type",void 0),t([c({type:o})],h.prototype,"observer",void 0),t([c({cast:i,type:f,nonNullable:!0})],h.prototype,"targets",null),t([c({value:null})],h.prototype,"extent",null),t([c({readOnly:!0})],h.prototype,"requiredPropertiesForEditing",null),t([c({readOnly:!0})],h.prototype,"nonEditableMessage",void 0),h=t([y("esri.analysis.LineOfSightAnalysis")],h);const d=h;export{d as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import e from"./Analysis.js";import o from"./LineOfSightAnalysisObserver.js";import r from"./LineOfSightAnalysisTarget.js";import s from"../core/Collection.js";import{castForReferenceSetter as i,referenceSetter as n}from"../core/collectionUtils.js";import{isSome as p,applySome as a,isNone as l}from"../core/maybe.js";import{watch as c,syncAndInitial as m}from"../core/reactiveUtils.js";import{property as y}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import{projectOrLoad as h}from"../geometry/projection.js";import{fromValues as g,expandWithVec3 as f,toExtent as d}from"../geometry/support/aaBoundingBox.js";const v=s.ofType(r);let b=class extends e{constructor(t){super(t),this.type="line-of-sight",this.observer=null,this.extent=null,this.nonEditableMessage="Assign an observer location to the analysis to allow editing."}initialize(){this.own(c((()=>this._computeExtent()),(t=>this._set("extent",t)),m))}get targets(){return this._get("targets")||new v}set targets(t){this._set("targets",n(t,this.targets,v))}get spatialReference(){return p(this.observer)&&p(this.observer.position)?this.observer.position.spatialReference:null}get requiredPropertiesForEditing(){return[a(this.observer,(t=>t.position))]}_computeExtent(){const t=this.spatialReference;if(l(this.observer)||l(this.observer.position)||l(t))return null;const e=t=>{const{elevationInfo:e,position:o}=t;return p(o)&&o.hasZ&&(l(e)||!e.mode||"absolute-height"===e.mode)},o=this.observer.position,r=g(o.x,o.y,o.z,o.x,o.y,o.z);for(const i of this.targets)if(p(i.position)){const e=h(i.position,t);if(!e.pending&&p(e.geometry)){const{x:t,y:o,z:s}=e.geometry;f(r,[t,o,s])}}const s=d(r,t);return e(this.observer)&&this.targets.every(e)||(s.zmin=null,s.zmax=null),s}};t([y({type:["line-of-sight"]})],b.prototype,"type",void 0),t([y({type:o})],b.prototype,"observer",void 0),t([y({cast:i,type:v,nonNullable:!0})],b.prototype,"targets",null),t([y({value:null,readOnly:!0})],b.prototype,"extent",void 0),t([y({readOnly:!0})],b.prototype,"spatialReference",null),t([y({readOnly:!0})],b.prototype,"requiredPropertiesForEditing",null),t([y({readOnly:!0})],b.prototype,"nonEditableMessage",void 0),b=t([u("esri.analysis.LineOfSightAnalysis")],b);const j=b;export{j as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../chunks/tslib.es6.js";import"../geometry.js";import{ClonableMixin as t}from"../core/Clonable.js";import{cyclicalDeg as r}from"../core/Cyclical.js";import{JSONSupport as e}from"../core/JSONSupport.js";import{equalsMaybe as i}from"../core/maybe.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as m}from"../core/accessorSupport/ensureType.js";import{persistable as l}from"../core/accessorSupport/decorators/persistable.js";import n from"../geometry/Point.js";let c=class extends(t(e)){constructor(o){super(o),this.type="plane",this.position=null,this.heading=0,this.tilt=0,this.width=10,this.height=10}equals(o){return this.heading===o.heading&&this.tilt===o.tilt&&i(this.position,o.position)&&this.width===o.width&&this.height===o.height}};o([s({readOnly:!0,json:{read:!1,write:!0}})],c.prototype,"type",void 0),o([s({type:n}),l()],c.prototype,"position",void 0),o([s({type:Number,nonNullable:!0,range:{min:0,max:360}}),l(),p((o=>r.normalize(m(o),0,!0)))],c.prototype,"heading",void 0),o([s({type:Number,nonNullable:!0,range:{min:0,max:360}}),l(),p((o=>r.normalize(m(o),0,!0)))],c.prototype,"tilt",void 0),o([s({type:Number,nonNullable:!0}),l()],c.prototype,"width",void 0),o([s({type:Number,nonNullable:!0}),l()],c.prototype,"height",void 0),c=o([a("esri.analysis.SlicePlane")],c);const h=c;export{h as default};
5
+ import{_ as o}from"../chunks/tslib.es6.js";import"../geometry.js";import{ClonableMixin as t}from"../core/Clonable.js";import{cyclicalDegrees as r}from"../core/Cyclical.js";import{JSONSupport as e}from"../core/JSONSupport.js";import{equalsMaybe as i}from"../core/maybe.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as m}from"../core/accessorSupport/ensureType.js";import{persistable as l}from"../core/accessorSupport/decorators/persistable.js";import n from"../geometry/Point.js";let c=class extends(t(e)){constructor(o){super(o),this.type="plane",this.position=null,this.heading=0,this.tilt=0,this.width=10,this.height=10}equals(o){return this.heading===o.heading&&this.tilt===o.tilt&&i(this.position,o.position)&&this.width===o.width&&this.height===o.height}};o([s({readOnly:!0,json:{read:!1,write:!0}})],c.prototype,"type",void 0),o([s({type:n}),l()],c.prototype,"position",void 0),o([s({type:Number,nonNullable:!0,range:{min:0,max:360}}),l(),p((o=>r.normalize(m(o),0,!0)))],c.prototype,"heading",void 0),o([s({type:Number,nonNullable:!0,range:{min:0,max:360}}),l(),p((o=>r.normalize(m(o),0,!0)))],c.prototype,"tilt",void 0),o([s({type:Number,nonNullable:!0}),l()],c.prototype,"width",void 0),o([s({type:Number,nonNullable:!0}),l()],c.prototype,"height",void 0),c=o([a("esri.analysis.SlicePlane")],c);const h=c;export{h as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import t from"./ImmutableArray.js";import{i as s,j as i,f as r,u as e,w as n,x as a,y as o,t as u,z as c,d as l,o as f,A as h,a as b}from"../chunks/languageUtils.js";import y from"../geometry/Geometry.js";function m(t,e=!1){if(null==t)return null;if(i(t))return u(t);if(s(t))return c(t);if(r(t))return l(t);if(f(t))return h(t);if(b(t)){const s=[];for(const i of t)s.push(m(i,e));return s}const n=new d;n.immutable=!1;for(const s of Object.keys(t)){const i=t[s];void 0!==i&&n.setField(s,m(i,e))}return n.immutable=e,n}class d{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof d?t.attributes:null==t?{}:t}field(t){const s=t.toLowerCase(),i=this.attributes[t];if(void 0!==i)return i;for(const r in this.attributes)if(r.toLowerCase()===s)return this.attributes[r];throw new Error("Field not Found : "+t)}setField(t,s){if(this.immutable)throw new Error("Dictionary is Immutable");const i=t.toLowerCase();if(void 0===this.attributes[t]){for(const t in this.attributes)if(t.toLowerCase()===i)return void(this.attributes[t]=s);this.attributes[t]=s}else this.attributes[t]=s}hasField(t){const s=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===s)return!0;return!1}keys(){let t=[];for(const s in this.attributes)t.push(s);return t=t.sort(),t}castToText(){let n="";for(const a in this.attributes){""!==n&&(n+=",");const o=this.attributes[a];null==o?n+=JSON.stringify(a)+":null":s(o)||i(o)||r(o)?n+=JSON.stringify(a)+":"+JSON.stringify(o):o instanceof y||o instanceof t||o instanceof Array?n+=JSON.stringify(a)+":"+e(o):o instanceof Date?n+=JSON.stringify(a)+":"+JSON.stringify(o):null!==o&&"object"==typeof o&&void 0!==o.castToText&&(n+=JSON.stringify(a)+":"+o.castToText())}return"{"+n+"}"}static convertObjectToArcadeDictionary(t,s=!0){const i=new d;i.immutable=!1;for(const r in t){const s=t[r];void 0!==s&&i.setField(r.toString(),m(s))}return i.immutable=s,i}static convertJsonToArcade(t,s=!1){return m(t,s)}castAsJson(t=null){const s={};for(let i in this.attributes){const r=this.attributes[i];void 0!==r&&(t?.keyTranslate&&(i=t.keyTranslate(i)),s[i]=n(r,t))}return s}async castDictionaryValueAsJsonAsync(t,s,i,r=null,e){const n=await a(i,r,e);return t[s]=n,n}async castAsJsonAsync(t=null,s=null){const i={},r=[];for(let e in this.attributes){const a=this.attributes[e];s?.keyTranslate&&(e=s.keyTranslate(e)),void 0!==a&&(o(a)||a instanceof y||a instanceof Date?i[e]=n(a,s):r.push(this.castDictionaryValueAsJsonAsync(i,e,a,t,s)))}return r.length>0&&await Promise.all(r),i}}export{d as default};
5
+ import t from"./ImmutableArray.js";import{i as s,a as i,b as e,t as r,c as n,d as a,e as o,f as u,g as c,h as l,j as f,k as h,l as b}from"../chunks/languageUtils.js";import y from"../geometry/Geometry.js";function m(t,r=!1){if(null==t)return null;if(i(t))return u(t);if(s(t))return c(t);if(e(t))return l(t);if(f(t))return h(t);if(b(t)){const s=[];for(const i of t)s.push(m(i,r));return s}const n=new d;n.immutable=!1;for(const s of Object.keys(t)){const i=t[s];void 0!==i&&n.setField(s,m(i,r))}return n.immutable=r,n}class d{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof d?t.attributes:null==t?{}:t}field(t){const s=t.toLowerCase(),i=this.attributes[t];if(void 0!==i)return i;for(const e in this.attributes)if(e.toLowerCase()===s)return this.attributes[e];throw new Error("Field not Found : "+t)}setField(t,s){if(this.immutable)throw new Error("Dictionary is Immutable");const i=t.toLowerCase();if(void 0===this.attributes[t]){for(const t in this.attributes)if(t.toLowerCase()===i)return void(this.attributes[t]=s);this.attributes[t]=s}else this.attributes[t]=s}hasField(t){const s=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===s)return!0;return!1}keys(){let t=[];for(const s in this.attributes)t.push(s);return t=t.sort(),t}castToText(){let n="";for(const a in this.attributes){""!==n&&(n+=",");const o=this.attributes[a];null==o?n+=JSON.stringify(a)+":null":s(o)||i(o)||e(o)?n+=JSON.stringify(a)+":"+JSON.stringify(o):o instanceof y||o instanceof t||o instanceof Array?n+=JSON.stringify(a)+":"+r(o):o instanceof Date?n+=JSON.stringify(a)+":"+JSON.stringify(o):null!==o&&"object"==typeof o&&void 0!==o.castToText&&(n+=JSON.stringify(a)+":"+o.castToText())}return"{"+n+"}"}static convertObjectToArcadeDictionary(t,s=!0){const i=new d;i.immutable=!1;for(const e in t){const s=t[e];void 0!==s&&i.setField(e.toString(),m(s))}return i.immutable=s,i}static convertJsonToArcade(t,s=!1){return m(t,s)}castAsJson(t=null){const s={};for(let i in this.attributes){const e=this.attributes[i];void 0!==e&&(t?.keyTranslate&&(i=t.keyTranslate(i)),s[i]=n(e,t))}return s}async castDictionaryValueAsJsonAsync(t,s,i,e=null,r){const n=await a(i,e,r);return t[s]=n,n}async castAsJsonAsync(t=null,s=null){const i={},e=[];for(let r in this.attributes){const a=this.attributes[r];s?.keyTranslate&&(r=s.keyTranslate(r)),void 0!==a&&(o(a)||a instanceof y||a instanceof Date?i[r]=n(a,s):e.push(this.castDictionaryValueAsJsonAsync(i,r,a,t,s)))}return e.length>0&&await Promise.all(e),i}}export{d as default};
package/arcade/Feature.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import t from"./Dictionary.js";import e from"./ImmutableArray.js";import{i,j as s,f as r,u as a,y as o,o as n,w as l}from"../chunks/languageUtils.js";import u from"../geometry/Geometry.js";import h from"../geometry/Point.js";import{fromJSON as f}from"../geometry/support/jsonUtils.js";import{convertToGeometry as y}from"../layers/graphics/featureConversionUtils.js";import{isSome as c,unwrap as m}from"../core/maybe.js";class d{constructor(){this.arcadeDeclaredClass="esri.arcade.Feature",this._optimizedGeomDefinition=null,this._geometry=null,this.attributes=null,this._layer=null,this._datesfixed=!0,this.immutable=!0,this._datefields=null,this.immutable=!0}static createFromGraphic(t){const e=new d;return e._geometry=c(t.geometry)?t.geometry:null,void 0===t.attributes||null===t.attributes?e.attributes={}:e.attributes=t.attributes,t._sourceLayer?(e._layer=t._sourceLayer,e._datesfixed=!1):t._layer?(e._layer=t._layer,e._datesfixed=!1):t.layer&&"fields"in t.layer?(e._layer=t.layer,e._datesfixed=!1):t.sourceLayer&&"fields"in t.sourceLayer&&(e._layer=t.sourceLayer,e._datesfixed=!1),e}static createFromArcadeFeature(t){const e=new d;return e._datesfixed=t._datesfixed,e.attributes=t.attributes,e._geometry=t._geometry,e._optimizedGeomDefinition=t._optimizedGeomDefinition,t._layer&&(e._layer=t._layer),e}static createFromOptimisedFeature(t,e,i){const s=new d;return s._geometry=t.geometry?{geometry:t.geometry}:null,s._optimizedGeomDefinition=i,s.attributes=t.attributes||{},s._layer=e,s._datesfixed=!1,s}static createFromArcadeDictionary(e){const i=new d;return i.attributes=e.field("attributes"),null!==i.attributes&&i.attributes instanceof t?(i.attributes=i.attributes.attributes,null===i.attributes&&(i.attributes={})):i.attributes={},i._geometry=e.field("geometry"),null!==i._geometry&&(i._geometry instanceof t?i._geometry=d.parseGeometryFromDictionary(i._geometry):i._geometry instanceof u||(i._geometry=null)),i}static createFromGraphicLikeObject(t,e,i=null){const s=new d;return null===e&&(e={}),s.attributes=e,s._geometry=c(t)?t:null,s._layer=i,s._layer&&(s._datesfixed=!1),s}repurposeFromGraphicLikeObject(t,e,i=null){null===e&&(e={}),this.attributes=e,this._geometry=t||null,this._layer=i,this._layer?this._datesfixed=!1:this._datesfixed=!0}castToText(){let t="";!1===this._datesfixed&&this._fixDates();for(const o in this.attributes){""!==t&&(t+=",");const n=this.attributes[o];null==n?t+=JSON.stringify(o)+":null":i(n)||s(n)||r(n)?t+=JSON.stringify(o)+":"+JSON.stringify(n):n instanceof u||n instanceof e||n instanceof Array?t+=JSON.stringify(o)+":"+a(n):n instanceof Date?t+=JSON.stringify(o)+":"+JSON.stringify(n):null!==n&&"object"==typeof n&&void 0!==n.castToText&&(t+=JSON.stringify(o)+":"+n.castToText())}return'{"geometry":'+(null===this.geometry()?"null":a(this.geometry()))+',"attributes":{'+t+"}}"}_fixDates(){if(null!==this._datefields)return this._datefields.length>0&&this._fixDateFields(this._datefields),void(this._datesfixed=!0);const t=[];for(let e=0;e<this._layer.fields.length;e++){const i=this._layer.fields[e];"date"!==i.type&&"esriFieldTypeDate"!==i.type||t.push(i.name)}this._datefields=t,t.length>0&&this._fixDateFields(t),this._datesfixed=!0}_fixDateFields(t){this.attributes={...this.attributes};for(let e=0;e<t.length;e++){let i=this.attributes[t[e]];if(null===i);else if(void 0===i){for(const s in this.attributes)if(s.toLowerCase()===t[e].toLowerCase()){i=this.attributes[s],null!==i&&(i instanceof Date||(this.attributes[s]=new Date(i)));break}}else i instanceof Date||(this.attributes[t[e]]=new Date(i))}}geometry(){return null===this._geometry||this._geometry instanceof u||(this._optimizedGeomDefinition?(this._geometry=m(f(y(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM))),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=m(f(this._geometry))),this._geometry}field(t){!1===this._datesfixed&&this._fixDates();const e=this.attributes[t];if(void 0!==e)return e;const i=t.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===i)return this.attributes[s];if(this._hasFieldDefinition(i))return null;throw new Error("Field not Found : "+t)}_hasFieldDefinition(t){if(null===this._layer)return!1;for(let e=0;e<this._layer.fields.length;e++){if(this._layer.fields[e].name.toLowerCase()===t)return!0}return!1}setField(t,e){if(this.immutable)throw new Error("Feature is Immutable");if(!1===o(e))throw new Error("Illegal Value Assignment to Feature");const i=t.toLowerCase();if(void 0===this.attributes[t]){for(const t in this.attributes)if(t.toLowerCase()===i)return void(this.attributes[t]=e);this.attributes[t]=e}else this.attributes[t]=e}hasField(t){const e=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===e)return!0;return!!this._hasFieldDefinition(e)}keys(){let t=[];const e={};for(const i in this.attributes)t.push(i),e[i.toLowerCase()]=1;if(null!==this._layer)for(let i=0;i<this._layer.fields.length;i++){const s=this._layer.fields[i];1!==e[s.name.toLowerCase()]&&t.push(s.name)}return t=t.sort(),t}static parseGeometryFromDictionary(t){const e=d._convertDictionaryToJson(t,!0);return void 0!==e.hasm&&(e.hasM=e.hasm,delete e.hasm),void 0!==e.hasz&&(e.hasZ=e.hasz,delete e.hasz),void 0!==e.spatialreference&&(e.spatialReference=e.spatialreference,delete e.spatialreference),void 0!==e.rings&&(e.rings=this._fixPathArrays(e.rings,!0===e.hasZ,!0===e.hasZ)),void 0!==e.paths&&(e.paths=this._fixPathArrays(e.paths,!0===e.hasZ,!0===e.hasM)),void 0!==e.points&&(e.points=this._fixPointArrays(e.points,!0===e.hasZ,!0===e.hasM)),f(e)}static _fixPathArrays(t,i,s){const r=[];if(t instanceof Array)for(let e=0;e<t.length;e++)r.push(this._fixPointArrays(t[e],i,s));else if(t instanceof e)for(let e=0;e<t.length();e++)r.push(this._fixPointArrays(t.get(e),i,s));return r}static _fixPointArrays(t,i,s){const r=[];if(t instanceof Array)for(let a=0;a<t.length;a++){const o=t[a];o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}else if(t instanceof e)for(let a=0;a<t.length();a++){const o=t.get(a);o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}return r}static _convertDictionaryToJson(e,i=!1){const s={};for(const r in e.attributes){let a=e.attributes[r];a instanceof t&&(a=d._convertDictionaryToJson(a)),i?s[r.toLowerCase()]=a:s[r]=a}return s}static parseAttributesFromDictionary(t){const e={};for(const i in t.attributes){const s=t.attributes[i];if(!o(s))throw new Error("Illegal Argument");e[i]=s}return e}static fromJson(t){let e=null;null!==t.geometry&&void 0!==t.geometry&&(e=f(t.geometry));const a={};if(null!==t.attributes&&void 0!==t.attributes)for(const o in t.attributes){const e=t.attributes[o];if(null===e)a[o]=e;else{if(!(r(e)||s(e)||i(e)||n(e)))throw new Error("Illegal Argument");a[o]=e}}return d.createFromGraphicLikeObject(e,a,null)}fullSchema(){return this._layer}gdbVersion(){if(null===this._layer)return"";const t=this._layer.gdbVersion;return void 0===t?"":""===t&&this._layer.capabilities&&this._layer.capabilities.isVersioned?"SDE.DEFAULT":t}castAsJson(t){const e={attributes:{},geometry:!0===t?.keepGeometryType?this.geometry():this.geometry().toJSON()};for(const i in this.attributes){const s=this.attributes[i];void 0!==s&&(e.attributes[i]=l(s,t))}return e}async castAsJsonAsync(t=null,e){return this.castAsJson(e)}}export{d as default};
5
+ import t from"./Dictionary.js";import e from"./ImmutableArray.js";import{i,a as s,b as r,t as a,e as o,j as n,c as l}from"../chunks/languageUtils.js";import u from"../geometry/Geometry.js";import h from"../geometry/Point.js";import{fromJSON as f}from"../geometry/support/jsonUtils.js";import{convertToGeometry as y}from"../layers/graphics/featureConversionUtils.js";import{isSome as c,unwrap as m}from"../core/maybe.js";class d{constructor(){this.arcadeDeclaredClass="esri.arcade.Feature",this._optimizedGeomDefinition=null,this._geometry=null,this.attributes=null,this._layer=null,this._datesfixed=!0,this.immutable=!0,this._datefields=null,this.immutable=!0}static createFromGraphic(t){const e=new d;return e._geometry=c(t.geometry)?t.geometry:null,void 0===t.attributes||null===t.attributes?e.attributes={}:e.attributes=t.attributes,t._sourceLayer?(e._layer=t._sourceLayer,e._datesfixed=!1):t._layer?(e._layer=t._layer,e._datesfixed=!1):t.layer&&"fields"in t.layer?(e._layer=t.layer,e._datesfixed=!1):t.sourceLayer&&"fields"in t.sourceLayer&&(e._layer=t.sourceLayer,e._datesfixed=!1),e}static createFromArcadeFeature(t){const e=new d;return e._datesfixed=t._datesfixed,e.attributes=t.attributes,e._geometry=t._geometry,e._optimizedGeomDefinition=t._optimizedGeomDefinition,t._layer&&(e._layer=t._layer),e}static createFromOptimisedFeature(t,e,i){const s=new d;return s._geometry=t.geometry?{geometry:t.geometry}:null,s._optimizedGeomDefinition=i,s.attributes=t.attributes||{},s._layer=e,s._datesfixed=!1,s}static createFromArcadeDictionary(e){const i=new d;return i.attributes=e.field("attributes"),null!==i.attributes&&i.attributes instanceof t?(i.attributes=i.attributes.attributes,null===i.attributes&&(i.attributes={})):i.attributes={},i._geometry=e.field("geometry"),null!==i._geometry&&(i._geometry instanceof t?i._geometry=d.parseGeometryFromDictionary(i._geometry):i._geometry instanceof u||(i._geometry=null)),i}static createFromGraphicLikeObject(t,e,i=null){const s=new d;return null===e&&(e={}),s.attributes=e,s._geometry=c(t)?t:null,s._layer=i,s._layer&&(s._datesfixed=!1),s}repurposeFromGraphicLikeObject(t,e,i=null){null===e&&(e={}),this.attributes=e,this._geometry=t||null,this._layer=i,this._layer?this._datesfixed=!1:this._datesfixed=!0}castToText(){let t="";!1===this._datesfixed&&this._fixDates();for(const o in this.attributes){""!==t&&(t+=",");const n=this.attributes[o];null==n?t+=JSON.stringify(o)+":null":i(n)||s(n)||r(n)?t+=JSON.stringify(o)+":"+JSON.stringify(n):n instanceof u||n instanceof e||n instanceof Array?t+=JSON.stringify(o)+":"+a(n):n instanceof Date?t+=JSON.stringify(o)+":"+JSON.stringify(n):null!==n&&"object"==typeof n&&void 0!==n.castToText&&(t+=JSON.stringify(o)+":"+n.castToText())}return'{"geometry":'+(null===this.geometry()?"null":a(this.geometry()))+',"attributes":{'+t+"}}"}_fixDates(){if(null!==this._datefields)return this._datefields.length>0&&this._fixDateFields(this._datefields),void(this._datesfixed=!0);const t=[];for(let e=0;e<this._layer.fields.length;e++){const i=this._layer.fields[e];"date"!==i.type&&"esriFieldTypeDate"!==i.type||t.push(i.name)}this._datefields=t,t.length>0&&this._fixDateFields(t),this._datesfixed=!0}_fixDateFields(t){this.attributes={...this.attributes};for(let e=0;e<t.length;e++){let i=this.attributes[t[e]];if(null===i);else if(void 0===i){for(const s in this.attributes)if(s.toLowerCase()===t[e].toLowerCase()){i=this.attributes[s],null!==i&&(i instanceof Date||(this.attributes[s]=new Date(i)));break}}else i instanceof Date||(this.attributes[t[e]]=new Date(i))}}geometry(){return null===this._geometry||this._geometry instanceof u||(this._optimizedGeomDefinition?(this._geometry=m(f(y(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM))),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=m(f(this._geometry))),this._geometry}field(t){!1===this._datesfixed&&this._fixDates();const e=this.attributes[t];if(void 0!==e)return e;const i=t.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===i)return this.attributes[s];if(this._hasFieldDefinition(i))return null;throw new Error("Field not Found : "+t)}_hasFieldDefinition(t){if(null===this._layer)return!1;for(let e=0;e<this._layer.fields.length;e++){if(this._layer.fields[e].name.toLowerCase()===t)return!0}return!1}setField(t,e){if(this.immutable)throw new Error("Feature is Immutable");if(!1===o(e))throw new Error("Illegal Value Assignment to Feature");const i=t.toLowerCase();if(void 0===this.attributes[t]){for(const t in this.attributes)if(t.toLowerCase()===i)return void(this.attributes[t]=e);this.attributes[t]=e}else this.attributes[t]=e}hasField(t){const e=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===e)return!0;return!!this._hasFieldDefinition(e)}keys(){let t=[];const e={};for(const i in this.attributes)t.push(i),e[i.toLowerCase()]=1;if(null!==this._layer)for(let i=0;i<this._layer.fields.length;i++){const s=this._layer.fields[i];1!==e[s.name.toLowerCase()]&&t.push(s.name)}return t=t.sort(),t}static parseGeometryFromDictionary(t){const e=d._convertDictionaryToJson(t,!0);return void 0!==e.hasm&&(e.hasM=e.hasm,delete e.hasm),void 0!==e.hasz&&(e.hasZ=e.hasz,delete e.hasz),void 0!==e.spatialreference&&(e.spatialReference=e.spatialreference,delete e.spatialreference),void 0!==e.rings&&(e.rings=this._fixPathArrays(e.rings,!0===e.hasZ,!0===e.hasZ)),void 0!==e.paths&&(e.paths=this._fixPathArrays(e.paths,!0===e.hasZ,!0===e.hasM)),void 0!==e.points&&(e.points=this._fixPointArrays(e.points,!0===e.hasZ,!0===e.hasM)),f(e)}static _fixPathArrays(t,i,s){const r=[];if(t instanceof Array)for(let e=0;e<t.length;e++)r.push(this._fixPointArrays(t[e],i,s));else if(t instanceof e)for(let e=0;e<t.length();e++)r.push(this._fixPointArrays(t.get(e),i,s));return r}static _fixPointArrays(t,i,s){const r=[];if(t instanceof Array)for(let a=0;a<t.length;a++){const o=t[a];o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}else if(t instanceof e)for(let a=0;a<t.length();a++){const o=t.get(a);o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}return r}static _convertDictionaryToJson(e,i=!1){const s={};for(const r in e.attributes){let a=e.attributes[r];a instanceof t&&(a=d._convertDictionaryToJson(a)),i?s[r.toLowerCase()]=a:s[r]=a}return s}static parseAttributesFromDictionary(t){const e={};for(const i in t.attributes){const s=t.attributes[i];if(!o(s))throw new Error("Illegal Argument");e[i]=s}return e}static fromJson(t){let e=null;null!==t.geometry&&void 0!==t.geometry&&(e=f(t.geometry));const a={};if(null!==t.attributes&&void 0!==t.attributes)for(const o in t.attributes){const e=t.attributes[o];if(null===e)a[o]=e;else{if(!(r(e)||s(e)||i(e)||n(e)))throw new Error("Illegal Argument");a[o]=e}}return d.createFromGraphicLikeObject(e,a,null)}fullSchema(){return this._layer}gdbVersion(){if(null===this._layer)return"";const t=this._layer.gdbVersion;return void 0===t?"":""===t&&this._layer.capabilities&&this._layer.capabilities.isVersioned?"SDE.DEFAULT":t}castAsJson(t){const e={attributes:{},geometry:!0===t?.keepGeometryType?this.geometry():this.geometry().toJSON()};for(const i in this.attributes){const s=this.attributes[i];void 0!==s&&(e.attributes[i]=l(s,t))}return e}async castAsJsonAsync(t=null,e){return this.castAsJson(e)}}export{d as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as c,e as l,N as u,n as f,v as p,m as w,c as h,f as d,a as m,b as g,k as E,q as y,j as N,t as v,I,R as T,d as S,g as b,h as R,o as O,r as A,s as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as F,findFieldLiterals as M,validateScript as x,referencesMember as P,referencesFunction as D,findFunctionCalls as j}from"./treeAnalysis.js";import{A as L}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as _}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as B}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import z from"../geometry/Extent.js";import q from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import Z from"../geometry/Point.js";import W from"../geometry/Polygon.js";import K from"../geometry/Polyline.js";import X from"../geometry/SpatialReference.js";function J(e){return e&&"function"==typeof e.then}const Q=100;async function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(await re(e,t.arguments[n]));return r}async function ee(e,t,r){if(!0===t.preparsed)return r(e,null,t.arguments);return r(e,t,await $(e,t))}async function te(e,t,r){if(!0===t.preparsed){const n=r(e,null,t.arguments);return J(n),n}const n=r(e,t,await $(e,t));return J(n),n}async function re(e,t,r){if(t.breakpoint&&!0!==r){const r=t.breakpoint();return await r,re(e,t,!0)}switch(t.type){case"VariableDeclarator":return Re(e,t);case"VariableDeclaration":return be(e,t,0);case"BlockStatement":return ve(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return Te(e,t);case"IfStatement":return Ne(e,t);case"ExpressionStatement":return ye(e,t);case"UpdateExpression":return me(e,t);case"AssignmentExpression":return Ee(e,t);case"ForStatement":return ce(e,t);case"ForInStatement":return de(e,t);case"BreakStatement":return w;case"EmptyStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return je(e,t);case"TemplateLiteral":return Le(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Ue(e,t);case"Literal":return t.value;case"CallExpression":return De(e,t);case"UnaryExpression":return Ce(e,t);case"BinaryExpression":return Me(e,t);case"LogicalExpression":return xe(e,t);case"ArrayExpression":return Fe(e,t);case"ObjectExpression":return ne(e,t);case"Property":return oe(e,t);default:throw new Error(C(t,"RUNTIME","UNREOGNISED"))}}async function ne(e,t){const n=[];for(let r=0;r<t.properties.length;r++)n[r]=await re(e,t.properties[r]);const o={};for(let r=0;r<n.length;r++){const e=n[r];if(h(e.value))throw new Error("Illegal Argument");if(!1===d(e.key))throw new Error("Illegal Argument");e.value===p?o[e.key.toString()]=null:o[e.key.toString()]=e.value}const a=new r(o);return a.immutable=!1,a}async function oe(e,t){const r=await re(e,t.value);if("Identifier"===t.key.type)return{key:t.key.name,value:r};return{key:await re(e,t.key),value:r}}async function ae(e,t,r){const n=await re(e,t.body);return r.lastAction=n,r.lastAction===w||r.lastAction instanceof T?(r.testResult=!1,r):null!==t.update?(await re(e,t.update),r):r}async function ie(e,t,r){if(null!==t.test){const n=await re(e,t.test);if(!0===e.abortSignal.aborted)throw new Error("Cancelled");if(r.testResult=n,!1===r.testResult)return r;if(!0!==r.testResult)throw new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"));return ae(e,t,r)}return ae(e,t,r)}function se(e,t,r,n,o,a){try{ie(e,t,r).then((()=>{try{!0===r.testResult?++a>Q?(a=0,setTimeout((()=>{se(e,t,r,n,o,a)}),0)):se(e,t,r,n,o,a):r.lastAction instanceof T?n(r.lastAction):n(p)}catch(i){o(i)}}),(e=>{o(e)}))}catch(i){o(i)}}function ce(e,t){try{return null!==t.init?re(e,t.init).then((()=>new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Promise.reject(r)}}function le(e,t,r,n,o,a,i,s,c,l){try{if(n<=a)return void s(p);o.value="k"===i?r[a]:a,re(e,t.body).then((u=>{try{u instanceof T?s(u):u===w?s(p):++l>Q?(l=0,setTimeout((()=>{le(e,t,r,n,o,a+1,i,s,c,l)}),0)):le(e,t,r,n,o,a+1,i,s,c,l)}catch(f){c(f)}}),(e=>{c(e)}))}catch(u){c(u)}}function ue(e,t,r,n,o,a,i,s,c){try{if(r.length()<=o)return void i(p);n.value="k"===a?r.get(o):o,re(e,t.body).then((l=>{l instanceof T?i(l):l===w?i(p):++c>Q?(c=0,setTimeout((()=>{ue(e,t,r,n,o+1,a,i,s,c)}),0)):ue(e,t,r,n,o+1,a,i,s,c)}),(e=>{s(e)}))}catch(l){s(l)}}function fe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);le(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function pe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ue(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function we(e,t,r,n,o){try{fe(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function he(e,t,r,o,a,i,s,c){try{e.next().then((l=>{try{if(null===l)i(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;re(t,r.body).then((n=>{try{n===w?i(p):n instanceof T?i(n):++c>Q?(c=0,setTimeout((()=>{he(e,t,r,o,a,i,s,c)}),0)):he(e,t,r,o,a,i,s,c)}catch(l){s(l)}}),(e=>{s(e)}))}}catch(u){s(u)}}),(e=>{s(e)}))}catch(l){s(l)}}async function de(e,t){return new Promise(((n,o)=>{re(e,t.right).then((a=>{try{let i=null;i="VariableDeclaration"===t.left.type?re(e,t.left):Promise.resolve(),i.then((()=>{try{let i="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(i=e.name)}else"Identifier"===t.left.type&&(i=t.left.name);if(!i)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));i=i.toLowerCase();let s=null;if(null!==e.localScope&&void 0!==e.localScope[i]&&(s=e.localScope[i]),null===s&&void 0!==e.globalScope[i]&&(s=e.globalScope[i]),null===s)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||d(a)?fe(e,t,a,{reject:o,resolve:n},s):g(a)?pe(e,t,a,{reject:o,resolve:n},s):a instanceof r||E(a)?we(e,t,a,{reject:o,resolve:n},s):y(a)?he(a.iterator(e.abortSignal),e,t,a,s,(e=>{n(e)}),(e=>{o(e)}),0):fe(e,t,[],{reject:o,resolve:n},s)}catch(i){o(i)}}),o)}catch(i){o(i)}}),o)}))}async function me(e,t){const n=t.argument;if("MemberExpression"===n.type){const o={t:null},a=await re(e,n.object);let i=null;o.t=a,!0===n.computed?i=await re(e,n.property):"Identifier"===n.property.type&&(i=n.property.name);const s=o.t;let c;if(m(s)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=s.length+i),i<0||i>=s.length)throw new Error("Assignment outside of array bounds");c=v(s[i]),s[i]="++"===t.operator?c+1:c-1}else if(s instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}else{if(!E(s))throw g(s)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}return!1===t.prefix?c:"++"===t.operator?c+1:c-1}const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;if(null!==e.localScope&&void 0!==e.localScope[o])return a=v(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;if(void 0!==e.globalScope[o])return a=v(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;throw new Error("Variable not recognised")}function ge(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return v(r)/v(e);case"*=":return v(r)*v(e);case"-=":return v(r)-v(e);case"+=":return d(r)||d(e)?S(r)+S(e):v(r)+v(e);case"%=":return v(r)%v(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const o=await re(e,t.right),a=await re(e,n.object);let i=null;if(!0===n.computed)i=await re(e,n.property);else{if("Identifier"!==n.property.type)throw new Error("Expected computed or identifier for assignemnt target");i=n.property.name}if(m(a)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=a.length+i),i<0||i>a.length)throw new Error("Assignment outside of array bounds");if(i===a.length){if("="!==t.operator)throw new Error("Invalid Parameter");a[i]=ge(o,t.operator,a[i],t)}else a[i]=ge(o,t.operator,a[i],t)}else if(a instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}else{if(!E(a))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}return p}const o=n.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[o]){const r=await re(e,t.right);return e.localScope[o]={value:ge(r,t.operator,e.localScope[o].value,t),valueset:!0,node:t.right},p}if(void 0!==e.globalScope[o]){const r=await re(e,t.right);return e.globalScope[o]={value:ge(r,t.operator,e.globalScope[o].value,t),valueset:!0,node:t.right},p}throw new Error("Cannot assign undeclared variable")}async function ye(e,t){if("AssignmentExpression"===t.expression.type)return re(e,t.expression);if("CallExpression"===t.expression.type){const r=await re(e,t.expression);return r===p?p:new I(r)}const r=await re(e,t.expression);return r===p?p:new I(r)}async function Ne(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.test);if(!0===r)return re(e,t.consequent);if(!1===r)return null!==t.alternate?re(e,t.alternate):p;throw new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}async function ve(e,t){return Ie(e,t,0)}async function Ie(e,t,r){if(r>=t.body.length)return p;const n=await re(e,t.body[r]);return n instanceof T||n===w||n===f||r===t.body.length-1?n:Ie(e,t,r+1)}async function Te(e,t){if(null===t.argument)return new T(p);const r=await re(e,t.argument);return new T(r)}async function Se(e,t){const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},p}async function be(e,t,r){return r>=t.declarations.length?p:(await re(e,t.declarations[r]),r===t.declarations.length-1||await be(e,t,r+1),p)}async function Re(e,t){let r=null;if(r=null===t.init?null:await re(e,t.init),null!==e.localScope){if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return e.localScope[n]={value:r,valueset:!0,node:t.init},p}if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return r===p&&(r=null),e.globalScope[n]={value:r,valueset:!0,node:t.init},p}let Oe=0;function Ae(e,t,n,o){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(Oe++,e.spatialReference._arcadeCacheId=Oe,t=Oe)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}async function Ue(e,t){const n=await re(e,t.object);if(null===n)throw new Error(C(t,"RUNTIME","NOTFOUND"));if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof r||E(n))return n.field(t.property.name);if(n instanceof q)return Ae(n,t.property.name,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}let o=await re(e,t.property);if(n instanceof r||E(n)){if(d(o))return n.field(o);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(n instanceof q){if(d(o))return Ae(n,o,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(d(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}async function Ce(e,t){const r=await re(e,t.argument);if(c(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}async function Fe(e,t){const r=[];for(let n=0;n<t.elements.length;n++)r.push(await re(e,t.elements[n]));for(let n=0;n<r.length;n++){if(h(r[n]))throw new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));r[n]===p&&(r[n]=null)}return r}async function Me(e,t){const r=[];r[0]=await re(e,t.left),r[1]=await re(e,t.right);const n=r[0],o=r[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(v(n),v(o),t.operator);case"==":return l(n,o);case"!=":return!l(n,o);case"<":case">":case"<=":case">=":return b(n,o,t.operator);case"+":return d(n)||d(o)?S(n)+S(o):v(n)+v(o);case"-":return v(n)-v(o);case"*":return v(n)*v(o);case"/":return v(n)/v(o);case"%":return v(n)%v(o);default:throw new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function xe(e,t){if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.left);let n=null;if(!c(r))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":if(!0===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));case"&&":if(!1===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}async function Pe(e,t){const r=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}throw new Error(C(t,"RUNTIME","VARIABLENOTFOUND"))}async function De(e,t){if("Identifier"!==t.callee.type)throw new Error(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(t,"RUNTIME","NOTFOUND"))}async function je(e,t){return t.value?t.value.cooked:""}async function Le(e,t){const r=[];for(let a=0;a<t.expressions.length;a++){const n=await re(e,t.expressions[a]);r[a]=S(n)}let n="",o=0;for(const a of t.quasis)if(n+=a.value?a.value.cooked:"",!1===a.tail){n+=r[o]?r[o]:"",o++}return n}const ke={};function _e(n){return null===n?"":m(n)||g(n)?"Array":O(n)?"Date":d(n)?"String":c(n)?"Boolean":N(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Z?"Point":n instanceof W?"Polygon":n instanceof K?"Polyline":n instanceof H?"Multipoint":n instanceof z?"Extent":h(n)?"Function":y(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}async function Ve(e,t,r,n){const o=await re(e,t.arguments[r]);if(l(o,n))return re(e,t.arguments[r+1]);const a=t.arguments.length-r;return 1===a?re(e,t.arguments[r]):2===a?null:3===a?re(e,t.arguments[r+2]):Ve(e,t,r+2,n)}async function Ye(e,t,r,n){if(!0===n)return re(e,t.arguments[r+1]);if(3===t.arguments.length-r)return re(e,t.arguments[r+2]);const o=await re(e,t.arguments[r+2]);if(!1===c(o))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,r+2,o)}async function Be(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[Be(e.slice(0,n),t),Be(e.slice(n,r),t)],a=await Promise.all(o);return Ge(a[0],a[1],t,[])}async function Ge(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ge(e,t,r,n)}return e.length>0?(o.push(e[0]),Ge(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ge(e,t=t.slice(1),r,n)):void 0}function ze(e,t){const r=e.length,n=Math.floor(r/2);return t||(t=function(e,t){return e<t?-1:e===t?0:1}),0===r?[]:1===r?[e[0]]:qe(ze(e.slice(0,n),t),ze(e.slice(n,r),t),t)}function qe(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=1),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function He(e,t,r){const n=e.body;if(r.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<r.length;a++){const n=e.params[a];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[a],valueset:!0,node:null})}const o=await re(t,n);if(o instanceof T)return o.value;if(o===w)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof I?o.value:o}function Ze(e,t,r){return te(e,t,(function(t,n,o){const a={spatialReference:e.spatialReference,services:e.services,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:e.depthCounter+1};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(r,a,o)}))}function We(e){const t=function(){const t={abortSignal:e.context.abortSignal,spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,services:e.context.services,localScope:{},globalScope:e.context.globalScope,depthCounter:e.context.depthCounter+1};if(t.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(e.definition,t,arguments)};return t}k(ke,ee),G(ke,ee),Y(ke,ee),V(ke,ee),B(ke,ee),_({functions:ke,compiled:!1,signatures:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ee,standardFunctionAsync:te}),ke.typeof=function(e,t){return ee(e,t,(function(e,t,r){s(r,1,1);const n=_e(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},ke.iif=async function(e,t){s(null===t.arguments?[]:t.arguments,3,3);const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("IF Function must have a boolean test condition");const n=[];return n[0]=await re(e,t.arguments[1]),n[1]=await re(e,t.arguments[2]),r?n[0]:n[1]},ke.decode=async function(e,t){if(t.arguments.length<2)throw new Error("Missing Parameters");if(2===t.arguments.length)return re(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new Error("Must have a default value result.");return Ve(e,t,1,await re(e,t.arguments[0]))},ke.when=async function(e,t){if(t.arguments.length<3)throw new Error("Missing Parameters");if(t.arguments.length%2==0)throw new Error("Must have a default value result.");const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,0,r)},ke.sort=function(e,t){return te(e,t,(async function(e,t,r){s(r,1,2);let n=r[0];if(g(n)&&(n=n.toArray()),!1===m(n))throw new Error("Illegal Argument");if(r.length>1){if(!1===h(r[1]))throw new Error("Illegal Argument");return Be(n,We(r[1]))}let o=n;if(0===o.length)return[];const a={};for(let s=0;s<o.length;s++){const e=_e(o[s]);""!==e&&(a[e]=!0)}if(!0===a.Array||!0===a.Dictionary||!0===a.Feature||!0===a.Point||!0===a.Polygon||!0===a.Polyline||!0===a.Multipoint||!0===a.Extent||!0===a.Function)return o.slice(0);let i=0,c="";for(const s in a)i++,c=s;return i>1||"String"===c?o=ze(o,(function(e,t){if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=S(e),n=S(t);return r<n?-1:r===n?0:1})):"Number"===c?o=ze(o,(function(e,t){return e-t})):"Boolean"===c?o=ze(o,(function(e,t){return e===t?0:t?-1:1})):"Date"===c&&(o=ze(o,(function(e,t){return t-e}))),o}))};const Ke={fixSpatialReference:U,parseArguments:$,standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunction:We};for(const st in ke)ke[st]={value:new u(ke[st]),valueset:!0,node:null};const Xe=function(){};function Je(e,t){const o=new Xe;null==e&&(e={}),null==t&&(t={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const r in t)o[r]={value:new u(t[r]),native:!0,valueset:!0,node:null};for(const r in e)e[r]&&"esri.Graphic"===e[r].declaredClass?o[r]={value:n.createFromGraphic(e[r]),valueset:!0,node:null}:o[r]={value:e[r],valueset:!0,node:null};return o}function Qe(e){console.log(e)}Xe.prototype=ke,Xe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Xe.prototype.pi={value:Math.PI,valueset:!0,node:null};const $e=Ke;function et(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunctionHandler:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)ke[r]={value:new u(t.functions[r]),valueset:!0,node:null},Xe.prototype[r]=ke[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}async function tt(e,t){let r=t.spatialReference;null==r&&(r=new X({wkid:102100}));const n=Je(t.vars,t.customfunctions),a={spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1};let i=await re(a,e.body[0].body);if(i instanceof T&&(i=i.value),i instanceof I&&(i=i.value),i===p&&(i=null),i===w)throw new Error("Cannot return BREAK");if(i===f)throw new Error("Cannot return CONTINUE");if(i instanceof u)throw new Error("Cannot return FUNCTION");if(i instanceof o)throw new Error("Cannot return FUNCTION");return i}function rt(e,t){return M(e)}function nt(e,t){return x(e,t,"full")}function ot(e,t){return P(e,t)}function at(e,t){return D(e,t)}function it(e){return j(e)}et([L]);export{tt as executeScript,et as extend,rt as extractFieldLiterals,it as findFunctionCalls,$e as functionHelper,at as referencesFunction,ot as referencesMember,nt as validateScript};
5
+ import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as c,m as l,N as u,x as f,v as p,w,o as h,b as d,l as m,n as g,s as E,y,a as N,f as v,I,R as T,h as S,q as b,r as R,j as O,z as A,A as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as F,findFieldLiterals as x,validateScript as M,referencesMember as P,referencesFunction as D,findFunctionCalls as j}from"./treeAnalysis.js";import{A as L}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as _}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as B}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import z from"../geometry/Extent.js";import q from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import Z from"../geometry/Point.js";import W from"../geometry/Polygon.js";import K from"../geometry/Polyline.js";import X from"../geometry/SpatialReference.js";function J(e){return e&&"function"==typeof e.then}const Q=100;async function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(await re(e,t.arguments[n]));return r}async function ee(e,t,r){if(!0===t.preparsed)return r(e,null,t.arguments);return r(e,t,await $(e,t))}async function te(e,t,r){if(!0===t.preparsed){const n=r(e,null,t.arguments);return J(n),n}const n=r(e,t,await $(e,t));return J(n),n}async function re(e,t,r){if(t.breakpoint&&!0!==r){const r=t.breakpoint();return await r,re(e,t,!0)}switch(t.type){case"VariableDeclarator":return Re(e,t);case"VariableDeclaration":return be(e,t,0);case"BlockStatement":return ve(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return Te(e,t);case"IfStatement":return Ne(e,t);case"ExpressionStatement":return ye(e,t);case"UpdateExpression":return me(e,t);case"AssignmentExpression":return Ee(e,t);case"ForStatement":return ce(e,t);case"ForInStatement":return de(e,t);case"BreakStatement":return w;case"EmptyStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return je(e,t);case"TemplateLiteral":return Le(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Ue(e,t);case"Literal":return t.value;case"CallExpression":return De(e,t);case"UnaryExpression":return Ce(e,t);case"BinaryExpression":return xe(e,t);case"LogicalExpression":return Me(e,t);case"ArrayExpression":return Fe(e,t);case"ObjectExpression":return ne(e,t);case"Property":return oe(e,t);default:throw new Error(C(t,"RUNTIME","UNREOGNISED"))}}async function ne(e,t){const n=[];for(let r=0;r<t.properties.length;r++)n[r]=await re(e,t.properties[r]);const o={};for(let r=0;r<n.length;r++){const e=n[r];if(h(e.value))throw new Error("Illegal Argument");if(!1===d(e.key))throw new Error("Illegal Argument");e.value===p?o[e.key.toString()]=null:o[e.key.toString()]=e.value}const a=new r(o);return a.immutable=!1,a}async function oe(e,t){const r=await re(e,t.value);if("Identifier"===t.key.type)return{key:t.key.name,value:r};return{key:await re(e,t.key),value:r}}async function ae(e,t,r){const n=await re(e,t.body);return r.lastAction=n,r.lastAction===w||r.lastAction instanceof T?(r.testResult=!1,r):null!==t.update?(await re(e,t.update),r):r}async function ie(e,t,r){if(null!==t.test){const n=await re(e,t.test);if(!0===e.abortSignal.aborted)throw new Error("Cancelled");if(r.testResult=n,!1===r.testResult)return r;if(!0!==r.testResult)throw new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"));return ae(e,t,r)}return ae(e,t,r)}function se(e,t,r,n,o,a){try{ie(e,t,r).then((()=>{try{!0===r.testResult?++a>Q?(a=0,setTimeout((()=>{se(e,t,r,n,o,a)}),0)):se(e,t,r,n,o,a):r.lastAction instanceof T?n(r.lastAction):n(p)}catch(i){o(i)}}),(e=>{o(e)}))}catch(i){o(i)}}function ce(e,t){try{return null!==t.init?re(e,t.init).then((()=>new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Promise.reject(r)}}function le(e,t,r,n,o,a,i,s,c,l){try{if(n<=a)return void s(p);o.value="k"===i?r[a]:a,re(e,t.body).then((u=>{try{u instanceof T?s(u):u===w?s(p):++l>Q?(l=0,setTimeout((()=>{le(e,t,r,n,o,a+1,i,s,c,l)}),0)):le(e,t,r,n,o,a+1,i,s,c,l)}catch(f){c(f)}}),(e=>{c(e)}))}catch(u){c(u)}}function ue(e,t,r,n,o,a,i,s,c){try{if(r.length()<=o)return void i(p);n.value="k"===a?r.get(o):o,re(e,t.body).then((l=>{l instanceof T?i(l):l===w?i(p):++c>Q?(c=0,setTimeout((()=>{ue(e,t,r,n,o+1,a,i,s,c)}),0)):ue(e,t,r,n,o+1,a,i,s,c)}),(e=>{s(e)}))}catch(l){s(l)}}function fe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);le(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function pe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ue(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function we(e,t,r,n,o){try{fe(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function he(e,t,r,o,a,i,s,c){try{e.next().then((l=>{try{if(null===l)i(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;re(t,r.body).then((n=>{try{n===w?i(p):n instanceof T?i(n):++c>Q?(c=0,setTimeout((()=>{he(e,t,r,o,a,i,s,c)}),0)):he(e,t,r,o,a,i,s,c)}catch(l){s(l)}}),(e=>{s(e)}))}}catch(u){s(u)}}),(e=>{s(e)}))}catch(l){s(l)}}async function de(e,t){return new Promise(((n,o)=>{re(e,t.right).then((a=>{try{let i=null;i="VariableDeclaration"===t.left.type?re(e,t.left):Promise.resolve(),i.then((()=>{try{let i="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(i=e.name)}else"Identifier"===t.left.type&&(i=t.left.name);if(!i)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));i=i.toLowerCase();let s=null;if(null!==e.localScope&&void 0!==e.localScope[i]&&(s=e.localScope[i]),null===s&&void 0!==e.globalScope[i]&&(s=e.globalScope[i]),null===s)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||d(a)?fe(e,t,a,{reject:o,resolve:n},s):g(a)?pe(e,t,a,{reject:o,resolve:n},s):a instanceof r||E(a)?we(e,t,a,{reject:o,resolve:n},s):y(a)?he(a.iterator(e.abortSignal),e,t,a,s,(e=>{n(e)}),(e=>{o(e)}),0):fe(e,t,[],{reject:o,resolve:n},s)}catch(i){o(i)}}),o)}catch(i){o(i)}}),o)}))}async function me(e,t){const n=t.argument;if("MemberExpression"===n.type){const o={t:null},a=await re(e,n.object);let i=null;o.t=a,!0===n.computed?i=await re(e,n.property):"Identifier"===n.property.type&&(i=n.property.name);const s=o.t;let c;if(m(s)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=s.length+i),i<0||i>=s.length)throw new Error("Assignment outside of array bounds");c=v(s[i]),s[i]="++"===t.operator?c+1:c-1}else if(s instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}else{if(!E(s))throw g(s)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}return!1===t.prefix?c:"++"===t.operator?c+1:c-1}const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;if(null!==e.localScope&&void 0!==e.localScope[o])return a=v(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;if(void 0!==e.globalScope[o])return a=v(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;throw new Error("Variable not recognised")}function ge(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return v(r)/v(e);case"*=":return v(r)*v(e);case"-=":return v(r)-v(e);case"+=":return d(r)||d(e)?S(r)+S(e):v(r)+v(e);case"%=":return v(r)%v(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const o=await re(e,t.right),a=await re(e,n.object);let i=null;if(!0===n.computed)i=await re(e,n.property);else{if("Identifier"!==n.property.type)throw new Error("Expected computed or identifier for assignemnt target");i=n.property.name}if(m(a)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=a.length+i),i<0||i>a.length)throw new Error("Assignment outside of array bounds");if(i===a.length){if("="!==t.operator)throw new Error("Invalid Parameter");a[i]=ge(o,t.operator,a[i],t)}else a[i]=ge(o,t.operator,a[i],t)}else if(a instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}else{if(!E(a))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}return p}const o=n.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[o]){const r=await re(e,t.right);return e.localScope[o]={value:ge(r,t.operator,e.localScope[o].value,t),valueset:!0,node:t.right},p}if(void 0!==e.globalScope[o]){const r=await re(e,t.right);return e.globalScope[o]={value:ge(r,t.operator,e.globalScope[o].value,t),valueset:!0,node:t.right},p}throw new Error("Cannot assign undeclared variable")}async function ye(e,t){if("AssignmentExpression"===t.expression.type)return re(e,t.expression);if("CallExpression"===t.expression.type){const r=await re(e,t.expression);return r===p?p:new I(r)}const r=await re(e,t.expression);return r===p?p:new I(r)}async function Ne(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.test);if(!0===r)return re(e,t.consequent);if(!1===r)return null!==t.alternate?re(e,t.alternate):p;throw new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}async function ve(e,t){return Ie(e,t,0)}async function Ie(e,t,r){if(r>=t.body.length)return p;const n=await re(e,t.body[r]);return n instanceof T||n===w||n===f||r===t.body.length-1?n:Ie(e,t,r+1)}async function Te(e,t){if(null===t.argument)return new T(p);const r=await re(e,t.argument);return new T(r)}async function Se(e,t){const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},p}async function be(e,t,r){return r>=t.declarations.length?p:(await re(e,t.declarations[r]),r===t.declarations.length-1||await be(e,t,r+1),p)}async function Re(e,t){let r=null;if(r=null===t.init?null:await re(e,t.init),null!==e.localScope){if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return e.localScope[n]={value:r,valueset:!0,node:t.init},p}if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return r===p&&(r=null),e.globalScope[n]={value:r,valueset:!0,node:t.init},p}let Oe=0;function Ae(e,t,n,o){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(Oe++,e.spatialReference._arcadeCacheId=Oe,t=Oe)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}async function Ue(e,t){const n=await re(e,t.object);if(null===n)throw new Error(C(t,"RUNTIME","NOTFOUND"));if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof r||E(n))return n.field(t.property.name);if(n instanceof q)return Ae(n,t.property.name,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}let o=await re(e,t.property);if(n instanceof r||E(n)){if(d(o))return n.field(o);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(n instanceof q){if(d(o))return Ae(n,o,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(d(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}async function Ce(e,t){const r=await re(e,t.argument);if(c(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}async function Fe(e,t){const r=[];for(let n=0;n<t.elements.length;n++)r.push(await re(e,t.elements[n]));for(let n=0;n<r.length;n++){if(h(r[n]))throw new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));r[n]===p&&(r[n]=null)}return r}async function xe(e,t){const r=[];r[0]=await re(e,t.left),r[1]=await re(e,t.right);const n=r[0],o=r[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(v(n),v(o),t.operator);case"==":return l(n,o);case"!=":return!l(n,o);case"<":case">":case"<=":case">=":return b(n,o,t.operator);case"+":return d(n)||d(o)?S(n)+S(o):v(n)+v(o);case"-":return v(n)-v(o);case"*":return v(n)*v(o);case"/":return v(n)/v(o);case"%":return v(n)%v(o);default:throw new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Me(e,t){if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.left);let n=null;if(!c(r))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":if(!0===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));case"&&":if(!1===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}async function Pe(e,t){const r=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}throw new Error(C(t,"RUNTIME","VARIABLENOTFOUND"))}async function De(e,t){if("Identifier"!==t.callee.type)throw new Error(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(t,"RUNTIME","NOTFOUND"))}async function je(e,t){return t.value?t.value.cooked:""}async function Le(e,t){const r=[];for(let a=0;a<t.expressions.length;a++){const n=await re(e,t.expressions[a]);r[a]=S(n)}let n="",o=0;for(const a of t.quasis)if(n+=a.value?a.value.cooked:"",!1===a.tail){n+=r[o]?r[o]:"",o++}return n}const ke={};function _e(n){return null===n?"":m(n)||g(n)?"Array":O(n)?"Date":d(n)?"String":c(n)?"Boolean":N(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Z?"Point":n instanceof W?"Polygon":n instanceof K?"Polyline":n instanceof H?"Multipoint":n instanceof z?"Extent":h(n)?"Function":y(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}async function Ve(e,t,r,n){const o=await re(e,t.arguments[r]);if(l(o,n))return re(e,t.arguments[r+1]);const a=t.arguments.length-r;return 1===a?re(e,t.arguments[r]):2===a?null:3===a?re(e,t.arguments[r+2]):Ve(e,t,r+2,n)}async function Ye(e,t,r,n){if(!0===n)return re(e,t.arguments[r+1]);if(3===t.arguments.length-r)return re(e,t.arguments[r+2]);const o=await re(e,t.arguments[r+2]);if(!1===c(o))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,r+2,o)}async function Be(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[Be(e.slice(0,n),t),Be(e.slice(n,r),t)],a=await Promise.all(o);return Ge(a[0],a[1],t,[])}async function Ge(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ge(e,t,r,n)}return e.length>0?(o.push(e[0]),Ge(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ge(e,t=t.slice(1),r,n)):void 0}function ze(e,t){const r=e.length,n=Math.floor(r/2);return t||(t=function(e,t){return e<t?-1:e===t?0:1}),0===r?[]:1===r?[e[0]]:qe(ze(e.slice(0,n),t),ze(e.slice(n,r),t),t)}function qe(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=1),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function He(e,t,r){const n=e.body;if(r.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<r.length;a++){const n=e.params[a];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[a],valueset:!0,node:null})}const o=await re(t,n);if(o instanceof T)return o.value;if(o===w)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof I?o.value:o}function Ze(e,t,r){return te(e,t,(function(t,n,o){const a={spatialReference:e.spatialReference,services:e.services,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:e.depthCounter+1};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(r,a,o)}))}function We(e){const t=function(){const t={abortSignal:e.context.abortSignal,spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,services:e.context.services,localScope:{},globalScope:e.context.globalScope,depthCounter:e.context.depthCounter+1};if(t.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(e.definition,t,arguments)};return t}k(ke,ee),G(ke,ee),Y(ke,ee),V(ke,ee),B(ke,ee),_({functions:ke,compiled:!1,signatures:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ee,standardFunctionAsync:te}),ke.typeof=function(e,t){return ee(e,t,(function(e,t,r){s(r,1,1);const n=_e(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},ke.iif=async function(e,t){s(null===t.arguments?[]:t.arguments,3,3);const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("IF Function must have a boolean test condition");const n=[];return n[0]=await re(e,t.arguments[1]),n[1]=await re(e,t.arguments[2]),r?n[0]:n[1]},ke.decode=async function(e,t){if(t.arguments.length<2)throw new Error("Missing Parameters");if(2===t.arguments.length)return re(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new Error("Must have a default value result.");return Ve(e,t,1,await re(e,t.arguments[0]))},ke.when=async function(e,t){if(t.arguments.length<3)throw new Error("Missing Parameters");if(t.arguments.length%2==0)throw new Error("Must have a default value result.");const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,0,r)},ke.sort=function(e,t){return te(e,t,(async function(e,t,r){s(r,1,2);let n=r[0];if(g(n)&&(n=n.toArray()),!1===m(n))throw new Error("Illegal Argument");if(r.length>1){if(!1===h(r[1]))throw new Error("Illegal Argument");return Be(n,We(r[1]))}let o=n;if(0===o.length)return[];const a={};for(let s=0;s<o.length;s++){const e=_e(o[s]);""!==e&&(a[e]=!0)}if(!0===a.Array||!0===a.Dictionary||!0===a.Feature||!0===a.Point||!0===a.Polygon||!0===a.Polyline||!0===a.Multipoint||!0===a.Extent||!0===a.Function)return o.slice(0);let i=0,c="";for(const s in a)i++,c=s;return i>1||"String"===c?o=ze(o,(function(e,t){if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=S(e),n=S(t);return r<n?-1:r===n?0:1})):"Number"===c?o=ze(o,(function(e,t){return e-t})):"Boolean"===c?o=ze(o,(function(e,t){return e===t?0:t?-1:1})):"Date"===c&&(o=ze(o,(function(e,t){return t-e}))),o}))};const Ke={fixSpatialReference:U,parseArguments:$,standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunction:We};for(const st in ke)ke[st]={value:new u(ke[st]),valueset:!0,node:null};const Xe=function(){};function Je(e,t){const o=new Xe;null==e&&(e={}),null==t&&(t={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const r in t)o[r]={value:new u(t[r]),native:!0,valueset:!0,node:null};for(const r in e)e[r]&&"esri.Graphic"===e[r].declaredClass?o[r]={value:n.createFromGraphic(e[r]),valueset:!0,node:null}:o[r]={value:e[r],valueset:!0,node:null};return o}function Qe(e){console.log(e)}Xe.prototype=ke,Xe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Xe.prototype.pi={value:Math.PI,valueset:!0,node:null};const $e=Ke;function et(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunctionHandler:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)ke[r]={value:new u(t.functions[r]),valueset:!0,node:null},Xe.prototype[r]=ke[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}async function tt(e,t){let r=t.spatialReference;null==r&&(r=new X({wkid:102100}));const n=Je(t.vars,t.customfunctions),a={spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1};let i=await re(a,e.body[0].body);if(i instanceof T&&(i=i.value),i instanceof I&&(i=i.value),i===p&&(i=null),i===w)throw new Error("Cannot return BREAK");if(i===f)throw new Error("Cannot return CONTINUE");if(i instanceof u)throw new Error("Cannot return FUNCTION");if(i instanceof o)throw new Error("Cannot return FUNCTION");return i}function rt(e,t){return x(e)}function nt(e,t){return M(e,t,"full")}function ot(e,t){return P(e,t)}function at(e,t){return D(e,t)}function it(e){return j(e)}et([L]);export{tt as executeScript,et as extend,rt as extractFieldLiterals,it as findFunctionCalls,$e as functionHelper,at as referencesFunction,ot as referencesMember,nt as validateScript};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"./ArcadePortal.js";import t from"./Attachment.js";import n from"./Dictionary.js";import r from"./Feature.js";import o from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{p as l,i as s,e as i,N as c,a as u,t as p,b as f,c as m,v as g,d as h,f as y,g as d,h as S,j as w,k as b,S as E,l as v,m as N,n as M,o as I,q as O,r as x,s as T,R as _,I as C}from"../chunks/languageUtils.js";import{addFunctionDeclaration as R,findFieldLiterals as A,findExpectedFieldLiterals as U,validateScript as F,referencesMember as P,referencesFunction as k,nodeErrorMessage as j}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/geomsync.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{isPromiseLike as q}from"../core/promiseUtils.js";import J from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import W from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import Q from"../geometry/SpatialReference.js";function $(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(te(e,t.arguments[r]));return n}function ee(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function te(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return he(e,t);case"VariableDeclaration":return ge(e,t);case"BlockStatement":return pe(e,t);case"FunctionDeclaration":return me(e,t);case"ReturnStatement":return fe(e,t);case"IfStatement":return ue(e,t);case"ExpressionStatement":return ie(e,t);case"AssignmentExpression":return se(e,t);case"UpdateExpression":return le(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Ee(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ae(e,t);case"ForInStatement":return oe(e,t);case"Identifier":return Me(e,t);case"MemberExpression":return Se(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"ThisExpression":case"ConditionalExpression":case"Array":throw new Error(j(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return Ie(e,t);case"UnaryExpression":return we(e,t);case"BinaryExpression":return ve(e,t);case"LogicalExpression":return Ne(e,t);case"ArrayExpression":return be(e,t);case"ObjectExpression":return ne(e,t);case"Property":return re(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(n){throw n}}function ne(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];r>0&&(n+=","),n+="lang.strCheck("+("Identifier"===o.key.type?"'"+o.key.name+"'":te(e,o.key))+",'ObjectExpression'),lang.aCheck("+te(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function re(e,t){throw new Error("Should not get here")}function oe(e,t){const n=Pe(e),r=Pe(e),o=Pe(e);let a="var "+n+" = "+te(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=te(e,t.left));let l="VariableDeclaration"===t.left.type?t.left.declarations[0].id.name:t.left.name;l=l.toLowerCase();let s="";return null!==e.localScope&&(void 0!==e.localScope[l]?s="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(s="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===s&&(void 0!==e.globalScope[l]?s="gscope['"+l+"']":void 0!==e.globalScope._SymbolsMap[l]&&(s="gscope['"+e.globalScope._SymbolsMap[l]+"']")),a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {",a+="var "+r+"="+n+".length; \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+n+")) {",a+="var "+r+"="+n+".length(); \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || ( "+n+" instanceof lang.Feature)) {",a+="var "+r+"="+n+".keys(); \n",a+="for(var "+o+"=0; "+o+"<"+r+".length; "+o+"++) {\n",a+=s+"="+r+"["+o+"];\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {",a+="var "+r+"="+n+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+"); "+o+"!=null; "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+")) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ae(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&(n+=te(e,t.init)+"; ");const r=Pe(e),o=Pe(e);return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+te(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+te(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); }\n"),n+=te(e,t.body),null!==t.update&&(n+="\n "+te(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function le(e,t){let n=null,r="";if("MemberExpression"===t.argument.type)return n=te(e,t.argument.object),r=!0===t.argument.computed?te(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+n+","+r+",'"+t.operator+"',"+t.prefix+")";if(n=t.argument.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[n])return"lang.update(lscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[n])return"lang.update(lscope, '"+e.localScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[n])return"lang.update(gscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[n])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")";throw new Error("Variable not recognised")}function se(e,t){const n=te(e,t.right);let r=null,o="";if("MemberExpression"===t.left.type)return r=te(e,t.left.object),o=!0===t.left.computed?te(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+r+","+o+",'"+t.operator+"',"+n+")";if(r=t.left.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+r+"'])";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[r]+"'])"}if(void 0!==e.globalScope[r])return"gscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+r+"'])";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[r]+"'])";throw new Error("Variable not recognised")}function ie(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+te(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+te(e,t.expression)+"; ")}function ce(e,t){return"BlockStatement"===t.type?te(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?te(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+te(e,t)+"; ":"ExpressionStatement"===t.type?te(e,t):"ObjectExpression"===t.type?"lastStatement = "+te(e,t)+"; ":te(e,t)+"; "}function ue(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(j(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const n=te(e,t.test),r=Pe(e);let o="var "+r+" = "+n+";\n if ("+r+" === true) {\n"+ce(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+r+"===false) { \n"+ce(e,t.alternate)+"}\n":o+="else if ("+r+"===false) { \n lastStatement = lc.voidOperation;\n }\n",o+="else { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); \n}\n",o}function pe(e,t){let n="";for(let r=0;r<t.body.length;r++)"ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=te(e,t.body[r])+"; \n":"UpdateExpression"===t.body[r].type||"ObjectExpression"===t.body[r].type?n+="lastStatement = "+te(e,t.body[r])+"; \n":n+=te(e,t.body[r])+" \n";return n}function fe(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+te(e,t.argument)}function me(e,t){const n=t.id.name.toLowerCase(),r={isAsync:e.isAsync,spatialReference:e.spatialReference,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter+1,globalScope:e.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");let o="new lc.SizzleFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let a=0;a<t.params.length;a++){const n=t.params[a].name.toLowerCase(),l=Fe(e);r.localScope._SymbolsMap[n]=l,r.mangleMap[n]=l,o+="lscope['"+l+"']=arguments["+a.toString()+"];\n"}if(!0===e.isAsync?(o+="return lang.__awaiter(this, void 0, void 0, function* () {\n",o+=pe(r,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=pe(r,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"),void 0!==e.globalScope[n])return"gscope['"+n+"']="+o;if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']="+o;{const t=Fe(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+o}}function ge(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(te(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function he(e,t){let n=null===t.init?null:te(e,t.init);n===g&&(n=null);const r=t.id.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']="+n+"; ";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.localScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"lscope['"+t+"']="+n+"; "}}if(void 0!==e.globalScope[r])return"gscope['"+r+"']="+n+"; ";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+n+"; "}}let ye=0;function de(e,t,r){let l;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let n=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(n=!1),n&&(ye++,e.spatialReference._arcadeCacheId=ye,t=ye)}const r=new n({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(r._arcadeCacheId="SPREF"+t.toString()),r}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const n=e[t];return void 0!==n?n:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new a(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,l,1);case"type":return"Multipoint"}}throw new Error(j(r,"RUNTIME","PROPERTYNOTFOUND"))}function Se(e,t){try{let n;return n=!0===t.computed?te(e,t.property):"'"+t.property.name+"'","lang.member("+te(e,t.object)+","+n+")"}catch(n){throw n}}function we(e,t){try{return"lang.unary("+te(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function be(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(te(e,t.elements[r])):n.push("lang.aCheck("+te(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Ee(e,t){try{const n=[];let r=0;for(const o of t.quasis)n.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(n.push(t.expressions[r]?"lang.castString(lang.aCheck("+te(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function ve(e,t){try{return"lang.binary("+te(e,t.left)+","+te(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Ne(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(j(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(j(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+te(e,t.left)+") "+t.operator+" lang.logicalCheck("+te(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(n){throw n}}function Me(e,t){try{const n=t.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']"}if(void 0!==e.globalScope[n])return"gscope['"+n+"']";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']";throw new Error(j(t,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Ie(e,t){try{if("Identifier"!==t.callee.type)throw new Error(j(t,"RUNTIME","ONLYNODESSUPPORTED"));const n=t.callee.name.toLowerCase();let r="";if(null!==e.localScope&&(void 0!==e.localScope[n]?r="lscope['"+n+"']":void 0!==e.localScope._SymbolsMap[n]&&(r="lscope['"+e.localScope._SymbolsMap[n]+"']")),""===r&&(void 0!==e.globalScope[n]?r="gscope['"+n+"']":void 0!==e.globalScope._SymbolsMap[n]&&(r="gscope['"+e.globalScope._SymbolsMap[n]+"']")),""!==r){let n="[";for(let r=0;r<t.arguments.length;r++)r>0&&(n+=", "),n+=te(e,t.arguments[r]);return n+="]",e.isAsync?"(yield lang.callfunc("+r+","+n+",runtimeCtx) )":"lang.callfunc("+r+","+n+",runtimeCtx)"}throw new Error(j(t,"RUNTIME","NOTFOUND"))}catch(n){throw n}}const Oe={};function xe(r){return null===r?"":u(r)||f(r)?"Array":I(r)?"Date":y(r)?"String":s(r)?"Boolean":w(r)?"Number":r instanceof t?"Attachment":r instanceof e?"Portal":r instanceof n?"Dictionary":b(r)?"Feature":r instanceof W?"Point":r instanceof K?"Polygon":r instanceof X?"Polyline":r instanceof H?"Multipoint":r instanceof J?"Extent":m(r)?"Function":O(r)?"FeatureSet":x(r)?"FeatureSetCollection":r===g?"":"number"==typeof r&&isNaN(r)?"Number":"Unrecognised Type"}function Te(e,t,n,r){try{const o=t[n];if(i(o,r))return t[n+1];{const o=t.length-n;return 1===o?t[n]:2===o?null:3===o?t[n+2]:Te(e,t,n+2,r)}}catch(o){throw o}}function _e(e,t,n,r){try{if(!0===r)return t[n+1];if(3===t.length-n)return t[n+2];{const r=t[n+2];if(!1===s(r))throw new Error("WHEN needs boolean test conditions");return _e(e,t,n+2,r)}}catch(o){throw o}}function Ce(e,t){const n=e.length,r=Math.floor(n/2);return 0===n?[]:1===n?[e[0]]:Re(Ce(e.slice(0,r),t),Ce(e.slice(r,n),t),t)}function Re(e,t,n){const r=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=n(e[0],t[0]);isNaN(o)&&(o=0),o<=0?(r.push(e[0]),e=e.slice(1)):(r.push(t[0]),t=t.slice(1))}else e.length>0?(r.push(e[0]),e=e.slice(1)):t.length>0&&(r.push(t[0]),t=t.slice(1));return r}async function Ae(e,t){const n=e.length,r=Math.floor(n/2);if(0===n)return[];if(1===n)return[e[0]];const o=[Ae(e.slice(0,r),t),Ae(e.slice(r,n),t)],a=await Promise.all(o);return Ue(a[0],a[1],t,[])}async function Ue(e,t,n,r){const o=r;if(!(e.length>0||t.length>0))return r;if(e.length>0&&t.length>0){let a=await n(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ue(e,t,n,r)}return e.length>0?(o.push(e[0]),Ue(e=e.slice(1),t,n,r)):t.length>0?(o.push(t[0]),Ue(e,t=t.slice(1),n,r)):void 0}function Fe(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Pe(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Oe,ee),z(Oe,ee),V(Oe,ee),B(Oe,ee),G(Oe,ee),Oe.typeof=function(e,t){return ee(e,t,(function(e,t,n){l(n,1,1);const r=xe(n[0]);if("Unrecognised Type"===r)throw new Error("Unrecognised Type");return r}))},Oe.iif=function(e,t){try{return ee(e,t,(function(e,t,n){if(l(n,3,3),!1===s(n[0]))throw new Error("IF Function must have a boolean test condition");return n[0]?n[1]:n[2]}))}catch(n){throw n}},Oe.decode=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<2)throw new Error("Missing Parameters");if(2===r.length)return r[1];{if((r.length-1)%2==0)throw new Error("Must have a default value result.");const t=r[0];return Te(e,r,1,t)}}))}catch(n){throw n}},Oe.when=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<3)throw new Error("Missing Parameters");if(r.length%2==0)throw new Error("Must have a default value result.");const o=r[0];if(!1===s(o))throw new Error("WHEN needs boolean test conditions");return _e(e,r,0,o)}))}catch(n){throw n}},Oe.top=function(e,t){return ee(e,t,(function(e,t,n){if(l(n,2,2),u(n[0]))return p(n[1])>=n[0].length?n[0].slice(0):n[0].slice(0,p(n[1]));if(f(n[0]))return p(n[1])>=n[0].length()?n[0].slice(0):n[0].slice(0,p(n[1]));throw new Error("Top cannot accept this parameter type")}))},Oe.first=function(e,t){return ee(e,t,(function(e,t,n){return l(n,1,1),u(n[0])?0===n[0].length?null:n[0][0]:f(n[0])?0===n[0].length()?null:n[0].get(0):null}))},Oe.sort=function(e,t){return ee(e,t,(function(t,n,r){l(r,1,2);let o=r[0];if(f(o)&&(o=o.toArray()),!1===u(o))throw new Error("Illegal Argument");if(r.length>1){if(!1===m(r[1]))throw new Error("Illegal Argument");let n=o;const a=function(e,n){return Xe.callfunc(r[1],[e,n],t)};return e.isAsync?Ae(n,a):(n=Ce(n,(function(e,t){return a(e,t)})),n)}{let e=o;if(0===e.length)return[];const t={};for(let o=0;o<e.length;o++){const n=xe(e[o]);""!==n&&(t[n]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return e.slice(0);let n=0,r="";for(const o in t)n++,r=o;return e=n>1||"String"===r?Ce(e,(function(e,t){if(null==e||e===g)return null==t||t===g?0:1;if(null==t||t===g)return-1;const n=h(e),r=h(t);return n<r?-1:n===r?0:1})):"Number"===r?Ce(e,(function(e,t){return e-t})):"Boolean"===r?Ce(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===r?Ce(e,(function(e,t){return t-e})):e.slice(0),e}}))};const ke={};for(const tt in Oe)ke[tt]=new c(Oe[tt]);Y(Oe,ee);for(const tt in Oe)Oe[tt]=new c(Oe[tt]);const je=function(){};je.prototype=Oe;const De=function(){};function Le(e,t,n){const r={};e||(e={}),n||(n={}),r._SymbolsMap={},r.textformatting=1,r.infinity=1,r.pi=1;for(const o in t)r[o]=1;for(const o in n)r[o]=1;for(const o in e)r[o]=1;return r}function Be(e,t,o){const a=o?new De:new je;e||(e={}),t||(t={});const l=new n({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});l.immutable=!1,a._SymbolsMap={textformatting:1,infinity:1,pi:1},a.textformatting=l,a.infinity=Number.POSITIVE_INFINITY,a.pi=Math.PI;for(const n in t)a[n]=t[n],a._SymbolsMap[n]=1;for(const n in e)a._SymbolsMap[n]=1,e[n]&&"esri.Graphic"===e[n].declaredClass?a[n]=r.createFromGraphic(e[n]):a[n]=e[n];return a}De.prototype=ke;const Ye={fixSpatialReference:T,parseArguments:$,standardFunction:ee};function Ve(e,t){const n={mode:t,compiled:!0,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:ee,evaluateIdentifier:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(n);if("sync"===t){for(const e in n.functions)Oe[e]=new c(n.functions[e]),je.prototype[e]=Oe[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"sync")}else{for(const e in n.functions)ke[e]=new c(n.functions[e]),De.prototype[e]=ke[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"async")}}function Ge(e,t){return e(t)}function ze(e,t){return A(e)}function qe(e){return U(e)}function Je(e,t){return F(e,t,"sync")}function Ze(e,t){return P(e,t)}function He(e,t){return k(e,t)}function We(e,t){const n=t.name;if("_SymbolsMap"===n)throw new Error("Illegal");if(e.localStack.length>0){if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n];const t=e.mangleMap[n];if(void 0!==t&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t]}if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.globalScope[n])return e.globalScope[n];if(1===e.globalScope._SymbolsMap[n])return e.globalScope[n];const r=e.mangleMap[n];return void 0!==r?e.globalScope[r]:void 0}Ve([D],"sync"),Ve([D],"async");let Ke=0;const Xe={error(e,t,n){throw new Error(j(e,t,n))},__awaiter:(e,t,n,r)=>new Promise(((n,o)=>{function a(e){try{s(r.next(e))}catch(t){o(t)}}function l(e){try{s(r.throw(e))}catch(t){o(t)}}function s(e){e.done?n(e.value):e.value&&e.value.then?e.value.then(a,l):(Ke++,Ke%100==0?setTimeout((()=>{Ke=0,a(e.value)}),0):a(e.value))}s((r=r.apply(e,t||[])).next())})),functionDepthchecker:(e,t)=>function(){if(t.depthCounter++,t.localStack.push([]),t.depthCounter>64)throw new Error("Exceeded maximum function depth");const n=e.apply(this,arguments);return q(n)?n.then((e=>(t.depthCounter--,t.localStack.length=t.localStack.length-1,e))):(t.depthCounter--,t.localStack.length=t.localStack.length-1,n)},castString:e=>h(e),aCheck(e,t){if(m(e))throw new Error(j({type:t},"RUNTIME","FUNCTIONCONTEXTILLEGAL"));return e===g?null:e},Dictionary:n,Feature:r,dictionary(e){const t={};for(let n=0;n<e.length;n+=2){if(m(e[n+1]))throw new Error("Illegal Argument");if(!1===y(e[n]))throw new Error("Illegal Argument");e[n+1]===g?t[e[n].toString()]=null:t[e[n].toString()]=e[n+1]}const r=new n(t);return r.immutable=!1,r},strCheck(e){if(!1===y(e))throw new Error("Illegal Argument");return e},unary(e,t){if(s(e)){if("!"===t)return!e;if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}return e},logical(e,t,n){if(s(e)&&s(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return S(p(e),p(t),n);case"==":case"=":return i(e,t);case"!=":return!i(e,t);case"<":case">":case"<=":case">=":return d(e,t,n);case"+":return y(e)||y(t)?h(e)+h(t):p(e)+p(t);case"-":return p(e)-p(t);case"*":return p(e)*p(t);case"/":return p(e)/p(t);case"%":return p(e)%p(t);default:throw new Error(j({type:"BinaryExpression",operator:n,left:e,right:t},"RUNTIME","OPERATORNOTRECOGNISED"))}},assign(e,t,n){switch(t){case"=":return e===g?null:e;case"/=":return p(n)/p(e);case"*=":return p(n)*p(e);case"-=":return p(n)-p(e);case"+=":return y(n)||y(e)?h(n)+h(e):p(n)+p(e);case"%=":return p(n)%p(e);default:throw new Error(j({type:"AssignmentExpression",operator:t,left:null,right:null},"RUNTIME","OPERATORNOTRECOGNISED"))}},update(e,t,n,r){const o=p(e[t]);return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},graphicToFeature:(e,t)=>null===e?null:r.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(e,t,r,o){let a;if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new Error("Assignment outside of array bounds");a=p(e[t]),e[t]="++"===r?a+1:a-1}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}return!1===o?a:"++"===r?a+1:a-1},assignmember(e,t,r,o){if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>e.length)throw new Error("Assignment outside of array bounds");if(t===e.length){if("="!==r)throw new Error("Invalid Parameter");e[t]=this.assign(o,r,e[t])}else e[t]=this.assign(o,r,e[t])}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}},member(e,t){if(null===e){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof n||b(e)){if(y(t))return e.field(t);throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof Z){if(y(t))return de(e,t,"MemberExpression");throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(u(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(y(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(f(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length()+t),t>=e.length()||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))},callfunc(e,t,n){return e instanceof c?e.fn(n,{arguments:t,preparsed:!0}):e instanceof E?e.fn.apply(this,t):e.apply(this,t)}};function Qe(e){console.log(e)}function $e(e,t=null,n=!1){null===t&&(t={vars:{},customfunctions:{}});const r={isAsync:n,globalScope:Le(t.vars,n?ke:Oe,t.customfunctions),localScope:null,mangleMap:{},console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=te(r,e.body[0].body);""===o&&(o="lc.voidOperation; ");let a="";a=n?"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"+o+"\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 "+o+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const l={lc:v,lang:Xe,mangles:r.mangleMap,postProcess(e){if(e instanceof _&&(e=e.value),e instanceof C&&(e=e.value),e===g&&(e=null),e===N)throw new Error("Cannot return BREAK");if(e===M)throw new Error("Cannot return CONTINUE");if(m(e))throw new Error("Cannot return FUNCTION");return e},prepare(e,t){let n=e.spatialReference;null==n&&(n=new Q({wkid:102100}));const r=Be(e.vars,e.customfunctions,t);return{localStack:[],isAsync:t,mangleMap:this.mangles,spatialReference:n,globalScope:r,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Qe,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}async function et(){return Ve([await import("./functions/geomasync.js")],"async"),!0}export{$e as compileScript,et as enableAsyncSupport,Ge as executeScript,Ve as extend,qe as extractExpectedFieldLiterals,ze as extractFieldLiterals,Ye as functionHelper,He as referencesFunction,Ze as referencesMember,Je as validateScript};
5
+ import e from"./ArcadePortal.js";import t from"./Attachment.js";import n from"./Dictionary.js";import r from"./Feature.js";import o from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{p as l,i as s,m as i,N as c,l as u,f as p,n as f,o as m,v as h,h as g,b as y,q as d,r as S,a as w,s as b,S as E,u as v,w as N,x as M,j as I,y as O,z as x,A as T,R as _,I as C}from"../chunks/languageUtils.js";import{addFunctionDeclaration as R,findFieldLiterals as A,findExpectedFieldLiterals as U,validateScript as F,referencesMember as P,referencesFunction as k,nodeErrorMessage as j}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/geomsync.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{isPromiseLike as q}from"../core/promiseUtils.js";import J from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import W from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import Q from"../geometry/SpatialReference.js";function $(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(te(e,t.arguments[r]));return n}function ee(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function te(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return ge(e,t);case"VariableDeclaration":return he(e,t);case"BlockStatement":return pe(e,t);case"FunctionDeclaration":return me(e,t);case"ReturnStatement":return fe(e,t);case"IfStatement":return ue(e,t);case"ExpressionStatement":return ie(e,t);case"AssignmentExpression":return se(e,t);case"UpdateExpression":return le(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Ee(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ae(e,t);case"ForInStatement":return oe(e,t);case"Identifier":return Me(e,t);case"MemberExpression":return Se(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"ThisExpression":case"ConditionalExpression":case"Array":throw new Error(j(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return Ie(e,t);case"UnaryExpression":return we(e,t);case"BinaryExpression":return ve(e,t);case"LogicalExpression":return Ne(e,t);case"ArrayExpression":return be(e,t);case"ObjectExpression":return ne(e,t);case"Property":return re(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(n){throw n}}function ne(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];r>0&&(n+=","),n+="lang.strCheck("+("Identifier"===o.key.type?"'"+o.key.name+"'":te(e,o.key))+",'ObjectExpression'),lang.aCheck("+te(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function re(e,t){throw new Error("Should not get here")}function oe(e,t){const n=Pe(e),r=Pe(e),o=Pe(e);let a="var "+n+" = "+te(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=te(e,t.left));let l="VariableDeclaration"===t.left.type?t.left.declarations[0].id.name:t.left.name;l=l.toLowerCase();let s="";return null!==e.localScope&&(void 0!==e.localScope[l]?s="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(s="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===s&&(void 0!==e.globalScope[l]?s="gscope['"+l+"']":void 0!==e.globalScope._SymbolsMap[l]&&(s="gscope['"+e.globalScope._SymbolsMap[l]+"']")),a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {",a+="var "+r+"="+n+".length; \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+n+")) {",a+="var "+r+"="+n+".length(); \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || ( "+n+" instanceof lang.Feature)) {",a+="var "+r+"="+n+".keys(); \n",a+="for(var "+o+"=0; "+o+"<"+r+".length; "+o+"++) {\n",a+=s+"="+r+"["+o+"];\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {",a+="var "+r+"="+n+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+"); "+o+"!=null; "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+")) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ae(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&(n+=te(e,t.init)+"; ");const r=Pe(e),o=Pe(e);return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+te(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+te(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); }\n"),n+=te(e,t.body),null!==t.update&&(n+="\n "+te(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function le(e,t){let n=null,r="";if("MemberExpression"===t.argument.type)return n=te(e,t.argument.object),r=!0===t.argument.computed?te(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+n+","+r+",'"+t.operator+"',"+t.prefix+")";if(n=t.argument.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[n])return"lang.update(lscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[n])return"lang.update(lscope, '"+e.localScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[n])return"lang.update(gscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[n])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")";throw new Error("Variable not recognised")}function se(e,t){const n=te(e,t.right);let r=null,o="";if("MemberExpression"===t.left.type)return r=te(e,t.left.object),o=!0===t.left.computed?te(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+r+","+o+",'"+t.operator+"',"+n+")";if(r=t.left.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+r+"'])";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[r]+"'])"}if(void 0!==e.globalScope[r])return"gscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+r+"'])";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[r]+"'])";throw new Error("Variable not recognised")}function ie(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+te(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+te(e,t.expression)+"; ")}function ce(e,t){return"BlockStatement"===t.type?te(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?te(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+te(e,t)+"; ":"ExpressionStatement"===t.type?te(e,t):"ObjectExpression"===t.type?"lastStatement = "+te(e,t)+"; ":te(e,t)+"; "}function ue(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(j(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const n=te(e,t.test),r=Pe(e);let o="var "+r+" = "+n+";\n if ("+r+" === true) {\n"+ce(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+r+"===false) { \n"+ce(e,t.alternate)+"}\n":o+="else if ("+r+"===false) { \n lastStatement = lc.voidOperation;\n }\n",o+="else { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); \n}\n",o}function pe(e,t){let n="";for(let r=0;r<t.body.length;r++)"ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=te(e,t.body[r])+"; \n":"UpdateExpression"===t.body[r].type||"ObjectExpression"===t.body[r].type?n+="lastStatement = "+te(e,t.body[r])+"; \n":n+=te(e,t.body[r])+" \n";return n}function fe(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+te(e,t.argument)}function me(e,t){const n=t.id.name.toLowerCase(),r={isAsync:e.isAsync,spatialReference:e.spatialReference,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter+1,globalScope:e.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");let o="new lc.SizzleFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let a=0;a<t.params.length;a++){const n=t.params[a].name.toLowerCase(),l=Fe(e);r.localScope._SymbolsMap[n]=l,r.mangleMap[n]=l,o+="lscope['"+l+"']=arguments["+a.toString()+"];\n"}if(!0===e.isAsync?(o+="return lang.__awaiter(this, void 0, void 0, function* () {\n",o+=pe(r,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=pe(r,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"),void 0!==e.globalScope[n])return"gscope['"+n+"']="+o;if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']="+o;{const t=Fe(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+o}}function he(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(te(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function ge(e,t){let n=null===t.init?null:te(e,t.init);n===h&&(n=null);const r=t.id.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']="+n+"; ";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.localScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"lscope['"+t+"']="+n+"; "}}if(void 0!==e.globalScope[r])return"gscope['"+r+"']="+n+"; ";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+n+"; "}}let ye=0;function de(e,t,r){let l;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let n=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(n=!1),n&&(ye++,e.spatialReference._arcadeCacheId=ye,t=ye)}const r=new n({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(r._arcadeCacheId="SPREF"+t.toString()),r}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const n=e[t];return void 0!==n?n:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new a(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,l,1);case"type":return"Multipoint"}}throw new Error(j(r,"RUNTIME","PROPERTYNOTFOUND"))}function Se(e,t){try{let n;return n=!0===t.computed?te(e,t.property):"'"+t.property.name+"'","lang.member("+te(e,t.object)+","+n+")"}catch(n){throw n}}function we(e,t){try{return"lang.unary("+te(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function be(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(te(e,t.elements[r])):n.push("lang.aCheck("+te(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Ee(e,t){try{const n=[];let r=0;for(const o of t.quasis)n.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(n.push(t.expressions[r]?"lang.castString(lang.aCheck("+te(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function ve(e,t){try{return"lang.binary("+te(e,t.left)+","+te(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Ne(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(j(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(j(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+te(e,t.left)+") "+t.operator+" lang.logicalCheck("+te(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(n){throw n}}function Me(e,t){try{const n=t.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']"}if(void 0!==e.globalScope[n])return"gscope['"+n+"']";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']";throw new Error(j(t,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Ie(e,t){try{if("Identifier"!==t.callee.type)throw new Error(j(t,"RUNTIME","ONLYNODESSUPPORTED"));const n=t.callee.name.toLowerCase();let r="";if(null!==e.localScope&&(void 0!==e.localScope[n]?r="lscope['"+n+"']":void 0!==e.localScope._SymbolsMap[n]&&(r="lscope['"+e.localScope._SymbolsMap[n]+"']")),""===r&&(void 0!==e.globalScope[n]?r="gscope['"+n+"']":void 0!==e.globalScope._SymbolsMap[n]&&(r="gscope['"+e.globalScope._SymbolsMap[n]+"']")),""!==r){let n="[";for(let r=0;r<t.arguments.length;r++)r>0&&(n+=", "),n+=te(e,t.arguments[r]);return n+="]",e.isAsync?"(yield lang.callfunc("+r+","+n+",runtimeCtx) )":"lang.callfunc("+r+","+n+",runtimeCtx)"}throw new Error(j(t,"RUNTIME","NOTFOUND"))}catch(n){throw n}}const Oe={};function xe(r){return null===r?"":u(r)||f(r)?"Array":I(r)?"Date":y(r)?"String":s(r)?"Boolean":w(r)?"Number":r instanceof t?"Attachment":r instanceof e?"Portal":r instanceof n?"Dictionary":b(r)?"Feature":r instanceof W?"Point":r instanceof K?"Polygon":r instanceof X?"Polyline":r instanceof H?"Multipoint":r instanceof J?"Extent":m(r)?"Function":O(r)?"FeatureSet":x(r)?"FeatureSetCollection":r===h?"":"number"==typeof r&&isNaN(r)?"Number":"Unrecognised Type"}function Te(e,t,n,r){try{const o=t[n];if(i(o,r))return t[n+1];{const o=t.length-n;return 1===o?t[n]:2===o?null:3===o?t[n+2]:Te(e,t,n+2,r)}}catch(o){throw o}}function _e(e,t,n,r){try{if(!0===r)return t[n+1];if(3===t.length-n)return t[n+2];{const r=t[n+2];if(!1===s(r))throw new Error("WHEN needs boolean test conditions");return _e(e,t,n+2,r)}}catch(o){throw o}}function Ce(e,t){const n=e.length,r=Math.floor(n/2);return 0===n?[]:1===n?[e[0]]:Re(Ce(e.slice(0,r),t),Ce(e.slice(r,n),t),t)}function Re(e,t,n){const r=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=n(e[0],t[0]);isNaN(o)&&(o=0),o<=0?(r.push(e[0]),e=e.slice(1)):(r.push(t[0]),t=t.slice(1))}else e.length>0?(r.push(e[0]),e=e.slice(1)):t.length>0&&(r.push(t[0]),t=t.slice(1));return r}async function Ae(e,t){const n=e.length,r=Math.floor(n/2);if(0===n)return[];if(1===n)return[e[0]];const o=[Ae(e.slice(0,r),t),Ae(e.slice(r,n),t)],a=await Promise.all(o);return Ue(a[0],a[1],t,[])}async function Ue(e,t,n,r){const o=r;if(!(e.length>0||t.length>0))return r;if(e.length>0&&t.length>0){let a=await n(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ue(e,t,n,r)}return e.length>0?(o.push(e[0]),Ue(e=e.slice(1),t,n,r)):t.length>0?(o.push(t[0]),Ue(e,t=t.slice(1),n,r)):void 0}function Fe(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Pe(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Oe,ee),z(Oe,ee),V(Oe,ee),B(Oe,ee),G(Oe,ee),Oe.typeof=function(e,t){return ee(e,t,(function(e,t,n){l(n,1,1);const r=xe(n[0]);if("Unrecognised Type"===r)throw new Error("Unrecognised Type");return r}))},Oe.iif=function(e,t){try{return ee(e,t,(function(e,t,n){if(l(n,3,3),!1===s(n[0]))throw new Error("IF Function must have a boolean test condition");return n[0]?n[1]:n[2]}))}catch(n){throw n}},Oe.decode=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<2)throw new Error("Missing Parameters");if(2===r.length)return r[1];{if((r.length-1)%2==0)throw new Error("Must have a default value result.");const t=r[0];return Te(e,r,1,t)}}))}catch(n){throw n}},Oe.when=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<3)throw new Error("Missing Parameters");if(r.length%2==0)throw new Error("Must have a default value result.");const o=r[0];if(!1===s(o))throw new Error("WHEN needs boolean test conditions");return _e(e,r,0,o)}))}catch(n){throw n}},Oe.top=function(e,t){return ee(e,t,(function(e,t,n){if(l(n,2,2),u(n[0]))return p(n[1])>=n[0].length?n[0].slice(0):n[0].slice(0,p(n[1]));if(f(n[0]))return p(n[1])>=n[0].length()?n[0].slice(0):n[0].slice(0,p(n[1]));throw new Error("Top cannot accept this parameter type")}))},Oe.first=function(e,t){return ee(e,t,(function(e,t,n){return l(n,1,1),u(n[0])?0===n[0].length?null:n[0][0]:f(n[0])?0===n[0].length()?null:n[0].get(0):null}))},Oe.sort=function(e,t){return ee(e,t,(function(t,n,r){l(r,1,2);let o=r[0];if(f(o)&&(o=o.toArray()),!1===u(o))throw new Error("Illegal Argument");if(r.length>1){if(!1===m(r[1]))throw new Error("Illegal Argument");let n=o;const a=function(e,n){return Xe.callfunc(r[1],[e,n],t)};return e.isAsync?Ae(n,a):(n=Ce(n,(function(e,t){return a(e,t)})),n)}{let e=o;if(0===e.length)return[];const t={};for(let o=0;o<e.length;o++){const n=xe(e[o]);""!==n&&(t[n]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return e.slice(0);let n=0,r="";for(const o in t)n++,r=o;return e=n>1||"String"===r?Ce(e,(function(e,t){if(null==e||e===h)return null==t||t===h?0:1;if(null==t||t===h)return-1;const n=g(e),r=g(t);return n<r?-1:n===r?0:1})):"Number"===r?Ce(e,(function(e,t){return e-t})):"Boolean"===r?Ce(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===r?Ce(e,(function(e,t){return t-e})):e.slice(0),e}}))};const ke={};for(const tt in Oe)ke[tt]=new c(Oe[tt]);Y(Oe,ee);for(const tt in Oe)Oe[tt]=new c(Oe[tt]);const je=function(){};je.prototype=Oe;const De=function(){};function Le(e,t,n){const r={};e||(e={}),n||(n={}),r._SymbolsMap={},r.textformatting=1,r.infinity=1,r.pi=1;for(const o in t)r[o]=1;for(const o in n)r[o]=1;for(const o in e)r[o]=1;return r}function Be(e,t,o){const a=o?new De:new je;e||(e={}),t||(t={});const l=new n({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});l.immutable=!1,a._SymbolsMap={textformatting:1,infinity:1,pi:1},a.textformatting=l,a.infinity=Number.POSITIVE_INFINITY,a.pi=Math.PI;for(const n in t)a[n]=t[n],a._SymbolsMap[n]=1;for(const n in e)a._SymbolsMap[n]=1,e[n]&&"esri.Graphic"===e[n].declaredClass?a[n]=r.createFromGraphic(e[n]):a[n]=e[n];return a}De.prototype=ke;const Ye={fixSpatialReference:T,parseArguments:$,standardFunction:ee};function Ve(e,t){const n={mode:t,compiled:!0,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:ee,evaluateIdentifier:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(n);if("sync"===t){for(const e in n.functions)Oe[e]=new c(n.functions[e]),je.prototype[e]=Oe[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"sync")}else{for(const e in n.functions)ke[e]=new c(n.functions[e]),De.prototype[e]=ke[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"async")}}function Ge(e,t){return e(t)}function ze(e,t){return A(e)}function qe(e){return U(e)}function Je(e,t){return F(e,t,"sync")}function Ze(e,t){return P(e,t)}function He(e,t){return k(e,t)}function We(e,t){const n=t.name;if("_SymbolsMap"===n)throw new Error("Illegal");if(e.localStack.length>0){if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n];const t=e.mangleMap[n];if(void 0!==t&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t]}if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.globalScope[n])return e.globalScope[n];if(1===e.globalScope._SymbolsMap[n])return e.globalScope[n];const r=e.mangleMap[n];return void 0!==r?e.globalScope[r]:void 0}Ve([D],"sync"),Ve([D],"async");let Ke=0;const Xe={error(e,t,n){throw new Error(j(e,t,n))},__awaiter:(e,t,n,r)=>new Promise(((n,o)=>{function a(e){try{s(r.next(e))}catch(t){o(t)}}function l(e){try{s(r.throw(e))}catch(t){o(t)}}function s(e){e.done?n(e.value):e.value&&e.value.then?e.value.then(a,l):(Ke++,Ke%100==0?setTimeout((()=>{Ke=0,a(e.value)}),0):a(e.value))}s((r=r.apply(e,t||[])).next())})),functionDepthchecker:(e,t)=>function(){if(t.depthCounter++,t.localStack.push([]),t.depthCounter>64)throw new Error("Exceeded maximum function depth");const n=e.apply(this,arguments);return q(n)?n.then((e=>(t.depthCounter--,t.localStack.length=t.localStack.length-1,e))):(t.depthCounter--,t.localStack.length=t.localStack.length-1,n)},castString:e=>g(e),aCheck(e,t){if(m(e))throw new Error(j({type:t},"RUNTIME","FUNCTIONCONTEXTILLEGAL"));return e===h?null:e},Dictionary:n,Feature:r,dictionary(e){const t={};for(let n=0;n<e.length;n+=2){if(m(e[n+1]))throw new Error("Illegal Argument");if(!1===y(e[n]))throw new Error("Illegal Argument");e[n+1]===h?t[e[n].toString()]=null:t[e[n].toString()]=e[n+1]}const r=new n(t);return r.immutable=!1,r},strCheck(e){if(!1===y(e))throw new Error("Illegal Argument");return e},unary(e,t){if(s(e)){if("!"===t)return!e;if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}return e},logical(e,t,n){if(s(e)&&s(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return S(p(e),p(t),n);case"==":case"=":return i(e,t);case"!=":return!i(e,t);case"<":case">":case"<=":case">=":return d(e,t,n);case"+":return y(e)||y(t)?g(e)+g(t):p(e)+p(t);case"-":return p(e)-p(t);case"*":return p(e)*p(t);case"/":return p(e)/p(t);case"%":return p(e)%p(t);default:throw new Error(j({type:"BinaryExpression",operator:n,left:e,right:t},"RUNTIME","OPERATORNOTRECOGNISED"))}},assign(e,t,n){switch(t){case"=":return e===h?null:e;case"/=":return p(n)/p(e);case"*=":return p(n)*p(e);case"-=":return p(n)-p(e);case"+=":return y(n)||y(e)?g(n)+g(e):p(n)+p(e);case"%=":return p(n)%p(e);default:throw new Error(j({type:"AssignmentExpression",operator:t,left:null,right:null},"RUNTIME","OPERATORNOTRECOGNISED"))}},update(e,t,n,r){const o=p(e[t]);return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},graphicToFeature:(e,t)=>null===e?null:r.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(e,t,r,o){let a;if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new Error("Assignment outside of array bounds");a=p(e[t]),e[t]="++"===r?a+1:a-1}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}return!1===o?a:"++"===r?a+1:a-1},assignmember(e,t,r,o){if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>e.length)throw new Error("Assignment outside of array bounds");if(t===e.length){if("="!==r)throw new Error("Invalid Parameter");e[t]=this.assign(o,r,e[t])}else e[t]=this.assign(o,r,e[t])}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}},member(e,t){if(null===e){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof n||b(e)){if(y(t))return e.field(t);throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof Z){if(y(t))return de(e,t,"MemberExpression");throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(u(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(y(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(f(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length()+t),t>=e.length()||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))},callfunc(e,t,n){return e instanceof c?e.fn(n,{arguments:t,preparsed:!0}):e instanceof E?e.fn.apply(this,t):e.apply(this,t)}};function Qe(e){console.log(e)}function $e(e,t=null,n=!1){null===t&&(t={vars:{},customfunctions:{}});const r={isAsync:n,globalScope:Le(t.vars,n?ke:Oe,t.customfunctions),localScope:null,mangleMap:{},console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=te(r,e.body[0].body);""===o&&(o="lc.voidOperation; ");let a="";a=n?"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"+o+"\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 "+o+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const l={lc:v,lang:Xe,mangles:r.mangleMap,postProcess(e){if(e instanceof _&&(e=e.value),e instanceof C&&(e=e.value),e===h&&(e=null),e===N)throw new Error("Cannot return BREAK");if(e===M)throw new Error("Cannot return CONTINUE");if(m(e))throw new Error("Cannot return FUNCTION");return e},prepare(e,t){let n=e.spatialReference;null==n&&(n=new Q({wkid:102100}));const r=Be(e.vars,e.customfunctions,t);return{localStack:[],isAsync:t,mangleMap:this.mangles,spatialReference:n,globalScope:r,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Qe,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}async function et(){return Ve([await import("./functions/geomasync.js")],"async"),!0}export{$e as compileScript,et as enableAsyncSupport,Ge as executeScript,Ve as extend,qe as extractExpectedFieldLiterals,ze as extractFieldLiterals,Ye as functionHelper,He as referencesFunction,Ze as referencesMember,Je as validateScript};