@arcgis/core 4.23.0-next.20220208 → 4.23.0-next.20220212

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 (497) hide show
  1. package/Color.js +1 -1
  2. package/arcade/Dictionary.js +1 -1
  3. package/arcade/Feature.js +1 -1
  4. package/arcade/arcadeAsyncRuntime.js +1 -1
  5. package/arcade/arcadeCompiler.js +1 -1
  6. package/arcade/arcadeRuntime.js +1 -1
  7. package/arcade/featureset/actions/GroupBy.js +1 -1
  8. package/arcade/featureset/actions/OrderBy.js +1 -1
  9. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  10. package/arcade/featureset/support/ArcadeExporter.js +1 -1
  11. package/arcade/featureset/support/shared.js +1 -1
  12. package/arcade/featureset/support/stats.js +1 -1
  13. package/arcade/functions/date.js +1 -1
  14. package/arcade/functions/featuresetbase.js +1 -1
  15. package/arcade/functions/featuresetgeom.js +1 -1
  16. package/arcade/functions/featuresetstats.js +1 -1
  17. package/arcade/functions/featuresetstring.js +1 -1
  18. package/arcade/functions/fieldStats.js +1 -1
  19. package/arcade/functions/geomasync.js +1 -1
  20. package/arcade/functions/geometry.js +1 -1
  21. package/arcade/functions/geomsync.js +1 -1
  22. package/arcade/functions/maths.js +1 -1
  23. package/arcade/functions/string.js +1 -1
  24. package/arcade/languageUtils.js +1 -1
  25. package/arcade/treeAnalysis.js +1 -1
  26. package/assets/esri/core/workers/RemoteClient.js +1 -1
  27. package/assets/esri/core/workers/chunks/0018053ac16a09feba70.js +1 -0
  28. package/assets/esri/core/workers/chunks/0042628a67e21722fd20.js +1 -0
  29. package/assets/esri/core/workers/chunks/0156dc89b0e11f68ea75.js +1 -0
  30. package/assets/esri/core/workers/chunks/015a4699776854a0c726.js +1 -0
  31. package/assets/esri/core/workers/chunks/07cb63f5493af9749633.js +1 -0
  32. package/assets/esri/core/workers/chunks/0933c6c05a06b53e3d03.js +1 -0
  33. package/assets/esri/core/workers/chunks/0e2edc3d8f2fea3aabc2.js +1 -0
  34. package/assets/esri/core/workers/chunks/{7c0ff01f081c7e9050d2.js → 0f950041d026e56dc75d.js} +1 -1
  35. package/assets/esri/core/workers/chunks/0fa0791b7d74b98b3a64.js +1 -0
  36. package/assets/esri/core/workers/chunks/167bb2c8de3dafc8d520.js +1 -0
  37. package/assets/esri/core/workers/chunks/{f7150547d7e3259a0f29.js → 1835bf09e029e23cb9f7.js} +33 -23
  38. package/assets/esri/core/workers/chunks/18ae8f987ff41b3e164d.js +1 -0
  39. package/assets/esri/core/workers/chunks/18fb7e0c61816b6d94fe.js +1 -0
  40. package/assets/esri/core/workers/chunks/{8598f762f15ca68d52b7.js → 199ca9f48c41629a9710.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{8afae85018491491f773.js → 1b1802f2a8131bf31b70.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{a85ed251d3d3668e474f.js → 1b3014560aa9011ca687.js} +1 -1
  43. package/assets/esri/core/workers/chunks/1be8d4dbf77fc858f228.js +1 -0
  44. package/assets/esri/core/workers/chunks/1e6dfd1daee564c32ff9.js +1 -0
  45. package/assets/esri/core/workers/chunks/1f29ba1a1d303797ccd4.js +1 -0
  46. package/assets/esri/core/workers/chunks/2178551148cc572d01d7.js +1 -0
  47. package/assets/esri/core/workers/chunks/2222a0d48ba8fdfb2ffb.js +1 -0
  48. package/assets/esri/core/workers/chunks/249abfbf95bdbe95b3b6.js +1 -0
  49. package/assets/esri/core/workers/chunks/{b32bf9808cb4be3a6bd0.js → 2974328ebc4c1774d256.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{b17f39269bd21123a2b4.js → 2d8d6da1334a2feae67a.js} +1 -1
  51. package/assets/esri/core/workers/chunks/2e02245264c663795305.js +1 -0
  52. package/assets/esri/core/workers/chunks/3013fef9ac5db7c686f2.js +1 -0
  53. package/assets/esri/core/workers/chunks/33e57877a06146d5c5af.js +1 -0
  54. package/assets/esri/core/workers/chunks/3d5fb4aa6ea8ef6b1c8d.js +1 -0
  55. package/assets/esri/core/workers/chunks/3de83f2ae3955f57720f.js +1 -0
  56. package/assets/esri/core/workers/chunks/3f80547292d63f3ae9bb.js +1 -0
  57. package/assets/esri/core/workers/chunks/{50976921acf7bd636123.js → 405bcfd485dca8a75a62.js} +1 -1
  58. package/assets/esri/core/workers/chunks/46f7977827d5ae5d2f72.js +1 -0
  59. package/assets/esri/core/workers/chunks/4c55296bd03ef0a7d190.js +1 -0
  60. package/assets/esri/core/workers/chunks/538d852e5ec8ed0bdc89.js +1 -0
  61. package/assets/esri/core/workers/chunks/{6e458e761d738087348f.js → 5cdb0bfab9953a15ca6f.js} +1 -1
  62. package/assets/esri/core/workers/chunks/61cb9e8acd14379ccbed.js +1 -0
  63. package/assets/esri/core/workers/chunks/685cc2f5294918e11254.js +1 -0
  64. package/assets/esri/core/workers/chunks/6d7fa026f58fd0c68a39.js +1 -0
  65. package/assets/esri/core/workers/chunks/725cf81390d9c18d30a8.js +1 -0
  66. package/assets/esri/core/workers/chunks/738590ea55894c57cae3.js +1 -0
  67. package/assets/esri/core/workers/chunks/73a3ad2146bfea9f5dce.js +2 -0
  68. package/assets/esri/core/workers/chunks/{7a8764ae8a0041e1151d.js.LICENSE.txt → 73a3ad2146bfea9f5dce.js.LICENSE.txt} +1 -1
  69. package/assets/esri/core/workers/chunks/{56657f890e0f79f5d2ad.js → 74ca82e9658cf1bee033.js} +1 -1
  70. package/assets/esri/core/workers/chunks/772875ce0b4b0f7e3afe.js +1 -0
  71. package/assets/esri/core/workers/chunks/{0e17691520d890d34efb.js → 778d55486ce1e96338d4.js} +1 -1
  72. package/assets/esri/core/workers/chunks/79659b79353ddb6bf441.js +1 -0
  73. package/assets/esri/core/workers/chunks/7befb9b91bdfaad5ac62.js +1 -0
  74. package/assets/esri/core/workers/chunks/80b63d87e4bbda2a86ef.js +1 -0
  75. package/assets/esri/core/workers/chunks/{bf97a933ea3b220115e1.js → 83848fc9592b8385795a.js} +1 -1
  76. package/assets/esri/core/workers/chunks/8e0373afcc75e347f09b.js +1 -0
  77. package/assets/esri/core/workers/chunks/8ebd57fa47ca1f970c19.js +1 -0
  78. package/assets/esri/core/workers/chunks/903943f9ffa3647bff85.js +1 -0
  79. package/assets/esri/core/workers/chunks/{94d9951509c0db09547a.js → 931a80dee8ad1cbc1ff2.js} +1 -1
  80. package/assets/esri/core/workers/chunks/976e95fd34d822d721fc.js +1 -0
  81. package/assets/esri/core/workers/chunks/98972747efbde81ed0f5.js +1 -0
  82. package/assets/esri/core/workers/chunks/9f33d624e2d5e14b7f6a.js +1 -0
  83. package/assets/esri/core/workers/chunks/{281b89dbf5574fc642ae.js → a6a07d872311d2086fb7.js} +1 -1
  84. package/assets/esri/core/workers/chunks/a787c2a8a3f55930cf58.js +1 -0
  85. package/assets/esri/core/workers/chunks/aca3c6b18539788051d9.js +1 -0
  86. package/assets/esri/core/workers/chunks/b2c44418a9c47eff3c83.js +1 -0
  87. package/assets/esri/core/workers/chunks/b2d5148a5770a6e257ac.js +1 -0
  88. package/assets/esri/core/workers/chunks/b3caa09c3f69033275fc.js +1 -0
  89. package/assets/esri/core/workers/chunks/{2d9b32e3e24631cd4e34.js → bf3bc2e533686c547fc4.js} +1 -1
  90. package/assets/esri/core/workers/chunks/c0142b26ad84ff9261f5.js +1 -0
  91. package/assets/esri/core/workers/chunks/c49786e4af5fc699100c.js +1 -0
  92. package/assets/esri/core/workers/chunks/ca502c06aa305b8fb40c.js +1 -0
  93. package/assets/esri/core/workers/chunks/d011cc03835e627587f4.js +1 -0
  94. package/assets/esri/core/workers/chunks/d036a00fbe1f47e56fde.js +1 -0
  95. package/assets/esri/core/workers/chunks/d4600f3c850e021ea872.js +1 -0
  96. package/assets/esri/core/workers/chunks/{38518a16cf7cc86786e6.js → dc97901c5ca2cd7c5c00.js} +1 -1
  97. package/assets/esri/core/workers/chunks/dea314d0b670af1076f8.js +1 -0
  98. package/assets/esri/core/workers/chunks/e02d735d1f75c7c3c18c.js +1 -0
  99. package/assets/esri/core/workers/chunks/{8ceac95537638dc9a322.js → e53d39dde819107cbe22.js} +1 -1
  100. package/assets/esri/core/workers/chunks/e5a6a3f30e5ff2376436.js +1 -0
  101. package/assets/esri/core/workers/chunks/{bcc01bbffaa3bb5f60a8.js → e7def92e1020e58600b5.js} +1 -1
  102. package/assets/esri/core/workers/chunks/e88b623d63ca3e064d13.js +1 -0
  103. package/assets/esri/core/workers/chunks/eb09457831c04600147c.js +1 -0
  104. package/assets/esri/core/workers/chunks/ef8e894c8705a0e361f9.js +1 -0
  105. package/assets/esri/core/workers/chunks/f567be167c2afecd1fbd.js +1 -0
  106. package/assets/esri/core/workers/chunks/f58dce51b631993e86f7.js +1 -0
  107. package/assets/esri/core/workers/chunks/f5c8e6fd810559da1672.js +1 -0
  108. package/assets/esri/core/workers/chunks/fd9d1823bee86b6494c1.js +1 -0
  109. package/assets/esri/core/workers/chunks/fe9d2713b979ab428240.js +1 -0
  110. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  111. package/assets/esri/themes/base/widgets/_Legend.scss +2 -2
  112. package/assets/esri/themes/dark/main.css +1 -1
  113. package/assets/esri/themes/dark-blue/main.css +1 -1
  114. package/assets/esri/themes/dark-green/main.css +1 -1
  115. package/assets/esri/themes/dark-purple/main.css +1 -1
  116. package/assets/esri/themes/dark-red/main.css +1 -1
  117. package/assets/esri/themes/light/main.css +1 -1
  118. package/assets/esri/themes/light-blue/main.css +1 -1
  119. package/assets/esri/themes/light-green/main.css +1 -1
  120. package/assets/esri/themes/light-purple/main.css +1 -1
  121. package/assets/esri/themes/light-red/main.css +1 -1
  122. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  123. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  124. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  125. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  126. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  127. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  128. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  129. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  130. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  131. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  132. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  133. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  134. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  135. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  136. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  137. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  138. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  139. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  140. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  141. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  142. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  143. package/assets/esri/widgets/Directions/t9n/Directions_nb.json +1 -1
  144. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  145. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  146. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  147. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  148. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  149. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  150. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  151. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  152. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  153. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  154. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  155. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  156. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  157. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  158. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  159. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  160. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  198. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  199. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  200. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
  201. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
  202. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
  203. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
  204. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
  205. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
  206. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
  207. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
  208. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
  209. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
  210. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
  211. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
  212. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
  213. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
  214. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
  215. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
  216. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
  217. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
  218. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
  219. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
  220. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
  221. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
  222. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
  223. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
  224. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
  225. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
  226. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
  227. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
  228. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
  229. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
  230. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
  231. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
  232. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
  233. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
  234. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
  235. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
  236. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
  237. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
  238. package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
  239. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  240. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  241. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  242. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  243. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  244. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  245. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  246. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  247. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  248. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  249. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  250. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  251. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  252. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  253. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  254. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  255. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  256. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  257. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  258. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  259. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  260. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  261. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  262. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  263. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  264. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  265. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  266. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  267. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  268. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  269. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  270. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  271. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  272. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  273. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  274. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  275. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  276. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  277. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  278. package/chunks/Heatmap.glsl.js +5 -4
  279. package/chunks/LineMarker.glsl.js +93 -0
  280. package/chunks/RibbonLine.glsl.js +20 -47
  281. package/chunks/array.js +1 -1
  282. package/chunks/languageUtils.js +1 -1
  283. package/core/Collection.js +1 -1
  284. package/core/has.js +1 -1
  285. package/core/sql/WhereClause.js +1 -1
  286. package/core/urlUtils.js +1 -1
  287. package/geohash/GeohashTree.js +1 -1
  288. package/identity/IdentityManagerBase.js +1 -1
  289. package/identity/OAuthCredential.js +1 -1
  290. package/identity/OAuthInfo.js +1 -1
  291. package/interfaces.d.ts +499 -103
  292. package/layers/FeatureLayer.js +1 -1
  293. package/layers/ImageryLayer.js +1 -1
  294. package/layers/MapImageLayer.js +1 -1
  295. package/layers/OGCFeatureLayer.js +1 -1
  296. package/layers/RouteLayer.js +1 -1
  297. package/layers/StreamLayer.js +1 -1
  298. package/layers/SubtypeGroupLayer.js +1 -1
  299. package/layers/TileLayer.js +1 -1
  300. package/layers/VoxelLayer.js +1 -1
  301. package/layers/WMSLayer.js +1 -1
  302. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  303. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  304. package/layers/mixins/ArcGISImageService.js +1 -1
  305. package/layers/mixins/ArcGISMapService.js +1 -1
  306. package/layers/mixins/SceneService.js +1 -1
  307. package/layers/support/ExportImageServiceParameters.js +1 -1
  308. package/layers/support/LayerContingentValuesCache.js +1 -1
  309. package/layers/support/RasterFunction.js +1 -1
  310. package/layers/support/TileInfo.js +1 -1
  311. package/layers/support/capabilities.js +1 -1
  312. package/layers/support/imageryRendererUtils.js +1 -1
  313. package/layers/support/labelFormatUtils.js +1 -1
  314. package/layers/support/rasterFunctionUtils.js +5 -0
  315. package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
  316. package/layers/support/versionUtils.js +5 -0
  317. package/networks/support/UNTraceConfiguration.d.ts +4 -0
  318. package/package.json +2 -2
  319. package/portal/schemas/definitions.js +1 -1
  320. package/renderers/support/colorRampUtils.js +1 -1
  321. package/rest/networks/support/FunctionResult.js +1 -1
  322. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
  323. package/rest/operations/identify.js +1 -1
  324. package/rest/query/operations/query.js +1 -1
  325. package/rest/support/Query.js +1 -1
  326. package/rest/support/RouteSolveResult.d.ts +2 -2
  327. package/rest/support/Stop.js +1 -1
  328. package/support/arcadeOnDemand.js +1 -1
  329. package/support/featureFlags.js +1 -1
  330. package/support/revision.js +1 -1
  331. package/symbols/LineStyleMarker3D.js +5 -0
  332. package/symbols/LineSymbol3DLayer.js +1 -1
  333. package/symbols/TextSymbol3DLayer.js +1 -1
  334. package/symbols/cim/CIMCursor.js +1 -1
  335. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  336. package/symbols/cim/effects/CIMEffectHelper.js +1 -1
  337. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  338. package/symbols/cim/effects/EffectOffset.js +1 -1
  339. package/symbols/cim/effects/EffectRotate.js +1 -1
  340. package/symbols/cim/placements/PlacementOnLine.js +1 -1
  341. package/symbols/cim/placements/PlacementPolygonCenter.js +1 -1
  342. package/symbols/support/Symbol3DTextBackground.js +1 -1
  343. package/symbols/support/lineMarkers.js +5 -0
  344. package/symbols/support/svgUtils.js +1 -1
  345. package/tasks/support/RouteSolveResult.d.ts +2 -2
  346. package/views/2d/engine/flow/BrushFlow.js +1 -1
  347. package/views/2d/engine/flow/FlowStyle.js +1 -1
  348. package/views/2d/engine/flow/FlowView2D.js +1 -1
  349. package/views/2d/engine/flow/dataUtils.js +1 -1
  350. package/views/2d/engine/flow/flowRendererUtils.js +1 -1
  351. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  352. package/views/2d/engine/vectorTiles/WorkerTile.js +1 -1
  353. package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
  354. package/views/2d/engine/webgl/mesh/templates/WGLBaseMarkerTemplate.js +1 -1
  355. package/views/2d/engine/webgl/mesh/templates/WGLBaseTextTemplate.js +1 -1
  356. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  357. package/views/2d/layers/BaseLayerView2D.js +1 -1
  358. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  359. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  360. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  361. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  362. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  363. package/views/2d/layers/LayerView2D.js +1 -1
  364. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  365. package/views/2d/layers/OGCFeatureLayerView2D.js +1 -1
  366. package/views/2d/layers/StreamLayerView2D.js +1 -1
  367. package/views/2d/layers/TileLayerView2D.js +1 -1
  368. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  369. package/views/2d/layers/WMSLayerView2D.js +1 -1
  370. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  371. package/views/2d/layers/features/Pipeline.js +1 -1
  372. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  373. package/views/2d/layers/features/controllers/support/sourceAdapters.js +1 -1
  374. package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
  375. package/views/2d/layers/features/sources/DataTileSubscription.js +1 -1
  376. package/views/2d/layers/features/sources/GeoEventSource.js +1 -1
  377. package/views/2d/layers/features/support/ClusterStore.js +1 -1
  378. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  379. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  380. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  381. package/views/2d/layers/features/support/FeatureSetReaderPBFIndirect.js +1 -1
  382. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  383. package/views/2d/layers/imagery/ImageryView2D.js +1 -1
  384. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  385. package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
  386. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  387. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  388. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  389. package/views/3d/layers/TileLayerView3D.js +1 -1
  390. package/views/3d/layers/TiledLayerView3D.js +1 -1
  391. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  392. package/views/3d/layers/WMSLayerView3D.js +1 -1
  393. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  394. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  395. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  396. package/views/3d/layers/graphics/sdfPrimitives.js +1 -1
  397. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  398. package/views/3d/support/debugFlags.js +1 -1
  399. package/views/3d/support/sunUtils.js +1 -1
  400. package/views/3d/terrain/terrainUtils.js +1 -1
  401. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +29 -19
  402. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  403. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  404. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  405. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  406. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +5 -0
  407. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  408. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  409. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +5 -0
  410. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +5 -0
  411. package/views/BasemapView.js +1 -1
  412. package/views/layers/ImageryTileLayerView.js +1 -1
  413. package/views/layers/OGCFeatureLayerView.js +1 -1
  414. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  415. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  416. package/widgets/BuildingExplorer.js +1 -1
  417. package/widgets/Daylight/DaylightViewModel.js +1 -1
  418. package/widgets/Daylight.js +1 -1
  419. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
  420. package/widgets/Directions/DirectionsViewModel.js +1 -1
  421. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  422. package/widgets/ElevationProfile.js +1 -1
  423. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  424. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  425. package/widgets/FeatureTable.js +1 -1
  426. package/widgets/LayerList.js +1 -1
  427. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  428. package/widgets/Popup.js +1 -1
  429. package/widgets/Sketch/SketchViewModel.js +1 -1
  430. package/widgets/Slice/SliceViewModel.js +1 -1
  431. package/widgets/Widget.js +1 -1
  432. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  433. package/widgets/support/InteractiveToolViewModel.js +1 -1
  434. package/assets/esri/core/workers/chunks/0cb2e5e3478edfa6d073.js +0 -1
  435. package/assets/esri/core/workers/chunks/0d9adefd00c44585be2e.js +0 -1
  436. package/assets/esri/core/workers/chunks/0e215fa28a0448169132.js +0 -1
  437. package/assets/esri/core/workers/chunks/101b4f02f0572afb666f.js +0 -1
  438. package/assets/esri/core/workers/chunks/14185259eafbc53473fb.js +0 -1
  439. package/assets/esri/core/workers/chunks/1571e8213feb518ff100.js +0 -1
  440. package/assets/esri/core/workers/chunks/17c51f5a13f471e6656a.js +0 -1
  441. package/assets/esri/core/workers/chunks/19902889b2a120e2d9ef.js +0 -1
  442. package/assets/esri/core/workers/chunks/1c8cc693696c16280390.js +0 -1
  443. package/assets/esri/core/workers/chunks/1f34957ef42e5b5977d0.js +0 -1
  444. package/assets/esri/core/workers/chunks/236de5f0476f6080ee62.js +0 -1
  445. package/assets/esri/core/workers/chunks/36de1a1959f038a61cca.js +0 -1
  446. package/assets/esri/core/workers/chunks/374c69d988feb1240ebb.js +0 -1
  447. package/assets/esri/core/workers/chunks/3a49e6620a32a46e10c9.js +0 -1
  448. package/assets/esri/core/workers/chunks/53438d38dbc49629acd1.js +0 -1
  449. package/assets/esri/core/workers/chunks/584bbb675ed225f68171.js +0 -1
  450. package/assets/esri/core/workers/chunks/585a69096b9e9ca33608.js +0 -1
  451. package/assets/esri/core/workers/chunks/5a90d121ba79613cc2aa.js +0 -1
  452. package/assets/esri/core/workers/chunks/6879b57330757c5883d9.js +0 -1
  453. package/assets/esri/core/workers/chunks/6a2b8d6a9bada45ab66d.js +0 -1
  454. package/assets/esri/core/workers/chunks/73e6ff4699589b961818.js +0 -1
  455. package/assets/esri/core/workers/chunks/7a8764ae8a0041e1151d.js +0 -2
  456. package/assets/esri/core/workers/chunks/8325b577f52936f86cff.js +0 -1
  457. package/assets/esri/core/workers/chunks/8804b8489eeab888275b.js +0 -1
  458. package/assets/esri/core/workers/chunks/8a1d5db485e622429271.js +0 -1
  459. package/assets/esri/core/workers/chunks/8cdcecfa93bbcad6affb.js +0 -1
  460. package/assets/esri/core/workers/chunks/90c5edcd8a609224ce55.js +0 -1
  461. package/assets/esri/core/workers/chunks/90de2b0966247a9e700e.js +0 -1
  462. package/assets/esri/core/workers/chunks/918bb7a7d901544a7367.js +0 -1
  463. package/assets/esri/core/workers/chunks/921fce2b51cfde358a31.js +0 -1
  464. package/assets/esri/core/workers/chunks/949b2269457302ffc64b.js +0 -1
  465. package/assets/esri/core/workers/chunks/9614e54fbfdd27eba344.js +0 -1
  466. package/assets/esri/core/workers/chunks/96184c633c544ba3a2cd.js +0 -1
  467. package/assets/esri/core/workers/chunks/996d6ae7f2e2273f9bce.js +0 -1
  468. package/assets/esri/core/workers/chunks/9d5d7f07fd010cb3488a.js +0 -1
  469. package/assets/esri/core/workers/chunks/9f3cbf5a5327d4402235.js +0 -1
  470. package/assets/esri/core/workers/chunks/9fbc7d2e0326be41b382.js +0 -1
  471. package/assets/esri/core/workers/chunks/a363fb40096679b011f6.js +0 -1
  472. package/assets/esri/core/workers/chunks/a3f3d7b9ed429bdda821.js +0 -1
  473. package/assets/esri/core/workers/chunks/a6072e7bac93fdd0e46a.js +0 -1
  474. package/assets/esri/core/workers/chunks/a763c11d2b02b3ec36ad.js +0 -1
  475. package/assets/esri/core/workers/chunks/a78757b9c7e8cbea08fa.js +0 -1
  476. package/assets/esri/core/workers/chunks/a9efb5793866cd905012.js +0 -1
  477. package/assets/esri/core/workers/chunks/ad7e9553d03a43573a54.js +0 -1
  478. package/assets/esri/core/workers/chunks/b6c55bdd8c957b062bc1.js +0 -1
  479. package/assets/esri/core/workers/chunks/b97953694f42bfec1b3c.js +0 -1
  480. package/assets/esri/core/workers/chunks/b9bc9913dc063d08020c.js +0 -1
  481. package/assets/esri/core/workers/chunks/bf451f2c5c1d6a328fb8.js +0 -1
  482. package/assets/esri/core/workers/chunks/c1a70f025e90d97fac6d.js +0 -1
  483. package/assets/esri/core/workers/chunks/c5f524d966e134250a45.js +0 -1
  484. package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +0 -1
  485. package/assets/esri/core/workers/chunks/cc2a420727fcb496b95f.js +0 -1
  486. package/assets/esri/core/workers/chunks/d09a0b2dc3a6fc10fa41.js +0 -1
  487. package/assets/esri/core/workers/chunks/d304fe0ac836afd46e3d.js +0 -1
  488. package/assets/esri/core/workers/chunks/d53ad780789f4d9124ad.js +0 -1
  489. package/assets/esri/core/workers/chunks/d88cb7568e2f8ac9905b.js +0 -1
  490. package/assets/esri/core/workers/chunks/e17edd48179d41ddf1e7.js +0 -1
  491. package/assets/esri/core/workers/chunks/e323086de328a164f7f0.js +0 -1
  492. package/assets/esri/core/workers/chunks/e522adbf821858c4f984.js +0 -1
  493. package/assets/esri/core/workers/chunks/e7206707f640dc97806f.js +0 -1
  494. package/assets/esri/core/workers/chunks/e8739d0218f4355fe0be.js +0 -1
  495. package/assets/esri/core/workers/chunks/f0e5c82e9c4fbe3c9d0a.js +0 -1
  496. package/assets/esri/core/workers/chunks/f96b24c075771d028e20.js +0 -1
  497. package/assets/esri/core/workers/chunks/fe635f6dcfb146d80e89.js +0 -1
package/Color.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.23/esri/copyright.txt for details.
4
4
  */
5
- import{hsla2rgba as t,isNamedColor as r,getNamedColor as s}from"./colorUtils.js";import{clamp as i}from"./core/mathUtils.js";import{isSome as e}from"./core/maybe.js";import{ensureInteger as n}from"./core/accessorSupport/ensureType.js";function a(t){return i(n(t),0,255)}function o(t,r,s){return t=Number(t),isNaN(t)?s:t<r?r:t>s?s:t}class h{constructor(t){this.r=255,this.g=255,this.b=255,this.a=1,t&&this.setColor(t)}static blendColors(t,r,s,i=new h){return i.r=Math.round(t.r+(r.r-t.r)*s),i.g=Math.round(t.g+(r.g-t.g)*s),i.b=Math.round(t.b+(r.b-t.b)*s),i.a=t.a+(r.a-t.a)*s,i._sanitize()}static fromRgb(r,s){const i=r.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(i){const r=i[2].split(/\s*,\s*/),e=i[1];if("rgb"===e&&3===r.length||"rgba"===e&&4===r.length){const t=r[0];if("%"===t.charAt(t.length-1)){const t=r.map((t=>2.56*parseFloat(t)));return 4===r.length&&(t[3]=parseFloat(r[3])),h.fromArray(t,s)}return h.fromArray(r.map((t=>parseFloat(t))),s)}if("hsl"===e&&3===r.length||"hsla"===e&&4===r.length)return h.fromArray(t(parseFloat(r[0]),parseFloat(r[1])/100,parseFloat(r[2])/100,parseFloat(r[3])),s)}return null}static fromHex(t,r=new h){if(4!==t.length&&7!==t.length||"#"!==t[0])return null;const s=4===t.length?4:8,i=(1<<s)-1;let e=Number("0x"+t.substr(1));return isNaN(e)?null:(["b","g","r"].forEach((t=>{const n=e&i;e>>=s,r[t]=4===s?17*n:n})),r.a=1,r)}static fromArray(t,r=new h){return r._set(Number(t[0]),Number(t[1]),Number(t[2]),Number(t[3])),isNaN(r.a)&&(r.a=1),r._sanitize()}static fromString(t,i){const e=r(t)?s(t):null;return e&&h.fromArray(e,i)||h.fromRgb(t,i)||h.fromHex(t,i)}static fromJSON(t){return t&&new h([t[0],t[1],t[2],t[3]/255])}static toUnitRGB(t){return e(t)?[t.r/255,t.g/255,t.b/255]:null}static toUnitRGBA(t){return e(t)?[t.r/255,t.g/255,t.b/255,null!=t.a?t.a:1]:null}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(t){if("string"==typeof t)h.fromString(t,this);else if(Array.isArray(t))h.fromArray(t,this);else{var r,s,i,e;this._set(null!=(r=t.r)?r:0,null!=(s=t.g)?s:0,null!=(i=t.b)?i:0,null!=(e=t.a)?e:1),t instanceof h||this._sanitize()}return this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(){const t=this.r.toString(16),r=this.g.toString(16),s=this.b.toString(16);return`#${t.length<2?"0"+t:t}${r.length<2?"0"+r:r}${s.length<2?"0"+s:s}`}toCss(t=!1){const r=this.r+", "+this.g+", "+this.b;return t?`rgba(${r}, ${this.a})`:`rgb(${r})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(t=h.AlphaMode.ALWAYS){const r=a(this.r),s=a(this.g),i=a(this.b);return t===h.AlphaMode.ALWAYS||1!==this.a?[r,s,i,a(255*this.a)]:[r,s,i]}clone(){return new h(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}_sanitize(){return this.r=Math.round(o(this.r,0,255)),this.g=Math.round(o(this.g,0,255)),this.b=Math.round(o(this.b,0,255)),this.a=o(this.a,0,1),this}_set(t,r,s,i){this.r=t,this.g=r,this.b=s,this.a=i}}h.prototype.declaredClass="esri.Color",function(t){var r;(r=t.AlphaMode||(t.AlphaMode={}))[r.ALWAYS=0]="ALWAYS",r[r.UNLESS_OPAQUE=1]="UNLESS_OPAQUE"}(h||(h={}));const l=h;export{l as default};
5
+ import{hsla2rgba as t,isNamedColor as r,getNamedColor as s}from"./colorUtils.js";import{clamp as i}from"./core/mathUtils.js";import{isSome as e}from"./core/maybe.js";import{ensureInteger as n}from"./core/accessorSupport/ensureType.js";function a(t){return i(n(t),0,255)}function o(t,r,s){return t=Number(t),isNaN(t)?s:t<r?r:t>s?s:t}class h{constructor(t){this.r=255,this.g=255,this.b=255,this.a=1,t&&this.setColor(t)}static blendColors(t,r,s,i=new h){return i.r=Math.round(t.r+(r.r-t.r)*s),i.g=Math.round(t.g+(r.g-t.g)*s),i.b=Math.round(t.b+(r.b-t.b)*s),i.a=t.a+(r.a-t.a)*s,i._sanitize()}static fromRgb(r,s){const i=r.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(i){const r=i[2].split(/\s*,\s*/),e=i[1];if("rgb"===e&&3===r.length||"rgba"===e&&4===r.length){const t=r[0];if("%"===t.charAt(t.length-1)){const t=r.map((t=>2.56*parseFloat(t)));return 4===r.length&&(t[3]=parseFloat(r[3])),h.fromArray(t,s)}return h.fromArray(r.map((t=>parseFloat(t))),s)}if("hsl"===e&&3===r.length||"hsla"===e&&4===r.length)return h.fromArray(t(parseFloat(r[0]),parseFloat(r[1])/100,parseFloat(r[2])/100,parseFloat(r[3])),s)}return null}static fromHex(t,r=new h){if(4!==t.length&&7!==t.length||"#"!==t[0])return null;const s=4===t.length?4:8,i=(1<<s)-1;let e=Number("0x"+t.substr(1));return isNaN(e)?null:(["b","g","r"].forEach((t=>{const n=e&i;e>>=s,r[t]=4===s?17*n:n})),r.a=1,r)}static fromArray(t,r=new h){return r._set(Number(t[0]),Number(t[1]),Number(t[2]),Number(t[3])),isNaN(r.a)&&(r.a=1),r._sanitize()}static fromString(t,i){const e=r(t)?s(t):null;return e&&h.fromArray(e,i)||h.fromRgb(t,i)||h.fromHex(t,i)}static fromJSON(t){return t&&new h([t[0],t[1],t[2],t[3]/255])}static toUnitRGB(t){return e(t)?[t.r/255,t.g/255,t.b/255]:null}static toUnitRGBA(t){return e(t)?[t.r/255,t.g/255,t.b/255,null!=t.a?t.a:1]:null}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(t){if("string"==typeof t)h.fromString(t,this);else if(Array.isArray(t))h.fromArray(t,this);else{var r,s,i,e;this._set(null!=(r=t.r)?r:0,null!=(s=t.g)?s:0,null!=(i=t.b)?i:0,null!=(e=t.a)?e:1),t instanceof h||this._sanitize()}return this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(){const t=this.r.toString(16),r=this.g.toString(16),s=this.b.toString(16);return`#${t.length<2?"0"+t:t}${r.length<2?"0"+r:r}${s.length<2?"0"+s:s}`}toCss(t=!1){const r=this.r+", "+this.g+", "+this.b;return t?`rgba(${r}, ${this.a})`:`rgb(${r})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(t=h.AlphaMode.ALWAYS){const r=a(this.r),s=a(this.g),i=a(this.b);return t===h.AlphaMode.ALWAYS||1!==this.a?[r,s,i,a(255*this.a)]:[r,s,i]}clone(){return new h(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(t){return e(t)&&t.r===this.r&&t.g===this.g&&t.b===this.b&&t.a===this.a}_sanitize(){return this.r=Math.round(o(this.r,0,255)),this.g=Math.round(o(this.g,0,255)),this.b=Math.round(o(this.b,0,255)),this.a=o(this.a,0,1),this}_set(t,r,s,i){this.r=t,this.g=r,this.b=s,this.a=i}}h.prototype.declaredClass="esri.Color",function(t){var r;(r=t.AlphaMode||(t.AlphaMode={}))[r.ALWAYS=0]="ALWAYS",r[r.UNLESS_OPAQUE=1]="UNLESS_OPAQUE"}(h||(h={}));const l=h;export{l 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.23/esri/copyright.txt for details.
4
4
  */
5
- import t from"./ImmutableArray.js";import{i as s,j as i,f as r,s as e,u as n,w as o,x as a,t as u,y as c,d as l,n as f,z as h,a as b}from"../chunks/languageUtils.js";import{all as m,resolve as y}from"../core/promiseUtils.js";import d from"../geometry/Geometry.js";function w(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(w(i,e));return s}const n=new g;n.immutable=!1;for(const s of Object.keys(t)){const i=t[s];void 0!==i&&n.setField(s,w(i,e))}return n.immutable=e,n}class g{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof g?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 o in this.attributes){""!==n&&(n+=",");const a=this.attributes[o];null==a?n+=JSON.stringify(o)+":null":s(a)||i(a)||r(a)?n+=JSON.stringify(o)+":"+JSON.stringify(a):a instanceof d||a instanceof t||a instanceof Array?n+=JSON.stringify(o)+":"+e(a):a instanceof Date?n+=JSON.stringify(o)+":"+JSON.stringify(a):null!==a&&"object"==typeof a&&void 0!==a.castToText&&(n+=JSON.stringify(o)+":"+a.castToText())}return"{"+n+"}"}static convertObjectToArcadeDictionary(t,s=!0){const i=new g;i.immutable=!1;for(const r in t){const s=t[r];void 0!==s&&i.setField(r.toString(),w(s))}return i.immutable=s,i}static convertJsonToArcade(t,s=!1){return w(t,s)}castAsJson(t=null){const s={};for(let i in this.attributes){const r=this.attributes[i];void 0!==r&&(null!=t&&t.keyTranslate&&(i=t.keyTranslate(i)),s[i]=n(r,t))}return s}castDictionaryValueAsJsonAsync(t,s,i,r=null,e){return o(i,r,e).then((i=>(t[s]=i,i)))}castAsJsonAsync(t=null,s=null){const i={},r=[];for(let e in this.attributes){const o=this.attributes[e];null!=s&&s.keyTranslate&&(e=s.keyTranslate(e)),void 0!==o&&(a(o)||o instanceof d||o instanceof Date?i[e]=n(o,s):r.push(this.castDictionaryValueAsJsonAsync(i,e,o,t,s)))}return r.length>0?m(r).then((()=>i)):y(i)}}export{g as default};
5
+ import t from"./ImmutableArray.js";import{i as s,j as i,f as r,u as e,w as n,x as o,y as a,t as u,z as c,d as l,o as f,A as h,a as b}from"../chunks/languageUtils.js";import{all as m,resolve as y}from"../core/promiseUtils.js";import d from"../geometry/Geometry.js";function w(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(w(i,e));return s}const n=new g;n.immutable=!1;for(const s of Object.keys(t)){const i=t[s];void 0!==i&&n.setField(s,w(i,e))}return n.immutable=e,n}class g{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof g?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 o in this.attributes){""!==n&&(n+=",");const a=this.attributes[o];null==a?n+=JSON.stringify(o)+":null":s(a)||i(a)||r(a)?n+=JSON.stringify(o)+":"+JSON.stringify(a):a instanceof d||a instanceof t||a instanceof Array?n+=JSON.stringify(o)+":"+e(a):a instanceof Date?n+=JSON.stringify(o)+":"+JSON.stringify(a):null!==a&&"object"==typeof a&&void 0!==a.castToText&&(n+=JSON.stringify(o)+":"+a.castToText())}return"{"+n+"}"}static convertObjectToArcadeDictionary(t,s=!0){const i=new g;i.immutable=!1;for(const r in t){const s=t[r];void 0!==s&&i.setField(r.toString(),w(s))}return i.immutable=s,i}static convertJsonToArcade(t,s=!1){return w(t,s)}castAsJson(t=null){const s={};for(let i in this.attributes){const r=this.attributes[i];void 0!==r&&(null!=t&&t.keyTranslate&&(i=t.keyTranslate(i)),s[i]=n(r,t))}return s}castDictionaryValueAsJsonAsync(t,s,i,r=null,e){return o(i,r,e).then((i=>(t[s]=i,i)))}castAsJsonAsync(t=null,s=null){const i={},r=[];for(let e in this.attributes){const o=this.attributes[e];null!=s&&s.keyTranslate&&(e=s.keyTranslate(e)),void 0!==o&&(a(o)||o instanceof d||o instanceof Date?i[e]=n(o,s):r.push(this.castDictionaryValueAsJsonAsync(i,e,o,t,s)))}return r.length>0?m(r).then((()=>i)):y(i)}}export{g 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.23/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,s as a,x as o,n,A as l,B as u,C as h,u as f}from"../chunks/languageUtils.js";import{resolve as y}from"../core/promiseUtils.js";import d from"../geometry/Geometry.js";import _ from"../geometry/Point.js";import{fromJSON as c}from"../geometry/support/jsonUtils.js";import{esriFieldToJson as m,layerGeometryEsriRestConstants as p}from"./featureset/support/shared.js";import{convertToGeometry as b}from"../layers/graphics/featureConversionUtils.js";import{isSome as g,unwrap as x}from"../core/maybe.js";class F{constructor(){this.declaredClass="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 F;return e._geometry=g(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 F;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 F;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 F;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=F.parseGeometryFromDictionary(i._geometry):i._geometry instanceof d||(i._geometry=null)),i}static createFromGraphicLikeObject(t,e,i=null){const s=new F;return null===e&&(e={}),s.attributes=e,s._geometry=g(t)?t:null,s._layer=i,s._layer&&(s._datesfixed=!1),s._adapter=null,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}repurposeFromAdapter(t,e=null){this._adapter=t,this._layer=e}castToText(){if(this._adapter)return this._adapter.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 d||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 this._adapter?this._adapter.geometry():(null===this._geometry||this._geometry instanceof d||(this._optimizedGeomDefinition?(this._geometry=x(c(b(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM))),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=x(c(this._geometry))),this._geometry)}field(t){if(this._adapter)return this._adapter.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}_field(t){var e;if(this._adapter)return null!=(e=this._adapter.field(t))?e:null;!1===this._datesfixed&&this._fixDates();const i=t.toLowerCase(),s=this.attributes[t];if(void 0!==s)return s;for(const r in this.attributes)if(r.toLowerCase()===i)return this.attributes[r];return null}setField(t,e){if(this.immutable)throw new Error("Feature is Immutable");if(!1===o(e))throw new Error("Illegal Value Assignment to Feature");if(this._adapter)return void this._adapter.setField(t,e);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){if(this._adapter)return this._adapter.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(){if(this._adapter)return this._adapter.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=F._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)),c(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 _?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 _?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=F._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=c(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 F.createFromGraphicLikeObject(e,a,null)}fullDomain(t,e){if(null===this._layer)return null;if(!this._layer.fields)return null;return l(t,this._layer,this,e)}subtypes(){return null===this._layer?null:this._layer.fields&&this._layer.typeIdField?{subtypeField:this._layer.typeIdField,subtypes:this._layer.types?this._layer.types.map((t=>({name:t.name,code:t.id}))):[]}:null}domainValueLookup(t,e,i){if(null===this._layer)return null;if(!this._layer.fields)return null;const s=l(t,this._layer,this,i);if(void 0===e)try{e=this.field(t)}catch(r){return null}return u(s,e)}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}domainCodeLookup(t,e,i){if(null===this._layer)return null;if(!this._layer.fields)return null;if(void 0===e){try{e=this.field(t)}catch(r){return null}return e}const s=l(t,this._layer,this,i);return h(s,e)}schema(){if(null===this._layer)return null;if(!this._layer.fields)return null;const t=[];for(const e of this._layer.fields)t.push(m(e));return{objectIdField:this._layer.objectIdField,globalIdField:this._layer.globalIdField,geometryType:void 0===p[this._layer.geometryType]?"":p[this._layer.geometryType],fields:t}}castAsJson(t=null){const e={attributes:{},geometry:!0===(null==t?void 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]=f(s,t))}return e}castAsJsonAsync(t=null,e=null){return y(this.castAsJson(e))}}export{F as default};
5
+ import t from"./Dictionary.js";import e from"./ImmutableArray.js";import{i,j as s,f as r,u as o,y as a,o as n,w as l}from"../chunks/languageUtils.js";import{resolve as u}from"../core/promiseUtils.js";import h from"../geometry/Geometry.js";import f from"../geometry/Point.js";import{fromJSON as y}from"../geometry/support/jsonUtils.js";import{convertToGeometry as c}from"../layers/graphics/featureConversionUtils.js";import{isSome as m,unwrap as d}from"../core/maybe.js";class _{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 _;return e._geometry=m(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 _;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 _;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 _;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=_.parseGeometryFromDictionary(i._geometry):i._geometry instanceof h||(i._geometry=null)),i}static createFromGraphicLikeObject(t,e,i=null){const s=new _;return null===e&&(e={}),s.attributes=e,s._geometry=m(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 a in this.attributes){""!==t&&(t+=",");const n=this.attributes[a];null==n?t+=JSON.stringify(a)+":null":i(n)||s(n)||r(n)?t+=JSON.stringify(a)+":"+JSON.stringify(n):n instanceof h||n instanceof e||n instanceof Array?t+=JSON.stringify(a)+":"+o(n):n instanceof Date?t+=JSON.stringify(a)+":"+JSON.stringify(n):null!==n&&"object"==typeof n&&void 0!==n.castToText&&(t+=JSON.stringify(a)+":"+n.castToText())}return'{"geometry":'+(null===this.geometry()?"null":o(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 h||(this._optimizedGeomDefinition?(this._geometry=d(y(c(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM))),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=d(y(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===a(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=_._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)),y(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 o=0;o<t.length;o++){const a=t[o];a instanceof f?i&&s?r.push([a.x,a.y,a.z,a.m]):i?r.push([a.x,a.y,a.z]):s?r.push([a.x,a.y,a.m]):r.push([a.x,a.y]):a instanceof e?r.push(a.toArray()):r.push(a)}else if(t instanceof e)for(let o=0;o<t.length();o++){const a=t.get(o);a instanceof f?i&&s?r.push([a.x,a.y,a.z,a.m]):i?r.push([a.x,a.y,a.z]):s?r.push([a.x,a.y,a.m]):r.push([a.x,a.y]):a instanceof e?r.push(a.toArray()):r.push(a)}return r}static _convertDictionaryToJson(e,i=!1){const s={};for(const r in e.attributes){let o=e.attributes[r];o instanceof t&&(o=_._convertDictionaryToJson(o)),i?s[r.toLowerCase()]=o:s[r]=o}return s}static parseAttributesFromDictionary(t){const e={};for(const i in t.attributes){const s=t.attributes[i];if(!a(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=y(t.geometry));const o={};if(null!==t.attributes&&void 0!==t.attributes)for(const a in t.attributes){const e=t.attributes[a];if(null===e)o[a]=e;else{if(!(r(e)||s(e)||i(e)||n(e)))throw new Error("Illegal Argument");o[a]=e}}return _.createFromGraphicLikeObject(e,o,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===(null==t?void 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}castAsJsonAsync(t=null,e){return u(this.castAsJson(e))}}export{_ 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.23/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 c from"./ImmutablePointArray.js";import{p as i,i as s,e as l,N as u,d as f,m as h,v as p,k as d,a as m,f as g,b as y,o as E,j as w,R as v,c as N,t as I,I as b,g as S,h as T,n as R,q as O,r as A}from"../chunks/languageUtils.js";import{nodeErrorMessage as U,addFunctionDeclaration as C,findFieldLiterals as F,validateScript as M,referencesMember as x,referencesFunction as P,findFunctionCalls as D}from"./treeAnalysis.js";import{reduceArrayWithPromises as k}from"./featureset/support/shared.js";import{A as j}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as _}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as B}from"./functions/maths.js";import{registerFunctions as Y}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import{create as z,all as q,reject as H,resolve as Z}from"../core/promiseUtils.js";import W from"../geometry/Extent.js";import K from"../geometry/Geometry.js";import X from"../geometry/Multipoint.js";import J from"../geometry/Point.js";import Q from"../geometry/Polygon.js";import $ from"../geometry/Polyline.js";import ee from"../geometry/SpatialReference.js";function te(e){return e&&"function"==typeof e.then}const re=100;function ne(e){return e instanceof Error?H(e):H(new Error(e))}function oe(e){return Z(e)}function ae(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(se(e,t.arguments[n]));return q(r)}function ce(e,t,r){return z(((n,o)=>{if(!0===t.preparsed)return n(r(e,null,t.arguments));ae(e,t).then((a=>{try{n(r(e,t,a))}catch(c){o(c)}}),o)}))}function ie(e,t,r){try{if(!0===t.preparsed){const n=r(e,null,t.arguments);return te(n)?n:Z(n)}return ae(e,t).then((n=>{try{const o=r(e,t,n);return te(o)?o:Z(o)}catch(o){return ne(o)}}))}catch(n){return ne(n)}}function se(e,t,r){try{if(t.breakpoint&&!0!==r){return t.breakpoint().then((()=>se(e,t,!0)))}switch(t.type){case"VariableDeclarator":return Me(e,t);case"VariableDeclaration":return Fe(e,t,0);case"BlockStatement":return Oe(e,t);case"FunctionDeclaration":return Ce(e,t);case"ReturnStatement":return Ue(e,t);case"IfStatement":return Re(e,t);case"ExpressionStatement":return Te(e,t);case"UpdateExpression":return Ie(e,t);case"AssignmentExpression":return Se(e,t);case"ForStatement":return de(e,t);case"ForInStatement":return Ne(e,t);case"BreakStatement":return Z(d);case"EmptyStatement":return Z(p);case"ContinueStatement":return Z(h);case"TemplateElement":return Ye(e,t);case"TemplateLiteral":return Ge(e,t);case"Identifier":return Ve(e,t);case"MemberExpression":return De(e,t);case"Literal":return oe(t.value);case"CallExpression":return Be(e,t);case"UnaryExpression":return ke(e,t);case"BinaryExpression":return Le(e,t);case"LogicalExpression":return _e(e,t);case"ArrayExpression":return je(e,t);case"ObjectExpression":return le(e,t);case"Property":return ue(e,t);default:return ne(U(t,"RUNTIME","UNREOGNISED"))}}catch(n){return ne(n)}}function le(e,t){try{const n=[];for(let r=0;r<t.properties.length;r++)n.push(se(e,t.properties[r]));return q(n).then((e=>z((t=>{const n={};for(let r=0;r<e.length;r++){const t=e[r];if(N(t.value))throw new Error("Illegal Argument");if(!1===g(t.key))throw new Error("Illegal Argument");t.value===p?n[t.key.toString()]=null:n[t.key.toString()]=t.value}const o=new r(n);o.immutable=!1,t(o)}))))}catch(n){return ne(n)}}function ue(e,t){try{return se(e,t.value).then((r=>z((n=>{"Identifier"===t.key.type?n({key:t.key.name,value:r}):se(e,t.key).then((e=>{n({key:e,value:r})}))}))))}catch(r){return H(r)}}function fe(e,t,r){try{return se(e,t.body).then((n=>{try{return r.lastAction=n,r.lastAction===d||r.lastAction instanceof v?(r.testResult=!1,Z(r)):null!==t.update?se(e,t.update).then((()=>Z(r))):Z(r)}catch(o){return H(o)}}))}catch(n){return H(n)}}function he(e,t,r){try{return null!==t.test?se(e,t.test).then((n=>{try{return!0===e.abortSignal.aborted?H(new Error("Cancelled")):(r.testResult=n,!1===r.testResult?Z(r):!0!==r.testResult?H(new Error(U(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))):fe(e,t,r))}catch(o){return H(o)}})):fe(e,t,r)}catch(n){return H(n)}}function pe(e,t,r,n,o,a){try{he(e,t,r).then((()=>{try{!0===r.testResult?++a>re?(a=0,setTimeout((()=>{pe(e,t,r,n,o,a)}),0)):pe(e,t,r,n,o,a):r.lastAction instanceof v?n(r.lastAction):n(p)}catch(c){o(c)}}),(e=>{o(e)}))}catch(c){o(c)}}function de(e,t){try{return null!==t.init?se(e,t.init).then((()=>z(((r,n)=>{pe(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):z(((r,n)=>{pe(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return H(r)}}function me(e,t,r,n,o,a,c,i,s,l){try{if(n<=a)return void i(p);o.value="k"===c?r[a]:a,se(e,t.body).then((u=>{try{u instanceof v?i(u):u===d?i(p):++l>re?(l=0,setTimeout((()=>{me(e,t,r,n,o,a+1,c,i,s,l)}),0)):me(e,t,r,n,o,a+1,c,i,s,l)}catch(f){s(f)}}),(e=>{s(e)}))}catch(u){s(u)}}function ge(e,t,r,n,o,a,c,i,s){try{if(r.length()<=o)return void c(p);n.value="k"===a?r.get(o):o,se(e,t.body).then((l=>{l instanceof v?c(l):l===d?c(p):++s>re?(s=0,setTimeout((()=>{ge(e,t,r,n,o+1,a,c,i,s)}),0)):ge(e,t,r,n,o+1,a,c,i,s)}),(e=>{i(e)}))}catch(l){i(l)}}function ye(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);me(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(c){n.reject(c)}}function Ee(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ge(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(c){n.reject(c)}}function we(e,t,r,n,o){try{ye(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function ve(e,t,r,o,a,c,i,s){try{e.next().then((l=>{try{if(null===l)c(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;se(t,r.body).then((n=>{try{n===d?c(p):n instanceof v?c(n):++s>re?(s=0,setTimeout((()=>{ve(e,t,r,o,a,c,i,s)}),0)):ve(e,t,r,o,a,c,i,s)}catch(l){i(l)}}),(e=>{i(e)}))}}catch(u){i(u)}}),(e=>{i(e)}))}catch(l){i(l)}}function Ne(e,t){return z(((o,a)=>{se(e,t.right).then((c=>{try{let i=null;i="VariableDeclaration"===t.left.type?se(e,t.left):Z(),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(U(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 a(new Error(U(t,"RUNTIME","VARIABLENOTDECLARED")));m(c)||g(c)?ye(e,t,c,{reject:a,resolve:o},s):y(c)?Ee(e,t,c,{reject:a,resolve:o},s):c instanceof r||c instanceof n?we(e,t,c,{reject:a,resolve:o},s):E(c)?ve(c.iterator(e.abortSignal),e,t,c,s,(e=>{o(e)}),(e=>{a(e)}),0):ye(e,t,[],{reject:a,resolve:o},s)}catch(i){a(i)}}),a)}catch(i){a(i)}}),a)}))}function Ie(e,t){try{const o=t.argument;if("MemberExpression"===o.type){const a={t:null};return se(e,o.object).then((t=>{let r=null;return a.t=t,!0===o.computed?r=se(e,o.property):"Identifier"===o.property.type&&(r=Z(o.property.name)),r})).then((e=>z((o=>{const c=a.t;let i;if(m(c)){if(!w(e))throw new Error("Invalid Parameter");if(e<0&&(e=c.length+e),e<0||e>=c.length)throw new Error("Assignment outside of array bounds");i=I(c[e]),c[e]="++"===t.operator?i+1:i-1}else if(c instanceof r){if(!1===g(e))throw new Error("Dictionary accessor must be a string");if(!0!==c.hasField(e))throw new Error("Invalid Parameter");i=I(c.field(e)),c.setField(e,"++"===t.operator?i+1:i-1)}else{if(!(c instanceof n))throw y(c)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===g(e))throw new Error("Feature accessor must be a string");if(!0!==c.hasField(e))throw new Error("Invalid Parameter");i=I(c.field(e)),c.setField(e,"++"===t.operator?i+1:i-1)}!1===t.prefix?o(i):o("++"===t.operator?i+1:i-1)}))))}return z(((r,n)=>{const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;return null!==e.localScope&&void 0!==e.localScope[o]?(a=I(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},void(!1===t.prefix?r(a):r("++"===t.operator?a+1:a-1))):void 0!==e.globalScope[o]?(a=I(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},void(!1===t.prefix?r(a):r("++"===t.operator?a+1:a-1))):void n(new Error("Variable not recognised"))}))}catch(o){return H(o)}}function be(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return I(r)/I(e);case"*=":return I(r)*I(e);case"-=":return I(r)-I(e);case"+=":return g(r)||g(e)?f(r)+f(e):I(r)+I(e);case"%=":return I(r)%I(e);default:throw new Error(U(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function Se(e,t){return z(((o,a)=>{const c=t.left;if("MemberExpression"===c.type)se(e,t.right).then((i=>{try{se(e,c.object).then((s=>{try{let l=null;if(!0===c.computed)l=se(e,c.property);else{if("Identifier"!==c.property.type)throw new Error("Expected computed or identifier for assignemnt target");l=Z(c.property.name)}l.then((e=>{try{if(m(s)){if(!w(e))throw new Error("Invalid Parameter");if(e<0&&(e=s.length+e),e<0||e>s.length)throw new Error("Assignment outside of array bounds");if(e===s.length){if("="!==t.operator)throw new Error("Invalid Parameter");s[e]=be(i,t.operator,s[e],t)}else s[e]=be(i,t.operator,s[e],t)}else if(s instanceof r){if(!1===g(e))throw new Error("Dictionary accessor must be a string");if(!0===s.hasField(e))s.setField(e,be(i,t.operator,s.field(e),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");s.setField(e,be(i,t.operator,null,t))}}else{if(!(s instanceof n))throw y(s)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===g(e))throw new Error("Feature accessor must be a string");if(!0===s.hasField(e))s.setField(e,be(i,t.operator,s.field(e),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");s.setField(e,be(i,t.operator,null,t))}}o(p)}catch(c){a(c)}}),a)}catch(l){a(l)}}),a)}catch(s){a(s)}}),a);else{const r=c.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r])return void se(e,t.right).then((n=>{try{e.localScope[r]={value:be(n,t.operator,e.localScope[r].value,t),valueset:!0,node:t.right},o(p)}catch(c){a(c)}}),a);void 0!==e.globalScope[r]?se(e,t.right).then((n=>{try{e.globalScope[r]={value:be(n,t.operator,e.globalScope[r].value,t),valueset:!0,node:t.right},o(p)}catch(c){a(c)}}),a):a(new Error("Cannot assign undeclared variable"))}}))}function Te(e,t){try{return"AssignmentExpression"===t.expression.type?se(e,t.expression):(t.expression.type,se(e,t.expression).then((e=>z((t=>{t(e===p?p:new b(e))})))))}catch(r){return H(r)}}function Re(e,t){return z(((r,n)=>{"AssignmentExpression"!==t.test.type&&"UpdateExpression"!==t.test.type?se(e,t.test).then((o=>{try{!0===o?se(e,t.consequent).then(r,n):!1===o?null!==t.alternate?se(e,t.alternate).then(r,n):r(p):n(new Error(U(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION")))}catch(a){n(a)}}),n):n(new Error(U(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION")))}))}function Oe(e,t){try{return Ae(e,t,0)}catch(r){return ne(r)}}function Ae(e,t,r){try{return r>=t.body.length?Z(p):z(((n,o)=>{se(e,t.body[r]).then((a=>{try{a instanceof v||a===d||a===h||r===t.body.length-1?n(a):Ae(e,t,r+1).then(n,o)}catch(c){o(c)}}),o)}))}catch(n){return ne(n)}}function Ue(e,t){return z(((r,n)=>{null===t.argument?r(new v(p)):se(e,t.argument).then((e=>{try{r(new v(e))}catch(t){n(t)}}),n)}))}function Ce(e,t){try{const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},Z(p)}catch(r){return ne(r)}}function Fe(e,t,r){return z(((n,o)=>{r>=t.declarations.length?n(p):se(e,t.declarations[r]).then((()=>{r===t.declarations.length-1?n(p):Fe(e,t,r+1).then((()=>{n(p)}),o)}),o)}))}function Me(e,t){try{let r=null;return r=null===t.init?Z(null):se(e,t.init),null!==e.localScope?r.then((r=>z((n=>{if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const o=t.id.name.toLowerCase();e.localScope[o]={value:r,valueset:!0,node:t.init},n(p)})))):r.then((r=>z((n=>{if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const o=t.id.name.toLowerCase();r===p&&(r=null),e.globalScope[o]={value:r,valueset:!0,node:t.init},n(p)}))))}catch(r){return ne(r)}}let xe=0;function Pe(e,t,n,o){let i;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&&(xe++,e.spatialReference._arcadeCacheId=xe,t=xe)}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":i=e.cache._arcadeCacheId,void 0===i&&(xe++,i=xe,e.cache._arcadeCacheId=i);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,i);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":i=e.cache._arcadeCacheId,void 0===i&&(xe++,i=xe,e.cache._arcadeCacheId=i);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,i);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":i=e.cache._arcadeCacheId,void 0===i&&(xe++,i=xe,e.cache._arcadeCacheId=i);return new c(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,i,1);case"type":return"Multipoint"}}throw new Error(U(o,"RUNTIME","PROPERTYNOTFOUND"))}function De(e,t){try{return se(e,t.object).then((o=>{try{return null===o?H(new Error(U(t,"RUNTIME","NOTFOUND"))):!1===t.computed?"Identifier"===t.property.type?o instanceof r||o instanceof n?Z(o.field(t.property.name)):o instanceof K?Z(Pe(o,t.property.name,e,t)):H(new Error(U(t,"RUNTIME","INVALIDTYPE"))):H(new Error(U(t,"RUNTIME","INVALIDTYPE"))):se(e,t.property).then((a=>z(((c,i)=>{if(o instanceof r||o instanceof n)g(a)?c(o.field(a)):i(new Error(U(t,"RUNTIME","INVALIDTYPE")));else if(o instanceof K)g(a)?c(Pe(o,a,e,t)):i(new Error(U(t,"RUNTIME","INVALIDTYPE")));else if(m(o))if(w(a)&&isFinite(a)&&Math.floor(a)===a){if(a<0&&(a=o.length+a),a>=o.length||a<0)throw new Error(U(t,"RUNTIME","OUTOFBOUNDS"));c(o[a])}else i(new Error(U(t,"RUNTIME","INVALIDTYPE")));else if(y(o))if(w(a)&&isFinite(a)&&Math.floor(a)===a){if(a<0&&(a=o.length()+a),a>=o.length()||a<0)throw new Error(U(t,"RUNTIME","OUTOFBOUNDS"));c(o.get(a))}else i(new Error(U(t,"RUNTIME","INVALIDTYPE")));else if(g(o))if(w(a)&&isFinite(a)&&Math.floor(a)===a){if(a<0&&(a=o.length+a),a>=o.length||a<0)throw new Error(U(t,"RUNTIME","OUTOFBOUNDS"));c(o[a])}else i(new Error(U(t,"RUNTIME","INVALIDTYPE")));else i(new Error(U(t,"RUNTIME","INVALIDTYPE")))}))))}catch(a){return ne(a)}}))}catch(o){return ne(o)}}function ke(e,t){try{return se(e,t.argument).then((e=>z(((r,n)=>{s(e)&&"!"===t.operator?r(!e):"-"===t.operator?r(-1*I(e)):"+"===t.operator?r(1*I(e)):"~"===t.operator?r(~I(e)):n(new Error(U(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR")))}))))}catch(r){return ne(r)}}function je(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++)r.push(se(e,t.elements[n]));return q(r).then((e=>z(((r,n)=>{for(let o=0;o<e.length;o++){if(N(e[o]))return void n(new Error(U(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL")));e[o]===p&&(e[o]=null)}r(e)}))))}catch(r){return ne(r)}}function Le(e,t){try{return q([se(e,t.left),se(e,t.right)]).then((e=>z(((r,n)=>{const o=e[0],a=e[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":r(T(I(o),I(a),t.operator));case"==":r(l(o,a));break;case"!=":r(!l(o,a));break;case"<":case">":case"<=":case">=":r(S(o,a,t.operator));break;case"+":g(o)||g(a)?r(f(o)+f(a)):r(I(o)+I(a));break;case"-":r(I(o)-I(a));break;case"*":r(I(o)*I(a));break;case"/":r(I(o)/I(a));break;case"%":r(I(o)%I(a));break;default:n(new Error(U(t,"RUNTIME","OPERATORNOTRECOGNISED")))}}))))}catch(r){return ne(r)}}function _e(e,t){return z(((r,n)=>{"AssignmentExpression"!==t.left.type&&"UpdateExpression"!==t.left.type?"AssignmentExpression"!==t.right.type&&"UpdateExpression"!==t.right.type?se(e,t.left).then((o=>{try{if(!s(o))throw new Error(U(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":!0===o?r(o):se(e,t.right).then((e=>{try{if(!s(e))throw new Error(U(t,"RUNTIME","ONLYORORAND"));r(e)}catch(o){n(o)}}),n);break;case"&&":!1===o?r(o):se(e,t.right).then((e=>{try{if(!s(e))throw new Error(U(t,"RUNTIME","ONLYORORAND"));r(e)}catch(o){n(o)}}),n);break;default:throw new Error(U(t,"RUNTIME","ONLYORORAND"))}}catch(a){n(a)}}),n):n(new Error(U(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"))):n(new Error(U(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION")))}))}function Ve(e,t){return z(((r,n)=>{const o=t.name.toLowerCase();if(null===e.localScope||void 0===e.localScope[o])if(void 0===e.globalScope[o])n(new Error(U(t,"RUNTIME","VARIABLENOTFOUND")));else{const t=e.globalScope[o];!0===t.valueset?r(t.value):null!==t.d?t.d.then(r,n):(t.d=se(e,t.node),t.d.then((e=>{try{t.value=e,t.valueset=!0,r(e)}catch(o){n(o)}}),n))}else{const t=e.localScope[o];!0===t.valueset?r(t.value):null!==t.d?t.d.then(r,n):(t.d=se(e,t.node),t.d.then((e=>{try{t.value=e,t.valueset=!0,r(e)}catch(o){n(o)}}),n))}}))}function Be(e,t){try{if("Identifier"!==t.callee.type)return ne(U(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];return r.value instanceof u?r.value.fn(e,t):r.value instanceof o?$e(e,t,r.value.definition):ne(U(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];return r.value instanceof u?r.value.fn(e,t):r.value instanceof o?$e(e,t,r.value.definition):ne(U(t,"RUNTIME","NOTAFUNCTION"))}return ne(U(t,"RUNTIME","NOTFOUND"))}catch(r){return ne(r)}}function Ye(e,t){return Z(t.value?t.value.cooked:"")}function Ge(e,t){return z((r=>{const n=[];k(t.expressions,((t,r,o,a)=>se(e,r).then((e=>{n[o]=f(e)})))).then((()=>{let e="",o=0;for(const r of t.quasis)if(e+=r.value?r.value.cooked:"",!1===r.tail){e+=n[o]?n[o]:"",o++}r(e)}))}))}const ze={};function qe(o){return null===o?"":m(o)||y(o)?"Array":R(o)?"Date":g(o)?"String":s(o)?"Boolean":w(o)?"Number":o instanceof t?"Attachment":o instanceof e?"Portal":o instanceof r?"Dictionary":o instanceof n?"Feature":o instanceof J?"Point":o instanceof Q?"Polygon":o instanceof $?"Polyline":o instanceof X?"Multipoint":o instanceof W?"Extent":N(o)?"Function":E(o)?"FeatureSet":O(o)?"FeatureSetCollection":o===p?"":"number"==typeof o&&isNaN(o)?"Number":"Unrecognised Type"}function He(e,t,r,n){return z(((o,a)=>{se(e,t.arguments[r]).then((c=>{try{if(l(c,n))return void se(e,t.arguments[r+1]).then(o,a);{const c=t.arguments.length-r;return 1===c?void se(e,t.arguments[r]).then(o,a):(2===c&&o(null),3===c?void se(e,t.arguments[r+2]).then(o,a):void He(e,t,r+2,n).then(o,a))}}catch(i){a(i)}}),a)}))}function Ze(e,t,r,n){return z(((o,a)=>{if(!0===n)se(e,t.arguments[r+1]).then(o,a);else{3===t.arguments.length-r?se(e,t.arguments[r+2]).then(o,a):se(e,t.arguments[r+2]).then((n=>{try{if(!1===s(n))return void a(new Error("WHEN needs boolean test conditions"));Ze(e,t,r+2,n).then(o,a)}catch(c){a(c)}}))}}))}function We(e,t){try{const r=e.length,n=Math.floor(r/2);return 0===r?Z([]):1===r?Z([e[0]]):z(((o,a)=>{const c=[We(e.slice(0,n),t),We(e.slice(n,r),t)];q(c).then((e=>{try{Ke(e[0],e[1],t,[]).then(o,a)}catch(r){a(r)}}),a)}))}catch(r){return ne(r)}}function Ke(e,t,r,n){return z(((o,a)=>{const c=n;e.length>0||t.length>0?e.length>0&&t.length>0?r(e[0],t[0]).then((i=>{try{isNaN(i)&&(i=1),i<=0?(c.push(e[0]),e=e.slice(1)):(c.push(t[0]),t=t.slice(1)),Ke(e,t,r,n).then(o,a)}catch(s){a(s)}}),a):e.length>0?(c.push(e[0]),Ke(e=e.slice(1),t,r,n).then(o,a)):t.length>0&&(c.push(t[0]),t=t.slice(1),Ke(e,t,r,n).then(o,a)):o(n)}))}function Xe(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]]:Je(Xe(e.slice(0,n),t),Xe(e.slice(n,r),t),t)}function Je(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}function Qe(e,t,r){try{const n=e.body;if(r.length!==e.params.length)return ne(new Error("Invalid Parameter calls to function."));for(let o=0;o<r.length;o++){const n=e.params[o];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[o],valueset:!0,node:null})}return se(t,n).then((e=>z(((t,r)=>{e instanceof v?t(e.value):e!==d?e!==h?t(e instanceof b?e.value:e):r(new Error("Cannot Continue from a Function")):r(new Error("Cannot Break from a Function"))}))))}catch(n){return H(n)}}function $e(e,t,r){return ie(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 Qe(r,a,o)}))}function et(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 Qe(e.definition,t,arguments)};return t}L(ze,ce),G(ze,ce),B(ze,ce),V(ze,ce),Y(ze,ce),_({functions:ze,compiled:!1,signatures:null,failDefferred:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ce,standardFunctionAsync:ie}),ze.typeof=function(e,t){return ce(e,t,(function(e,t,r){i(r,1,1);const n=qe(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},ze.iif=function(e,t){return z(((r,n)=>{i(null===t.arguments?[]:t.arguments,3,3),se(e,t.arguments[0]).then((o=>{try{if(!1===s(o))return void n(new Error("IF Function must have a boolean test condition"));q([se(e,t.arguments[1]),se(e,t.arguments[2])]).then((e=>{r(o?e[0]:e[1])}),n)}catch(a){n(a)}}),n)}))},ze.decode=function(e,t){return z(((r,n)=>{t.arguments.length<2?n(new Error("Missing Parameters")):2!==t.arguments.length?(t.arguments.length-1)%2!=0?se(e,t.arguments[0]).then((o=>{try{He(e,t,1,o).then(r,n)}catch(a){n(a)}}),n):n(new Error("Must have a default value result.")):se(e,t.arguments[1]).then(r,n)}))},ze.when=function(e,t){try{return t.arguments.length<3?ne("Missing Parameters"):t.arguments.length%2==0?ne("Must have a default value result."):se(e,t.arguments[0]).then((r=>z(((n,o)=>{if(!1===s(r))return void o(new Error("WHEN needs boolean test conditions"));Ze(e,t,0,r).then(n,o)}))))}catch(r){return ne(r)}},ze.sort=function(e,t){return ie(e,t,(function(e,t,r){i(r,1,2);let n=r[0];if(y(n)&&(n=n.toArray()),!1===m(n))return ne(Error("Illegal Argument"));if(r.length>1){if(!1===N(r[1]))return ne(Error("Illegal Argument"));return We(n,et(r[1]))}{let e=n;if(0===e.length)return Z([]);const t={};for(let n=0;n<e.length;n++){const r=qe(e[n]);""!==r&&(t[r]=!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 Z(e.slice(0));let r=0,o="";for(const n in t)r++,o=n;return r>1||"String"===o?e=Xe(e,(function(e,t){if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=f(e),n=f(t);return r<n?-1:r===n?0:1})):"Number"===o?e=Xe(e,(function(e,t){return e-t})):"Boolean"===o?e=Xe(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===o&&(e=Xe(e,(function(e,t){return t-e}))),Z(e)}}))};const tt={failDefferred:ne,resolveDeffered:oe,fixSpatialReference:A,parseArguments:ae,standardFunction:ce,standardFunctionAsync:ie,evaluateIdentifier:Ve,arcadeCustomFunction:et};for(const pt in ze)ze[pt]={value:new u(ze[pt]),valueset:!0,node:null};const rt=function(){};function nt(e,t){const o=new rt;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 ot(e){console.log(e)}rt.prototype=ze,rt.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},rt.prototype.pi={value:Math.PI,valueset:!0,node:null};const at=tt;function ct(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ce,standardFunctionAsync:ie,failDefferred:ne,evaluateIdentifier:Ve,arcadeCustomFunctionHandler:et};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)ze[r]={value:new u(t.functions[r]),valueset:!0,node:null},rt.prototype[r]=ze[r];for(let r=0;r<t.signatures.length;r++)C(t.signatures[r],"async")}function it(e,t){let r=t.spatialReference;null==r&&(r=new ee({wkid:102100}));const n=nt(t.vars,t.customfunctions);return se({spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:ot,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1},e.body[0].body).then((e=>z(((t,r)=>{e instanceof v&&(e=e.value),e instanceof b&&(e=e.value),e===p&&(e=null),e!==d?e!==h?e instanceof u||e instanceof o?r(new Error("Cannot return FUNCTION")):t(e):r(new Error("Cannot return CONTINUE")):r(new Error("Cannot return BREAK"))}))))}function st(e,t){return F(e)}function lt(e,t){return M(e,t,"full")}function ut(e,t){return x(e,t)}function ft(e,t){return P(e,t)}function ht(e){return D(e)}ct([j]);export{it as executeScript,ct as extend,st as extractFieldLiterals,ht as findFunctionCalls,at as functionHelper,ft as referencesFunction,ut as referencesMember,lt 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 c from"./ImmutablePointArray.js";import{p as i,i as s,e as l,N as u,d as f,n as h,v as p,m as d,a as m,f as g,b as y,k as E,q as w,j as v,R as N,c as I,t as b,I as S,g as T,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 k}from"./treeAnalysis.js";import{reduceArrayWithPromises as j}from"./featureset/support/shared.js";import{A as L}from"../chunks/array.js";import{registerFunctions as _}from"./functions/date.js";import{registerFunctions as V}from"./functions/geomasync.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{create as q,all as H,reject as Z,resolve as W}from"../core/promiseUtils.js";import K from"../geometry/Extent.js";import X from"../geometry/Geometry.js";import J from"../geometry/Multipoint.js";import Q from"../geometry/Point.js";import $ from"../geometry/Polygon.js";import ee from"../geometry/Polyline.js";import te from"../geometry/SpatialReference.js";function re(e){return e&&"function"==typeof e.then}const ne=100;function oe(e){return e instanceof Error?Z(e):Z(new Error(e))}function ae(e){return W(e)}function ce(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(le(e,t.arguments[n]));return H(r)}function ie(e,t,r){return q(((n,o)=>{if(!0===t.preparsed)return n(r(e,null,t.arguments));ce(e,t).then((a=>{try{n(r(e,t,a))}catch(c){o(c)}}),o)}))}function se(e,t,r){try{if(!0===t.preparsed){const n=r(e,null,t.arguments);return re(n)?n:W(n)}return ce(e,t).then((n=>{try{const o=r(e,t,n);return re(o)?o:W(o)}catch(o){return oe(o)}}))}catch(n){return oe(n)}}function le(e,t,r){try{if(t.breakpoint&&!0!==r){return t.breakpoint().then((()=>le(e,t,!0)))}switch(t.type){case"VariableDeclarator":return xe(e,t);case"VariableDeclaration":return Me(e,t,0);case"BlockStatement":return Ae(e,t);case"FunctionDeclaration":return Fe(e,t);case"ReturnStatement":return Ce(e,t);case"IfStatement":return Oe(e,t);case"ExpressionStatement":return Re(e,t);case"UpdateExpression":return be(e,t);case"AssignmentExpression":return Te(e,t);case"ForStatement":return me(e,t);case"ForInStatement":return Ie(e,t);case"BreakStatement":return W(d);case"EmptyStatement":return W(p);case"ContinueStatement":return W(h);case"TemplateElement":return Ge(e,t);case"TemplateLiteral":return ze(e,t);case"Identifier":return Be(e,t);case"MemberExpression":return ke(e,t);case"Literal":return ae(t.value);case"CallExpression":return Ye(e,t);case"UnaryExpression":return je(e,t);case"BinaryExpression":return _e(e,t);case"LogicalExpression":return Ve(e,t);case"ArrayExpression":return Le(e,t);case"ObjectExpression":return ue(e,t);case"Property":return fe(e,t);default:return oe(C(t,"RUNTIME","UNREOGNISED"))}}catch(n){return oe(n)}}function ue(e,t){try{const n=[];for(let r=0;r<t.properties.length;r++)n.push(le(e,t.properties[r]));return H(n).then((e=>q((t=>{const n={};for(let r=0;r<e.length;r++){const t=e[r];if(I(t.value))throw new Error("Illegal Argument");if(!1===g(t.key))throw new Error("Illegal Argument");t.value===p?n[t.key.toString()]=null:n[t.key.toString()]=t.value}const o=new r(n);o.immutable=!1,t(o)}))))}catch(n){return oe(n)}}function fe(e,t){try{return le(e,t.value).then((r=>q((n=>{"Identifier"===t.key.type?n({key:t.key.name,value:r}):le(e,t.key).then((e=>{n({key:e,value:r})}))}))))}catch(r){return Z(r)}}function he(e,t,r){try{return le(e,t.body).then((n=>{try{return r.lastAction=n,r.lastAction===d||r.lastAction instanceof N?(r.testResult=!1,W(r)):null!==t.update?le(e,t.update).then((()=>W(r))):W(r)}catch(o){return Z(o)}}))}catch(n){return Z(n)}}function pe(e,t,r){try{return null!==t.test?le(e,t.test).then((n=>{try{return!0===e.abortSignal.aborted?Z(new Error("Cancelled")):(r.testResult=n,!1===r.testResult?W(r):!0!==r.testResult?Z(new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))):he(e,t,r))}catch(o){return Z(o)}})):he(e,t,r)}catch(n){return Z(n)}}function de(e,t,r,n,o,a){try{pe(e,t,r).then((()=>{try{!0===r.testResult?++a>ne?(a=0,setTimeout((()=>{de(e,t,r,n,o,a)}),0)):de(e,t,r,n,o,a):r.lastAction instanceof N?n(r.lastAction):n(p)}catch(c){o(c)}}),(e=>{o(e)}))}catch(c){o(c)}}function me(e,t){try{return null!==t.init?le(e,t.init).then((()=>q(((r,n)=>{de(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):q(((r,n)=>{de(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Z(r)}}function ge(e,t,r,n,o,a,c,i,s,l){try{if(n<=a)return void i(p);o.value="k"===c?r[a]:a,le(e,t.body).then((u=>{try{u instanceof N?i(u):u===d?i(p):++l>ne?(l=0,setTimeout((()=>{ge(e,t,r,n,o,a+1,c,i,s,l)}),0)):ge(e,t,r,n,o,a+1,c,i,s,l)}catch(f){s(f)}}),(e=>{s(e)}))}catch(u){s(u)}}function ye(e,t,r,n,o,a,c,i,s){try{if(r.length()<=o)return void c(p);n.value="k"===a?r.get(o):o,le(e,t.body).then((l=>{l instanceof N?c(l):l===d?c(p):++s>ne?(s=0,setTimeout((()=>{ye(e,t,r,n,o+1,a,c,i,s)}),0)):ye(e,t,r,n,o+1,a,c,i,s)}),(e=>{i(e)}))}catch(l){i(l)}}function Ee(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ge(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(c){n.reject(c)}}function we(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ye(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(c){n.reject(c)}}function ve(e,t,r,n,o){try{Ee(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function Ne(e,t,r,o,a,c,i,s){try{e.next().then((l=>{try{if(null===l)c(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;le(t,r.body).then((n=>{try{n===d?c(p):n instanceof N?c(n):++s>ne?(s=0,setTimeout((()=>{Ne(e,t,r,o,a,c,i,s)}),0)):Ne(e,t,r,o,a,c,i,s)}catch(l){i(l)}}),(e=>{i(e)}))}}catch(u){i(u)}}),(e=>{i(e)}))}catch(l){i(l)}}function Ie(e,t){return q(((n,o)=>{le(e,t.right).then((a=>{try{let c=null;c="VariableDeclaration"===t.left.type?le(e,t.left):W(),c.then((()=>{try{let c="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(c=e.name)}else"Identifier"===t.left.type&&(c=t.left.name);if(!c)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));c=c.toLowerCase();let i=null;if(null!==e.localScope&&void 0!==e.localScope[c]&&(i=e.localScope[c]),null===i&&void 0!==e.globalScope[c]&&(i=e.globalScope[c]),null===i)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||g(a)?Ee(e,t,a,{reject:o,resolve:n},i):y(a)?we(e,t,a,{reject:o,resolve:n},i):a instanceof r||E(a)?ve(e,t,a,{reject:o,resolve:n},i):w(a)?Ne(a.iterator(e.abortSignal),e,t,a,i,(e=>{n(e)}),(e=>{o(e)}),0):Ee(e,t,[],{reject:o,resolve:n},i)}catch(c){o(c)}}),o)}catch(c){o(c)}}),o)}))}function be(e,t){try{const n=t.argument;if("MemberExpression"===n.type){const o={t:null};return le(e,n.object).then((t=>{let r=null;return o.t=t,!0===n.computed?r=le(e,n.property):"Identifier"===n.property.type&&(r=W(n.property.name)),r})).then((e=>q((n=>{const a=o.t;let c;if(m(a)){if(!v(e))throw new Error("Invalid Parameter");if(e<0&&(e=a.length+e),e<0||e>=a.length)throw new Error("Assignment outside of array bounds");c=b(a[e]),a[e]="++"===t.operator?c+1:c-1}else if(a instanceof r){if(!1===g(e))throw new Error("Dictionary accessor must be a string");if(!0!==a.hasField(e))throw new Error("Invalid Parameter");c=b(a.field(e)),a.setField(e,"++"===t.operator?c+1:c-1)}else{if(!E(a))throw y(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===g(e))throw new Error("Feature accessor must be a string");if(!0!==a.hasField(e))throw new Error("Invalid Parameter");c=b(a.field(e)),a.setField(e,"++"===t.operator?c+1:c-1)}!1===t.prefix?n(c):n("++"===t.operator?c+1:c-1)}))))}return q(((r,n)=>{const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;return null!==e.localScope&&void 0!==e.localScope[o]?(a=b(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},void(!1===t.prefix?r(a):r("++"===t.operator?a+1:a-1))):void 0!==e.globalScope[o]?(a=b(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},void(!1===t.prefix?r(a):r("++"===t.operator?a+1:a-1))):void n(new Error("Variable not recognised"))}))}catch(n){return Z(n)}}function Se(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return b(r)/b(e);case"*=":return b(r)*b(e);case"-=":return b(r)-b(e);case"+=":return g(r)||g(e)?f(r)+f(e):b(r)+b(e);case"%=":return b(r)%b(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function Te(e,t){return q(((n,o)=>{const a=t.left;if("MemberExpression"===a.type)le(e,t.right).then((c=>{try{le(e,a.object).then((i=>{try{let s=null;if(!0===a.computed)s=le(e,a.property);else{if("Identifier"!==a.property.type)throw new Error("Expected computed or identifier for assignemnt target");s=W(a.property.name)}s.then((e=>{try{if(m(i)){if(!v(e))throw new Error("Invalid Parameter");if(e<0&&(e=i.length+e),e<0||e>i.length)throw new Error("Assignment outside of array bounds");if(e===i.length){if("="!==t.operator)throw new Error("Invalid Parameter");i[e]=Se(c,t.operator,i[e],t)}else i[e]=Se(c,t.operator,i[e],t)}else if(i instanceof r){if(!1===g(e))throw new Error("Dictionary accessor must be a string");if(!0===i.hasField(e))i.setField(e,Se(c,t.operator,i.field(e),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");i.setField(e,Se(c,t.operator,null,t))}}else{if(!E(i))throw y(i)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===g(e))throw new Error("Feature accessor must be a string");if(!0===i.hasField(e))i.setField(e,Se(c,t.operator,i.field(e),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");i.setField(e,Se(c,t.operator,null,t))}}n(p)}catch(a){o(a)}}),o)}catch(s){o(s)}}),o)}catch(i){o(i)}}),o);else{const r=a.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r])return void le(e,t.right).then((a=>{try{e.localScope[r]={value:Se(a,t.operator,e.localScope[r].value,t),valueset:!0,node:t.right},n(p)}catch(c){o(c)}}),o);void 0!==e.globalScope[r]?le(e,t.right).then((a=>{try{e.globalScope[r]={value:Se(a,t.operator,e.globalScope[r].value,t),valueset:!0,node:t.right},n(p)}catch(c){o(c)}}),o):o(new Error("Cannot assign undeclared variable"))}}))}function Re(e,t){try{return"AssignmentExpression"===t.expression.type?le(e,t.expression):(t.expression.type,le(e,t.expression).then((e=>q((t=>{t(e===p?p:new S(e))})))))}catch(r){return Z(r)}}function Oe(e,t){return q(((r,n)=>{"AssignmentExpression"!==t.test.type&&"UpdateExpression"!==t.test.type?le(e,t.test).then((o=>{try{!0===o?le(e,t.consequent).then(r,n):!1===o?null!==t.alternate?le(e,t.alternate).then(r,n):r(p):n(new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION")))}catch(a){n(a)}}),n):n(new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION")))}))}function Ae(e,t){try{return Ue(e,t,0)}catch(r){return oe(r)}}function Ue(e,t,r){try{return r>=t.body.length?W(p):q(((n,o)=>{le(e,t.body[r]).then((a=>{try{a instanceof N||a===d||a===h||r===t.body.length-1?n(a):Ue(e,t,r+1).then(n,o)}catch(c){o(c)}}),o)}))}catch(n){return oe(n)}}function Ce(e,t){return q(((r,n)=>{null===t.argument?r(new N(p)):le(e,t.argument).then((e=>{try{r(new N(e))}catch(t){n(t)}}),n)}))}function Fe(e,t){try{const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},W(p)}catch(r){return oe(r)}}function Me(e,t,r){return q(((n,o)=>{r>=t.declarations.length?n(p):le(e,t.declarations[r]).then((()=>{r===t.declarations.length-1?n(p):Me(e,t,r+1).then((()=>{n(p)}),o)}),o)}))}function xe(e,t){try{let r=null;return r=null===t.init?W(null):le(e,t.init),null!==e.localScope?r.then((r=>q((n=>{if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const o=t.id.name.toLowerCase();e.localScope[o]={value:r,valueset:!0,node:t.init},n(p)})))):r.then((r=>q((n=>{if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const o=t.id.name.toLowerCase();r===p&&(r=null),e.globalScope[o]={value:r,valueset:!0,node:t.init},n(p)}))))}catch(r){return oe(r)}}let Pe=0;function De(e,t,n,o){let i;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&&(Pe++,e.spatialReference._arcadeCacheId=Pe,t=Pe)}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":i=e.cache._arcadeCacheId,void 0===i&&(Pe++,i=Pe,e.cache._arcadeCacheId=i);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,i);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":i=e.cache._arcadeCacheId,void 0===i&&(Pe++,i=Pe,e.cache._arcadeCacheId=i);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,i);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":i=e.cache._arcadeCacheId,void 0===i&&(Pe++,i=Pe,e.cache._arcadeCacheId=i);return new c(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,i,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}function ke(e,t){try{return le(e,t.object).then((n=>{try{return null===n?Z(new Error(C(t,"RUNTIME","NOTFOUND"))):!1===t.computed?"Identifier"===t.property.type?n instanceof r||E(n)?W(n.field(t.property.name)):n instanceof X?W(De(n,t.property.name,e,t)):Z(new Error(C(t,"RUNTIME","INVALIDTYPE"))):Z(new Error(C(t,"RUNTIME","INVALIDTYPE"))):le(e,t.property).then((o=>q(((a,c)=>{if(n instanceof r||E(n))g(o)?a(n.field(o)):c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(n instanceof X)g(o)?a(De(n,o,e,t)):c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(m(n))if(v(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"));a(n[o])}else c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(y(n))if(v(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"));a(n.get(o))}else c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(g(n))if(v(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"));a(n[o])}else c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else c(new Error(C(t,"RUNTIME","INVALIDTYPE")))}))))}catch(o){return oe(o)}}))}catch(n){return oe(n)}}function je(e,t){try{return le(e,t.argument).then((e=>q(((r,n)=>{s(e)&&"!"===t.operator?r(!e):"-"===t.operator?r(-1*b(e)):"+"===t.operator?r(1*b(e)):"~"===t.operator?r(~b(e)):n(new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR")))}))))}catch(r){return oe(r)}}function Le(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++)r.push(le(e,t.elements[n]));return H(r).then((e=>q(((r,n)=>{for(let o=0;o<e.length;o++){if(I(e[o]))return void n(new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL")));e[o]===p&&(e[o]=null)}r(e)}))))}catch(r){return oe(r)}}function _e(e,t){try{return H([le(e,t.left),le(e,t.right)]).then((e=>q(((r,n)=>{const o=e[0],a=e[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":r(R(b(o),b(a),t.operator));case"==":r(l(o,a));break;case"!=":r(!l(o,a));break;case"<":case">":case"<=":case">=":r(T(o,a,t.operator));break;case"+":g(o)||g(a)?r(f(o)+f(a)):r(b(o)+b(a));break;case"-":r(b(o)-b(a));break;case"*":r(b(o)*b(a));break;case"/":r(b(o)/b(a));break;case"%":r(b(o)%b(a));break;default:n(new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED")))}}))))}catch(r){return oe(r)}}function Ve(e,t){return q(((r,n)=>{"AssignmentExpression"!==t.left.type&&"UpdateExpression"!==t.left.type?"AssignmentExpression"!==t.right.type&&"UpdateExpression"!==t.right.type?le(e,t.left).then((o=>{try{if(!s(o))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":!0===o?r(o):le(e,t.right).then((e=>{try{if(!s(e))throw new Error(C(t,"RUNTIME","ONLYORORAND"));r(e)}catch(o){n(o)}}),n);break;case"&&":!1===o?r(o):le(e,t.right).then((e=>{try{if(!s(e))throw new Error(C(t,"RUNTIME","ONLYORORAND"));r(e)}catch(o){n(o)}}),n);break;default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}catch(a){n(a)}}),n):n(new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"))):n(new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION")))}))}function Be(e,t){return q(((r,n)=>{const o=t.name.toLowerCase();if(null===e.localScope||void 0===e.localScope[o])if(void 0===e.globalScope[o])n(new Error(C(t,"RUNTIME","VARIABLENOTFOUND")));else{const t=e.globalScope[o];!0===t.valueset?r(t.value):null!==t.d?t.d.then(r,n):(t.d=le(e,t.node),t.d.then((e=>{try{t.value=e,t.valueset=!0,r(e)}catch(o){n(o)}}),n))}else{const t=e.localScope[o];!0===t.valueset?r(t.value):null!==t.d?t.d.then(r,n):(t.d=le(e,t.node),t.d.then((e=>{try{t.value=e,t.valueset=!0,r(e)}catch(o){n(o)}}),n))}}))}function Ye(e,t){try{if("Identifier"!==t.callee.type)return oe(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];return r.value instanceof u?r.value.fn(e,t):r.value instanceof o?et(e,t,r.value.definition):oe(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];return r.value instanceof u?r.value.fn(e,t):r.value instanceof o?et(e,t,r.value.definition):oe(C(t,"RUNTIME","NOTAFUNCTION"))}return oe(C(t,"RUNTIME","NOTFOUND"))}catch(r){return oe(r)}}function Ge(e,t){return W(t.value?t.value.cooked:"")}function ze(e,t){return q((r=>{const n=[];j(t.expressions,((t,r,o,a)=>le(e,r).then((e=>{n[o]=f(e)})))).then((()=>{let e="",o=0;for(const r of t.quasis)if(e+=r.value?r.value.cooked:"",!1===r.tail){e+=n[o]?n[o]:"",o++}r(e)}))}))}const qe={};function He(n){return null===n?"":m(n)||y(n)?"Array":O(n)?"Date":g(n)?"String":s(n)?"Boolean":v(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Q?"Point":n instanceof $?"Polygon":n instanceof ee?"Polyline":n instanceof J?"Multipoint":n instanceof K?"Extent":I(n)?"Function":w(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Ze(e,t,r,n){return q(((o,a)=>{le(e,t.arguments[r]).then((c=>{try{if(l(c,n))return void le(e,t.arguments[r+1]).then(o,a);{const c=t.arguments.length-r;return 1===c?void le(e,t.arguments[r]).then(o,a):(2===c&&o(null),3===c?void le(e,t.arguments[r+2]).then(o,a):void Ze(e,t,r+2,n).then(o,a))}}catch(i){a(i)}}),a)}))}function We(e,t,r,n){return q(((o,a)=>{if(!0===n)le(e,t.arguments[r+1]).then(o,a);else{3===t.arguments.length-r?le(e,t.arguments[r+2]).then(o,a):le(e,t.arguments[r+2]).then((n=>{try{if(!1===s(n))return void a(new Error("WHEN needs boolean test conditions"));We(e,t,r+2,n).then(o,a)}catch(c){a(c)}}))}}))}function Ke(e,t){try{const r=e.length,n=Math.floor(r/2);return 0===r?W([]):1===r?W([e[0]]):q(((o,a)=>{const c=[Ke(e.slice(0,n),t),Ke(e.slice(n,r),t)];H(c).then((e=>{try{Xe(e[0],e[1],t,[]).then(o,a)}catch(r){a(r)}}),a)}))}catch(r){return oe(r)}}function Xe(e,t,r,n){return q(((o,a)=>{const c=n;e.length>0||t.length>0?e.length>0&&t.length>0?r(e[0],t[0]).then((i=>{try{isNaN(i)&&(i=1),i<=0?(c.push(e[0]),e=e.slice(1)):(c.push(t[0]),t=t.slice(1)),Xe(e,t,r,n).then(o,a)}catch(s){a(s)}}),a):e.length>0?(c.push(e[0]),Xe(e=e.slice(1),t,r,n).then(o,a)):t.length>0&&(c.push(t[0]),t=t.slice(1),Xe(e,t,r,n).then(o,a)):o(n)}))}function Je(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(Je(e.slice(0,n),t),Je(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}function $e(e,t,r){try{const n=e.body;if(r.length!==e.params.length)return oe(new Error("Invalid Parameter calls to function."));for(let o=0;o<r.length;o++){const n=e.params[o];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[o],valueset:!0,node:null})}return le(t,n).then((e=>q(((t,r)=>{e instanceof N?t(e.value):e!==d?e!==h?t(e instanceof S?e.value:e):r(new Error("Cannot Continue from a Function")):r(new Error("Cannot Break from a Function"))}))))}catch(n){return Z(n)}}function et(e,t,r){return se(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 $e(r,a,o)}))}function tt(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 $e(e.definition,t,arguments)};return t}_(qe,ie),z(qe,ie),Y(qe,ie),B(qe,ie),G(qe,ie),V({functions:qe,compiled:!1,signatures:null,failDefferred:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ie,standardFunctionAsync:se}),qe.typeof=function(e,t){return ie(e,t,(function(e,t,r){i(r,1,1);const n=He(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},qe.iif=function(e,t){return q(((r,n)=>{i(null===t.arguments?[]:t.arguments,3,3),le(e,t.arguments[0]).then((o=>{try{if(!1===s(o))return void n(new Error("IF Function must have a boolean test condition"));H([le(e,t.arguments[1]),le(e,t.arguments[2])]).then((e=>{r(o?e[0]:e[1])}),n)}catch(a){n(a)}}),n)}))},qe.decode=function(e,t){return q(((r,n)=>{t.arguments.length<2?n(new Error("Missing Parameters")):2!==t.arguments.length?(t.arguments.length-1)%2!=0?le(e,t.arguments[0]).then((o=>{try{Ze(e,t,1,o).then(r,n)}catch(a){n(a)}}),n):n(new Error("Must have a default value result.")):le(e,t.arguments[1]).then(r,n)}))},qe.when=function(e,t){try{return t.arguments.length<3?oe("Missing Parameters"):t.arguments.length%2==0?oe("Must have a default value result."):le(e,t.arguments[0]).then((r=>q(((n,o)=>{if(!1===s(r))return void o(new Error("WHEN needs boolean test conditions"));We(e,t,0,r).then(n,o)}))))}catch(r){return oe(r)}},qe.sort=function(e,t){return se(e,t,(function(e,t,r){i(r,1,2);let n=r[0];if(y(n)&&(n=n.toArray()),!1===m(n))return oe(Error("Illegal Argument"));if(r.length>1){if(!1===I(r[1]))return oe(Error("Illegal Argument"));return Ke(n,tt(r[1]))}{let e=n;if(0===e.length)return W([]);const t={};for(let n=0;n<e.length;n++){const r=He(e[n]);""!==r&&(t[r]=!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 W(e.slice(0));let r=0,o="";for(const n in t)r++,o=n;return r>1||"String"===o?e=Je(e,(function(e,t){if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=f(e),n=f(t);return r<n?-1:r===n?0:1})):"Number"===o?e=Je(e,(function(e,t){return e-t})):"Boolean"===o?e=Je(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===o&&(e=Je(e,(function(e,t){return t-e}))),W(e)}}))};const rt={failDefferred:oe,resolveDeffered:ae,fixSpatialReference:U,parseArguments:ce,standardFunction:ie,standardFunctionAsync:se,evaluateIdentifier:Be,arcadeCustomFunction:tt};for(const dt in qe)qe[dt]={value:new u(qe[dt]),valueset:!0,node:null};const nt=function(){};function ot(e,t){const o=new nt;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 at(e){console.log(e)}nt.prototype=qe,nt.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},nt.prototype.pi={value:Math.PI,valueset:!0,node:null};const ct=rt;function it(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ie,standardFunctionAsync:se,failDefferred:oe,evaluateIdentifier:Be,arcadeCustomFunctionHandler:tt};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)qe[r]={value:new u(t.functions[r]),valueset:!0,node:null},nt.prototype[r]=qe[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}function st(e,t){let r=t.spatialReference;null==r&&(r=new te({wkid:102100}));const n=ot(t.vars,t.customfunctions);return le({spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:at,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1},e.body[0].body).then((e=>q(((t,r)=>{e instanceof N&&(e=e.value),e instanceof S&&(e=e.value),e===p&&(e=null),e!==d?e!==h?e instanceof u||e instanceof o?r(new Error("Cannot return FUNCTION")):t(e):r(new Error("Cannot return CONTINUE")):r(new Error("Cannot return BREAK"))}))))}function lt(e,t){return M(e)}function ut(e,t){return x(e,t,"full")}function ft(e,t){return P(e,t)}function ht(e,t){return D(e,t)}function pt(e){return k(e)}it([L]);export{st as executeScript,it as extend,lt as extractFieldLiterals,pt as findFunctionCalls,ct as functionHelper,ht as referencesFunction,ft as referencesMember,ut 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.23/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 h,d as g,f as y,g as d,h as S,j as w,S as E,l as b,k as v,m as N,n as M,o as I,q as O,r as x,R as T,I as R}from"../chunks/languageUtils.js";import{addFunctionDeclaration as _,findFieldLiterals as C,findExpectedFieldLiterals as A,validateScript as U,referencesMember as F,referencesFunction as k,nodeErrorMessage as P}from"./treeAnalysis.js";import{A as j}from"../chunks/array.js";import{registerFunctions as D}from"./functions/date.js";import{registerFunctions as L}from"./functions/geometry.js";import{registerFunctions as B}from"./functions/geomsync.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as V}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import{create as z,isPromiseLike as q,resolve as J,all as Z,reject as H}from"../core/promiseUtils.js";import W from"../geometry/Extent.js";import K from"../geometry/Geometry.js";import X from"../geometry/Multipoint.js";import Q from"../geometry/Point.js";import $ from"../geometry/Polygon.js";import ee from"../geometry/Polyline.js";import te from"../geometry/SpatialReference.js";import{FeatureSetReader as ne}from"../views/2d/layers/features/support/FeatureSetReader.js";function re(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(le(e,t.arguments[r]));return n}function oe(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function ae(e){return e instanceof Error?H(e):H(new Error(e))}function le(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return Ee(e,t);case"VariableDeclaration":return we(e,t);case"BlockStatement":return ye(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return de(e,t);case"IfStatement":return ge(e,t);case"ExpressionStatement":return me(e,t);case"AssignmentExpression":return fe(e,t);case"UpdateExpression":return pe(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Oe(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ue(e,t);case"ForInStatement":return ce(e,t);case"Identifier":return Re(e,t);case"MemberExpression":return Ne(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(P(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return _e(e,t);case"UnaryExpression":return Me(e,t);case"BinaryExpression":return xe(e,t);case"LogicalExpression":return Te(e,t);case"ArrayExpression":return Ie(e,t);case"ObjectExpression":return se(e,t);case"Property":return ie(e,t);default:throw new Error(P(t,"RUNTIME","UNREOGNISED"))}}catch(n){throw n}}function se(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+"'":le(e,o.key))+",'ObjectExpression'),lang.aCheck("+le(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function ie(e,t){throw new Error("Should not get here")}function ce(e,t){const n=Be(e),r=Be(e),o=Be(e);let a="var "+n+" = "+le(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=le(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+=le(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+=le(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+=le(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+=le(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ue(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&(n+=le(e,t.init)+"; ");const r=Be(e),o=Be(e);return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+le(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+le(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+=le(e,t.body),null!==t.update&&(n+="\n "+le(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function pe(e,t){let n=null,r="";if("MemberExpression"===t.argument.type)return n=le(e,t.argument.object),r=!0===t.argument.computed?le(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 fe(e,t){const n=le(e,t.right);let r=null,o="";if("MemberExpression"===t.left.type)return r=le(e,t.left.object),o=!0===t.left.computed?le(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 me(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+le(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+le(e,t.expression)+"; ")}function he(e,t){return"BlockStatement"===t.type?le(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?le(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+le(e,t)+"; ":"ExpressionStatement"===t.type?le(e,t):"ObjectExpression"===t.type?"lastStatement = "+le(e,t)+"; ":le(e,t)+"; "}function ge(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(P(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const n=le(e,t.test),r=Be(e);let o="var "+r+" = "+n+";\n if ("+r+" === true) {\n"+he(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+r+"===false) { \n"+he(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 ye(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+=le(e,t.body[r])+"; \n":"UpdateExpression"===t.body[r].type||"ObjectExpression"===t.body[r].type?n+="lastStatement = "+le(e,t.body[r])+"; \n":n+=le(e,t.body[r])+" \n";return n}function de(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+le(e,t.argument)}function Se(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=Le(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+=ye(r,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=ye(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=Le(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+o}}function we(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(le(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function Ee(e,t){let n=null===t.init?null:le(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=Le(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=Le(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+n+"; "}}let be=0;function ve(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&&(be++,e.spatialReference._arcadeCacheId=be,t=be)}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&&(be++,l=be,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&&(be++,l=be,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&&(be++,l=be,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(P(r,"RUNTIME","PROPERTYNOTFOUND"))}function Ne(e,t){try{let n;return n=!0===t.computed?le(e,t.property):"'"+t.property.name+"'","lang.member("+le(e,t.object)+","+n+")"}catch(n){throw n}}function Me(e,t){try{return"lang.unary("+le(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function Ie(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(le(e,t.elements[r])):n.push("lang.aCheck("+le(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Oe(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("+le(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function xe(e,t){try{return"lang.binary("+le(e,t.left)+","+le(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Te(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(P(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(P(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+le(e,t.left)+") "+t.operator+" lang.logicalCheck("+le(e,t.right)+"))";throw new Error(P(t,"RUNTIME","ONLYORORAND"))}catch(n){throw n}}function Re(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(P(t,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function _e(e,t){try{if("Identifier"!==t.callee.type)throw new Error(P(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+=le(e,t.arguments[r]);return n+="]",e.isAsync?"(yield lang.callfunc("+r+","+n+",runtimeCtx) )":"lang.callfunc("+r+","+n+",runtimeCtx)"}throw new Error(P(t,"RUNTIME","NOTFOUND"))}catch(n){throw n}}const Ce={};function Ae(o){return null===o?"":u(o)||f(o)?"Array":M(o)?"Date":y(o)?"String":s(o)?"Boolean":w(o)?"Number":o instanceof t?"Attachment":o instanceof e?"Portal":o instanceof n?"Dictionary":o instanceof r?"Feature":o instanceof Q?"Point":o instanceof $?"Polygon":o instanceof ee?"Polyline":o instanceof X?"Multipoint":o instanceof W?"Extent":m(o)?"Function":I(o)?"FeatureSet":O(o)?"FeatureSetCollection":o===h?"":"number"==typeof o&&isNaN(o)?"Number":"Unrecognised Type"}function Ue(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]:Ue(e,t,n+2,r)}}catch(o){throw o}}function Fe(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 Fe(e,t,n+2,r)}}catch(o){throw o}}function ke(e,t){const n=e.length,r=Math.floor(n/2);return 0===n?[]:1===n?[e[0]]:Pe(ke(e.slice(0,r),t),ke(e.slice(r,n),t),t)}function Pe(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}function je(e,t){try{const n=e.length,r=Math.floor(n/2);if(0===n)return J([]);if(1===n)return J([e[0]]);const o=[je(e.slice(0,r),t),je(e.slice(r,n),t)];return Z(o).then((e=>De(e[0],e[1],t,[])))}catch(n){return H(n)}}function De(e,t,n,r){return z(((o,a)=>{const l=r;e.length>0||t.length>0?e.length>0&&t.length>0?n(e[0],t[0]).then((s=>{try{isNaN(s)&&(s=1),s<=0?(l.push(e[0]),e=e.slice(1)):(l.push(t[0]),t=t.slice(1)),De(e,t,n,r).then((e=>{o(e)}),a)}catch(i){a(i)}}),a):e.length>0?(l.push(e[0]),De(e=e.slice(1),t,n,r).then((e=>{o(e)}),a)):t.length>0&&(l.push(t[0]),t=t.slice(1),De(e,t,n,r).then((e=>{o(e)}),a)):o(r)}))}function Le(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Be(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}D(Ce,oe),G(Ce,oe),Y(Ce,oe),L(Ce,oe),V(Ce,oe),Ce.typeof=function(e,t){return oe(e,t,(function(e,t,n){l(n,1,1);const r=Ae(n[0]);if("Unrecognised Type"===r)throw new Error("Unrecognised Type");return r}))},Ce.iif=function(e,t){try{return oe(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}},Ce.decode=function(e,t){try{return oe(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 Ue(e,r,1,t)}}))}catch(n){throw n}},Ce.when=function(e,t){try{return oe(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 Fe(e,r,0,o)}))}catch(n){throw n}},Ce.top=function(e,t){return oe(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")}))},Ce.first=function(e,t){return oe(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}))},Ce.sort=function(e,t){return oe(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 nt.callfunc(r[1],[e,n],t)};return e.isAsync?je(n,a):(n=ke(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=Ae(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?ke(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?ke(e,(function(e,t){return e-t})):"Boolean"===r?ke(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===r?ke(e,(function(e,t){return t-e})):e.slice(0),e}}))};const Ye={};for(const lt in Ce)Ye[lt]=new c(Ce[lt]);B(Ce,oe);for(const lt in Ce)Ce[lt]=new c(Ce[lt]);const Ve=function(){};Ve.prototype=Ce;const Ge=function(){};function ze(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 qe(e,t,o){const a=o?new Ge:new Ve;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}Ge.prototype=Ye;const Je={fixSpatialReference:x,parseArguments:re,standardFunction:oe};function Ze(e,t){const n={mode:t,compiled:!0,functions:{},signatures:[],failDefferred:ae,standardFunction:oe,standardFunctionAsync:oe,evaluateIdentifier:et};for(let r=0;r<e.length;r++)e[r].registerFunctions(n);if("sync"===t){for(const e in n.functions)Ce[e]=new c(n.functions[e]),Ve.prototype[e]=Ce[e];for(let e=0;e<n.signatures.length;e++)_(n.signatures[e],"sync")}else{for(const e in n.functions)Ye[e]=new c(n.functions[e]),Ge.prototype[e]=Ye[e];for(let e=0;e<n.signatures.length;e++)_(n.signatures[e],"async")}}function He(e,t){return e(t)}function We(e,t){return C(e)}function Ke(e){return A(e)}function Xe(e,t){return U(e,t,"sync")}function Qe(e,t){return F(e,t)}function $e(e,t){return k(e,t)}function et(e,t){const n=t.name;if("_SymbolsMap"===n)throw"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}Ze([j],"sync"),Ze([j],"async");let tt=0;const nt={error(e,t,n){throw new Error(P(e,t,n))},__awaiter:(e,t,n,r)=>z(((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):(tt++,tt%100==0?setTimeout((()=>{tt=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(P({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(P({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(P({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(P({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(P({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(P({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(P({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(P({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,o,a){let l;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");l=p(e[t]),e[t]="++"===o?l+1:l-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");l=p(e.field(t)),e.setField(t,"++"===o?l+1:l-1)}else{if(!(e instanceof r))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");l=p(e.field(t)),e.setField(t,"++"===o?l+1:l-1)}return!1===a?l:"++"===o?l+1:l-1},assignmember(e,t,o,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");if(t===e.length){if("="!==o)throw new Error("Invalid Parameter");e[t]=this.assign(a,o,e[t])}else e[t]=this.assign(a,o,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(a,o,e.field(t)));else{if("="!==o)throw new Error("Invalid Parameter");e.setField(t,this.assign(a,o,null))}}else{if(!(e instanceof r))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(a,o,e.field(t)));else{if("="!==o)throw new Error("Invalid Parameter");e.setField(t,this.assign(a,o,null))}}},member(e,t){if(null===e){throw new Error(P({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof ne){if(y(t))return e.field(t);throw new Error(P({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof n||e instanceof r){if(y(t))return e.field(t);throw new Error(P({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof K){if(y(t))return ve(e,t,"MemberExpression");throw new Error(P({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(P({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(P({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(P({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(P({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(P({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(P({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(P({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 rt(e){console.log(e)}function ot(e,t=null,n=!1){null===t&&(t={vars:{},customfunctions:{}});const r={isAsync:n,globalScope:ze(t.vars,n?Ye:Ce,t.customfunctions),localScope:null,mangleMap:{},console:rt,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=le(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:b,lang:nt,mangles:r.mangleMap,postProcess(e){if(e instanceof T&&(e=e.value),e instanceof R&&(e=e.value),e===h&&(e=null),e===v)throw new Error("Cannot return BREAK");if(e===N)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 te({wkid:102100}));const r=qe(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:rt,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}function at(){return import("./functions/geomasync.js").then((e=>(Ze([e],"async"),!0)))}export{ot as compileScript,at as enableAsyncSupport,He as executeScript,Ze as extend,Ke as extractExpectedFieldLiterals,We as extractFieldLiterals,Je as functionHelper,$e as referencesFunction,Qe as referencesMember,Xe 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,e as i,N as c,a as u,t as p,b as f,c as m,v as h,d as g,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 k,referencesFunction as P,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{create as q,isPromiseLike as J,resolve as Z,all as H,reject as W}from"../core/promiseUtils.js";import K from"../geometry/Extent.js";import X from"../geometry/Geometry.js";import Q from"../geometry/Multipoint.js";import $ from"../geometry/Point.js";import ee from"../geometry/Polygon.js";import te from"../geometry/Polyline.js";import ne from"../geometry/SpatialReference.js";function re(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(le(e,t.arguments[r]));return n}function oe(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function ae(e){return e instanceof Error?W(e):W(new Error(e))}function le(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return be(e,t);case"VariableDeclaration":return we(e,t);case"BlockStatement":return ye(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return de(e,t);case"IfStatement":return ge(e,t);case"ExpressionStatement":return me(e,t);case"AssignmentExpression":return fe(e,t);case"UpdateExpression":return pe(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Oe(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ue(e,t);case"ForInStatement":return ce(e,t);case"Identifier":return _e(e,t);case"MemberExpression":return Ne(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 Ce(e,t);case"UnaryExpression":return Me(e,t);case"BinaryExpression":return xe(e,t);case"LogicalExpression":return Te(e,t);case"ArrayExpression":return Ie(e,t);case"ObjectExpression":return se(e,t);case"Property":return ie(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(n){throw n}}function se(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+"'":le(e,o.key))+",'ObjectExpression'),lang.aCheck("+le(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function ie(e,t){throw new Error("Should not get here")}function ce(e,t){const n=Be(e),r=Be(e),o=Be(e);let a="var "+n+" = "+le(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=le(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+=le(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+=le(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+=le(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+=le(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ue(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&(n+=le(e,t.init)+"; ");const r=Be(e),o=Be(e);return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+le(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+le(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+=le(e,t.body),null!==t.update&&(n+="\n "+le(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function pe(e,t){let n=null,r="";if("MemberExpression"===t.argument.type)return n=le(e,t.argument.object),r=!0===t.argument.computed?le(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 fe(e,t){const n=le(e,t.right);let r=null,o="";if("MemberExpression"===t.left.type)return r=le(e,t.left.object),o=!0===t.left.computed?le(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 me(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+le(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+le(e,t.expression)+"; ")}function he(e,t){return"BlockStatement"===t.type?le(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?le(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+le(e,t)+"; ":"ExpressionStatement"===t.type?le(e,t):"ObjectExpression"===t.type?"lastStatement = "+le(e,t)+"; ":le(e,t)+"; "}function ge(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=le(e,t.test),r=Be(e);let o="var "+r+" = "+n+";\n if ("+r+" === true) {\n"+he(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+r+"===false) { \n"+he(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 ye(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+=le(e,t.body[r])+"; \n":"UpdateExpression"===t.body[r].type||"ObjectExpression"===t.body[r].type?n+="lastStatement = "+le(e,t.body[r])+"; \n":n+=le(e,t.body[r])+" \n";return n}function de(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+le(e,t.argument)}function Se(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=Le(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+=ye(r,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=ye(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=Le(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+o}}function we(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(le(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function be(e,t){let n=null===t.init?null:le(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=Le(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=Le(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+n+"; "}}let Ee=0;function ve(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&&(Ee++,e.spatialReference._arcadeCacheId=Ee,t=Ee)}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&&(Ee++,l=Ee,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&&(Ee++,l=Ee,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&&(Ee++,l=Ee,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 Ne(e,t){try{let n;return n=!0===t.computed?le(e,t.property):"'"+t.property.name+"'","lang.member("+le(e,t.object)+","+n+")"}catch(n){throw n}}function Me(e,t){try{return"lang.unary("+le(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function Ie(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(le(e,t.elements[r])):n.push("lang.aCheck("+le(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Oe(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("+le(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function xe(e,t){try{return"lang.binary("+le(e,t.left)+","+le(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Te(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("+le(e,t.left)+") "+t.operator+" lang.logicalCheck("+le(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(n){throw n}}function _e(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 Ce(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+=le(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 Re={};function Ae(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 $?"Point":r instanceof ee?"Polygon":r instanceof te?"Polyline":r instanceof Q?"Multipoint":r instanceof K?"Extent":m(r)?"Function":O(r)?"FeatureSet":x(r)?"FeatureSetCollection":r===h?"":"number"==typeof r&&isNaN(r)?"Number":"Unrecognised Type"}function Ue(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]:Ue(e,t,n+2,r)}}catch(o){throw o}}function Fe(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 Fe(e,t,n+2,r)}}catch(o){throw o}}function ke(e,t){const n=e.length,r=Math.floor(n/2);return 0===n?[]:1===n?[e[0]]:Pe(ke(e.slice(0,r),t),ke(e.slice(r,n),t),t)}function Pe(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}function je(e,t){try{const n=e.length,r=Math.floor(n/2);if(0===n)return Z([]);if(1===n)return Z([e[0]]);const o=[je(e.slice(0,r),t),je(e.slice(r,n),t)];return H(o).then((e=>De(e[0],e[1],t,[])))}catch(n){return W(n)}}function De(e,t,n,r){return q(((o,a)=>{const l=r;e.length>0||t.length>0?e.length>0&&t.length>0?n(e[0],t[0]).then((s=>{try{isNaN(s)&&(s=1),s<=0?(l.push(e[0]),e=e.slice(1)):(l.push(t[0]),t=t.slice(1)),De(e,t,n,r).then((e=>{o(e)}),a)}catch(i){a(i)}}),a):e.length>0?(l.push(e[0]),De(e=e.slice(1),t,n,r).then((e=>{o(e)}),a)):t.length>0&&(l.push(t[0]),t=t.slice(1),De(e,t,n,r).then((e=>{o(e)}),a)):o(r)}))}function Le(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Be(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Re,oe),z(Re,oe),V(Re,oe),B(Re,oe),G(Re,oe),Re.typeof=function(e,t){return oe(e,t,(function(e,t,n){l(n,1,1);const r=Ae(n[0]);if("Unrecognised Type"===r)throw new Error("Unrecognised Type");return r}))},Re.iif=function(e,t){try{return oe(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}},Re.decode=function(e,t){try{return oe(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 Ue(e,r,1,t)}}))}catch(n){throw n}},Re.when=function(e,t){try{return oe(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 Fe(e,r,0,o)}))}catch(n){throw n}},Re.top=function(e,t){return oe(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")}))},Re.first=function(e,t){return oe(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}))},Re.sort=function(e,t){return oe(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 nt.callfunc(r[1],[e,n],t)};return e.isAsync?je(n,a):(n=ke(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=Ae(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?ke(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?ke(e,(function(e,t){return e-t})):"Boolean"===r?ke(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===r?ke(e,(function(e,t){return t-e})):e.slice(0),e}}))};const Ye={};for(const lt in Re)Ye[lt]=new c(Re[lt]);Y(Re,oe);for(const lt in Re)Re[lt]=new c(Re[lt]);const Ve=function(){};Ve.prototype=Re;const Ge=function(){};function ze(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 qe(e,t,o){const a=o?new Ge:new Ve;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}Ge.prototype=Ye;const Je={fixSpatialReference:T,parseArguments:re,standardFunction:oe};function Ze(e,t){const n={mode:t,compiled:!0,functions:{},signatures:[],failDefferred:ae,standardFunction:oe,standardFunctionAsync:oe,evaluateIdentifier:et};for(let r=0;r<e.length;r++)e[r].registerFunctions(n);if("sync"===t){for(const e in n.functions)Re[e]=new c(n.functions[e]),Ve.prototype[e]=Re[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"sync")}else{for(const e in n.functions)Ye[e]=new c(n.functions[e]),Ge.prototype[e]=Ye[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"async")}}function He(e,t){return e(t)}function We(e,t){return A(e)}function Ke(e){return U(e)}function Xe(e,t){return F(e,t,"sync")}function Qe(e,t){return k(e,t)}function $e(e,t){return P(e,t)}function et(e,t){const n=t.name;if("_SymbolsMap"===n)throw"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}Ze([D],"sync"),Ze([D],"async");let tt=0;const nt={error(e,t,n){throw new Error(j(e,t,n))},__awaiter:(e,t,n,r)=>q(((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):(tt++,tt%100==0?setTimeout((()=>{tt=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 J(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 X){if(y(t))return ve(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 rt(e){console.log(e)}function ot(e,t=null,n=!1){null===t&&(t={vars:{},customfunctions:{}});const r={isAsync:n,globalScope:ze(t.vars,n?Ye:Re,t.customfunctions),localScope:null,mangleMap:{},console:rt,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=le(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:nt,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 ne({wkid:102100}));const r=qe(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:rt,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}function at(){return import("./functions/geomasync.js").then((e=>(Ze([e],"async"),!0)))}export{ot as compileScript,at as enableAsyncSupport,He as executeScript,Ze as extend,Ke as extractExpectedFieldLiterals,We as extractFieldLiterals,Je as functionHelper,$e as referencesFunction,Qe as referencesMember,Xe 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.23/esri/copyright.txt for details.
4
4
  */
5
- import e from"./ArcadePortal.js";import r from"./Attachment.js";import t 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 l,e as c,N as u,m as f,k as p,v as h,c as w,f as m,a as E,R as d,b as g,j as N,t as I,I as y,d as v,g as T,h as R,n as O,o as S,q as b,r as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as A,addFunctionDeclaration as C,findFieldLiterals as M,findExpectedFieldLiterals as x,validateScript as F,referencesMember as P,referencesFunction as D,findFunctionCalls as L}from"./treeAnalysis.js";import{A as j}from"../chunks/array.js";import{registerFunctions as _}from"./functions/date.js";import{registerFunctions as k}from"./functions/geometry.js";import{registerFunctions as V}from"./functions/geomsync.js";import{registerFunctions as B}from"./functions/maths.js";import{registerFunctions as Y}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 Z from"../geometry/Multipoint.js";import H 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,r){const t=[];for(let n=0;n<r.arguments.length;n++)t.push($(e,r.arguments[n]));return t}function Q(e,r,t){try{return!0===r.preparsed?t(e,null,r.arguments):t(e,r,J(e,r))}catch(n){throw n}}function $(e,r){try{switch(r.type){case"EmptyStatement":return h;case"VariableDeclarator":return we(e,r);case"VariableDeclaration":return he(e,r);case"BlockStatement":return ue(e,r);case"FunctionDeclaration":return pe(e,r);case"ReturnStatement":return fe(e,r);case"IfStatement":return ce(e,r);case"ExpressionStatement":return le(e,r);case"AssignmentExpression":return se(e,r);case"UpdateExpression":return ae(e,r);case"BreakStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return ve(e,r);case"TemplateLiteral":return Te(e,r);case"ForStatement":return ne(e,r);case"ForInStatement":return te(e,r);case"Identifier":return Re(e,r);case"MemberExpression":return de(e,r);case"Literal":return r.value;case"CallExpression":return Oe(e,r);case"UnaryExpression":return ge(e,r);case"BinaryExpression":return Ie(e,r);case"LogicalExpression":return ye(e,r);case"ArrayExpression":return Ne(e,r);case"ObjectExpression":return ee(e,r);case"Property":return re(e,r);default:throw new Error(A(r,"RUNTIME","UNREOGNISED"))}}catch(t){throw t}}function ee(e,r){const n={};for(let t=0;t<r.properties.length;t++){const o=$(e,r.properties[t]);if(w(o.value))throw new Error("Illegal Argument");if(!1===m(o.key))throw new Error("Illegal Argument");o.value===h?n[o.key.toString()]=null:n[o.key.toString()]=o.value}const o=new t(n);return o.immutable=!1,o}function re(e,r){return{key:"Identifier"===r.key.type?r.key.name:$(e,r.key),value:$(e,r.value)}}function te(e,r){const o=$(e,r.right);"VariableDeclaration"===r.left.type&&$(e,r.left);let a=null,i="";if("VariableDeclaration"===r.left.type){const e=r.left.declarations[0].id;"Identifier"===e.type&&(i=e.name)}else"Identifier"===r.left.type&&(i=r.left.name);if(!i)throw new Error(A(r,"RUNTIME","INVALIDVARIABLE"));if(i=i.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[i]&&(a=e.localScope[i]),null===a&&void 0!==e.globalScope[i]&&(a=e.globalScope[i]),null===a)throw new Error(A(r,"RUNTIME","VARIABLENOTDECLARED"));if(E(o)||m(o)){const t=o.length;for(let n=0;n<t;n++){a.value=n;const t=$(e,r.body);if(t===p)break;if(t instanceof d)return t}return h}if(g(o)){for(let t=0;t<o.length();t++){a.value=t;const n=$(e,r.body);if(n===p)break;if(n instanceof d)return n}return h}if(!(o instanceof t||o instanceof n))return h;{const t=o.keys();for(let n=0;n<t.length;n++){a.value=t[n];const o=$(e,r.body);if(o===p)break;if(o instanceof d)return o}}}function ne(e,r){null!==r.init&&$(e,r.init);const t={testResult:!0,lastAction:h};do{oe(e,r,t)}while(!0===t.testResult);return t.lastAction instanceof d?t.lastAction:h}function oe(e,r,t){if(null!==r.test){if(t.testResult=$(e,r.test),!1===t.testResult)return;if(!0!==t.testResult)throw new Error(A(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}t.lastAction=$(e,r.body),t.lastAction!==p?t.lastAction instanceof d?t.testResult=!1:null!==r.update&&$(e,r.update):t.testResult=!1}function ae(e,r){let o,a=null,i="";if("MemberExpression"===r.argument.type){if(a=$(e,r.argument.object),!0===r.argument.computed?i=$(e,r.argument.property):"Identifier"===r.argument.property.type&&(i=r.argument.property.name),E(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");o=I(a[i]),a[i]="++"===r.operator?o+1:o-1}else if(a instanceof t){if(!1===m(i))throw new Error("Dictionary accessor must be a string");if(!0!==a.hasField(i))throw new Error("Invalid Parameter");o=I(a.field(i)),a.setField(i,"++"===r.operator?o+1:o-1)}else{if(!(a instanceof n))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(i))throw new Error("Feature accessor must be a string");if(!0!==a.hasField(i))throw new Error("Invalid Parameter");o=I(a.field(i)),a.setField(i,"++"===r.operator?o+1:o-1)}return!1===r.prefix?o:"++"===r.operator?o+1:o-1}if(a="Identifier"===r.argument.type?r.argument.name.toLowerCase():"",!a)throw new Error("Invalid identifier");if(null!==e.localScope&&void 0!==e.localScope[a])return o=I(e.localScope[a].value),e.localScope[a]={value:"++"===r.operator?o+1:o-1,valueset:!0,node:r},!1===r.prefix?o:"++"===r.operator?o+1:o-1;if(void 0!==e.globalScope[a])return o=I(e.globalScope[a].value),e.globalScope[a]={value:"++"===r.operator?o+1:o-1,valueset:!0,node:r},!1===r.prefix?o:"++"===r.operator?o+1:o-1;throw new Error("Variable not recognised")}function ie(e,r,t,n){switch(r){case"=":return e===h?null:e;case"/=":return I(t)/I(e);case"*=":return I(t)*I(e);case"-=":return I(t)-I(e);case"+=":return m(t)||m(e)?v(t)+v(e):I(t)+I(e);case"%=":return I(t)%I(e);default:throw new Error(A(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function se(e,r){const o=$(e,r.right);let a=null,i="";if("MemberExpression"===r.left.type){if(a=$(e,r.left.object),!0===r.left.computed?i=$(e,r.left.property):"Identifier"===r.left.property.type&&(i=r.left.property.name),E(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("="!==r.operator)throw new Error("Invalid Parameter");a[i]=ie(o,r.operator,a[i],r)}else a[i]=ie(o,r.operator,a[i],r)}else if(a instanceof t){if(!1===m(i))throw new Error("Dictionary accessor must be a string");if(!0===a.hasField(i))a.setField(i,ie(o,r.operator,a.field(i),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");a.setField(i,ie(o,r.operator,null,r))}}else{if(!(a instanceof n))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(i))throw new Error("Feature accessor must be a string");if(!0===a.hasField(i))a.setField(i,ie(o,r.operator,a.field(i),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");a.setField(i,ie(o,r.operator,null,r))}}return h}if(a=r.left.name.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[a])return e.localScope[a]={value:ie(o,r.operator,e.localScope[a].value,r),valueset:!0,node:r.right},h;if(void 0!==e.globalScope[a])return e.globalScope[a]={value:ie(o,r.operator,e.globalScope[a].value,r),valueset:!0,node:r.right},h;throw new Error("Variable not recognised")}function le(e,r){if("AssignmentExpression"===r.expression.type||"UpdateExpression"===r.expression.type)return $(e,r.expression);if("CallExpression"===r.expression.type){const t=$(e,r.expression);return t===h?h:new y(t)}{const t=$(e,r.expression);return t===h?h:new y(t)}}function ce(e,r){if("AssignmentExpression"===r.test.type||"UpdateExpression"===r.test.type)throw new Error(A(r.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=$(e,r.test);if(!0===t)return $(e,r.consequent);if(!1===t)return null!==r.alternate?$(e,r.alternate):h;throw new Error(A(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}function ue(e,r){let t=h;for(let n=0;n<r.body.length;n++)if(t=$(e,r.body[n]),t instanceof d||t===p||t===f)return t;return t}function fe(e,r){if(null===r.argument)return new d(h);const t=$(e,r.argument);return new d(t)}function pe(e,r){const t=r.id.name.toLowerCase();return e.globalScope[t]={valueset:!0,node:null,value:new o(r,e)},h}function he(e,r){for(let t=0;t<r.declarations.length;t++)$(e,r.declarations[t]);return h}function we(e,r){let t=null===r.init?null:$(e,r.init);if(t===h&&(t=null),"Identifier"!==r.id.type)throw new Error("Can only assign a regular variable");const n=r.id.name.toLowerCase();return null!==e.localScope?e.localScope[n]={value:t,valueset:!0,node:r.init}:e.globalScope[n]={value:t,valueset:!0,node:r.init},h}let me=0;function Ee(e,r,n){let o;switch(r=r.toLowerCase()){case"hasz":{const r=e.hasZ;return void 0!==r&&r}case"hasm":{const r=e.hasM;return void 0!==r&&r}case"spatialreference":{let r=e.spatialReference._arcadeCacheId;if(void 0===r){let t=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(t=!1),t&&(me++,e.spatialReference._arcadeCacheId=me,r=me)}const n=new t({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==r&&(n._arcadeCacheId="SPREF"+r.toString()),n}}switch(e.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const t=e[r];return void 0!==t?t:null}case"type":return"Extent"}break;case"polygon":switch(r){case"rings":o=e.cache._arcadeCacheId,void 0===o&&(me++,o=me,e.cache._arcadeCacheId=o);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return void 0!==e[r]?e[r]:null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":o=e.cache._arcadeCacheId,void 0===o&&(me++,o=me,e.cache._arcadeCacheId=o);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":o=e.cache._arcadeCacheId,void 0===o&&(me++,o=me,e.cache._arcadeCacheId=o);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,o,1);case"type":return"Multipoint"}}throw new Error(A(n,"RUNTIME","PROPERTYNOTFOUND"))}function de(e,r){try{const o=$(e,r.object);if(null===o)throw new Error(A(r,"RUNTIME","NOTFOUND"));if(!1===r.computed){if("Identifier"===r.property.type){if(o instanceof t||o instanceof n)return o.field(r.property.name);if(o instanceof q)return Ee(o,r.property.name,r)}throw new Error(A(r,"RUNTIME","INVALIDTYPE"))}{let a=$(e,r.property);if(o instanceof t||o instanceof n){if(m(a))return o.field(a);throw new Error(A(r,"RUNTIME","INVALIDTYPE"))}if(o instanceof q){if(m(a))return Ee(o,a,r);throw new Error(A(r,"RUNTIME","INVALIDTYPE"))}if(E(o)){if(N(a)&&isFinite(a)&&Math.floor(a)===a){if(a<0&&(a=o.length+a),a>=o.length||a<0)throw new Error(A(r,"RUNTIME","OUTOFBOUNDS"));return o[a]}throw new Error(A(r,"RUNTIME","INVALIDTYPE"))}if(m(o)){if(N(a)&&isFinite(a)&&Math.floor(a)===a){if(a<0&&(a=o.length+a),a>=o.length||a<0)throw new Error(A(r,"RUNTIME","OUTOFBOUNDS"));return o[a]}throw new Error(A(r,"RUNTIME","INVALIDTYPE"))}if(g(o)){if(N(a)&&isFinite(a)&&Math.floor(a)===a){if(a<0&&(a=o.length()+a),a>=o.length()||a<0)throw new Error(A(r,"RUNTIME","OUTOFBOUNDS"));return o.get(a)}throw new Error(A(r,"RUNTIME","INVALIDTYPE"))}throw new Error(A(r,"RUNTIME","INVALIDTYPE"))}}catch(o){throw o}}function ge(e,r){try{const t=$(e,r.argument);if(l(t)){if("!"===r.operator)return!t;if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);if("~"===r.operator)return~I(t);throw new Error(A(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("~"===r.operator)return~I(t);if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);throw new Error(A(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}catch(t){throw t}}function Ne(e,r){try{const t=[];for(let n=0;n<r.elements.length;n++){const o=$(e,r.elements[n]);if(w(o))throw new Error(A(r,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));o===h?t.push(null):t.push(o)}return t}catch(t){throw t}}function Ie(e,r){try{const t=[$(e,r.left),$(e,r.right)],n=t[0],o=t[1];switch(r.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(I(n),I(o),r.operator);case"==":return c(n,o);case"!=":return!c(n,o);case"<":case">":case"<=":case">=":return T(n,o,r.operator);case"+":return m(n)||m(o)?v(n)+v(o):I(n)+I(o);case"-":return I(n)-I(o);case"*":return I(n)*I(o);case"/":return I(n)/I(o);case"%":return I(n)%I(o);default:throw new Error(A(r,"RUNTIME","OPERATORNOTRECOGNISED"))}}catch(t){throw t}}function ye(e,r){try{if("AssignmentExpression"===r.left.type||"UpdateExpression"===r.left.type)throw new Error(A(r.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===r.right.type||"UpdateExpression"===r.right.type)throw new Error(A(r.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=$(e,r.left);if(l(t))switch(r.operator){case"||":if(!0===t)return t;{const t=$(e,r.right);if(l(t))return t;throw new Error(A(r,"RUNTIME","ONLYORORAND"))}case"&&":if(!1===t)return t;{const t=$(e,r.right);if(l(t))return t;throw new Error(A(r,"RUNTIME","ONLYORORAND"))}default:throw new Error(A(r,"RUNTIME","ONLYORORAND"))}throw new Error(A(r,"RUNTIME","ONLYBOOLEAN"))}catch(t){throw t}}function ve(e,r){return r.value?r.value.cooked:""}function Te(e,r){let t="",n=0;for(const o of r.quasis)if(t+=o.value?o.value.cooked:"",!1===o.tail){t+=r.expressions[n]?v($(e,r.expressions[n])):"",n++}return t}function Re(e,r){let t;try{const n=r.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[n])return t=e.localScope[n],!0===t.valueset||(t.value=$(e,t.node),t.valueset=!0),t.value;if(void 0!==e.globalScope[n])return t=e.globalScope[n],!0===t.valueset||(t.value=$(e,t.node),t.valueset=!0),t.value;throw new Error(A(r,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Oe(e,r){try{if("Identifier"!==r.callee.type)throw new Error(A(r,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[r.callee.name.toLowerCase()]){const t=e.localScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Fe(e,r,t.value.definition);throw new Error(A(r,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[r.callee.name.toLowerCase()]){const t=e.globalScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Fe(e,r,t.value.definition);throw new Error(A(r,"RUNTIME","NOTAFUNCTION"))}throw new Error(A(r,"RUNTIME","NOTFOUND"))}catch(t){throw t}}const Se={};function be(o){return null==o?"":E(o)||g(o)?"Array":O(o)?"Date":m(o)?"String":l(o)?"Boolean":N(o)?"Number":o instanceof r?"Attachment":o instanceof e?"Portal":o instanceof t?"Dictionary":o instanceof n?"Feature":o instanceof H?"Point":o instanceof W?"Polygon":o instanceof K?"Polyline":o instanceof Z?"Multipoint":o instanceof z?"Extent":w(o)?"Function":S(o)?"FeatureSet":b(o)?"FeatureSetCollection":o===h?"":"number"==typeof o&&isNaN(o)?"Number":"Unrecognised Type"}function Ue(e,r,t,n){try{const o=$(e,r.arguments[t]);if(c(o,n))return $(e,r.arguments[t+1]);{const o=r.arguments.length-t;return 1===o?$(e,r.arguments[t]):2===o?null:3===o?$(e,r.arguments[t+2]):Ue(e,r,t+2,n)}}catch(o){throw o}}function Ae(e,r,t,n){try{if(!0===n)return $(e,r.arguments[t+1]);if(3===r.arguments.length-t)return $(e,r.arguments[t+2]);{const n=$(e,r.arguments[t+2]);if(!1===l(n))throw new Error("WHEN needs boolean test conditions");return Ae(e,r,t+2,n)}}catch(o){throw o}}function Ce(e,r){const t=e.length,n=Math.floor(t/2);return 0===t?[]:1===t?[e[0]]:Me(Ce(e.slice(0,n),r),Ce(e.slice(n,t),r),r)}function Me(e,r,t){const n=[];for(;e.length>0||r.length>0;)if(e.length>0&&r.length>0){let o=t(e[0],r[0]);isNaN(o)&&(o=0),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(r[0]),r=r.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):r.length>0&&(n.push(r[0]),r=r.slice(1));return n}function xe(e,r,t){try{const n=e.body;if(t.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<t.length;a++)r.localScope[e.params[a].name.toLowerCase()]={value:t[a],valueset:!0,node:null};const o=$(r,n);if(o instanceof d)return o.value;if(o===p)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof y?o.value:o}catch(n){throw n}}function Fe(e,r,t){return Q(e,r,(function(r,n,o){const a={spatialReference:e.spatialReference,globalScope:e.globalScope,depthCounter:e.depthCounter+1,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return xe(t,a,o)}))}function Pe(e){const r=function(){const r={spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,localScope:{},depthCounter:e.context.depthCounter+1,globalScope:e.context.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");return xe(e.definition,r,arguments)};return r}_(Se,Q),G(Se,Q),B(Se,Q),k(Se,Q),Y(Se,Q),V(Se,Q),Se.typeof=function(e,r){return Q(e,r,(function(e,r,t){s(t,1,1);const n=be(t[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},Se.iif=function(e,r){try{s(null===r.arguments?[]:r.arguments,3,3);const t=$(e,r.arguments[0]);if(!1===l(t))throw new Error("IF Function must have a boolean test condition");const n=$(e,r.arguments[1]),o=$(e,r.arguments[2]);return!0===t?n:o}catch(t){throw t}},Se.decode=function(e,r){try{if(r.arguments.length<2)throw new Error("Missing Parameters");if(2===r.arguments.length)return $(e,r.arguments[1]);{if((r.arguments.length-1)%2==0)throw new Error("Must have a default value result.");const t=$(e,r.arguments[0]);return Ue(e,r,1,t)}}catch(t){throw t}},Se.when=function(e,r){try{if(r.arguments.length<3)throw new Error("Missing Parameters");if(r.arguments.length%2==0)throw new Error("Must have a default value result.");const t=$(e,r.arguments[0]);if(!1===l(t))throw new Error("WHEN needs boolean test conditions");return Ae(e,r,0,t)}catch(t){throw t}},Se.top=function(e,r){return Q(e,r,(function(e,r,t){if(s(t,2,2),E(t[0]))return I(t[1])>=t[0].length?t[0].slice(0):t[0].slice(0,I(t[1]));if(g(t[0]))return I(t[1])>=t[0].length()?t[0].slice(0):t[0].slice(0,I(t[1]));throw new Error("Top cannot accept this parameter type")}))},Se.first=function(e,r){return Q(e,r,(function(e,r,t){return s(t,1,1),E(t[0])?0===t[0].length?null:t[0][0]:g(t[0])?0===t[0].length()?null:t[0].get(0):null}))},Se.sort=function(e,r){return Q(e,r,(function(e,r,t){s(t,1,2);let n=t[0];if(g(n)&&(n=n.toArray()),!1===E(n))throw new Error("Illegal Argument");if(t.length>1){if(!1===w(t[1]))throw new Error("Illegal Argument");let e=n;const r=Pe(t[1]);return e=Ce(e,(function(e,t){return r(e,t)})),e}{let e=n;if(0===e.length)return[];const r={};for(let n=0;n<e.length;n++){const t=be(e[n]);""!==t&&(r[t]=!0)}if(!0===r.Array||!0===r.Dictionary||!0===r.Feature||!0===r.Point||!0===r.Polygon||!0===r.Polyline||!0===r.Multipoint||!0===r.Extent||!0===r.Function)return e.slice(0);let t=0,o="";for(const n in r)t++,o=n;return e=t>1||"String"===o?Ce(e,(function(e,r){if(null==e||e===h)return null==r||r===h?0:1;if(null==r||r===h)return-1;const t=v(e),n=v(r);return t<n?-1:t===n?0:1})):"Number"===o?Ce(e,(function(e,r){return e-r})):"Boolean"===o?Ce(e,(function(e,r){return e===r?0:r?-1:1})):"Date"===o?Ce(e,(function(e,r){return r-e})):e.slice(0),e}}))};for(const He in Se)Se[He]={value:new u(Se[He]),valueset:!0,node:null};const De=function(){};function Le(e,r){const o=new De;e||(e={}),r||(r={});const a=new t({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const t in r)o[t]={value:new u(r[t]),native:!0,valueset:!0,node:null};for(const t in e)e[t]&&"esri.Graphic"===e[t].declaredClass?o[t]={value:n.createFromGraphic(e[t]),valueset:!0,node:null}:o[t]={value:e[t],valueset:!0,node:null};return o}De.prototype=Se,De.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},De.prototype.pi={value:Math.PI,valueset:!0,node:null};const je={fixSpatialReference:U,parseArguments:J,standardFunction:Q};function _e(e){console.log(e)}function ke(e){const r={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:Q,evaluateIdentifier:Re,arcadeCustomFunctionHandler:Pe};for(let t=0;t<e.length;t++)e[t].registerFunctions(r);for(const t in r.functions)Se[t]={value:new u(r.functions[t]),valueset:!0,node:null},De.prototype[t]=Se[t];for(let t=0;t<r.signatures.length;t++)C(r.signatures[t],"async")}function Ve(e,r){let t=r.spatialReference;null==t&&(t=new X({wkid:102100}));let n=$({spatialReference:t,globalScope:Le(r.vars,r.customfunctions),localScope:null,console:r.console?r.console:_e,lrucache:r.lrucache,interceptor:r.interceptor,depthCounter:1},e.body[0].body);if(n instanceof d&&(n=n.value),n instanceof y&&(n=n.value),n===h&&(n=null),n===p)throw new Error("Cannot return BREAK");if(n===f)throw new Error("Cannot return CONTINUE");if(n instanceof o)throw new Error("Cannot return FUNCTION");if(n instanceof u)throw new Error("Cannot return FUNCTION");return n}function Be(e,r){return M(e)}function Ye(e){return x(e)}function Ge(e,r){return F(e,r,"simple")}function ze(e,r){return P(e,r)}function qe(e,r){return D(e,r)}function Ze(e){return L(e)}ke([j]);export{Ve as executeScript,ke as extend,Ye as extractExpectedFieldLiterals,Be as extractFieldLiterals,Ze as findFunctionCalls,je as functionHelper,qe as referencesFunction,ze as referencesMember,Ge as validateScript};
5
+ import e from"./ArcadePortal.js";import r from"./Attachment.js";import t 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 l,e as c,N as u,n as f,m as p,v as h,c as w,f as m,a as E,R as d,b as g,k as N,j as I,t as y,I as v,d as T,g as R,h as O,o as S,q as b,r as U,s as A}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as M,findFieldLiterals as x,findExpectedFieldLiterals as F,validateScript as P,referencesMember as D,referencesFunction as L,findFunctionCalls as j}from"./treeAnalysis.js";import{A as _}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as B}from"./functions/geomsync.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import q 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 J from"../geometry/SpatialReference.js";function Q(e,r){const t=[];for(let n=0;n<r.arguments.length;n++)t.push(ee(e,r.arguments[n]));return t}function $(e,r,t){try{return!0===r.preparsed?t(e,null,r.arguments):t(e,r,Q(e,r))}catch(n){throw n}}function ee(e,r){try{switch(r.type){case"EmptyStatement":return h;case"VariableDeclarator":return me(e,r);case"VariableDeclaration":return we(e,r);case"BlockStatement":return fe(e,r);case"FunctionDeclaration":return he(e,r);case"ReturnStatement":return pe(e,r);case"IfStatement":return ue(e,r);case"ExpressionStatement":return ce(e,r);case"AssignmentExpression":return le(e,r);case"UpdateExpression":return ie(e,r);case"BreakStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return Te(e,r);case"TemplateLiteral":return Re(e,r);case"ForStatement":return oe(e,r);case"ForInStatement":return ne(e,r);case"Identifier":return Oe(e,r);case"MemberExpression":return ge(e,r);case"Literal":return r.value;case"CallExpression":return Se(e,r);case"UnaryExpression":return Ne(e,r);case"BinaryExpression":return ye(e,r);case"LogicalExpression":return ve(e,r);case"ArrayExpression":return Ie(e,r);case"ObjectExpression":return re(e,r);case"Property":return te(e,r);default:throw new Error(C(r,"RUNTIME","UNREOGNISED"))}}catch(t){throw t}}function re(e,r){const n={};for(let t=0;t<r.properties.length;t++){const o=ee(e,r.properties[t]);if(w(o.value))throw new Error("Illegal Argument");if(!1===m(o.key))throw new Error("Illegal Argument");o.value===h?n[o.key.toString()]=null:n[o.key.toString()]=o.value}const o=new t(n);return o.immutable=!1,o}function te(e,r){return{key:"Identifier"===r.key.type?r.key.name:ee(e,r.key),value:ee(e,r.value)}}function ne(e,r){const n=ee(e,r.right);"VariableDeclaration"===r.left.type&&ee(e,r.left);let o=null,a="";if("VariableDeclaration"===r.left.type){const e=r.left.declarations[0].id;"Identifier"===e.type&&(a=e.name)}else"Identifier"===r.left.type&&(a=r.left.name);if(!a)throw new Error(C(r,"RUNTIME","INVALIDVARIABLE"));if(a=a.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[a]&&(o=e.localScope[a]),null===o&&void 0!==e.globalScope[a]&&(o=e.globalScope[a]),null===o)throw new Error(C(r,"RUNTIME","VARIABLENOTDECLARED"));if(E(n)||m(n)){const t=n.length;for(let n=0;n<t;n++){o.value=n;const t=ee(e,r.body);if(t===p)break;if(t instanceof d)return t}return h}if(g(n)){for(let t=0;t<n.length();t++){o.value=t;const n=ee(e,r.body);if(n===p)break;if(n instanceof d)return n}return h}if(!(n instanceof t||N(n)))return h;{const t=n.keys();for(let n=0;n<t.length;n++){o.value=t[n];const a=ee(e,r.body);if(a===p)break;if(a instanceof d)return a}}}function oe(e,r){null!==r.init&&ee(e,r.init);const t={testResult:!0,lastAction:h};do{ae(e,r,t)}while(!0===t.testResult);return t.lastAction instanceof d?t.lastAction:h}function ae(e,r,t){if(null!==r.test){if(t.testResult=ee(e,r.test),!1===t.testResult)return;if(!0!==t.testResult)throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}t.lastAction=ee(e,r.body),t.lastAction!==p?t.lastAction instanceof d?t.testResult=!1:null!==r.update&&ee(e,r.update):t.testResult=!1}function ie(e,r){let n,o=null,a="";if("MemberExpression"===r.argument.type){if(o=ee(e,r.argument.object),!0===r.argument.computed?a=ee(e,r.argument.property):"Identifier"===r.argument.property.type&&(a=r.argument.property.name),E(o)){if(!I(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>=o.length)throw new Error("Assignment outside of array bounds");n=y(o[a]),o[a]="++"===r.operator?n+1:n-1}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=y(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=y(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}return!1===r.prefix?n:"++"===r.operator?n+1:n-1}if(o="Identifier"===r.argument.type?r.argument.name.toLowerCase():"",!o)throw new Error("Invalid identifier");if(null!==e.localScope&&void 0!==e.localScope[o])return n=y(e.localScope[o].value),e.localScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;if(void 0!==e.globalScope[o])return n=y(e.globalScope[o].value),e.globalScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;throw new Error("Variable not recognised")}function se(e,r,t,n){switch(r){case"=":return e===h?null:e;case"/=":return y(t)/y(e);case"*=":return y(t)*y(e);case"-=":return y(t)-y(e);case"+=":return m(t)||m(e)?T(t)+T(e):y(t)+y(e);case"%=":return y(t)%y(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function le(e,r){const n=ee(e,r.right);let o=null,a="";if("MemberExpression"===r.left.type){if(o=ee(e,r.left.object),!0===r.left.computed?a=ee(e,r.left.property):"Identifier"===r.left.property.type&&(a=r.left.property.name),E(o)){if(!I(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>o.length)throw new Error("Assignment outside of array bounds");if(a===o.length){if("="!==r.operator)throw new Error("Invalid Parameter");o[a]=se(n,r.operator,o[a],r)}else o[a]=se(n,r.operator,o[a],r)}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}return h}if(o=r.left.name.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[o])return e.localScope[o]={value:se(n,r.operator,e.localScope[o].value,r),valueset:!0,node:r.right},h;if(void 0!==e.globalScope[o])return e.globalScope[o]={value:se(n,r.operator,e.globalScope[o].value,r),valueset:!0,node:r.right},h;throw new Error("Variable not recognised")}function ce(e,r){if("AssignmentExpression"===r.expression.type||"UpdateExpression"===r.expression.type)return ee(e,r.expression);if("CallExpression"===r.expression.type){const t=ee(e,r.expression);return t===h?h:new v(t)}{const t=ee(e,r.expression);return t===h?h:new v(t)}}function ue(e,r){if("AssignmentExpression"===r.test.type||"UpdateExpression"===r.test.type)throw new Error(C(r.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.test);if(!0===t)return ee(e,r.consequent);if(!1===t)return null!==r.alternate?ee(e,r.alternate):h;throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}function fe(e,r){let t=h;for(let n=0;n<r.body.length;n++)if(t=ee(e,r.body[n]),t instanceof d||t===p||t===f)return t;return t}function pe(e,r){if(null===r.argument)return new d(h);const t=ee(e,r.argument);return new d(t)}function he(e,r){const t=r.id.name.toLowerCase();return e.globalScope[t]={valueset:!0,node:null,value:new o(r,e)},h}function we(e,r){for(let t=0;t<r.declarations.length;t++)ee(e,r.declarations[t]);return h}function me(e,r){let t=null===r.init?null:ee(e,r.init);if(t===h&&(t=null),"Identifier"!==r.id.type)throw new Error("Can only assign a regular variable");const n=r.id.name.toLowerCase();return null!==e.localScope?e.localScope[n]={value:t,valueset:!0,node:r.init}:e.globalScope[n]={value:t,valueset:!0,node:r.init},h}let Ee=0;function de(e,r,n){let o;switch(r=r.toLowerCase()){case"hasz":{const r=e.hasZ;return void 0!==r&&r}case"hasm":{const r=e.hasM;return void 0!==r&&r}case"spatialreference":{let r=e.spatialReference._arcadeCacheId;if(void 0===r){let t=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(t=!1),t&&(Ee++,e.spatialReference._arcadeCacheId=Ee,r=Ee)}const n=new t({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==r&&(n._arcadeCacheId="SPREF"+r.toString()),n}}switch(e.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const t=e[r];return void 0!==t?t:null}case"type":return"Extent"}break;case"polygon":switch(r){case"rings":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return void 0!==e[r]?e[r]:null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,o,1);case"type":return"Multipoint"}}throw new Error(C(n,"RUNTIME","PROPERTYNOTFOUND"))}function ge(e,r){try{const n=ee(e,r.object);if(null===n)throw new Error(C(r,"RUNTIME","NOTFOUND"));if(!1===r.computed){if("Identifier"===r.property.type){if(n instanceof t||N(n))return n.field(r.property.name);if(n instanceof Z)return de(n,r.property.name,r)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}{let o=ee(e,r.property);if(n instanceof t||N(n)){if(m(o))return n.field(o);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(n instanceof Z){if(m(o))return de(n,o,r);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(E(n)){if(I(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(I(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(I(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}}catch(n){throw n}}function Ne(e,r){try{const t=ee(e,r.argument);if(l(t)){if("!"===r.operator)return!t;if("-"===r.operator)return-1*y(t);if("+"===r.operator)return 1*y(t);if("~"===r.operator)return~y(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("~"===r.operator)return~y(t);if("-"===r.operator)return-1*y(t);if("+"===r.operator)return 1*y(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}catch(t){throw t}}function Ie(e,r){try{const t=[];for(let n=0;n<r.elements.length;n++){const o=ee(e,r.elements[n]);if(w(o))throw new Error(C(r,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));o===h?t.push(null):t.push(o)}return t}catch(t){throw t}}function ye(e,r){try{const t=[ee(e,r.left),ee(e,r.right)],n=t[0],o=t[1];switch(r.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return O(y(n),y(o),r.operator);case"==":return c(n,o);case"!=":return!c(n,o);case"<":case">":case"<=":case">=":return R(n,o,r.operator);case"+":return m(n)||m(o)?T(n)+T(o):y(n)+y(o);case"-":return y(n)-y(o);case"*":return y(n)*y(o);case"/":return y(n)/y(o);case"%":return y(n)%y(o);default:throw new Error(C(r,"RUNTIME","OPERATORNOTRECOGNISED"))}}catch(t){throw t}}function ve(e,r){try{if("AssignmentExpression"===r.left.type||"UpdateExpression"===r.left.type)throw new Error(C(r.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===r.right.type||"UpdateExpression"===r.right.type)throw new Error(C(r.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.left);if(l(t))switch(r.operator){case"||":if(!0===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}case"&&":if(!1===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}default:throw new Error(C(r,"RUNTIME","ONLYORORAND"))}throw new Error(C(r,"RUNTIME","ONLYBOOLEAN"))}catch(t){throw t}}function Te(e,r){return r.value?r.value.cooked:""}function Re(e,r){let t="",n=0;for(const o of r.quasis)if(t+=o.value?o.value.cooked:"",!1===o.tail){t+=r.expressions[n]?T(ee(e,r.expressions[n])):"",n++}return t}function Oe(e,r){let t;try{const n=r.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[n])return t=e.localScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;if(void 0!==e.globalScope[n])return t=e.globalScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;throw new Error(C(r,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Se(e,r){try{if("Identifier"!==r.callee.type)throw new Error(C(r,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[r.callee.name.toLowerCase()]){const t=e.localScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[r.callee.name.toLowerCase()]){const t=e.globalScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(r,"RUNTIME","NOTFOUND"))}catch(t){throw t}}const be={};function Ue(n){return null==n?"":E(n)||g(n)?"Array":S(n)?"Date":m(n)?"String":l(n)?"Boolean":I(n)?"Number":n instanceof r?"Attachment":n instanceof e?"Portal":n instanceof t?"Dictionary":N(n)?"Feature":n instanceof W?"Point":n instanceof K?"Polygon":n instanceof X?"Polyline":n instanceof H?"Multipoint":n instanceof q?"Extent":w(n)?"Function":b(n)?"FeatureSet":U(n)?"FeatureSetCollection":n===h?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Ae(e,r,t,n){try{const o=ee(e,r.arguments[t]);if(c(o,n))return ee(e,r.arguments[t+1]);{const o=r.arguments.length-t;return 1===o?ee(e,r.arguments[t]):2===o?null:3===o?ee(e,r.arguments[t+2]):Ae(e,r,t+2,n)}}catch(o){throw o}}function Ce(e,r,t,n){try{if(!0===n)return ee(e,r.arguments[t+1]);if(3===r.arguments.length-t)return ee(e,r.arguments[t+2]);{const n=ee(e,r.arguments[t+2]);if(!1===l(n))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,t+2,n)}}catch(o){throw o}}function Me(e,r){const t=e.length,n=Math.floor(t/2);return 0===t?[]:1===t?[e[0]]:xe(Me(e.slice(0,n),r),Me(e.slice(n,t),r),r)}function xe(e,r,t){const n=[];for(;e.length>0||r.length>0;)if(e.length>0&&r.length>0){let o=t(e[0],r[0]);isNaN(o)&&(o=0),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(r[0]),r=r.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):r.length>0&&(n.push(r[0]),r=r.slice(1));return n}function Fe(e,r,t){try{const n=e.body;if(t.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<t.length;a++)r.localScope[e.params[a].name.toLowerCase()]={value:t[a],valueset:!0,node:null};const o=ee(r,n);if(o instanceof d)return o.value;if(o===p)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof v?o.value:o}catch(n){throw n}}function Pe(e,r,t){return $(e,r,(function(r,n,o){const a={spatialReference:e.spatialReference,globalScope:e.globalScope,depthCounter:e.depthCounter+1,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(t,a,o)}))}function De(e){const r=function(){const r={spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,localScope:{},depthCounter:e.context.depthCounter+1,globalScope:e.context.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(e.definition,r,arguments)};return r}k(be,$),z(be,$),Y(be,$),V(be,$),G(be,$),B(be,$),be.typeof=function(e,r){return $(e,r,(function(e,r,t){s(t,1,1);const n=Ue(t[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},be.iif=function(e,r){try{s(null===r.arguments?[]:r.arguments,3,3);const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("IF Function must have a boolean test condition");const n=ee(e,r.arguments[1]),o=ee(e,r.arguments[2]);return!0===t?n:o}catch(t){throw t}},be.decode=function(e,r){try{if(r.arguments.length<2)throw new Error("Missing Parameters");if(2===r.arguments.length)return ee(e,r.arguments[1]);{if((r.arguments.length-1)%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);return Ae(e,r,1,t)}}catch(t){throw t}},be.when=function(e,r){try{if(r.arguments.length<3)throw new Error("Missing Parameters");if(r.arguments.length%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,0,t)}catch(t){throw t}},be.top=function(e,r){return $(e,r,(function(e,r,t){if(s(t,2,2),E(t[0]))return y(t[1])>=t[0].length?t[0].slice(0):t[0].slice(0,y(t[1]));if(g(t[0]))return y(t[1])>=t[0].length()?t[0].slice(0):t[0].slice(0,y(t[1]));throw new Error("Top cannot accept this parameter type")}))},be.first=function(e,r){return $(e,r,(function(e,r,t){return s(t,1,1),E(t[0])?0===t[0].length?null:t[0][0]:g(t[0])?0===t[0].length()?null:t[0].get(0):null}))},be.sort=function(e,r){return $(e,r,(function(e,r,t){s(t,1,2);let n=t[0];if(g(n)&&(n=n.toArray()),!1===E(n))throw new Error("Illegal Argument");if(t.length>1){if(!1===w(t[1]))throw new Error("Illegal Argument");let e=n;const r=De(t[1]);return e=Me(e,(function(e,t){return r(e,t)})),e}{let e=n;if(0===e.length)return[];const r={};for(let n=0;n<e.length;n++){const t=Ue(e[n]);""!==t&&(r[t]=!0)}if(!0===r.Array||!0===r.Dictionary||!0===r.Feature||!0===r.Point||!0===r.Polygon||!0===r.Polyline||!0===r.Multipoint||!0===r.Extent||!0===r.Function)return e.slice(0);let t=0,o="";for(const n in r)t++,o=n;return e=t>1||"String"===o?Me(e,(function(e,r){if(null==e||e===h)return null==r||r===h?0:1;if(null==r||r===h)return-1;const t=T(e),n=T(r);return t<n?-1:t===n?0:1})):"Number"===o?Me(e,(function(e,r){return e-r})):"Boolean"===o?Me(e,(function(e,r){return e===r?0:r?-1:1})):"Date"===o?Me(e,(function(e,r){return r-e})):e.slice(0),e}}))};for(const We in be)be[We]={value:new u(be[We]),valueset:!0,node:null};const Le=function(){};function je(e,r){const o=new Le;e||(e={}),r||(r={});const a=new t({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const t in r)o[t]={value:new u(r[t]),native:!0,valueset:!0,node:null};for(const t in e)e[t]&&"esri.Graphic"===e[t].declaredClass?o[t]={value:n.createFromGraphic(e[t]),valueset:!0,node:null}:o[t]={value:e[t],valueset:!0,node:null};return o}Le.prototype=be,Le.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Le.prototype.pi={value:Math.PI,valueset:!0,node:null};const _e={fixSpatialReference:A,parseArguments:Q,standardFunction:$};function ke(e){console.log(e)}function Ve(e){const r={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:$,evaluateIdentifier:Oe,arcadeCustomFunctionHandler:De};for(let t=0;t<e.length;t++)e[t].registerFunctions(r);for(const t in r.functions)be[t]={value:new u(r.functions[t]),valueset:!0,node:null},Le.prototype[t]=be[t];for(let t=0;t<r.signatures.length;t++)M(r.signatures[t],"async")}function Be(e,r){let t=r.spatialReference;null==t&&(t=new J({wkid:102100}));let n=ee({spatialReference:t,globalScope:je(r.vars,r.customfunctions),localScope:null,console:r.console?r.console:ke,lrucache:r.lrucache,interceptor:r.interceptor,depthCounter:1},e.body[0].body);if(n instanceof d&&(n=n.value),n instanceof v&&(n=n.value),n===h&&(n=null),n===p)throw new Error("Cannot return BREAK");if(n===f)throw new Error("Cannot return CONTINUE");if(n instanceof o)throw new Error("Cannot return FUNCTION");if(n instanceof u)throw new Error("Cannot return FUNCTION");return n}function Ye(e,r){return x(e)}function Ge(e){return F(e)}function ze(e,r){return P(e,r,"simple")}function qe(e,r){return D(e,r)}function Ze(e,r){return L(e,r)}function He(e){return j(e)}Ve([_]);export{Be as executeScript,Ve as extend,Ge as extractExpectedFieldLiterals,Ye as extractFieldLiterals,He as findFunctionCalls,_e as functionHelper,Ze as referencesFunction,qe as referencesMember,ze as validateScript};