@arcgis/core 4.34.0-next.12 → 4.34.0-next.13

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 (623) hide show
  1. package/applications/Components/stringUtils.d.ts +6 -0
  2. package/applications/Components/stringUtils.js +5 -0
  3. package/arcade/Dictionary.js +1 -1
  4. package/arcade/Feature.js +1 -1
  5. package/arcade/arcadeAsyncRuntime.js +1 -1
  6. package/arcade/arcadeCompiler.js +1 -1
  7. package/arcade/arcadeRuntime.js +1 -1
  8. package/arcade/containerUtils.js +1 -1
  9. package/arcade/deepClone.js +1 -1
  10. package/arcade/featureSetUtils.js +1 -1
  11. package/arcade/featureset/actions/Adapted.js +1 -1
  12. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  13. package/arcade/functions/convertdirection.js +1 -1
  14. package/arcade/functions/date.js +1 -1
  15. package/arcade/functions/feature.js +1 -1
  16. package/arcade/functions/featuresetbase.js +1 -1
  17. package/arcade/functions/featuresetgeom.js +1 -1
  18. package/arcade/functions/featuresetstats.js +1 -1
  19. package/arcade/functions/featuresetstring.js +1 -1
  20. package/arcade/functions/fieldStats.js +1 -1
  21. package/arcade/functions/geomasync.js +1 -1
  22. package/arcade/functions/geometry.js +1 -1
  23. package/arcade/functions/geomsync.js +1 -1
  24. package/arcade/functions/knowledgegraph.js +1 -1
  25. package/arcade/functions/maths.js +1 -1
  26. package/arcade/functions/stats.js +1 -1
  27. package/arcade/functions/string.js +1 -1
  28. package/arcade/geometry/constructors.js +1 -1
  29. package/arcade/geometry/functions.js +1 -1
  30. package/arcade/languageUtils.js +1 -1
  31. package/arcade.js +1 -1
  32. package/assets/esri/core/workers/RemoteClient.js +1 -1
  33. package/assets/esri/core/workers/chunks/0229c573fa8a2fff2d8b.js.LICENSE.txt +1 -1
  34. package/assets/esri/core/workers/chunks/{9f964467f7353039dd9c.js → 0b21651eb93efe9ce089.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{e0ae33206f519b159b49.js → 0eeb0dce918e4827309a.js} +1 -1
  36. package/assets/esri/core/workers/chunks/0ff6f15d46d7ddf6fe4d.js +1 -0
  37. package/assets/esri/core/workers/chunks/{e385a27fd1ac2123a05f.js → 178260e8a263f2f1584f.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{28b1819bf744ce957dfd.js → 17fcdaeb42e932712096.js} +2 -2
  39. package/assets/esri/core/workers/chunks/{28b1819bf744ce957dfd.js.LICENSE.txt → 17fcdaeb42e932712096.js.LICENSE.txt} +1 -1
  40. package/assets/esri/core/workers/chunks/{3ae2e9f469020f777d9f.js → 183a7dec68c8ba6eb3d6.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{52c34d6ecd9d45a33e69.js → 275a724c18bd15591e3c.js} +1 -1
  42. package/assets/esri/core/workers/chunks/29fb64826bb1351aca8d.js.LICENSE.txt +1 -1
  43. package/assets/esri/core/workers/chunks/{0039dee1337160366112.js → 3145218abe59b5e99ff8.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{dea3e131bbd48cc48e1a.js → 369978472cc9ee6a00b5.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{539541dec5fcf3b657aa.js → 3f58da371633967a61ca.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{d0372bac0c5f4fbed468.js → 3f59a73f9a758095976f.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{f48eb59b94ba8b7d4d72.js → 4079e307a0fce4516aa4.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{a2e9141ff4efd13413a1.js → 4a805e7a57d25c4b595f.js} +2 -2
  49. package/assets/esri/core/workers/chunks/53ff5b7691ba1444358e.js +1 -0
  50. package/assets/esri/core/workers/chunks/54f981fe0f8851767be9.js.LICENSE.txt +1 -1
  51. package/assets/esri/core/workers/chunks/{a6fb75929e456f87f804.js → 58b2dc0ec977af7413b0.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{92a5dccb328229a9336b.js → 58f92100b1b2343111c6.js} +1 -1
  53. package/assets/esri/core/workers/chunks/5cc5f32b474ee723e192.js +1 -0
  54. package/assets/esri/core/workers/chunks/5dcc8fa321f0a7c49f36.js +1 -0
  55. package/assets/esri/core/workers/chunks/64f5f27e7c5649d79cbc.js +1 -0
  56. package/assets/esri/core/workers/chunks/64fc44f99486c7ffe6fa.js +1 -0
  57. package/assets/esri/core/workers/chunks/658e82c9b722852e02d0.js +1 -0
  58. package/assets/esri/core/workers/chunks/{6b0ae9ccdd1acef5b5b4.js → 679d7baea233faf3fdbc.js} +1 -1
  59. package/assets/esri/core/workers/chunks/73ddb356121add556994.js.LICENSE.txt +1 -1
  60. package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
  61. package/assets/esri/core/workers/chunks/8b93cd4132934b0d7d39.js +1 -0
  62. package/assets/esri/core/workers/chunks/97b69fec3e87f11210ba.js +1 -0
  63. package/assets/esri/core/workers/chunks/{fda48126f67e80034404.js → 998819aade3898f52414.js} +1 -1
  64. package/assets/esri/core/workers/chunks/9a87c367ee5ba44f3081.js +1 -0
  65. package/assets/esri/core/workers/chunks/{427318722815bef1496b.js → a08ce98672ab94d19613.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{6d90887dc605261dd7b3.js → a250a5c6e055e33bd25c.js} +1 -1
  67. package/assets/esri/core/workers/chunks/aad9a693813b47a51530.js.LICENSE.txt +1 -1
  68. package/assets/esri/core/workers/chunks/b72137c63b7f2a525d9e.js +1 -0
  69. package/assets/esri/core/workers/chunks/b8c8acf75e09014d8346.js +1 -0
  70. package/assets/esri/core/workers/chunks/c2264451d12f1fbaad22.js +1 -0
  71. package/assets/esri/core/workers/chunks/c6c86cbe65a58c3093ae.js +1 -0
  72. package/assets/esri/core/workers/chunks/{562800b0af52a38a311b.js → cf25f487fe4eb1579aee.js} +1 -1
  73. package/assets/esri/core/workers/chunks/e717832326d1b1f817d3.js +1 -0
  74. package/assets/esri/core/workers/chunks/{bd2dcc55ac3418421ee5.js → f20ba89ac21f05b7020c.js} +1 -1
  75. package/assets/esri/core/workers/chunks/f3b51aa0a1a8fc3b231c.js.LICENSE.txt +1 -1
  76. package/assets/esri/core/workers/chunks/{a41f9b6deff08196566e.js → fa894be8cfb6ed485df9.js} +1 -1
  77. package/assets/esri/core/workers/chunks/fe3703ec198cbfebec30.js +1 -0
  78. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +7 -1
  79. package/assets/esri/themes/base/widgets/_TimeSlider.scss +1 -0
  80. package/assets/esri/themes/dark/main.css +1 -1
  81. package/assets/esri/themes/light/main.css +1 -1
  82. package/assets/esri/themes/light/view.css +1 -1
  83. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  84. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  85. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  86. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  87. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  88. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  89. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  90. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  91. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  92. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  93. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  94. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  95. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  96. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  97. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  98. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  99. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  100. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  101. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  102. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  103. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  104. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  105. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  106. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  107. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  108. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  109. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  110. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  111. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  112. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  113. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  114. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  115. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  116. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  117. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  118. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  119. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  120. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  121. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +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_nl.json +1 -1
  144. package/assets/esri/widgets/Directions/t9n/Directions_no.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_nl.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_no.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/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  201. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  202. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  203. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  204. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  205. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  206. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  207. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  208. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  209. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  210. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  211. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  212. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  213. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  214. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  215. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  216. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  217. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  218. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  219. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  220. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  221. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  222. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
  223. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  224. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  225. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  226. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  227. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  228. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  229. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  230. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  231. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  232. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  233. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  234. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  235. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  236. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  237. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  238. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  239. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  240. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  241. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  242. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  243. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  244. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  245. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  246. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  247. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  248. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  249. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  250. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  251. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  252. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  253. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  254. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  255. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  256. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  257. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  258. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  259. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  260. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  261. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  262. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  263. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  264. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  265. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  266. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  267. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  268. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  269. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  270. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  271. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  272. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  273. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  274. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  275. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  276. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  277. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  278. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  279. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  280. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  281. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  282. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  283. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  284. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  285. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  286. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  287. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  288. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  289. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  290. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  291. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  292. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  293. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  294. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  295. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  296. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  297. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  298. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  299. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  300. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  301. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  302. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  303. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  304. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  305. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  306. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  307. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  308. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  309. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  310. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  311. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  312. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  313. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  314. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  315. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  316. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  317. package/assets/esri/widgets/Search/t9n/Search_ar.json +1 -1
  318. package/assets/esri/widgets/Search/t9n/Search_bg.json +1 -1
  319. package/assets/esri/widgets/Search/t9n/Search_bs.json +1 -1
  320. package/assets/esri/widgets/Search/t9n/Search_ca.json +1 -1
  321. package/assets/esri/widgets/Search/t9n/Search_cs.json +1 -1
  322. package/assets/esri/widgets/Search/t9n/Search_da.json +1 -1
  323. package/assets/esri/widgets/Search/t9n/Search_de.json +1 -1
  324. package/assets/esri/widgets/Search/t9n/Search_el.json +1 -1
  325. package/assets/esri/widgets/Search/t9n/Search_es.json +1 -1
  326. package/assets/esri/widgets/Search/t9n/Search_et.json +1 -1
  327. package/assets/esri/widgets/Search/t9n/Search_fi.json +1 -1
  328. package/assets/esri/widgets/Search/t9n/Search_fr.json +1 -1
  329. package/assets/esri/widgets/Search/t9n/Search_he.json +1 -1
  330. package/assets/esri/widgets/Search/t9n/Search_hr.json +1 -1
  331. package/assets/esri/widgets/Search/t9n/Search_hu.json +1 -1
  332. package/assets/esri/widgets/Search/t9n/Search_id.json +1 -1
  333. package/assets/esri/widgets/Search/t9n/Search_it.json +1 -1
  334. package/assets/esri/widgets/Search/t9n/Search_ja.json +1 -1
  335. package/assets/esri/widgets/Search/t9n/Search_ko.json +1 -1
  336. package/assets/esri/widgets/Search/t9n/Search_lt.json +1 -1
  337. package/assets/esri/widgets/Search/t9n/Search_lv.json +1 -1
  338. package/assets/esri/widgets/Search/t9n/Search_nl.json +1 -1
  339. package/assets/esri/widgets/Search/t9n/Search_no.json +1 -1
  340. package/assets/esri/widgets/Search/t9n/Search_pl.json +1 -1
  341. package/assets/esri/widgets/Search/t9n/Search_pt-BR.json +1 -1
  342. package/assets/esri/widgets/Search/t9n/Search_pt-PT.json +1 -1
  343. package/assets/esri/widgets/Search/t9n/Search_ro.json +1 -1
  344. package/assets/esri/widgets/Search/t9n/Search_ru.json +1 -1
  345. package/assets/esri/widgets/Search/t9n/Search_sk.json +1 -1
  346. package/assets/esri/widgets/Search/t9n/Search_sl.json +1 -1
  347. package/assets/esri/widgets/Search/t9n/Search_sr.json +1 -1
  348. package/assets/esri/widgets/Search/t9n/Search_sv.json +1 -1
  349. package/assets/esri/widgets/Search/t9n/Search_th.json +1 -1
  350. package/assets/esri/widgets/Search/t9n/Search_tr.json +1 -1
  351. package/assets/esri/widgets/Search/t9n/Search_uk.json +1 -1
  352. package/assets/esri/widgets/Search/t9n/Search_vi.json +1 -1
  353. package/assets/esri/widgets/Search/t9n/Search_zh-CN.json +1 -1
  354. package/assets/esri/widgets/Search/t9n/Search_zh-HK.json +1 -1
  355. package/assets/esri/widgets/Search/t9n/Search_zh-TW.json +1 -1
  356. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ar.json +1 -1
  357. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bg.json +1 -1
  358. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bs.json +1 -1
  359. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ca.json +1 -1
  360. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_cs.json +1 -1
  361. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_da.json +1 -1
  362. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_de.json +1 -1
  363. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_el.json +1 -1
  364. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_es.json +1 -1
  365. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_et.json +1 -1
  366. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fi.json +1 -1
  367. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fr.json +1 -1
  368. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_he.json +1 -1
  369. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hr.json +1 -1
  370. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hu.json +1 -1
  371. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_id.json +1 -1
  372. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_it.json +1 -1
  373. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ja.json +1 -1
  374. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ko.json +1 -1
  375. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lt.json +1 -1
  376. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lv.json +1 -1
  377. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_nl.json +1 -1
  378. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_no.json +1 -1
  379. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pl.json +1 -1
  380. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-BR.json +1 -1
  381. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-PT.json +1 -1
  382. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ro.json +1 -1
  383. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ru.json +1 -1
  384. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sk.json +1 -1
  385. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sl.json +1 -1
  386. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sr.json +1 -1
  387. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sv.json +1 -1
  388. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_th.json +1 -1
  389. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_tr.json +1 -1
  390. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_uk.json +1 -1
  391. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_vi.json +1 -1
  392. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-CN.json +1 -1
  393. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-HK.json +1 -1
  394. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-TW.json +1 -1
  395. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ar.json +1 -1
  396. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_bg.json +1 -1
  397. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_bs.json +1 -1
  398. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ca.json +1 -1
  399. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_cs.json +1 -1
  400. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_da.json +1 -1
  401. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_de.json +1 -1
  402. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_el.json +1 -1
  403. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_es.json +1 -1
  404. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_et.json +1 -1
  405. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_fi.json +1 -1
  406. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_fr.json +1 -1
  407. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_he.json +1 -1
  408. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_hr.json +1 -1
  409. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_hu.json +1 -1
  410. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_id.json +1 -1
  411. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_it.json +1 -1
  412. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ja.json +1 -1
  413. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ko.json +1 -1
  414. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_lt.json +1 -1
  415. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_lv.json +1 -1
  416. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_nl.json +1 -1
  417. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_no.json +1 -1
  418. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_pl.json +1 -1
  419. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_pt-BR.json +1 -1
  420. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_pt-PT.json +1 -1
  421. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ro.json +1 -1
  422. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ru.json +1 -1
  423. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sk.json +1 -1
  424. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sl.json +1 -1
  425. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sr.json +1 -1
  426. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sv.json +1 -1
  427. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_th.json +1 -1
  428. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_tr.json +1 -1
  429. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_uk.json +1 -1
  430. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_vi.json +1 -1
  431. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_zh-CN.json +1 -1
  432. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_zh-HK.json +1 -1
  433. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_zh-TW.json +1 -1
  434. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ar.json +1 -1
  435. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_bg.json +1 -1
  436. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_bs.json +1 -1
  437. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ca.json +1 -1
  438. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_cs.json +1 -1
  439. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_da.json +1 -1
  440. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_de.json +1 -1
  441. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_el.json +1 -1
  442. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_es.json +1 -1
  443. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_et.json +1 -1
  444. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_fi.json +1 -1
  445. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_fr.json +1 -1
  446. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_he.json +1 -1
  447. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_hr.json +1 -1
  448. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_hu.json +1 -1
  449. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_id.json +1 -1
  450. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_it.json +1 -1
  451. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ja.json +1 -1
  452. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ko.json +1 -1
  453. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_lt.json +1 -1
  454. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_lv.json +1 -1
  455. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_nl.json +1 -1
  456. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_no.json +1 -1
  457. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_pl.json +1 -1
  458. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_pt-BR.json +1 -1
  459. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_pt-PT.json +1 -1
  460. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ro.json +1 -1
  461. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ru.json +1 -1
  462. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sk.json +1 -1
  463. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sl.json +1 -1
  464. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sr.json +1 -1
  465. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sv.json +1 -1
  466. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_th.json +1 -1
  467. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_tr.json +1 -1
  468. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_uk.json +1 -1
  469. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_vi.json +1 -1
  470. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_zh-CN.json +1 -1
  471. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_zh-HK.json +1 -1
  472. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_zh-TW.json +1 -1
  473. package/chunks/PointRenderer.glsl.js +2 -2
  474. package/chunks/aiServices.js +1 -1
  475. package/chunks/array.js +1 -1
  476. package/chunks/languageUtils.js +1 -1
  477. package/config.js +1 -1
  478. package/core/urlUtils.js +1 -1
  479. package/geometry/support/MeshTexture.js +1 -1
  480. package/geometry/support/coordsUtils.js +1 -1
  481. package/interfaces.d.ts +340 -94
  482. package/kernel.js +1 -1
  483. package/layers/CatalogLayer.js +1 -1
  484. package/layers/FeatureLayer.js +1 -1
  485. package/layers/VideoLayer.js +1 -1
  486. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  487. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  488. package/layers/mixins/ArcGISImageService.js +1 -1
  489. package/layers/mixins/FeatureLayerBase.js +1 -1
  490. package/layers/support/PlaybackInfo.d.ts +4 -0
  491. package/layers/support/arcgisLayers.js +1 -1
  492. package/layers/support/fetchService.js +1 -1
  493. package/layers/support/layerUtils.js +1 -1
  494. package/layers/support/rasterDatasets/FunctionRaster.js +1 -1
  495. package/networks/CircuitManager.js +1 -1
  496. package/networks/UnitIdentifierManager.js +1 -1
  497. package/package.json +2 -2
  498. package/portal/support/layersLoader.js +1 -1
  499. package/portal/support/loadUtils.js +1 -1
  500. package/portal/support/portalLayers.js +1 -1
  501. package/renderers/support/rendererConversion.js +1 -1
  502. package/rest/networks/circuits/alterCircuit.js +1 -1
  503. package/rest/networks/circuits/createCircuit.js +1 -1
  504. package/rest/networks/circuits/deleteCircuits.js +1 -1
  505. package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
  506. package/rest/networks/circuits/support/EditCircuitsResult.js +5 -0
  507. package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
  508. package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
  509. package/rest/networks/support/utils.js +5 -0
  510. package/rest/networks/unitIdentifiers/insertGap.js +1 -1
  511. package/rest/networks/unitIdentifiers/reset.js +1 -1
  512. package/rest/networks/unitIdentifiers/resize.js +1 -1
  513. package/rest/networks/unitIdentifiers/support/EditUnitIdentifiersResult.js +5 -0
  514. package/support/arcadeUtils.js +1 -1
  515. package/support/popupUtils.js +1 -1
  516. package/support/revision.js +1 -1
  517. package/symbols/support/symbolConversion.js +1 -1
  518. package/views/2d/engine/flow/dataUtils.js +1 -1
  519. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
  520. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  521. package/views/3d/FocusAreasView.js +1 -1
  522. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  523. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  524. package/views/3d/layers/FlowSubView3D.js +1 -1
  525. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  526. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  527. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  528. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  529. package/views/3d/layers/RouteLayerView3D.js +1 -1
  530. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  531. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  532. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  533. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  534. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  535. package/views/3d/layers/graphics/Labeler.js +1 -1
  536. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  537. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  538. package/views/3d/state/controllers/RotateController.js +1 -1
  539. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  540. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  541. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  542. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  543. package/views/3d/state/utils/navigationUtils.js +1 -1
  544. package/views/3d/support/DisplayQualityProfile.js +1 -1
  545. package/views/3d/support/QualitySettings.js +1 -1
  546. package/views/3d/support/flow/FlowSubViewExtent3D.js +5 -0
  547. package/views/3d/support/flow/FlowSubViewTiles3D.js +5 -0
  548. package/views/3d/support/flow/loadUtils.js +1 -1
  549. package/views/3d/support/sunUtils.js +1 -1
  550. package/views/3d/terrain/OverlayManager.js +1 -1
  551. package/views/3d/terrain/TerrainSurface.js +1 -1
  552. package/views/3d/terrain/TileRenderer.js +1 -1
  553. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  554. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  555. package/views/3d/webgl-engine/lib/textureUtils.js +1 -1
  556. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  557. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  558. package/views/ToolViewManager.js +1 -1
  559. package/views/View2D.js +1 -1
  560. package/views/Viewport2DMixin.js +1 -1
  561. package/views/support/layerViewUtils.js +1 -1
  562. package/views/ui/UI.js +1 -1
  563. package/views/webgl/FramebufferObject.js +1 -1
  564. package/views/webgl/Parameters.js +1 -1
  565. package/widgets/BasemapLayerList.js +1 -1
  566. package/widgets/CatalogLayerList.js +1 -1
  567. package/widgets/Editor/EditorViewModel.js +1 -1
  568. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  569. package/widgets/Editor/UpdateWorkflow.js +1 -1
  570. package/widgets/Editor/UpdateWorkflowData.js +1 -1
  571. package/widgets/Editor/workflowUtils.js +1 -1
  572. package/widgets/Editor.js +1 -1
  573. package/widgets/Expand.js +1 -1
  574. package/widgets/Feature/FeatureUtilityNetworkAssociationList.js +1 -1
  575. package/widgets/Feature/FeatureViewModel.js +1 -1
  576. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  577. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  578. package/widgets/FeatureForm/FieldInput.js +1 -1
  579. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  580. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  581. package/widgets/LayerList/LayerListItem.js +1 -1
  582. package/widgets/LayerList.js +1 -1
  583. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  584. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  585. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  586. package/widgets/OrientedImageryViewer.js +1 -1
  587. package/widgets/Print.js +1 -1
  588. package/widgets/Search.js +1 -1
  589. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  590. package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
  591. package/widgets/Sketch/support/ResponsiveToolbar/SplitButton.js +1 -1
  592. package/widgets/Sketch.js +1 -1
  593. package/widgets/TableList.js +1 -1
  594. package/widgets/TimeSlider.js +1 -1
  595. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  596. package/widgets/support/SelectionList/FeatureItem.js +1 -1
  597. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  598. package/widgets/support/SelectionList/LayerItem.js +1 -1
  599. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  600. package/widgets/support/SelectionList/selectionListUtils.js +1 -1
  601. package/widgets/support/SelectionList.js +1 -1
  602. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  603. package/widgets/support/SelectionToolbar.js +1 -1
  604. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  605. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  606. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  607. package/assets/esri/core/workers/chunks/2dc54925d473a959119c.js +0 -1
  608. package/assets/esri/core/workers/chunks/464c15b2779f9b803a06.js +0 -1
  609. package/assets/esri/core/workers/chunks/543b8dc8baa21b99147b.js +0 -1
  610. package/assets/esri/core/workers/chunks/5d3246b8fc50f9d9e2c4.js +0 -1
  611. package/assets/esri/core/workers/chunks/5d50a8d0427eab0a2514.js +0 -1
  612. package/assets/esri/core/workers/chunks/7a2189614f2dad49ffcd.js +0 -1
  613. package/assets/esri/core/workers/chunks/91d484960df25ec9554b.js +0 -1
  614. package/assets/esri/core/workers/chunks/9cd55043f3d789f41815.js +0 -1
  615. package/assets/esri/core/workers/chunks/b09539a4b491a90a6bbe.js +0 -1
  616. package/assets/esri/core/workers/chunks/b6c3a2d93a59df9a1418.js +0 -1
  617. package/assets/esri/core/workers/chunks/c45a314ace9725aa250e.js +0 -1
  618. package/assets/esri/core/workers/chunks/c6fa79ce324122e08dbb.js +0 -1
  619. package/assets/esri/core/workers/chunks/cbbbaccc0d3683e1c0fe.js +0 -1
  620. package/assets/esri/core/workers/chunks/e7a440476cd1eb4c6547.js +0 -1
  621. package/assets/esri/core/workers/chunks/e9993d4f2bfdc434fbcc.js +0 -1
  622. package/assets/esri/core/workers/chunks/eb23ce385b0d18959c7c.js +0 -1
  623. package/views/3d/support/flow/StreamlinesStyle3D.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../request.js";import t from"./featureSetCollection.js";import{p as a,$ as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import p from"./featureset/support/cache.js";import{FeatureSetError as f,FeatureSetErrorCodes as y}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as m,isSupportedLayer as h,extractServiceUrl as I}from"./featureset/support/shared.js";import L from"../core/Loadable.js";import w from"../core/sql/WhereClause.js";import S from"../layers/FeatureLayer.js";import _ from"../layers/Layer.js";import C from"../portal/PortalItem.js";function g(){null===p.applicationCache&&(p.applicationCache=new p)}async function k(e,t,a){if(p.applicationCache){const a=p.applicationCache.getLayerInfo(e);if(a){const r=await a;return new S({url:e,outFields:t,sourceJSON:r})}const n=new S({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(p.applicationCache){p.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw p.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new S({url:e,outFields:t,sourceJSON:a})}const l=new S({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new S({url:e,outFields:t})}async function F(e,t,a,r,n,l=null){return N(await k(e,["*"],n),t,a,r,n,l)}function N(e,t=null,a=null,r=!0,n=null,l=null){switch(e.type){case"catalog-footprint":return N(e.parent,t,a,r,n,l);case"subtype-sublayer":{const s=N(e.parent,t,a,r,n,l);return s.filter(w.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:s.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const s={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l};return!e.url&&e.source?new c(s):new u(s)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function T(t){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw p.applicationCache.clearLayerInfo(t),r}}return a}async function A(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new f(y.DataElementsNotFound)})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw p.applicationCache.clearLayerInfo(r),l}}return n}async function O(t,a){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw p.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function E(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},n=await O(e,null);if(r.metadata=n,void 0!==n.controllerDatasetLayers?.utilityNetworkLayerId&&null!==n.controllerDatasetLayers.utilityNetworkLayerId){if(n.layers)for(const e of n.layers)r.layerNameLkp[e.id]=e.name;if(n.tables)for(const e of n.tables)r.layerNameLkp[e.id]=e.name;const l=n.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=l;const s=await A(e,l);if(s){r.queryelem=s,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const n=await T(e+"/"+l);if(void 0!==n.systemLayers?.associationsTableId&&null!==n.systemLayers.associationsTableId){let l=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),l=await F(e+"/"+n.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await l.load(),r.unVersion>=4&&(l=l.filter(w.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})),await l.load())}return{lkp:r.lkp,associations:l,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function j(e,t,a,r=null,n=null,l=!0,s=null,i=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await F(o,r,n,l,s,i);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:i})}n.registerAction(),l.registerAction(),s.registerAction(),i.registerAction(),o.registerAction();class b extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.title===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.id===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await O(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function M(e,t,a=null,r=null){return new b(e,t,a,r)}function v(e,t,a=null,r=null){return new D(e,t,a,r)}function R(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof _&&m(e)){const a=e;switch(t){case"datasource":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return N(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function q(e,t,a,r,n,l,s,i=null){if(p.applicationCache){const o=p.applicationCache.getLayerInfo(e+":"+l.url);if(o)return G(await o,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await G(await o,t,a,r,n,s,i)}const o=new C({id:e,portal:l}).load();p.applicationCache?p.applicationCache.setLayerInfo(e+":"+l.url,o):null!=s&&s.setCachedPortalItem(l.url,e,o);try{return await G(await o,t,a,r,n,s,i)}catch(u){throw p.applicationCache&&p.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,o),u}}async function G(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await k(I(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=_.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await _.fromPortalItem(e)}return N(i,a,r,n,l,s)}export{E as constructAssociationMetaDataFeatureSetFromUrl,N as constructFeatureSet,q as constructFeatureSetFromPortalItem,j as constructFeatureSetFromRelationship,F as constructFeatureSetFromUrl,R as convertToFeatureSet,M as createFeatureSetCollectionFromMap,v as createFeatureSetCollectionFromService,g as initialiseMetaDataCache};
5
+ import e from"../request.js";import t from"./featureSetCollection.js";import{m as a,$ as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import p from"./featureset/support/cache.js";import{FeatureSetError as f,FeatureSetErrorCodes as y}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as m,isSupportedLayer as h,extractServiceUrl as I}from"./featureset/support/shared.js";import L from"../core/Loadable.js";import w from"../core/sql/WhereClause.js";import S from"../layers/FeatureLayer.js";import _ from"../layers/Layer.js";import C from"../portal/PortalItem.js";function g(){null===p.applicationCache&&(p.applicationCache=new p)}async function k(e,t,a){if(p.applicationCache){const a=p.applicationCache.getLayerInfo(e);if(a){const r=await a;return new S({url:e,outFields:t,sourceJSON:r})}const n=new S({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(p.applicationCache){p.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw p.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new S({url:e,outFields:t,sourceJSON:a})}const l=new S({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new S({url:e,outFields:t})}async function F(e,t,a,r,n,l=null){return N(await k(e,["*"],n),t,a,r,n,l)}function N(e,t=null,a=null,r=!0,n=null,l=null){switch(e.type){case"catalog-footprint":return N(e.parent,t,a,r,n,l);case"subtype-sublayer":{const s=N(e.parent,t,a,r,n,l);return s.filter(w.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:s.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const s={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l};return!e.url&&e.source?new c(s):new u(s)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function T(t){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw p.applicationCache.clearLayerInfo(t),r}}return a}async function A(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new f(y.DataElementsNotFound)})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw p.applicationCache.clearLayerInfo(r),l}}return n}async function O(t,a){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw p.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function E(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},n=await O(e,null);if(r.metadata=n,void 0!==n.controllerDatasetLayers?.utilityNetworkLayerId&&null!==n.controllerDatasetLayers.utilityNetworkLayerId){if(n.layers)for(const e of n.layers)r.layerNameLkp[e.id]=e.name;if(n.tables)for(const e of n.tables)r.layerNameLkp[e.id]=e.name;const l=n.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=l;const s=await A(e,l);if(s){r.queryelem=s,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const n=await T(e+"/"+l);if(void 0!==n.systemLayers?.associationsTableId&&null!==n.systemLayers.associationsTableId){let l=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),l=await F(e+"/"+n.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await l.load(),r.unVersion>=4&&(l=l.filter(w.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})),await l.load())}return{lkp:r.lkp,associations:l,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function j(e,t,a,r=null,n=null,l=!0,s=null,i=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await F(o,r,n,l,s,i);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:i})}n.registerAction(),l.registerAction(),s.registerAction(),i.registerAction(),o.registerAction();class b extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.title===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.id===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await O(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function M(e,t,a=null,r=null){return new b(e,t,a,r)}function v(e,t,a=null,r=null){return new D(e,t,a,r)}function R(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof _&&m(e)){const a=e;switch(t){case"datasource":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return N(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function q(e,t,a,r,n,l,s,i=null){if(p.applicationCache){const o=p.applicationCache.getLayerInfo(e+":"+l.url);if(o)return G(await o,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await G(await o,t,a,r,n,s,i)}const o=new C({id:e,portal:l}).load();p.applicationCache?p.applicationCache.setLayerInfo(e+":"+l.url,o):null!=s&&s.setCachedPortalItem(l.url,e,o);try{return await G(await o,t,a,r,n,s,i)}catch(u){throw p.applicationCache&&p.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,o),u}}async function G(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await k(I(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=_.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await _.fromPortalItem(e)}return N(i,a,r,n,l,s)}export{E as constructAssociationMetaDataFeatureSetFromUrl,N as constructFeatureSet,q as constructFeatureSetFromPortalItem,j as constructFeatureSetFromRelationship,F as constructFeatureSetFromUrl,R as convertToFeatureSet,M as createFeatureSetCollectionFromMap,v as createFeatureSetCollectionFromService,g as initialiseMetaDataCache};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Graphic.js";import{cloneGeometry as t}from"../../kernel.js";import{FeatureSetError as r,FeatureSetErrorCodes as s}from"../support/errorsupport.js";import a from"../support/FeatureSet.js";import i from"../support/IdSet.js";import{FeatureServiceDatabaseType as l,isDate as n,isLuxonDate as o,isArcadeTime as u,isArcadeDate as h,isArcadeDateOnly as c,cloneField as d,layerGeometryEsriConstants as p}from"../support/shared.js";import{reformulateWithoutField as f,toWhereClause as g,translateFunctionToDatabaseSpecific as N,convertColumnReferenceToSql as _,makeToday as S,makeSqlFromDateTimeParameter as m,makeTimeString as w,arcadeDateToSqlString as v,arcadeDateOnlyToSqlString as C,convertIntervalToSql as T,combine as F,scanForField as W}from"../support/sqlUtils.js";import{assertIsSome as y}from"../../../core/maybe.js";import{SqlError as A,SqlErrorCodes as E}from"../../../core/sql/errorSupport.js";import x from"../../../core/sql/WhereClause.js";import D from"../../../geometry/SpatialReference.js";class I{constructor(e){this.field=e,this.sqlRewritable=!1}postInitialization(e,t){}}class k extends I{constructor(e){super(e),this.sqlRewritable=!0}extractValue(e){return e.attributes[this.field.name]}rewriteSql(e){return{rewritten:this.sqlRewritable,where:e}}}class b extends I{constructor(e,t,r){super(d(e)),this.originalField=e,this.sqlRewritable=!0,this.field.name=t,this.field.alias=r}rewriteSql(e,t){return{rewritten:this.sqlRewritable,where:f(e,this.field.name,this.originalField.name,t.getFieldsIndex())}}extractValue(e){return e.attributes[this.originalField.name]}}class B extends I{constructor(e,t,r){super(e),this.codefield=t,this.lkp=r,this.reverseLkp={};for(const s in r)this.reverseLkp[r[s]]=s;this.sqlRewritable=!0}static{this.BADNESS="_!!!_BAD_LKP_!!!!"}rewriteSql(e,t){const r=this.evaluateNodeToWhereClause(e.parseTree,l.Standardised,this.field.name,this.codefield instanceof x?g(this.codefield,l.Standardised):this.codefield,e.parameters);return r.includes(B.BADNESS)?{rewritten:!1,where:e}:{rewritten:this.sqlRewritable,where:x.create(r,{fieldsIndex:t._parent.getFieldsIndex(),timeZone:t.dateFieldsTimeZoneDefaultUTC})}}evaluateNodeToWhereClause(e,t,r=null,s=null,a){let i,l,d,p;switch(e.type){case"interval":return T(this.evaluateNodeToWhereClause(e.value,t,r,s,a),e.qualifier,e.op);case"case-expression":{let s=" CASE ";"simple"===e.format&&(s+=this.evaluateNodeToWhereClause(e.operand,t,r,B.BADNESS,a));for(let i=0;i<e.clauses.length;i++)s+=" WHEN "+this.evaluateNodeToWhereClause(e.clauses[i].operand,t,r,B.BADNESS,a)+" THEN "+this.evaluateNodeToWhereClause(e.clauses[i].value,t,r,B.BADNESS,a);return null!==e.else&&(s+=" ELSE "+this.evaluateNodeToWhereClause(e.else,t,r,B.BADNESS,a)),s+=" END ",s}case"parameter":{const r=a[e.value.toLowerCase()];if("string"==typeof r)return"'"+r.toString().replaceAll("'","''")+"'";if(n(r))return m(r,t);if(o(r))return m(r,t);if(u(r))return w(r,t);if(h(r))return v(r,t);if(c(r))return C(r,t);if(Array.isArray(r)){const e=[];for(let s=0;s<r.length;s++)"string"==typeof r[s]?e.push("'"+r[s].toString().replaceAll("'","''")+"'"):n(r[s])||o(r[s])?e.push(m(r[s],t)):u(r[s])?e.push(w(r[s],t)):h(r[s])?e.push(v(r[s],t)):c(r[s])?e.push(C(r[s],t)):e.push(r[s].toString());return e}return r.toString()}case"expression-list":l=[];for(const i of e.value)l.push(this.evaluateNodeToWhereClause(i,t,r,s,a));return l;case"unary-expression":return" ( NOT "+this.evaluateNodeToWhereClause(e.expr,t,r,B.BADNESS,a)+" ) ";case"binary-expression":switch(e.operator){case"AND":return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" AND "+this.evaluateNodeToWhereClause(e.right,t,r,s,a)+") ";case"OR":return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" OR "+this.evaluateNodeToWhereClause(e.right,t,r,s,a)+") ";case"IS":if("null"!==e.right.type)throw new A(E.UnsupportedIsRhs);return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IS NULL )";case"ISNOT":if("null"!==e.right.type)throw new A(E.UnsupportedIsRhs);return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IS NOT NULL )";case"IN":if(i=[],"expression-list"===e.right.type){if("column-reference"===e.left.type&&e.left.column.toUpperCase()===this.field.name.toUpperCase()){const i=[];let l=!0;for(const t of e.right.value){if("string"!==t.type){l=!1;break}if(void 0===this.lkp[t.value]){l=!1;break}i.push(this.lkp[t.value].toString())}if(l)return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+i.join(",")+")) "}return i=this.evaluateNodeToWhereClause(e.right,t,r,s,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+i.join(",")+")) "}return p=this.evaluateNodeToWhereClause(e.right,t,r,s,a),Array.isArray(p)?" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+p.join(",")+")) ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+p+")) ";case"NOT IN":if(i=[],"expression-list"===e.right.type){if("column-reference"===e.left.type&&e.left.column.toUpperCase()===this.field.name.toUpperCase()){const i=[];let l=!0;for(const t of e.right.value){if("string"!==t.type){l=!1;break}if(void 0===this.lkp[t.value]){l=!1;break}i.push(this.lkp[t.value].toString())}if(l)return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+i.join(",")+")) "}return i=this.evaluateNodeToWhereClause(e.right,t,r,s,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+i.join(",")+")) "}return p=this.evaluateNodeToWhereClause(e.right,t,r,s,a),Array.isArray(p)?" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+p.join(",")+")) ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+p+")) ";case"BETWEEN":return d=this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" BETWEEN "+d[0]+" AND "+d[1]+" ) ";case"NOTBETWEEN":return d=this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" NOT BETWEEN "+d[0]+" AND "+d[1]+" ) ";case"LIKE":return""!==e.escape?" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+" ESCAPE '"+e.escape+"') ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") ";case"NOT LIKE":return""!==e.escape?" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" NOT LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+" ESCAPE '"+e.escape+"') ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" NOT LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") ";case"<>":case"=":if("column-reference"===e.left.type&&"string"===e.right.type){if(e.left.column.toUpperCase()===this.field.name.toUpperCase()&&void 0!==this.lkp[e.right.value.toString()])return" ("+s+" "+e.operator+" "+this.lkp[e.right.value.toString()].toString()+") "}else if("column-reference"===e.right.type&&"string"===e.left.type&&e.right.column.toUpperCase()===this.field.name.toUpperCase())return" ("+this.lkp[e.right.value.toString()].toString()+" "+e.operator+" "+s+") ";return" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" "+e.operator+" "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") ";case"<":case">":case">=":case"<=":case"*":case"-":case"+":case"/":case"||":return" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" "+e.operator+" "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") "}case"null":return"null";case"boolean":return!0===e.value?"1":"0";case"string":return"'"+e.value.toString().replaceAll("'","''")+"'";case"timestamp":return`timestamp '${e.value}'`;case"date":return`date '${e.value}'`;case"time":return`time '${e.value}'`;case"number":return e.value.toString();case"current-time":return S(e.mode,t);case"current-user":return"CURRENT_USER";case"column-reference":return r&&r.toLowerCase()===e.column.toLowerCase()?"("+s+")":_(e.column);case"data-type":return e.value;case"function":{const s=this.evaluateNodeToWhereClause(e.args,t,r,B.BADNESS,a);return N(e.name,s,t)}}throw new A(E.UnsupportedSyntax,{node:e.type})}extractValue(e){return this.codefield instanceof x?this.reverseLkp[x.convertValueToStorageFormat(this.codefield.calculateValueCompiled(e))]:this.reverseLkp[e.attributes[this.codefield]]}}class L extends I{constructor(e,t){super(e),this._sql=t}rewriteSql(e,t){return{rewritten:!0,where:f(e,this.field.name,g(this._sql,l.Standardised),t.getFieldsIndex())}}extractValue(e){return x.convertValueToStorageFormat(this._sql.calculateValueCompiled(e),this.field.type)}}class R extends a{static findField(e,t){for(const r of e)if(r.name.toLowerCase()===t.toString().toLowerCase())return r;return null}constructor(e){super(e),this._calcFunc=null,this.declaredClass="esri.arcade.featureset.actions.Adapted",this.adaptedFields=[],this._extraFilter=null,this._extraFilter=e.extraFilter,this._parent=e.parentfeatureset,this._maxProcessing=30,this.adaptedFields=e.adaptedFields}_initialiseFeatureSet(){null!==this._parent?(this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types):(this.spatialReference=new D({wkid:4326}),this.objectIdField="",this.globalIdField="",this.geometryType=p.point,this.typeIdField="",this.types=null,this.subtypeField=null,this.subtypes=null),this.fields=[];for(const e of this.adaptedFields)e.postInitialization(this,this._parent),this.fields.push(e.field)}async _getSet(e){if(null===this._wset){await this._ensureLoaded();let t=null;return t=this._extraFilter?await this._getFilteredSet("",null,null,null,e):await(this._parent?._getSet(e)),this._checkCancelled(e),y(t),this._wset=new i(t._candidates.slice(),t._known.slice(),t._ordered,this._clonePageDefinition(t.pagesDefinition)),this._wset}return this._wset}_isInFeatureSet(e){return this._parent._isInFeatureSet(e)}async _getFeatures(r,s,a,l){const n=[];-1!==s&&void 0===this._featureCache[s]&&n.push(s);const o=this._maxQueryRate();if(!0===this._checkIfNeedToExpandKnownPage(r,o))return await this._expandPagedSet(r,o,0,0,l),this._getFeatures(r,s,a,l);let u=0;for(let e=r._lastFetchedIndex;e<r._known.length&&(u++,u<=a&&(r._lastFetchedIndex+=1),!(void 0===this._featureCache[r._known[e]]&&(r._known[e]!==s&&n.push(r._known[e]),n.length>=o)));e++);if(0===n.length)return"success";r=new i([],n,r._ordered,null);const h=Math.min(n.length,a);await(this._parent?._getFeatures(r,-1,h,l)),this._checkCancelled(l);const c=[];for(let e=0;e<h;e++){const t=this._parent?._featureFromCache(n[e]);void 0!==t&&c.push({geometry:t.geometry,attributes:t.attributes,id:n[e]})}for(const i of c){const r=[];for(const e of this.adaptedFields)r[e.field.name]=e.extractValue(i);this._featureCache[i.id]=new e({attributes:r,geometry:t(i.geometry)})}return"success"}async _fetchAndRefineFeatures(){throw new r(s.NeverReach)}async _getFilteredSet(e,t,r,s,a){let l=!1;const n=this._reformulateWithoutAdaptions(r);l=n.cannot,r=n.where;let o=!1;if(null!==s){o=!0;const e=[];for(const t of this.adaptedFields)if(!(t instanceof k)&&!0===s.scanForField(t.field.name)){if(!(t instanceof b)){s=null,o=!1;break}e.push({field:t.field.name,newfield:t.originalField.name})}s&&e.length>0&&(s=s.replaceFields(e))}null!==r?null!==this._extraFilter&&(r=F(this._extraFilter,r)):r=this._extraFilter,await this._ensureLoaded();const u=await this._parent._getFilteredSet(e,t,r,s,a);let h;return this._checkCancelled(a),h=!0===l?new i(u._candidates.slice().concat(u._known.slice()),[],!0===o&&u._ordered,this._clonePageDefinition(u.pagesDefinition)):new i(u._candidates.slice(),u._known.slice(),!0===o&&u._ordered,this._clonePageDefinition(u.pagesDefinition)),h}_reformulateWithoutAdaptions(e){const t={cannot:!1,where:e};if(null!==e)for(const r of this.adaptedFields)if(!0===W(e,r.field.name)){const s=r.rewriteSql(e,this);if(!0!==s.rewritten){t.cannot=!0,t.where=null;break}t.where=s.where}return t}async _stat(e,t,r,s,a,i,l){let n=!1,o=this._reformulateWithoutAdaptions(t);if(n=o.cannot,t=o.where,o=this._reformulateWithoutAdaptions(a),n=n||o.cannot,null!==(a=o.where)?null!==this._extraFilter&&(a=F(this._extraFilter,a)):a=this._extraFilter,!0===n)return null===a&&""===r&&null===s?this._manualStat(e,t,i,l):{calculated:!1};const u=await this._parent._stat(e,t,r,s,a,i,l);return!1===u.calculated?null===a&&""===r&&null===s?this._manualStat(e,t,i,l):{calculated:!1}:u}async _canDoAggregates(e,t,r,s,a){if(null===this._parent)return!1;for(let n=0;n<e.length;n++)for(const t of this.adaptedFields)if(e[n].toLowerCase()===t.field.name.toLowerCase()&&!(t instanceof k))return!1;const i=[];for(let n=0;n<t.length;n++){const e=t[n];if(null!==e.workingexpr){const t=this._reformulateWithoutAdaptions(e.workingexpr);if(t.cannot)return!1;const r=e.clone();r.workingexpr=t.where,i.push(r)}else i.push(e)}const l=this._reformulateWithoutAdaptions(a);return!l.cannot&&(null!==(a=l.where)?null!==this._extraFilter&&(a=F(this._extraFilter,a)):a=this._extraFilter,this._parent._canDoAggregates(e,i,r,s,a))}async _getAggregatePagesDataSourceDefinition(e,t,a,i,l,n,o){if(null===this._parent)throw new r(s.NeverReach);const u=[];for(let c=0;c<t.length;c++){const e=t[c];if(null!==e.workingexpr){const t=this._reformulateWithoutAdaptions(e.workingexpr);if(t.cannot)throw new r(s.NeverReach);const a=e.clone();a.workingexpr=t.where,u.push(a)}else u.push(e)}const h=this._reformulateWithoutAdaptions(l);if(h.cannot)throw new r(s.NeverReach);return null!==(l=h.where)?null!==this._extraFilter&&(l=F(this._extraFilter,l)):l=this._extraFilter,this._parent._getAggregatePagesDataSourceDefinition(e,u,a,i,l,n,o)}}export{R as AdaptedFeatureSet,I as AdaptedField,b as FieldRename,k as OriginalField,L as SqlExpressionAdapted,B as StringToCodeAdapted};
5
+ import e from"../../../Graphic.js";import{cloneGeometry as t}from"../../kernel.js";import{FeatureSetError as r,FeatureSetErrorCodes as s}from"../support/errorsupport.js";import a from"../support/FeatureSet.js";import i from"../support/IdSet.js";import{FeatureServiceDatabaseType as l,isDate as n,isLuxonDate as o,isArcadeTime as u,isArcadeDate as h,isArcadeDateOnly as c,cloneField as d,layerGeometryEsriConstants as p}from"../support/shared.js";import{reformulateWithoutField as f,toWhereClause as g,translateFunctionToDatabaseSpecific as N,convertColumnReferenceToSql as _,makeToday as S,makeSqlFromDateTimeParameter as m,makeTimeString as w,arcadeDateToSqlString as v,arcadeDateOnlyToSqlString as C,convertIntervalToSql as T,combine as F,scanForField as W}from"../support/sqlUtils.js";import{assertIsSome as y}from"../../../core/maybe.js";import{SqlError as A,SqlErrorCodes as E}from"../../../core/sql/errorSupport.js";import x from"../../../core/sql/WhereClause.js";import D from"../../../geometry/SpatialReference.js";class I{constructor(e){this.field=e,this.sqlRewritable=!1}postInitialization(e,t){}}class k extends I{constructor(e){super(e),this.sqlRewritable=!0}extractValue(e){return e.attributes[this.field.name]}rewriteSql(e){return{rewritten:this.sqlRewritable,where:e}}}class b extends I{constructor(e,t,r){super(d(e)),this.originalField=e,this.sqlRewritable=!0,this.field.name=t,this.field.alias=r}rewriteSql(e,t){return{rewritten:this.sqlRewritable,where:f(e,this.field.name,this.originalField.name,t.getFieldsIndex())}}extractValue(e){return e.attributes[this.originalField.name]}}class B extends I{constructor(e,t,r){super(e),this.codefield=t,this.lkp=r,this.reverseLkp={};for(const s in r)this.reverseLkp[r[s]]=s;this.sqlRewritable=!0}static{this.BADNESS="_!!!_BAD_LKP_!!!!"}rewriteSql(e,t){const r=this.evaluateNodeToWhereClause(e.parseTree,l.Standardised,this.field.name,this.codefield instanceof x?g(this.codefield,l.Standardised):this.codefield,e.parameters);return r.includes(B.BADNESS)?{rewritten:!1,where:e}:{rewritten:this.sqlRewritable,where:x.create(r,{fieldsIndex:t._parent.getFieldsIndex(),timeZone:t.dateFieldsTimeZoneDefaultUTC})}}evaluateNodeToWhereClause(e,t,r=null,s=null,a){let i,l,d,p;switch(e.type){case"interval":return T(this.evaluateNodeToWhereClause(e.value,t,r,s,a),e.qualifier,e.op);case"case-expression":{let s=" CASE ";"simple"===e.format&&(s+=this.evaluateNodeToWhereClause(e.operand,t,r,B.BADNESS,a));for(let i=0;i<e.clauses.length;i++)s+=" WHEN "+this.evaluateNodeToWhereClause(e.clauses[i].operand,t,r,B.BADNESS,a)+" THEN "+this.evaluateNodeToWhereClause(e.clauses[i].value,t,r,B.BADNESS,a);return null!==e.else&&(s+=" ELSE "+this.evaluateNodeToWhereClause(e.else,t,r,B.BADNESS,a)),s+=" END ",s}case"parameter":{const r=a[e.value.toLowerCase()];if("string"==typeof r)return"'"+r.toString().replaceAll("'","''")+"'";if(n(r))return m(r,t);if(o(r))return m(r,t);if(u(r))return w(r,t);if(h(r))return v(r,t);if(c(r))return C(r,t);if(Array.isArray(r)){const e=[];for(let s=0;s<r.length;s++)"string"==typeof r[s]?e.push("'"+r[s].toString().replaceAll("'","''")+"'"):n(r[s])||o(r[s])?e.push(m(r[s],t)):u(r[s])?e.push(w(r[s],t)):h(r[s])?e.push(v(r[s],t)):c(r[s])?e.push(C(r[s],t)):e.push(r[s].toString());return e}return r.toString()}case"expression-list":l=[];for(const i of e.value)l.push(this.evaluateNodeToWhereClause(i,t,r,s,a));return l;case"unary-expression":return" ( NOT "+this.evaluateNodeToWhereClause(e.expr,t,r,B.BADNESS,a)+" ) ";case"binary-expression":switch(e.operator){case"AND":return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" AND "+this.evaluateNodeToWhereClause(e.right,t,r,s,a)+") ";case"OR":return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" OR "+this.evaluateNodeToWhereClause(e.right,t,r,s,a)+") ";case"IS":if("null"!==e.right.type)throw new A(E.UnsupportedIsRhs);return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IS NULL )";case"ISNOT":if("null"!==e.right.type)throw new A(E.UnsupportedIsRhs);return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IS NOT NULL )";case"IN":if(i=[],"expression-list"===e.right.type){if("column-reference"===e.left.type&&e.left.column.toUpperCase()===this.field.name.toUpperCase()){const i=[];let l=!0;for(const t of e.right.value){if("string"!==t.type){l=!1;break}if(void 0===this.lkp[t.value]){l=!1;break}i.push(this.lkp[t.value].toString())}if(l)return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+i.join(",")+")) "}return i=this.evaluateNodeToWhereClause(e.right,t,r,s,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+i.join(",")+")) "}return p=this.evaluateNodeToWhereClause(e.right,t,r,s,a),Array.isArray(p)?" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+p.join(",")+")) ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" IN ("+p+")) ";case"NOT IN":if(i=[],"expression-list"===e.right.type){if("column-reference"===e.left.type&&e.left.column.toUpperCase()===this.field.name.toUpperCase()){const i=[];let l=!0;for(const t of e.right.value){if("string"!==t.type){l=!1;break}if(void 0===this.lkp[t.value]){l=!1;break}i.push(this.lkp[t.value].toString())}if(l)return" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+i.join(",")+")) "}return i=this.evaluateNodeToWhereClause(e.right,t,r,s,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+i.join(",")+")) "}return p=this.evaluateNodeToWhereClause(e.right,t,r,s,a),Array.isArray(p)?" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+p.join(",")+")) ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,s,a)+" NOT IN ("+p+")) ";case"BETWEEN":return d=this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" BETWEEN "+d[0]+" AND "+d[1]+" ) ";case"NOTBETWEEN":return d=this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)," ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" NOT BETWEEN "+d[0]+" AND "+d[1]+" ) ";case"LIKE":return""!==e.escape?" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+" ESCAPE '"+e.escape+"') ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") ";case"NOT LIKE":return""!==e.escape?" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" NOT LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+" ESCAPE '"+e.escape+"') ":" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" NOT LIKE "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") ";case"<>":case"=":if("column-reference"===e.left.type&&"string"===e.right.type){if(e.left.column.toUpperCase()===this.field.name.toUpperCase()&&void 0!==this.lkp[e.right.value.toString()])return" ("+s+" "+e.operator+" "+this.lkp[e.right.value.toString()].toString()+") "}else if("column-reference"===e.right.type&&"string"===e.left.type&&e.right.column.toUpperCase()===this.field.name.toUpperCase())return" ("+this.lkp[e.right.value.toString()].toString()+" "+e.operator+" "+s+") ";return" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" "+e.operator+" "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") ";case"<":case">":case">=":case"<=":case"*":case"-":case"+":case"/":case"||":return" ("+this.evaluateNodeToWhereClause(e.left,t,r,B.BADNESS,a)+" "+e.operator+" "+this.evaluateNodeToWhereClause(e.right,t,r,B.BADNESS,a)+") "}case"null":return"null";case"boolean":return!0===e.value?"1":"0";case"string":return"'"+e.value.toString().replaceAll("'","''")+"'";case"timestamp":return`timestamp '${e.value}'`;case"date":return`date '${e.value}'`;case"time":return`time '${e.value}'`;case"number":return e.value.toString();case"current-time":return S(e.mode,t);case"current-user":return"CURRENT_USER";case"column-reference":return r&&r.toLowerCase()===e.column.toLowerCase()?"("+s+")":_(e.column);case"data-type":return e.value;case"function":{const s=this.evaluateNodeToWhereClause(e.args,t,r,B.BADNESS,a);return N(e.name,s,t)}}throw new A(E.UnsupportedSyntax,{node:e.type})}extractValue(e){if(this.codefield instanceof x){const t=this.codefield.calculateValueCompiled(e);return this.reverseLkp[x.convertValueToStorageFormat(t)]}return this.reverseLkp[e.attributes[this.codefield]]}}class L extends I{constructor(e,t){super(e),this._sql=t}rewriteSql(e,t){return{rewritten:!0,where:f(e,this.field.name,g(this._sql,l.Standardised),t.getFieldsIndex())}}extractValue(e){return x.convertValueToStorageFormat(this._sql.calculateValueCompiled(e),this.field.type)}}class R extends a{static findField(e,t){for(const r of e)if(r.name.toLowerCase()===t.toString().toLowerCase())return r;return null}constructor(e){super(e),this._calcFunc=null,this.declaredClass="esri.arcade.featureset.actions.Adapted",this.adaptedFields=[],this._extraFilter=null,this._extraFilter=e.extraFilter,this._parent=e.parentfeatureset,this._maxProcessing=30,this.adaptedFields=e.adaptedFields}_initialiseFeatureSet(){null!==this._parent?(this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types):(this.spatialReference=new D({wkid:4326}),this.objectIdField="",this.globalIdField="",this.geometryType=p.point,this.typeIdField="",this.types=null,this.subtypeField=null,this.subtypes=null),this.fields=[];for(const e of this.adaptedFields)e.postInitialization(this,this._parent),this.fields.push(e.field)}async _getSet(e){if(null===this._wset){await this._ensureLoaded();let t=null;return t=this._extraFilter?await this._getFilteredSet("",null,null,null,e):await(this._parent?._getSet(e)),this._checkCancelled(e),y(t),this._wset=new i(t._candidates.slice(),t._known.slice(),t._ordered,this._clonePageDefinition(t.pagesDefinition)),this._wset}return this._wset}_isInFeatureSet(e){return this._parent._isInFeatureSet(e)}async _getFeatures(r,s,a,l){const n=[];-1!==s&&void 0===this._featureCache[s]&&n.push(s);const o=this._maxQueryRate();if(!0===this._checkIfNeedToExpandKnownPage(r,o))return await this._expandPagedSet(r,o,0,0,l),this._getFeatures(r,s,a,l);let u=0;for(let e=r._lastFetchedIndex;e<r._known.length&&(u++,u<=a&&(r._lastFetchedIndex+=1),!(void 0===this._featureCache[r._known[e]]&&(r._known[e]!==s&&n.push(r._known[e]),n.length>=o)));e++);if(0===n.length)return"success";r=new i([],n,r._ordered,null);const h=Math.min(n.length,a);await(this._parent?._getFeatures(r,-1,h,l)),this._checkCancelled(l);const c=[];for(let e=0;e<h;e++){const t=this._parent?._featureFromCache(n[e]);void 0!==t&&c.push({geometry:t.geometry,attributes:t.attributes,id:n[e]})}for(const i of c){const r=[];for(const e of this.adaptedFields)r[e.field.name]=e.extractValue(i);this._featureCache[i.id]=new e({attributes:r,geometry:t(i.geometry)})}return"success"}async _fetchAndRefineFeatures(){throw new r(s.NeverReach)}async _getFilteredSet(e,t,r,s,a){let l=!1;const n=this._reformulateWithoutAdaptions(r);l=n.cannot,r=n.where;let o=!1;if(null!==s){o=!0;const e=[];for(const t of this.adaptedFields)if(!(t instanceof k)&&!0===s.scanForField(t.field.name)){if(!(t instanceof b)){s=null,o=!1;break}e.push({field:t.field.name,newfield:t.originalField.name})}s&&e.length>0&&(s=s.replaceFields(e))}null!==r?null!==this._extraFilter&&(r=F(this._extraFilter,r)):r=this._extraFilter,await this._ensureLoaded();const u=await this._parent._getFilteredSet(e,t,r,s,a);let h;return this._checkCancelled(a),h=!0===l?new i(u._candidates.slice().concat(u._known.slice()),[],!0===o&&u._ordered,this._clonePageDefinition(u.pagesDefinition)):new i(u._candidates.slice(),u._known.slice(),!0===o&&u._ordered,this._clonePageDefinition(u.pagesDefinition)),h}_reformulateWithoutAdaptions(e){const t={cannot:!1,where:e};if(null!==e)for(const r of this.adaptedFields)if(!0===W(e,r.field.name)){const s=r.rewriteSql(e,this);if(!0!==s.rewritten){t.cannot=!0,t.where=null;break}t.where=s.where}return t}async _stat(e,t,r,s,a,i,l){let n=!1,o=this._reformulateWithoutAdaptions(t);if(n=o.cannot,t=o.where,o=this._reformulateWithoutAdaptions(a),n=n||o.cannot,null!==(a=o.where)?null!==this._extraFilter&&(a=F(this._extraFilter,a)):a=this._extraFilter,!0===n)return null===a&&""===r&&null===s?this._manualStat(e,t,i,l):{calculated:!1};const u=await this._parent._stat(e,t,r,s,a,i,l);return!1===u.calculated?null===a&&""===r&&null===s?this._manualStat(e,t,i,l):{calculated:!1}:u}async _canDoAggregates(e,t,r,s,a){if(null===this._parent)return!1;for(let n=0;n<e.length;n++)for(const t of this.adaptedFields)if(e[n].toLowerCase()===t.field.name.toLowerCase()&&!(t instanceof k))return!1;const i=[];for(let n=0;n<t.length;n++){const e=t[n];if(null!==e.workingexpr){const t=this._reformulateWithoutAdaptions(e.workingexpr);if(t.cannot)return!1;const r=e.clone();r.workingexpr=t.where,i.push(r)}else i.push(e)}const l=this._reformulateWithoutAdaptions(a);return!l.cannot&&(null!==(a=l.where)?null!==this._extraFilter&&(a=F(this._extraFilter,a)):a=this._extraFilter,this._parent._canDoAggregates(e,i,r,s,a))}async _getAggregatePagesDataSourceDefinition(e,t,a,i,l,n,o){if(null===this._parent)throw new r(s.NeverReach);const u=[];for(let c=0;c<t.length;c++){const e=t[c];if(null!==e.workingexpr){const t=this._reformulateWithoutAdaptions(e.workingexpr);if(t.cannot)throw new r(s.NeverReach);const a=e.clone();a.workingexpr=t.where,u.push(a)}else u.push(e)}const h=this._reformulateWithoutAdaptions(l);if(h.cannot)throw new r(s.NeverReach);return null!==(l=h.where)?null!==this._extraFilter&&(l=F(this._extraFilter,l)):l=this._extraFilter,this._parent._getAggregatePagesDataSourceDefinition(e,u,a,i,l,n,o)}}export{R as AdaptedFeatureSet,I as AdaptedField,b as FieldRename,k as OriginalField,L as SqlExpressionAdapted,B as StringToCodeAdapted};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../Graphic.js";import{id as t}from"../../../kernel.js";import r from"../../../request.js";import i from"../../Attachment.js";import s from"../../Dictionary.js";import{FeatureSetError as a,FeatureSetErrorCodes as n}from"../support/errorsupport.js";import l from"../support/FeatureSet.js";import o from"../support/IdSet.js";import{defaultMaxRecords as u,stableStringify as d,FeatureServiceDatabaseType as c,IdState as h,extractServiceUrl as p}from"../support/shared.js";import{toWhereClause as y,isSingleField as f}from"../support/sqlUtils.js";import{decodeStatType as g}from"../support/stats.js";import{sliceEquals as _}from"../../../core/arrayUtils.js";import{createMD5Hash as m,outputTypes as w}from"../../../core/MD5.js";import{sqlAnd as R}from"../../../core/sql.js";import F from"../../../core/sql/WhereClause.js";import{fromJSON as S}from"../../../geometry/support/jsonUtils.js";import{srToRESTValue as b}from"../../../geometry/support/spatialReferenceUtils.js";import I from"../../../layers/FeatureLayer.js";import D from"../../../rest/support/AttachmentQuery.js";import P from"../../../rest/support/Query.js";import C from"../../../rest/support/StatisticDefinition.js";function v(e){if(0===e.length)throw new a(n.NeverReach);const t=[];for(let i=0;i<e.length;i++){const r=e[i],s=[`"${r.name.replace('"','""')}" ${r.asc?">":"<"} @last_${i}`];for(let t=0;t<i;t++){const r=e[t];s.push(`"${r.name.replace('"','""')}" = @last_${t}`)}t.push(s.join(" AND "))}const r=t.join(" OR ");return F.create(r)}function T(e,t){null==e.clause&&(e.clause=v(e.keyFields));for(let r=0;r<e.keyFields.length;r++){const i=e.keyFields[r].name;e.clause.parameters[`last_${r}`]=t.attributes[i]}}class k extends l{constructor(e){super(e),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerDynamic",this._removeGeometry=!1,this._overrideFields=null,this.formulaCredential=null,this._pageJustIds=!1,this._requestStandardised=!1,this._useDefinitionExpression=!0,e.spatialReference&&(this.spatialReference=e.spatialReference),this._transparent=!0,this._maxProcessing=1e3,this._layer=e.layer,this._wset=null,void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry)}_maxQueryRate(){return u}end(){return this._layer}optimisePagingFeatureQueries(e){this._pageJustIds=e}get urlQueryPath(){return this._layer.parsedUrl.path||""}convertQueryToLruCacheKey(e){const t=this.urlQueryPath+","+d(e.toJSON());return m(t,w.String)}async loadImpl(){return!0===this._layer.loaded?(this._initialiseFeatureSet(),this):(await this._layer.load(),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){if(null==this.spatialReference&&(this.spatialReference=this._layer.spatialReference),this.geometryType=this._layer.geometryType??"",this.fields=this._layer.fields.slice(),this.hasZ=!0===this._layer?.capabilities?.data?.supportsZ,this.hasM=!0===this._layer?.capabilities?.data?.supportsM,null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=[],t=[];for(const r of this.fields)if("oid"===r.type)e.push(r),t.push(r.name);else for(const i of this._overrideFields)if(i.toLowerCase()===r.name.toLowerCase()){e.push(r),t.push(r.name);break}this.fields=e,this._overrideFields=t}if(this._layer.source&&this._layer.source.sourceJSON){const e=this._layer.source.sourceJSON.currentVersion;!0===this._layer.source.sourceJSON.useStandardizedQueries?(this._databaseType=c.StandardisedNoInterval,null!=e&&e>=10.61&&(this._databaseType=c.Standardised)):null!=e&&(e>=10.5&&(this._databaseType=c.StandardisedNoInterval,this._requestStandardised=!0),e>=10.61&&(this._databaseType=c.Standardised))}this.objectIdField=this._layer.objectIdField;for(const e of this.fields)"global-id"===e.type&&(this.globalIdField=e.name);this.subtypeField=this._layer.subtypeField??"",this.subtypes=this._layer.subtypes,this.typeIdField=("typeIdField"in this._layer?this._layer.typeIdField:null)??"",this.types="types"in this._layer?this._layer.types:null}_isInFeatureSet(){return h.InFeatureSet}async _refineSetBlock(e){return e}_candidateIdTransform(e){return e}async _getSet(e){if(null===this._wset){await this._ensureLoaded();const t=await this._getFilteredSet("",null,null,null,e);return this._wset=t,t}return this._wset}async _runDatabaseProbe(e){await this._ensureLoaded();const t=new P;this.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t.where=e.replace("OBJECTID",this._layer.objectIdField);try{return await this._layer.queryObjectIds(t),!0}catch(r){return!1}}_canUsePagination(){return!(!this._layer.capabilities||!this._layer.capabilities.query||!0!==this._layer.capabilities.query.supportsPagination)}_cacheableFeatureSetSourceKey(){return this._layer.url}get gdbVersion(){return this._layer&&this._layer.capabilities&&this._layer.capabilities.data&&this._layer.capabilities.data.isVersioned?this._layer.gdbVersion||"SDE.DEFAULT":""}nativeCapabilities(){return{title:this._layer.title??"",source:this,canQueryRelated:!0,capabilities:this._layer.capabilities,databaseType:this._databaseType,requestStandardised:this._requestStandardised}}_createQuery(){const e=this._layer.createQuery();return e.returnZ=this.hasZ,e.returnM=this.hasM,this.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),this._requestStandardised&&(e.sqlFormat="standard"),this._useDefinitionExpression?"subtype-group"===this._layer.type&&(e.where=this._layer.definitionExpression):e.where=null,e}executeQuery(e,t){const r="execute"===t?this._layer.queryFeatures.bind(this._layer):"executeForCount"===t?this._layer.queryFeatureCount.bind(this._layer):this._layer.queryObjectIds.bind(this._layer);let i=null;if(this.recentlyUsedQueries){const t=this.convertQueryToLruCacheKey(e);i=this.recentlyUsedQueries.getFromCache(t),null===i&&(i=r(e),this.recentlyUsedQueries.addToCache(t,i),i=i.catch((e=>{throw this.recentlyUsedQueries?.removeFromCache(t),e})))}return this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:e,method:t}),null===i&&(i=r(e)),i}async _getFilteredSet(e,t,r,i,s){const a=await this.databaseType();if(this.isTable()&&t&&null!==e&&""!==e){return new o([],[],!0,null)}if(this._canUsePagination())return this._getFilteredSetUsingPaging(e,t,r,i,s);let n="",l=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(n=i.constructClause(),l=!0);const u=this._createQuery();u.where=R(u.where,null===r?null===t?"1=1":"":y(r,a)),u.spatialRelationship=this._makeRelationshipEnum(e),u.outSpatialReference=this.spatialReference,u.orderByFields=""!==n?n.split(","):null,u.geometry=null===t?null:t,u.relationParameter=this._makeRelationshipParam(e);let d=await this.executeQuery(u,"executeForIds");null===d&&(d=[]),this._checkCancelled(s);return new o([],d,l,null)}_expandPagedSet(e,t,r,i,s){return this._expandPagedSetFeatureSet(e,t,r,i,s)}async _getFilteredSetUsingPaging(e,t,r,i,s){let a="",n=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(a=i.constructClause(),n=!0);const l=await this.databaseType(),u=null===r?null===t?"1=1":"":y(r,l);let d=this._maxQueryRate();const c=this._layer.capabilities?.query.maxRecordCount;null!=c&&c<d&&(d=c);let h=null;if(!0===this._pageJustIds)h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:this._layer.objectIdField,resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:!1,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}});else{let r=!0;!0===this._removeGeometry&&(r=!1);const i=this._overrideFields??this._fieldsIncludingObjectId(["*"]);h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:i.join(","),resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:r,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}})}return await this._expandPagedSet(h,d,0,1,s),h}_clonePageDefinition(e){return null===e?null:!0!==e.groupbypage?{groupbypage:!1,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,resultOffset:e.resultOffset,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}:{groupbypage:!0,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,useOIDpagination:e.useOIDpagination,generatedOid:e.generatedOid,groupByFieldsForStatistics:e.groupByFieldsForStatistics,resultOffset:e.resultOffset,outStatistics:e.outStatistics,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}}async _getPhysicalPage(e,t,r){const i=e.pagesDefinition.internal.lastRetrieved,s=i,a=e.pagesDefinition.internal.lastPage,n=this._createQuery();n.spatialRelationship=e.pagesDefinition.spatialRel,n.relationParameter=e.pagesDefinition.relationParam,n.outFields=e.pagesDefinition.outFields.split(","),n.num=e.pagesDefinition.resultRecordCount,n.start=e.pagesDefinition.internal.lastPage,n.geometry=e.pagesDefinition.geometry,n.where=R(n.where,e.pagesDefinition.where),n.orderByFields=""!==e.pagesDefinition.orderByFields?e.pagesDefinition.orderByFields.split(","):null,n.returnGeometry=e.pagesDefinition.returnGeometry,n.outSpatialReference=this.spatialReference;const l=await this.executeQuery(n,"execute");if(this._checkCancelled(r),e.pagesDefinition.internal.lastPage!==a)return"done";const o=this._layer.objectIdField;for(let u=0;u<l.features.length;u++)e.pagesDefinition.internal.set[s+u]=l.features[u].attributes[o];if(!1===this._pageJustIds)for(let u=0;u<l.features.length;u++)this._featureCache[l.features[u].attributes[o]]=l.features[u];return(void 0===l.exceededTransferLimit&&l.features.length!==e.pagesDefinition.resultRecordCount||!1===l.exceededTransferLimit)&&(e.pagesDefinition.internal.fullyResolved=!0),e.pagesDefinition.internal.lastRetrieved=i+l.features.length,e.pagesDefinition.internal.lastPage+=e.pagesDefinition.resultRecordCount,"done"}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice();if(t.includes("*"))return t;let r=!1;for(const i of t)if(i.toUpperCase()===this.objectIdField.toUpperCase()){r=!0;break}return!1===r&&t.push(this.objectIdField),t}async _getFeatures(e,t,r,i){const s=[];if(-1!==t&&void 0===this._featureCache[t]&&s.push(t),!0===this._checkIfNeedToExpandKnownPage(e,this._maxProcessingRate()))return await this._expandPagedSet(e,this._maxProcessingRate(),0,0,i),this._getFeatures(e,t,r,i);let l=0;for(let a=e._lastFetchedIndex;a<e._known.length;a++){if(e._lastFetchedIndex+=1,l++,void 0===this._featureCache[e._known[a]]){let r=!1;if(null!==this._layer._mode&&void 0!==this._layer._mode){const t=this._layer._mode;if(void 0!==t._featureMap[e._known[a]]){const i=t._featureMap[e._known[a]];null!==i&&(r=!0,this._featureCache[e._known[a]]=i)}}if(!1===r&&(e._known[a]!==t&&s.push(e._known[a]),s.length>=this._maxProcessingRate()-1))break}if(l>=r&&0===s.length)break}if(0===s.length)return"success";const o=this._createQuery();o.objectIds=s,o.outFields=this._overrideFields??this._fieldsIncludingObjectId(["*"]),o.returnGeometry=!0,!0===this._removeGeometry&&(o.returnGeometry=!1),o.outSpatialReference=this.spatialReference;const u=await this.executeQuery(o,"execute");if(this._checkCancelled(i),void 0!==u.error)throw new a(n.RequestFailed,{reason:u.error});const d=this._layer.objectIdField;for(let a=0;a<u.features.length;a++)this._featureCache[u.features[a].attributes[d]]=u.features[a];return"success"}async _getDistinctPages(e,t,r,i,s,l,o,u,d){await this._ensureLoaded();const c=await this.databaseType();let h=r.parseTree.column;const p=this._layer.fields??[];for(let a=0;a<p.length;a++)if(p[a].name.toLowerCase()===h.toLowerCase()){h=p[a].name;break}const f=this._createQuery();f.where=R(f.where,null===l?null===s?"1=1":"":y(l,c)),f.spatialRelationship=this._makeRelationshipEnum(i),f.relationParameter=this._makeRelationshipParam(i),f.geometry=null===s?null:s,f.returnDistinctValues=!0,f.returnGeometry=!1,f.outFields=[h];const g=await this.executeQuery(f,"execute");if(this._checkCancelled(d),!g.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);let _=!1;for(let a=0;a<p.length;a++)if(p[a].name===h){"date"===p[a].type&&(_=!0);break}for(let a=0;a<g.features.length;a++){if(_){const e=g.features[a].attributes[h];null!==e?u.push(new Date(e)):u.push(e)}else u.push(g.features[a].attributes[h]);if(u.length>=o)break}if(0===g.features.length)return u;if(g.features.length===this._layer.capabilities?.query.maxRecordCount&&u.length<o){return{calculated:!0,result:await this._getDistinctPages(e+g.features.length,t,r,i,s,l,o,u,d)}}return u}async _distinctStat(e,t,r,i,s,a,n){return{calculated:!0,result:await this._getDistinctPages(0,e,t,r,i,s,a,[],n)}}isTable(){return this._layer.isTable||null===this._layer.geometryType||"table"===this._layer.type||""===this._layer.geometryType||"esriGeometryNull"===this._layer.geometryType}async _countstat(e,t,r,i){const s=await this.databaseType();if(this.isTable()&&r&&null!==t&&""!==t)return{calculated:!0,result:0};const a=this._createQuery();a.where=R(a.where,null===i?null===r?"1=1":"":y(i,s)),a.spatialRelationship=this._makeRelationshipEnum(t),a.relationParameter=this._makeRelationshipParam(t),a.geometry=null===r?null:r,a.returnGeometry=!1;return{calculated:!0,result:await this.executeQuery(a,"executeForCount")}}async _stats(e,t,r,i,s,l,o){await this._ensureLoaded();const u=this._layer.capabilities?.query,d=!!u?.supportsSqlExpression,c=!!u?.supportsStatistics,h=!!u?.supportsDistinct;if("count"===e)return h?this._countstat(e,r,i,s):{calculated:!1};if(!1===c||!1===f(t)&&!1===d||!1===t.isStandardized)return""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o);if("distinct"===e)return!1===h?""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o):this._distinctStat(e,t,r,i,s,l,o);const p=await this.databaseType();if(this.isTable()&&i&&null!==r&&""!==r)return{calculated:!0,result:null};const _=this._createQuery();_.where=R(_.where,null===s?null===i?"1=1":"":y(s,p)),_.spatialRelationship=this._makeRelationshipEnum(r),_.relationParameter=this._makeRelationshipParam(r),_.geometry=null===i?null:i;const m=new C;m.statisticType=g(e),m.onStatisticField=y(t,p),m.outStatisticFieldName="ARCADE_STAT_RESULT",_.returnGeometry=!1;let w="ARCADE_STAT_RESULT";_.outStatistics=[m];const F=await this.executeQuery(_,"execute");if(!F.hasOwnProperty("features")||0===F.features.length)throw new a(n.InvalidStatResponse);let S=!1;const b=F.fields??[];for(let a=0;a<b.length;a++)if("ARCADE_STAT_RESULT"===b[a].name.toUpperCase()){w=b[a].name,"date"===b[a].type&&(S=!0);break}if(S){let e=F.features[0].attributes[w];return null!==e&&(e=new Date(F.features[0].attributes[w])),{calculated:!0,result:e}}return{calculated:!0,result:F.features[0].attributes[w]}}_stat(e,t,r,i,s,a,n){return this._stats(e,t,r,i,s,a,n)}async _canDoAggregates(e,t){await this._ensureLoaded();let r=!1;const i=this._layer.capabilities?.query,s=!0===i?.supportsSqlExpression;if(null!=i&&!0===i.supportsStatistics&&!0===i.supportsOrderBy&&(r=!0),r)for(let a=0;a<t.length-1;a++)(!1===t[a].workingexpr?.isStandardized||!1===f(t[a].workingexpr)&&!1===s)&&(r=!1);return!1!==r}_makeRelationshipEnum(e){if(e.includes("esriSpatialRelRelation"))return"relation";switch(e){case"esriSpatialRelRelation":return"relation";case"esriSpatialRelIntersects":return"intersects";case"esriSpatialRelContains":return"contains";case"esriSpatialRelOverlaps":return"overlaps";case"esriSpatialRelWithin":return"within";case"esriSpatialRelTouches":return"touches";case"esriSpatialRelCrosses":return"crosses";case"esriSpatialRelEnvelopeIntersects":return"envelope-intersects"}return e}_makeRelationshipParam(e){return e.includes("esriSpatialRelRelation")?e.split(":")[1]:""}async _getAggregatePagesDataSourceDefinition(e,t,r,i,s,a,n){await this._ensureLoaded();const l=await this.databaseType();let u=null;if(!this._layer.capabilities.query.supportsPaginationOnAggregatedQueries){const t=this.getFieldsIndex();u={keyFields:e.map(((e,r)=>({name:t.normalizeFieldName(e)??e,asc:null==a||1===a._directions[r]})))}}let d="",c=!1;null!=a&&!0===this._layer.capabilities?.query?.supportsOrderBy&&(null==u||_(e,0,e.length,a._fields,0,Math.min(a._fields.length,e.length),((e,t)=>e.toLowerCase()===t.toLowerCase())))&&(d=a.constructClause(),c=!0),""===d&&(d=e.join(","));const h=[];for(let o=0;o<t.length;o++){const e=new C;e.onStatisticField=null!==t[o].workingexpr?y(t[o].workingexpr,l):"",e.outStatisticFieldName=t[o].field,e.statisticType=t[o].toStatisticsName(),h.push(e)}let p=this._maxQueryRate();const f=this._layer.capabilities?.query.maxRecordCount;null!=f&&f<p&&(p=f);const g=null===s?null===i?"1=1":"":y(s,l);return new o([],["GETPAGES"],c,{groupbypage:!0,spatialRel:this._makeRelationshipEnum(r),relationParam:this._makeRelationshipParam(r),outFields:["*"],useOIDpagination:!1,generatedOid:n,resultRecordCount:p,resultOffset:0,groupByFieldsForStatistics:e,outStatistics:h,geometry:null===i?null:i,where:g,orderByFields:d,returnGeometry:!1,returnIdsOnly:!1,internal:{lastMaxId:-1,set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1,keysetPagination:u}})}async _getAgregagtePhysicalPage(t,r,i){let s=t.pagesDefinition.where;if(!0===t.pagesDefinition.useOIDpagination&&(s=R(s,t.pagesDefinition.generatedOid+">"+t.pagesDefinition.internal.lastMaxId.toString())),null!=t.pagesDefinition.internal.keysetPagination?.clause){if(!this._layer.capabilities.query.supportsOrderBy)throw new a(n.NotImplemented);s=R(s,y(t.pagesDefinition.internal.keysetPagination.clause,await this.databaseType()))}const l=t.pagesDefinition.internal.lastRetrieved,o=l,u=t.pagesDefinition.internal.lastPage,d=this._createQuery();if(d.where=R(d.where,s),d.spatialRelationship=t.pagesDefinition.spatialRel,d.relationParameter=t.pagesDefinition.relationParam,d.outFields=t.pagesDefinition.outFields,d.outStatistics=t.pagesDefinition.outStatistics,d.geometry=t.pagesDefinition.geometry,d.groupByFieldsForStatistics=t.pagesDefinition.groupByFieldsForStatistics,d.num=t.pagesDefinition.resultRecordCount,d.start=t.pagesDefinition.internal.lastPage,d.returnGeometry=t.pagesDefinition.returnGeometry,d.orderByFields=""!==t.pagesDefinition.orderByFields?t.pagesDefinition.orderByFields.split(","):null,this.isTable()&&d.geometry&&d.spatialRelationship)return[];const c=await this.executeQuery(d,"execute");if(this._checkCancelled(i),!c.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);const h=[];if(t.pagesDefinition.internal.lastPage!==u)return[];c.features.length>0&&void 0===c.features[0].attributes[t.pagesDefinition.generatedOid]&&(t.pagesDefinition.generatedOid=t.pagesDefinition.generatedOid.toLowerCase());for(let e=0;e<c.features.length;e++)t.pagesDefinition.internal.set[o+e]=c.features[e].attributes[t.pagesDefinition.generatedOid];for(let a=0;a<c.features.length;a++)h.push(new e({attributes:c.features[a].attributes,geometry:null}));return t.pagesDefinition.internal.keysetPagination?0!==c.features.length&&c.exceededTransferLimit?T(t.pagesDefinition.internal.keysetPagination,h.at(-1)):t.pagesDefinition.internal.fullyResolved=!0:!0===t.pagesDefinition.useOIDpagination?0===c.features.length?t.pagesDefinition.internal.fullyResolved=!0:t.pagesDefinition.internal.lastMaxId=c.features[c.features.length-1].attributes[t.pagesDefinition.generatedOid]:(void 0===c.exceededTransferLimit&&c.features.length!==t.pagesDefinition.resultRecordCount||!1===c.exceededTransferLimit)&&(t.pagesDefinition.internal.fullyResolved=!0),t.pagesDefinition.internal.lastRetrieved=l+c.features.length,t.pagesDefinition.internal.lastPage+=t.pagesDefinition.resultRecordCount,h}static create(e,t,r,i,s){const a=new I({url:e,outFields:null===t?["*"]:t});return new k({layer:a,spatialReference:r,lrucache:i,interceptor:s})}relationshipMetaData(){return this._layer&&this._layer.source&&this._layer.source.sourceJSON?.relationships?this._layer.source.sourceJSON.relationships:[]}serviceUrl(){return p(this._layer.parsedUrl.path)}async queryAttachments(e,t,r,a,n){function l(e){const t=e.capabilities;return t?.data.supportsAttachment&&t?.operations.supportsQueryAttachments}const o=this._layer;if(l(o)){const l={objectIds:[e],returnMetadata:n};(t&&t>0||r&&r>0)&&(l.size=[t&&t>0?t:0,r&&r>0?r:t+1]),a&&a.length>0&&(l.attachmentTypes=a),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:o,query:l,method:"attachments"});const u=await o.queryAttachments(new D(l)),d=[];return u&&u[e]&&u[e].forEach((t=>{const r=this._layer.parsedUrl.path+"/"+e.toString()+"/attachments/"+t.id.toString();let a=null;n&&t.exifInfo&&(a=s.convertJsonToArcade(t.exifInfo,"system",!0)),d.push(new i(t.id,t.name,t.contentType,t.size,r,a,t.keywords??null))})),d}return[]}async queryRelatedFeatures(t){const i={f:"json",relationshipId:t.relationshipId.toString(),definitionExpression:t.where,outFields:t.outFields?.join(","),returnGeometry:t.returnGeometry.toString()};void 0!==t.resultOffset&&null!==t.resultOffset&&(i.resultOffset=t.resultOffset.toString()),void 0!==t.resultRecordCount&&null!==t.resultRecordCount&&(i.resultRecordCount=t.resultRecordCount.toString()),t.orderByFields&&(i.orderByFields=t.orderByFields.join(",")),t.objectIds&&t.objectIds.length>0&&(i.objectIds=t.objectIds.join(",")),t.outSpatialReference&&(i.outSR=b(t.outSpatialReference)),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preRequestCallback({layer:this._layer,queryPayload:i,method:"relatedrecords",url:this._layer.parsedUrl.path+"/queryRelatedRecords"});const s=await r(this._layer.parsedUrl.path+"/queryRelatedRecords",{responseType:"json",query:i});if(s.data){const t={},r=s.data;if(r?.relatedRecordGroups){const i=r.spatialReference;for(const s of r.relatedRecordGroups){const a=s.objectId,n=[];for(const t of s.relatedRecords){t.geometry&&(t.geometry.spatialReference=i);const r=new e({geometry:t.geometry?S(t.geometry):null,attributes:t.attributes});n.push(r)}t[a]={features:n,exceededTransferLimit:!0===r.exceededTransferLimit}}}return t}throw new a(n.InvalidRequest)}async getFeatureByObjectId(e,t){const r=this._createQuery();r.outFields=t,r.returnGeometry=!1,r.outSpatialReference=this.spatialReference,r.where=R(r.where,this.objectIdField+"="+e.toString()),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:r,method:"execute"});const i=await this._layer.queryFeatures(r);return 1===i.features.length?i.features[0]:null}async getIdentityUser(){await this.load();const e=t?.findCredential(this._layer.url);return e?e.userId:null}async getOwningSystemUrl(){await this.load();const e=t?.findServerInfo(this._layer.url);if(e)return e.owningSystemUrl;let i=this._layer.url;const s=i.toLowerCase().indexOf("/rest/services");if(i=s>-1?i.slice(0,s):i,i){i+="/rest/info";try{const e=await r(i,{query:{f:"json"}});let t="";return e.data?.owningSystemUrl&&(t=e.data.owningSystemUrl),t}catch(a){return""}}return""}getDataSourceFeatureSet(){const e=new k({layer:this._layer,spatialReference:this.spatialReference??void 0,outFields:this._overrideFields??void 0,includeGeometry:!this._removeGeometry,lrucache:this.recentlyUsedQueries??void 0,interceptor:this.featureSetQueryInterceptor??void 0});return e._useDefinitionExpression=!1,e}get preferredTimeZone(){return this._layer.preferredTimeZone??null}get dateFieldsTimeZone(){return this._layer.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this._layer.datesInUnknownTimezone??!1}get editFieldsInfo(){return this._layer.editFieldsInfo??null}get timeInfo(){return this._layer.timeInfo??null}async getFeatureSetInfo(){if(this.fsetInfo)return this.fsetInfo;let e=null,t="serviceItemId"in this._layer?this._layer.serviceItemId:null;const i=this._layer.parsedUrl?.path??null;if(i){const s=await r(i,{responseType:"json",query:{f:"json"}});e=s?.data?.name??null,t=s?.data?.serviceItemId??null}const s=this._layer.title&&null!==(this._layer.parent??null);return this.featureSetInfo={layerId:this._layer.layerId,layerName:""===e?null:e,itemId:""===t?null:t,serviceLayerUrl:""===i?null:i,webMapLayerId:s?this._layer.id??null:null,webMapLayerTitle:s?this._layer.title??null:null,className:null,objectClassId:null},this.fsetInfo}}export{k as default};
5
+ import e from"../../../Graphic.js";import{id as t}from"../../../kernel.js";import r from"../../../request.js";import i from"../../Attachment.js";import s from"../../Dictionary.js";import{FeatureSetError as a,FeatureSetErrorCodes as n}from"../support/errorsupport.js";import l from"../support/FeatureSet.js";import o from"../support/IdSet.js";import{defaultMaxRecords as u,stableStringify as d,FeatureServiceDatabaseType as c,IdState as h,extractServiceUrl as p}from"../support/shared.js";import{toWhereClause as y,isSingleField as f}from"../support/sqlUtils.js";import{decodeStatType as g}from"../support/stats.js";import{sliceEquals as _}from"../../../core/arrayUtils.js";import{createMD5Hash as m,outputTypes as w}from"../../../core/MD5.js";import{sqlAnd as R}from"../../../core/sql.js";import F from"../../../core/sql/WhereClause.js";import{fromJSON as S}from"../../../geometry/support/jsonUtils.js";import{srToRESTValue as b}from"../../../geometry/support/spatialReferenceUtils.js";import I from"../../../layers/FeatureLayer.js";import D from"../../../rest/support/AttachmentQuery.js";import P from"../../../rest/support/Query.js";import C from"../../../rest/support/StatisticDefinition.js";function v(e){if(0===e.length)throw new a(n.NeverReach);const t=[];for(let i=0;i<e.length;i++){const r=e[i],s=[`"${r.name.replaceAll('"','""')}" ${r.asc?">":"<"} @last_${i}`];for(let t=0;t<i;t++){const r=e[t];s.push(`"${r.name.replaceAll('"','""')}" = @last_${t}`)}t.push(s.join(" AND "))}const r=t.join(" OR ");return F.create(r)}function T(e,t){null==e.clause&&(e.clause=v(e.keyFields));for(let r=0;r<e.keyFields.length;r++){const i=e.keyFields[r].name;e.clause.parameters[`last_${r}`]=t.attributes[i]}}class k extends l{constructor(e){super(e),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerDynamic",this._removeGeometry=!1,this._overrideFields=null,this.formulaCredential=null,this._pageJustIds=!1,this._requestStandardised=!1,this._useDefinitionExpression=!0,e.spatialReference&&(this.spatialReference=e.spatialReference),this._transparent=!0,this._maxProcessing=1e3,this._layer=e.layer,this._wset=null,void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry)}_maxQueryRate(){return u}end(){return this._layer}optimisePagingFeatureQueries(e){this._pageJustIds=e}get urlQueryPath(){return this._layer.parsedUrl.path||""}convertQueryToLruCacheKey(e){const t=this.urlQueryPath+","+d(e.toJSON());return m(t,w.String)}async loadImpl(){return!0===this._layer.loaded?(this._initialiseFeatureSet(),this):(await this._layer.load(),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){if(null==this.spatialReference&&(this.spatialReference=this._layer.spatialReference),this.geometryType=this._layer.geometryType??"",this.fields=this._layer.fields.slice(),this.hasZ=!0===this._layer?.capabilities?.data?.supportsZ,this.hasM=!0===this._layer?.capabilities?.data?.supportsM,null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=[],t=[];for(const r of this.fields)if("oid"===r.type)e.push(r),t.push(r.name);else for(const i of this._overrideFields)if(i.toLowerCase()===r.name.toLowerCase()){e.push(r),t.push(r.name);break}this.fields=e,this._overrideFields=t}if(this._layer.source&&this._layer.source.sourceJSON){const e=this._layer.source.sourceJSON.currentVersion;!0===this._layer.source.sourceJSON.useStandardizedQueries?(this._databaseType=c.StandardisedNoInterval,null!=e&&e>=10.61&&(this._databaseType=c.Standardised)):null!=e&&(e>=10.5&&(this._databaseType=c.StandardisedNoInterval,this._requestStandardised=!0),e>=10.61&&(this._databaseType=c.Standardised))}this.objectIdField=this._layer.objectIdField;for(const e of this.fields)"global-id"===e.type&&(this.globalIdField=e.name);this.subtypeField=this._layer.subtypeField??"",this.subtypes=this._layer.subtypes,this.typeIdField=("typeIdField"in this._layer?this._layer.typeIdField:null)??"",this.types="types"in this._layer?this._layer.types:null}_isInFeatureSet(){return h.InFeatureSet}async _refineSetBlock(e){return e}_candidateIdTransform(e){return e}async _getSet(e){if(null===this._wset){await this._ensureLoaded();const t=await this._getFilteredSet("",null,null,null,e);return this._wset=t,t}return this._wset}async _runDatabaseProbe(e){await this._ensureLoaded();const t=new P;this.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t.where=e.replace("OBJECTID",this._layer.objectIdField);try{return await this._layer.queryObjectIds(t),!0}catch(r){return!1}}_canUsePagination(){return!(!this._layer.capabilities||!this._layer.capabilities.query||!0!==this._layer.capabilities.query.supportsPagination)}_cacheableFeatureSetSourceKey(){return this._layer.url}get gdbVersion(){return this._layer&&this._layer.capabilities&&this._layer.capabilities.data&&this._layer.capabilities.data.isVersioned?this._layer.gdbVersion||"SDE.DEFAULT":""}nativeCapabilities(){return{title:this._layer.title??"",source:this,canQueryRelated:!0,capabilities:this._layer.capabilities,databaseType:this._databaseType,requestStandardised:this._requestStandardised}}_createQuery(){const e=this._layer.createQuery();return e.returnZ=this.hasZ,e.returnM=this.hasM,this.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),this._requestStandardised&&(e.sqlFormat="standard"),this._useDefinitionExpression?"subtype-group"===this._layer.type&&(e.where=this._layer.definitionExpression):e.where=null,e}executeQuery(e,t){const r="execute"===t?this._layer.queryFeatures.bind(this._layer):"executeForCount"===t?this._layer.queryFeatureCount.bind(this._layer):this._layer.queryObjectIds.bind(this._layer);let i=null;if(this.recentlyUsedQueries){const t=this.convertQueryToLruCacheKey(e);i=this.recentlyUsedQueries.getFromCache(t),null===i&&(i=r(e),this.recentlyUsedQueries.addToCache(t,i),i=i.catch((e=>{throw this.recentlyUsedQueries?.removeFromCache(t),e})))}return this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:e,method:t}),null===i&&(i=r(e)),i}async _getFilteredSet(e,t,r,i,s){const a=await this.databaseType();if(this.isTable()&&t&&null!==e&&""!==e){return new o([],[],!0,null)}if(this._canUsePagination())return this._getFilteredSetUsingPaging(e,t,r,i,s);let n="",l=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(n=i.constructClause(),l=!0);const u=this._createQuery();u.where=R(u.where,null===r?null===t?"1=1":"":y(r,a)),u.spatialRelationship=this._makeRelationshipEnum(e),u.outSpatialReference=this.spatialReference,u.orderByFields=""!==n?n.split(","):null,u.geometry=null===t?null:t,u.relationParameter=this._makeRelationshipParam(e);let d=await this.executeQuery(u,"executeForIds");null===d&&(d=[]),this._checkCancelled(s);return new o([],d,l,null)}_expandPagedSet(e,t,r,i,s){return this._expandPagedSetFeatureSet(e,t,r,i,s)}async _getFilteredSetUsingPaging(e,t,r,i,s){let a="",n=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(a=i.constructClause(),n=!0);const l=await this.databaseType(),u=null===r?null===t?"1=1":"":y(r,l);let d=this._maxQueryRate();const c=this._layer.capabilities?.query.maxRecordCount;null!=c&&c<d&&(d=c);let h=null;if(!0===this._pageJustIds)h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:this._layer.objectIdField,resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:!1,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}});else{let r=!0;!0===this._removeGeometry&&(r=!1);const i=this._overrideFields??this._fieldsIncludingObjectId(["*"]);h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:i.join(","),resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:r,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}})}return await this._expandPagedSet(h,d,0,1,s),h}_clonePageDefinition(e){return null===e?null:!0!==e.groupbypage?{groupbypage:!1,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,resultOffset:e.resultOffset,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}:{groupbypage:!0,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,useOIDpagination:e.useOIDpagination,generatedOid:e.generatedOid,groupByFieldsForStatistics:e.groupByFieldsForStatistics,resultOffset:e.resultOffset,outStatistics:e.outStatistics,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}}async _getPhysicalPage(e,t,r){const i=e.pagesDefinition.internal.lastRetrieved,s=i,a=e.pagesDefinition.internal.lastPage,n=this._createQuery();n.spatialRelationship=e.pagesDefinition.spatialRel,n.relationParameter=e.pagesDefinition.relationParam,n.outFields=e.pagesDefinition.outFields.split(","),n.num=e.pagesDefinition.resultRecordCount,n.start=e.pagesDefinition.internal.lastPage,n.geometry=e.pagesDefinition.geometry,n.where=R(n.where,e.pagesDefinition.where),n.orderByFields=""!==e.pagesDefinition.orderByFields?e.pagesDefinition.orderByFields.split(","):null,n.returnGeometry=e.pagesDefinition.returnGeometry,n.outSpatialReference=this.spatialReference;const l=await this.executeQuery(n,"execute");if(this._checkCancelled(r),e.pagesDefinition.internal.lastPage!==a)return"done";const o=this._layer.objectIdField;for(let u=0;u<l.features.length;u++)e.pagesDefinition.internal.set[s+u]=l.features[u].attributes[o];if(!1===this._pageJustIds)for(let u=0;u<l.features.length;u++)this._featureCache[l.features[u].attributes[o]]=l.features[u];return(void 0===l.exceededTransferLimit&&l.features.length!==e.pagesDefinition.resultRecordCount||!1===l.exceededTransferLimit)&&(e.pagesDefinition.internal.fullyResolved=!0),e.pagesDefinition.internal.lastRetrieved=i+l.features.length,e.pagesDefinition.internal.lastPage+=e.pagesDefinition.resultRecordCount,"done"}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice();if(t.includes("*"))return t;let r=!1;for(const i of t)if(i.toUpperCase()===this.objectIdField.toUpperCase()){r=!0;break}return!1===r&&t.push(this.objectIdField),t}async _getFeatures(e,t,r,i){const s=[];if(-1!==t&&void 0===this._featureCache[t]&&s.push(t),!0===this._checkIfNeedToExpandKnownPage(e,this._maxProcessingRate()))return await this._expandPagedSet(e,this._maxProcessingRate(),0,0,i),this._getFeatures(e,t,r,i);let l=0;for(let a=e._lastFetchedIndex;a<e._known.length;a++){if(e._lastFetchedIndex+=1,l++,void 0===this._featureCache[e._known[a]]){let r=!1;if(null!==this._layer._mode&&void 0!==this._layer._mode){const t=this._layer._mode;if(void 0!==t._featureMap[e._known[a]]){const i=t._featureMap[e._known[a]];null!==i&&(r=!0,this._featureCache[e._known[a]]=i)}}if(!1===r&&(e._known[a]!==t&&s.push(e._known[a]),s.length>=this._maxProcessingRate()-1))break}if(l>=r&&0===s.length)break}if(0===s.length)return"success";const o=this._createQuery();o.objectIds=s,o.outFields=this._overrideFields??this._fieldsIncludingObjectId(["*"]),o.returnGeometry=!0,!0===this._removeGeometry&&(o.returnGeometry=!1),o.outSpatialReference=this.spatialReference;const u=await this.executeQuery(o,"execute");if(this._checkCancelled(i),void 0!==u.error)throw new a(n.RequestFailed,{reason:u.error});const d=this._layer.objectIdField;for(let a=0;a<u.features.length;a++)this._featureCache[u.features[a].attributes[d]]=u.features[a];return"success"}async _getDistinctPages(e,t,r,i,s,l,o,u,d){await this._ensureLoaded();const c=await this.databaseType();let h=r.parseTree.column;const p=this._layer.fields??[];for(let a=0;a<p.length;a++)if(p[a].name.toLowerCase()===h.toLowerCase()){h=p[a].name;break}const f=this._createQuery();f.where=R(f.where,null===l?null===s?"1=1":"":y(l,c)),f.spatialRelationship=this._makeRelationshipEnum(i),f.relationParameter=this._makeRelationshipParam(i),f.geometry=null===s?null:s,f.returnDistinctValues=!0,f.returnGeometry=!1,f.outFields=[h];const g=await this.executeQuery(f,"execute");if(this._checkCancelled(d),!g.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);let _=!1;for(let a=0;a<p.length;a++)if(p[a].name===h){"date"===p[a].type&&(_=!0);break}for(let a=0;a<g.features.length;a++){if(_){const e=g.features[a].attributes[h];null!==e?u.push(new Date(e)):u.push(e)}else u.push(g.features[a].attributes[h]);if(u.length>=o)break}if(0===g.features.length)return u;if(g.features.length===this._layer.capabilities?.query.maxRecordCount&&u.length<o){return{calculated:!0,result:await this._getDistinctPages(e+g.features.length,t,r,i,s,l,o,u,d)}}return u}async _distinctStat(e,t,r,i,s,a,n){return{calculated:!0,result:await this._getDistinctPages(0,e,t,r,i,s,a,[],n)}}isTable(){return this._layer.isTable||null===this._layer.geometryType||"table"===this._layer.type||""===this._layer.geometryType||"esriGeometryNull"===this._layer.geometryType}async _countstat(e,t,r,i){const s=await this.databaseType();if(this.isTable()&&r&&null!==t&&""!==t)return{calculated:!0,result:0};const a=this._createQuery();a.where=R(a.where,null===i?null===r?"1=1":"":y(i,s)),a.spatialRelationship=this._makeRelationshipEnum(t),a.relationParameter=this._makeRelationshipParam(t),a.geometry=null===r?null:r,a.returnGeometry=!1;return{calculated:!0,result:await this.executeQuery(a,"executeForCount")}}async _stats(e,t,r,i,s,l,o){await this._ensureLoaded();const u=this._layer.capabilities?.query,d=!!u?.supportsSqlExpression,c=!!u?.supportsStatistics,h=!!u?.supportsDistinct;if("count"===e)return h?this._countstat(e,r,i,s):{calculated:!1};if(!1===c||!1===f(t)&&!1===d||!1===t.isStandardized)return""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o);if("distinct"===e)return!1===h?""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o):this._distinctStat(e,t,r,i,s,l,o);const p=await this.databaseType();if(this.isTable()&&i&&null!==r&&""!==r)return{calculated:!0,result:null};const _=this._createQuery();_.where=R(_.where,null===s?null===i?"1=1":"":y(s,p)),_.spatialRelationship=this._makeRelationshipEnum(r),_.relationParameter=this._makeRelationshipParam(r),_.geometry=null===i?null:i;const m=new C;m.statisticType=g(e),m.onStatisticField=y(t,p),m.outStatisticFieldName="ARCADE_STAT_RESULT",_.returnGeometry=!1;let w="ARCADE_STAT_RESULT";_.outStatistics=[m];const F=await this.executeQuery(_,"execute");if(!F.hasOwnProperty("features")||0===F.features.length)throw new a(n.InvalidStatResponse);let S=!1;const b=F.fields??[];for(let a=0;a<b.length;a++)if("ARCADE_STAT_RESULT"===b[a].name.toUpperCase()){w=b[a].name,"date"===b[a].type&&(S=!0);break}if(S){let e=F.features[0].attributes[w];return null!==e&&(e=new Date(F.features[0].attributes[w])),{calculated:!0,result:e}}return{calculated:!0,result:F.features[0].attributes[w]}}_stat(e,t,r,i,s,a,n){return this._stats(e,t,r,i,s,a,n)}async _canDoAggregates(e,t){await this._ensureLoaded();let r=!1;const i=this._layer.capabilities?.query,s=!0===i?.supportsSqlExpression;if(null!=i&&!0===i.supportsStatistics&&!0===i.supportsOrderBy&&(r=!0),r)for(let a=0;a<t.length-1;a++)(!1===t[a].workingexpr?.isStandardized||!1===f(t[a].workingexpr)&&!1===s)&&(r=!1);return!1!==r}_makeRelationshipEnum(e){if(e.includes("esriSpatialRelRelation"))return"relation";switch(e){case"esriSpatialRelRelation":return"relation";case"esriSpatialRelIntersects":return"intersects";case"esriSpatialRelContains":return"contains";case"esriSpatialRelOverlaps":return"overlaps";case"esriSpatialRelWithin":return"within";case"esriSpatialRelTouches":return"touches";case"esriSpatialRelCrosses":return"crosses";case"esriSpatialRelEnvelopeIntersects":return"envelope-intersects"}return e}_makeRelationshipParam(e){return e.includes("esriSpatialRelRelation")?e.split(":")[1]:""}async _getAggregatePagesDataSourceDefinition(e,t,r,i,s,a,n){await this._ensureLoaded();const l=await this.databaseType();let u=null;if(!this._layer.capabilities.query.supportsPaginationOnAggregatedQueries){const t=this.getFieldsIndex();u={keyFields:e.map(((e,r)=>({name:t.normalizeFieldName(e)??e,asc:null==a||1===a._directions[r]})))}}let d="",c=!1;null!=a&&!0===this._layer.capabilities?.query?.supportsOrderBy&&(null==u||_(e,0,e.length,a._fields,0,Math.min(a._fields.length,e.length),((e,t)=>e.toLowerCase()===t.toLowerCase())))&&(d=a.constructClause(),c=!0),""===d&&(d=e.join(","));const h=[];for(let o=0;o<t.length;o++){const e=new C;e.onStatisticField=null!==t[o].workingexpr?y(t[o].workingexpr,l):"",e.outStatisticFieldName=t[o].field,e.statisticType=t[o].toStatisticsName(),h.push(e)}let p=this._maxQueryRate();const f=this._layer.capabilities?.query.maxRecordCount;null!=f&&f<p&&(p=f);const g=null===s?null===i?"1=1":"":y(s,l);return new o([],["GETPAGES"],c,{groupbypage:!0,spatialRel:this._makeRelationshipEnum(r),relationParam:this._makeRelationshipParam(r),outFields:["*"],useOIDpagination:!1,generatedOid:n,resultRecordCount:p,resultOffset:0,groupByFieldsForStatistics:e,outStatistics:h,geometry:null===i?null:i,where:g,orderByFields:d,returnGeometry:!1,returnIdsOnly:!1,internal:{lastMaxId:-1,set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1,keysetPagination:u}})}async _getAgregagtePhysicalPage(t,r,i){let s=t.pagesDefinition.where;if(!0===t.pagesDefinition.useOIDpagination&&(s=R(s,t.pagesDefinition.generatedOid+">"+t.pagesDefinition.internal.lastMaxId.toString())),null!=t.pagesDefinition.internal.keysetPagination?.clause){if(!this._layer.capabilities.query.supportsOrderBy)throw new a(n.NotImplemented);s=R(s,y(t.pagesDefinition.internal.keysetPagination.clause,await this.databaseType()))}const l=t.pagesDefinition.internal.lastRetrieved,o=l,u=t.pagesDefinition.internal.lastPage,d=this._createQuery();if(d.where=R(d.where,s),d.spatialRelationship=t.pagesDefinition.spatialRel,d.relationParameter=t.pagesDefinition.relationParam,d.outFields=t.pagesDefinition.outFields,d.outStatistics=t.pagesDefinition.outStatistics,d.geometry=t.pagesDefinition.geometry,d.groupByFieldsForStatistics=t.pagesDefinition.groupByFieldsForStatistics,d.num=t.pagesDefinition.resultRecordCount,d.start=t.pagesDefinition.internal.lastPage,d.returnGeometry=t.pagesDefinition.returnGeometry,d.orderByFields=""!==t.pagesDefinition.orderByFields?t.pagesDefinition.orderByFields.split(","):null,this.isTable()&&d.geometry&&d.spatialRelationship)return[];const c=await this.executeQuery(d,"execute");if(this._checkCancelled(i),!c.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);const h=[];if(t.pagesDefinition.internal.lastPage!==u)return[];c.features.length>0&&void 0===c.features[0].attributes[t.pagesDefinition.generatedOid]&&(t.pagesDefinition.generatedOid=t.pagesDefinition.generatedOid.toLowerCase());for(let e=0;e<c.features.length;e++)t.pagesDefinition.internal.set[o+e]=c.features[e].attributes[t.pagesDefinition.generatedOid];for(let a=0;a<c.features.length;a++)h.push(new e({attributes:c.features[a].attributes,geometry:null}));return t.pagesDefinition.internal.keysetPagination?0!==c.features.length&&c.exceededTransferLimit?T(t.pagesDefinition.internal.keysetPagination,h.at(-1)):t.pagesDefinition.internal.fullyResolved=!0:!0===t.pagesDefinition.useOIDpagination?0===c.features.length?t.pagesDefinition.internal.fullyResolved=!0:t.pagesDefinition.internal.lastMaxId=c.features[c.features.length-1].attributes[t.pagesDefinition.generatedOid]:(void 0===c.exceededTransferLimit&&c.features.length!==t.pagesDefinition.resultRecordCount||!1===c.exceededTransferLimit)&&(t.pagesDefinition.internal.fullyResolved=!0),t.pagesDefinition.internal.lastRetrieved=l+c.features.length,t.pagesDefinition.internal.lastPage+=t.pagesDefinition.resultRecordCount,h}static create(e,t,r,i,s){const a=new I({url:e,outFields:null===t?["*"]:t});return new k({layer:a,spatialReference:r,lrucache:i,interceptor:s})}relationshipMetaData(){return this._layer&&this._layer.source&&this._layer.source.sourceJSON?.relationships?this._layer.source.sourceJSON.relationships:[]}serviceUrl(){return p(this._layer.parsedUrl.path)}async queryAttachments(e,t,r,a,n){function l(e){const t=e.capabilities;return t?.data.supportsAttachment&&t?.operations.supportsQueryAttachments}const o=this._layer;if(l(o)){const l={objectIds:[e],returnMetadata:n};(t&&t>0||r&&r>0)&&(l.size=[t&&t>0?t:0,r&&r>0?r:t+1]),a&&a.length>0&&(l.attachmentTypes=a),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:o,query:l,method:"attachments"});const u=await o.queryAttachments(new D(l)),d=[];return u&&u[e]&&u[e].forEach((t=>{const r=this._layer.parsedUrl.path+"/"+e.toString()+"/attachments/"+t.id.toString();let a=null;n&&t.exifInfo&&(a=s.convertJsonToArcade(t.exifInfo,"system",!0)),d.push(new i(t.id,t.name,t.contentType,t.size,r,a,t.keywords??null))})),d}return[]}async queryRelatedFeatures(t){const i={f:"json",relationshipId:t.relationshipId.toString(),definitionExpression:t.where,outFields:t.outFields?.join(","),returnGeometry:t.returnGeometry.toString()};void 0!==t.resultOffset&&null!==t.resultOffset&&(i.resultOffset=t.resultOffset.toString()),void 0!==t.resultRecordCount&&null!==t.resultRecordCount&&(i.resultRecordCount=t.resultRecordCount.toString()),t.orderByFields&&(i.orderByFields=t.orderByFields.join(",")),t.objectIds&&t.objectIds.length>0&&(i.objectIds=t.objectIds.join(",")),t.outSpatialReference&&(i.outSR=b(t.outSpatialReference)),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preRequestCallback({layer:this._layer,queryPayload:i,method:"relatedrecords",url:this._layer.parsedUrl.path+"/queryRelatedRecords"});const s=await r(this._layer.parsedUrl.path+"/queryRelatedRecords",{responseType:"json",query:i});if(s.data){const t={},r=s.data;if(r?.relatedRecordGroups){const i=r.spatialReference;for(const s of r.relatedRecordGroups){const a=s.objectId,n=[];for(const t of s.relatedRecords){t.geometry&&(t.geometry.spatialReference=i);const r=new e({geometry:t.geometry?S(t.geometry):null,attributes:t.attributes});n.push(r)}t[a]={features:n,exceededTransferLimit:!0===r.exceededTransferLimit}}}return t}throw new a(n.InvalidRequest)}async getFeatureByObjectId(e,t){const r=this._createQuery();r.outFields=t,r.returnGeometry=!1,r.outSpatialReference=this.spatialReference,r.where=R(r.where,this.objectIdField+"="+e.toString()),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:r,method:"execute"});const i=await this._layer.queryFeatures(r);return 1===i.features.length?i.features[0]:null}async getIdentityUser(){await this.load();const e=t?.findCredential(this._layer.url);return e?e.userId:null}async getOwningSystemUrl(){await this.load();const e=t?.findServerInfo(this._layer.url);if(e)return e.owningSystemUrl;let i=this._layer.url;const s=i.toLowerCase().indexOf("/rest/services");if(i=s>-1?i.slice(0,s):i,i){i+="/rest/info";try{const e=await r(i,{query:{f:"json"}});let t="";return e.data?.owningSystemUrl&&(t=e.data.owningSystemUrl),t}catch(a){return""}}return""}getDataSourceFeatureSet(){const e=new k({layer:this._layer,spatialReference:this.spatialReference??void 0,outFields:this._overrideFields??void 0,includeGeometry:!this._removeGeometry,lrucache:this.recentlyUsedQueries??void 0,interceptor:this.featureSetQueryInterceptor??void 0});return e._useDefinitionExpression=!1,e}get preferredTimeZone(){return this._layer.preferredTimeZone??null}get dateFieldsTimeZone(){return this._layer.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this._layer.datesInUnknownTimezone??!1}get editFieldsInfo(){return this._layer.editFieldsInfo??null}get timeInfo(){return this._layer.timeInfo??null}async getFeatureSetInfo(){if(this.fsetInfo)return this.fsetInfo;let e=null,t="serviceItemId"in this._layer?this._layer.serviceItemId:null;const i=this._layer.parsedUrl?.path??null;if(i){const s=await r(i,{responseType:"json",query:{f:"json"}});e=s?.data?.name??null,t=s?.data?.serviceItemId??null}const s=this._layer.title&&null!==(this._layer.parent??null);return this.featureSetInfo={layerId:this._layer.layerId,layerName:""===e?null:e,itemId:""===t?null:t,serviceLayerUrl:""===i?null:i,webMapLayerId:s?this._layer.id??null:null,webMapLayerTitle:s?this._layer.title??null:null,className:null,objectClassId:null},this.fsetInfo}}export{k 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.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as r}from"../executionError.js";import{f as s,t as a,m as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as u,isArray as d}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),h=(e,n)=>e+n,g=(e,n)=>e-n,m=(e,n)=>e*n,_=(e,n)=>e/n,f=(e,n,t)=>l(h)(e,n,t),w=(e,n,t)=>l(g)(e,n,t),A=(e,n,t)=>l(m)(e,n,t),D=(e,n,t)=>l(_)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,R=3240,F=60,v=60,M=180*S/Math.PI,L=p*F*v,U=90*S,z=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t(null,r.InvalidParameter,null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}var H,k,q;function P(e,n){switch(e){case H.north:return"SHORT"===n?"N":"North";case H.east:return"SHORT"===n?"E":"East";case H.south:return"SHORT"===n?"S":"South";case H.west:return"SHORT"===n?"W":"West"}}function Q(e,n){return e-Math.floor(e/n)*n}function j(e){switch(e){case k.truncated_degrees:case k.decimal_degrees:return p;case k.radians:return E;case k.gradians:return T;case k.seconds:return L;case k.fractional_degree_minutes:return F;case k.fractional_minute_seconds:return v;default:throw new t(null,r.LogicError,null,{reason:"unsupported evaluations"})}}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(H||(H={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(k||(k={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(q||(q={}));const C=new n([],[["NORTH",q.north_azimuth],["NORTH AZIMUTH",q.north_azimuth],["POLAR",q.polar],["QUADRANT",q.quadrant],["SOUTH",q.south_azimuth],["SOUTH AZIMUTH",q.south_azimuth]]);function W(e){const n=C.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported directionType"});return n}const B=new n([],[["D",k.decimal_degrees],["DD",k.decimal_degrees],["DECIMAL DEGREE",k.decimal_degrees],["DEGREE",k.decimal_degrees],["DECIMAL DEGREES",k.decimal_degrees],["DEGREES",k.decimal_degrees],["DMS",k.degrees_minutes_seconds],["DEGREES MINUTES SECONDS",k.degrees_minutes_seconds],["R",k.radians],["RAD",k.radians],["RADS",k.radians],["RADIAN",k.radians],["RADIANS",k.radians],["G",k.gradians],["GON",k.gradians],["GONS",k.gradians],["GRAD",k.gradians],["GRADS",k.gradians],["GRADIAN",k.gradians],["GRADIANS",k.gradians]]);function V(e){const n=B.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported units"});return n}var X;!function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(X||(X={}));class Z{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case k.decimal_degrees:case k.truncated_degrees:return this.m_degrees;case k.fractional_degree_minutes:return this.m_minutes;case k.seconds:case k.fractional_minute_seconds:return this.m_seconds;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/v);return t-=s*v,new Z(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new Z(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(e===k.seconds||e===k.fractional_minute_seconds)v<=t&&(t-=v,++r),F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.fractional_degree_minutes)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.decimal_degrees||e===k.truncated_degrees){const e=D(this.m_seconds,S),n=D(this.m_minutes,F);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new Z(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*v+t}}class J{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return e===X.meridian?this.meridian:this.direction}}class K{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new K(new $(K._convertDirectionFormat(e.extractAngularUnits(k.seconds),n,q.north_azimuth)))}getAngle(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:case q.south_azimuth:case q.polar:return new $(K._convertDirectionFormat(n,q.north_azimuth,e));case q.quadrant:{const e=K.secondsNorthAzimuthToQuadrant(n);return new $(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.north;case q.south_azimuth:return H.south;case q.polar:return H.east;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.east;case q.south_azimuth:return H.west;case q.polar:return H.north;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=U||e>=x?H.north:H.south,t=n===H.north?Math.min(L-e,e):Math.abs(e-z),r=e>z?H.west:H.east;return new J(n,t,r)}static createFromAngleMeridianAndDirection(e,n,t){return new K(new $(K.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(k.seconds),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return n===H.north?t===H.east?e:L-e:t===H.east?z-e:z+e}static _convertDirectionFormat(e,n,s){let a=0;switch(n){case q.north_azimuth:a=e;break;case q.polar:a=U-e;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:a=e+z}let i=0;switch(s){case q.north_azimuth:i=a;break;case q.polar:i=U-a;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:i=a-z}return i=I(i,L),i<0?L+i:i}}function Y(e,n,s){let a=null;switch(n){case k.decimal_degrees:a=A(e,S);break;case k.seconds:a=e;break;case k.gradians:a=A(e,R);break;case k.radians:a=A(e,M);break;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}switch(s){case k.decimal_degrees:return D(a,S);case k.seconds:return a;case k.gradians:return D(a,R);case k.radians:return a/M;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}class ${constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new $(Y(e,n,k.seconds))}extractAngularUnits(e){return Y(this._seconds,k.seconds,ee(e))}static createFromDegreesMinutesSeconds(e,n,t){return new $(f(f(A(e,S),A(n,v)),t))}}function ee(e){switch(o(e),e){case k.decimal_degrees:case k.truncated_degrees:case k.degrees_minutes_seconds:return k.decimal_degrees;case k.gradians:return k.gradians;case k.fractional_degree_minutes:return k.fractional_degree_minutes;case k.radians:return k.radians;case k.seconds:case k.fractional_minute_seconds:return k.seconds}}class ne{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new ne(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=k.truncated_degrees,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ge(this.view,r,s),n=n===k.truncated_degrees?k.fractional_degree_minutes:n,r=e.newpos;continue;case"s":e=ge(this.view,r,s),n=k.fractional_minute_seconds,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)),this._formattedDms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)).format(n,t)}}function te(e,n,s,a,i){let o=null;switch(n){case k.decimal_degrees:case k.radians:case k.gradians:return o=Q(G(e.extractAngularUnits(n),a),j(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.truncated_degrees:case k.fractional_degree_minutes:return o=Q(i.fetchFormattedDms().getField(n),j(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.fractional_minute_seconds:return o=Q(G(i.fetchDms().getField(n),a),j(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}function re(e,n,s){if(s===q.quadrant)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(n===k.degrees_minutes_seconds){const n=Z.numberToDms(e);return K.createFromAngleAndDirection($.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),s)}return K.createFromAngleAndDirection($.createFromAngleAndUnits(e,ee(n)),s)}function se(e){switch(a(e)){case 1:return{first:H.north,second:H.east};case 2:return{first:H.south,second:H.east};case 3:return{first:H.south,second:H.west};case 4:return{first:H.north,second:H.west}}return null}function ae(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return H.north;case"E":case"EAST":return H.east;case"S":case"SOUTH":return H.south;case"W":case"WEST":return H.west}return null}function ie(e){const n=parseFloat(e);if(u(n)){if(isNaN(n))throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return n}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function oe(e,n,a){const i=a===q.quadrant;let o=null,c=null,u=0,d=0,l=0;if(i){if(e.length<2)throw new t(null,r.LogicError,null,{reason:"conversion error"});l=1;const n=se(s(e[e.length-1]));if(n?(o=n.first,c=n.second):(u=1,o=ae(s(e[0])),c=ae(s(e[e.length-1]))),null===o||null===c)throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}switch(n){case k.decimal_degrees:case k.radians:case k.gradians:if(0===e.length)throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return i?K.createFromAngleMeridianAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),o,c):K.createFromAngleAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),a);case k.degrees_minutes_seconds:if(d=e.length-l-u,3===d){const n=$.createFromDegreesMinutesSeconds(ie(e[u]),ie(e[u+1]),ie(e[u+2]));return i?K.createFromAngleMeridianAndDirection(n,o,c):K.createFromAngleAndDirection(n,a)}if(1===d){const n=ie(e[u]),t=Z.numberToDms(n),r=$.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?K.createFromAngleMeridianAndDirection(r,o,c):K.createFromAngleAndDirection(r,a)}}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function ce(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function ue(e,n,s){if(u(e))return re(a(e),n,s);if(c(e))return oe(ce(e),n,s);if(d(e))return oe(e,n,s);if(i(e))return oe(e.toArray(),n,s);throw new t(null,r.LogicError,null,{reason:"conversion error"})}function de(e,n,s){const a=ee(s);if(a&&s!==k.degrees_minutes_seconds){return e.getAngle(n).extractAngularUnits(a)}throw new t(null,r.LogicError,null,{reason:"conversion error"})}function le(e,n,t){const r=e.getAngle(n);if(n===q.quadrant&&t===k.degrees_minutes_seconds){const t=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[P(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,P(e.getDirection(n),"SHORT")]}if(t===k.degrees_minutes_seconds){const e=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return n===q.quadrant?[P(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),P(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function he(e,n){let s="";switch(e){case k.decimal_degrees:s=n===q.quadrant?"DD.DD"+b:"DDD.DD"+b;break;case k.degrees_minutes_seconds:s=n===q.quadrant?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case k.radians:s="R.RR";break;case k.gradians:s="GGG.GG"+N;break;default:throw new t(null,r.LogicError,null,{reason:"conversion error"})}return n===q.quadrant&&(s="p "+s+" b"),s}function ge(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const a=e[n];if(a===t)s?r.rounding++:r.padding++,n++;else{if("."!==a)break;s=!0,n++}}return r.newpos=n-1,r}function me(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function _e(e,n,t){let r="",s=null,a=null;const i=ne.createFromStringAndBearing(n,e,t),o={D:k.decimal_degrees,d:k.truncated_degrees,m:k.fractional_degree_minutes,s:k.fractional_minute_seconds,R:k.radians,G:k.gradians};for(let c=0;c<n.length;c++){const u=n[c];switch(u){case"[":s=me(n,c),r+=s.escaped,c=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ge(n,c,u),a=e.getAngle(t),r+=te(a,o[u],s.padding,s.rounding,i),c=s.newpos;continue;case"P":case"p":r+=P(i.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=P(i.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const fe=new n(["TEXT","VALUE"]);function we(n,a,i){if(!(a instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===a.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===a.hasField("angleType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const o=W(O(a.field("directiontype"))),c=ue(n,V(O(a.field("angletype"))),o);if(!(i instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===i.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const u=W(O(i.field("directiontype"))),d=i.hasField("angleType")?V(O(i.field("angletype"))):null,l=fe.get(O(i.field("outputType")));if(!u||!l)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(!(d||"TEXT"===l&&i.hasField("format")))throw new t(null,r.LogicError,null,{reason:"invalid unit"});switch(l){case"VALUE":return u===q.quadrant||d===k.degrees_minutes_seconds?le(c,u,d):de(c,u,d);case"TEXT":{let e="";return i.hasField("format")&&(e=s(i.field("format"))),null!==e&&""!==e||(e=he(d,u)),_e(c,e,u)}default:throw new t(null,r.InvalidParameter,null)}}export{we as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
5
+ import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as r}from"../executionError.js";import{w as s,u as a,j as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as u,isArray as d}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),h=(e,n)=>e+n,g=(e,n)=>e-n,m=(e,n)=>e*n,_=(e,n)=>e/n,f=(e,n,t)=>l(h)(e,n,t),w=(e,n,t)=>l(g)(e,n,t),A=(e,n,t)=>l(m)(e,n,t),D=(e,n,t)=>l(_)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,R=3240,F=60,v=60,M=180*S/Math.PI,L=p*F*v,U=90*S,z=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t(null,r.InvalidParameter,null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}var H,k,q;function P(e,n){switch(e){case H.north:return"SHORT"===n?"N":"North";case H.east:return"SHORT"===n?"E":"East";case H.south:return"SHORT"===n?"S":"South";case H.west:return"SHORT"===n?"W":"West"}}function j(e,n){return e-Math.floor(e/n)*n}function Q(e){switch(e){case k.truncated_degrees:case k.decimal_degrees:return p;case k.radians:return E;case k.gradians:return T;case k.seconds:return L;case k.fractional_degree_minutes:return F;case k.fractional_minute_seconds:return v;default:throw new t(null,r.LogicError,null,{reason:"unsupported evaluations"})}}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(H||(H={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(k||(k={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(q||(q={}));const C=new n([],[["NORTH",q.north_azimuth],["NORTH AZIMUTH",q.north_azimuth],["POLAR",q.polar],["QUADRANT",q.quadrant],["SOUTH",q.south_azimuth],["SOUTH AZIMUTH",q.south_azimuth]]);function W(e){const n=C.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported directionType"});return n}const B=new n([],[["D",k.decimal_degrees],["DD",k.decimal_degrees],["DECIMAL DEGREE",k.decimal_degrees],["DEGREE",k.decimal_degrees],["DECIMAL DEGREES",k.decimal_degrees],["DEGREES",k.decimal_degrees],["DMS",k.degrees_minutes_seconds],["DEGREES MINUTES SECONDS",k.degrees_minutes_seconds],["R",k.radians],["RAD",k.radians],["RADS",k.radians],["RADIAN",k.radians],["RADIANS",k.radians],["G",k.gradians],["GON",k.gradians],["GONS",k.gradians],["GRAD",k.gradians],["GRADS",k.gradians],["GRADIAN",k.gradians],["GRADIANS",k.gradians]]);function V(e){const n=B.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported units"});return n}var X;!function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(X||(X={}));class Z{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case k.decimal_degrees:case k.truncated_degrees:return this.m_degrees;case k.fractional_degree_minutes:return this.m_minutes;case k.seconds:case k.fractional_minute_seconds:return this.m_seconds;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/v);return t-=s*v,new Z(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new Z(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(e===k.seconds||e===k.fractional_minute_seconds)v<=t&&(t-=v,++r),F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.fractional_degree_minutes)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.decimal_degrees||e===k.truncated_degrees){const e=D(this.m_seconds,S),n=D(this.m_minutes,F);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new Z(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*v+t}}class J{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return e===X.meridian?this.meridian:this.direction}}class K{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new K(new $(K._convertDirectionFormat(e.extractAngularUnits(k.seconds),n,q.north_azimuth)))}getAngle(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:case q.south_azimuth:case q.polar:return new $(K._convertDirectionFormat(n,q.north_azimuth,e));case q.quadrant:{const e=K.secondsNorthAzimuthToQuadrant(n);return new $(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.north;case q.south_azimuth:return H.south;case q.polar:return H.east;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.east;case q.south_azimuth:return H.west;case q.polar:return H.north;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=U||e>=x?H.north:H.south,t=n===H.north?Math.min(L-e,e):Math.abs(e-z),r=e>z?H.west:H.east;return new J(n,t,r)}static createFromAngleMeridianAndDirection(e,n,t){return new K(new $(K.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(k.seconds),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return n===H.north?t===H.east?e:L-e:t===H.east?z-e:z+e}static _convertDirectionFormat(e,n,s){let a=0;switch(n){case q.north_azimuth:a=e;break;case q.polar:a=U-e;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:a=e+z}let i=0;switch(s){case q.north_azimuth:i=a;break;case q.polar:i=U-a;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:i=a-z}return i=I(i,L),i<0?L+i:i}}function Y(e,n,s){let a=null;switch(n){case k.decimal_degrees:a=A(e,S);break;case k.seconds:a=e;break;case k.gradians:a=A(e,R);break;case k.radians:a=A(e,M);break;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}switch(s){case k.decimal_degrees:return D(a,S);case k.seconds:return a;case k.gradians:return D(a,R);case k.radians:return a/M;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}class ${constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new $(Y(e,n,k.seconds))}extractAngularUnits(e){return Y(this._seconds,k.seconds,ee(e))}static createFromDegreesMinutesSeconds(e,n,t){return new $(f(f(A(e,S),A(n,v)),t))}}function ee(e){switch(o(e),e){case k.decimal_degrees:case k.truncated_degrees:case k.degrees_minutes_seconds:return k.decimal_degrees;case k.gradians:return k.gradians;case k.fractional_degree_minutes:return k.fractional_degree_minutes;case k.radians:return k.radians;case k.seconds:case k.fractional_minute_seconds:return k.seconds}}class ne{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new ne(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=k.truncated_degrees,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ge(this.view,r,s),n=n===k.truncated_degrees?k.fractional_degree_minutes:n,r=e.newpos;continue;case"s":e=ge(this.view,r,s),n=k.fractional_minute_seconds,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)),this._formattedDms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)).format(n,t)}}function te(e,n,s,a,i){let o=null;switch(n){case k.decimal_degrees:case k.radians:case k.gradians:return o=j(G(e.extractAngularUnits(n),a),Q(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.truncated_degrees:case k.fractional_degree_minutes:return o=j(i.fetchFormattedDms().getField(n),Q(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.fractional_minute_seconds:return o=j(G(i.fetchDms().getField(n),a),Q(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}function re(e,n,s){if(s===q.quadrant)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(n===k.degrees_minutes_seconds){const n=Z.numberToDms(e);return K.createFromAngleAndDirection($.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),s)}return K.createFromAngleAndDirection($.createFromAngleAndUnits(e,ee(n)),s)}function se(e){switch(a(e)){case 1:return{first:H.north,second:H.east};case 2:return{first:H.south,second:H.east};case 3:return{first:H.south,second:H.west};case 4:return{first:H.north,second:H.west}}return null}function ae(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return H.north;case"E":case"EAST":return H.east;case"S":case"SOUTH":return H.south;case"W":case"WEST":return H.west}return null}function ie(e){const n=parseFloat(e);if(u(n)){if(isNaN(n))throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return n}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function oe(e,n,a){const i=a===q.quadrant;let o=null,c=null,u=0,d=0,l=0;if(i){if(e.length<2)throw new t(null,r.LogicError,null,{reason:"conversion error"});l=1;const n=se(s(e[e.length-1]));if(n?(o=n.first,c=n.second):(u=1,o=ae(s(e[0])),c=ae(s(e[e.length-1]))),null===o||null===c)throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}switch(n){case k.decimal_degrees:case k.radians:case k.gradians:if(0===e.length)throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return i?K.createFromAngleMeridianAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),o,c):K.createFromAngleAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),a);case k.degrees_minutes_seconds:if(d=e.length-l-u,3===d){const n=$.createFromDegreesMinutesSeconds(ie(e[u]),ie(e[u+1]),ie(e[u+2]));return i?K.createFromAngleMeridianAndDirection(n,o,c):K.createFromAngleAndDirection(n,a)}if(1===d){const n=ie(e[u]),t=Z.numberToDms(n),r=$.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?K.createFromAngleMeridianAndDirection(r,o,c):K.createFromAngleAndDirection(r,a)}}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function ce(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function ue(e,n,s){if(u(e))return re(a(e),n,s);if(c(e))return oe(ce(e),n,s);if(d(e))return oe(e,n,s);if(i(e))return oe(e.toArray(),n,s);throw new t(null,r.LogicError,null,{reason:"conversion error"})}function de(e,n,s){const a=ee(s);if(a&&s!==k.degrees_minutes_seconds){return e.getAngle(n).extractAngularUnits(a)}throw new t(null,r.LogicError,null,{reason:"conversion error"})}function le(e,n,t){const r=e.getAngle(n);if(n===q.quadrant&&t===k.degrees_minutes_seconds){const t=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[P(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,P(e.getDirection(n),"SHORT")]}if(t===k.degrees_minutes_seconds){const e=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return n===q.quadrant?[P(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),P(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function he(e,n){let s="";switch(e){case k.decimal_degrees:s=n===q.quadrant?"DD.DD"+b:"DDD.DD"+b;break;case k.degrees_minutes_seconds:s=n===q.quadrant?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case k.radians:s="R.RR";break;case k.gradians:s="GGG.GG"+N;break;default:throw new t(null,r.LogicError,null,{reason:"conversion error"})}return n===q.quadrant&&(s="p "+s+" b"),s}function ge(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const a=e[n];if(a===t)s?r.rounding++:r.padding++,n++;else{if("."!==a)break;s=!0,n++}}return r.newpos=n-1,r}function me(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function _e(e,n,t){let r="",s=null,a=null;const i=ne.createFromStringAndBearing(n,e,t),o={D:k.decimal_degrees,d:k.truncated_degrees,m:k.fractional_degree_minutes,s:k.fractional_minute_seconds,R:k.radians,G:k.gradians};for(let c=0;c<n.length;c++){const u=n[c];switch(u){case"[":s=me(n,c),r+=s.escaped,c=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ge(n,c,u),a=e.getAngle(t),r+=te(a,o[u],s.padding,s.rounding,i),c=s.newpos;continue;case"P":case"p":r+=P(i.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=P(i.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const fe=new n(["TEXT","VALUE"]);function we(n,a,i){if(!(a instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===a.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===a.hasField("angleType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const o=W(O(a.field("directiontype"))),c=ue(n,V(O(a.field("angletype"))),o);if(!(i instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===i.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const u=W(O(i.field("directiontype"))),d=i.hasField("angleType")?V(O(i.field("angletype"))):null,l=fe.get(O(i.field("outputType")));if(!u||!l)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(!(d||"TEXT"===l&&i.hasField("format")))throw new t(null,r.LogicError,null,{reason:"invalid unit"});switch(l){case"VALUE":return u===q.quadrant||d===k.degrees_minutes_seconds?le(c,u,d):de(c,u,d);case"TEXT":{let e="";return i.hasField("format")&&(e=s(i.field("format"))),null!==e&&""!==e||(e=he(d,u)),_e(c,e,u)}default:throw new t(null,r.InvalidParameter,null)}}export{we as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o,ExecutionErrorCodes as u}from"../executionError.js";import{D as l,L as i,t as a,k as s,g as c,j as f,f as m,h as d,K as h,O as N,P as y}from"../../chunks/languageUtils.js";import{DateOnly as w}from"../../core/sql/DateOnly.js";import{TimeOnly as g}from"../../core/sql/TimeOnly.js";import{getLocale as A}from"../../intl/locale.js";import{DateTime as T}from"luxon";import{isString as D}from"../../support/guards.js";function k(n,r,e){return n+(P(e)?S:p)[r]}function P(n){return n%4==0&&(n%100!=0||n%400==0)}const p=[0,31,59,90,120,151,181,212,243,273,304,334],S=[0,31,60,91,121,152,182,213,244,274,305,335];function Z(n){return null===n?n:!1===n.isValid?null:n}function F(n,r){switch(e(n)){case"":case"default":return i(r);case"z":return"UTC";default:return n}}function O(n,r){return f(n)?n.toArcadeDate():d(n,i(r))}const C=new t(["days","months","minutes","seconds","hours","years","milliseconds"],[["day","days"],["d","days"],["month","months"],["minute","minutes"],["m","minutes"],["second","seconds"],["s","seconds"],["hour","hours"],["h","hours"],["year","years"],["y","years"],["millisecond","milliseconds"],["ms","milliseconds"]]);function U(n){return"M"===n?"months":C.lookup(m(n))??"milliseconds"}function j(e,t){e.today=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const a=new Date;return a.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(a,i(r))}))},e.time=function(r,e){return t(r,e,((t,m,d)=>{switch(l(d,0,4,r,e),d.length){case 0:{const e=n.nowToArcadeDate(i(r));return new g(e.hour,e.minute,e.second,e.millisecond)}case 1:{if(s(d[0]))return d[0].clone();if(c(d[0]))return new g(d[0].hour,d[0].minute,d[0].second,d[0].millisecond);if(f(d[0]))return new g(0,0,0,0);if(D(d[0]))return g.fromString(d[0]);const n=a(d[0]);return!1===isNaN(n)?g.fromMilliseconds(n):null}case 2:return D(d[0])&&D(d[1])?g.fromString(d[0],d[1]):g.fromParts(a(d[0]),a(d[1]),0,0);case 3:return g.fromParts(a(d[0]),a(d[1]),a(d[2]),0);case 4:return g.fromParts(a(d[0]),a(d[1]),a(d[2]),a(d[3]))}throw new o(r,u.InvalidParameter,e)}))},e.dateonly=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,0,3,r,e),3===u.length)return w.fromParts(a(u[0]),a(u[1])+1,a(u[2]));if(2===u.length){const n=m(u[1]);return""===n?null:"X"===n?w.fromSeconds(a(u[0])):"x"===n?w.fromMilliseconds(a(u[0])):w.fromString(m(u[0]),n)}if(1===u.length){if(D(u[0])){if(""===u[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(u[0]))return w.fromString(u[0]+"-01-01")}if(f(u[0]))return u[0].clone();if(c(u[0]))return w.fromParts(u[0].year,u[0].monthJS+1,u[0].day);const n=a(u[0]);return!1===isNaN(n)?w.fromMilliseconds(n):D(u[0])?w.fromString(u[0]):null}if(0===u.length){const e=n.nowToArcadeDate(i(r));return!1===e.isValid?null:w.fromParts(e.year,e.monthJS+1,e.day)}return null}))},e.changetimezone=function(e,a){return t(e,a,((t,s,c)=>{if(l(c,2,2,e,a),null===c[0])return null;if(f(c[0]))throw new o(e,u.CannotChangeTimeZoneDateOnly,a);if(f(c[0]))throw new o(e,u.CannotChangeTimeZoneTime,a);const h=d(c[0],i(e));if(null===h)throw new o(e,u.InvalidParameter,a);const N=r(F(m(c[1]),e),!1);if(null===N)return null;const y=n.arcadeDateAndZoneToArcadeDate(h,N);return!1===y.isValid?null:y}))},e.timezone=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,1,2,r,e),s(u[0]))return"Unknown";if(f(u[0]))return"Unknown";const a=d(u[0],i(r));if(null===a)return null;const c=a.timeZone;return"system"===c?n.systemTimeZoneCanonicalName:"utc"===c.toLowerCase()?"UTC":"unknown"===c.toLowerCase()?"Unknown":c}))},e.timezoneoffset=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:60*u.timeZoneOffset*1e3}))},e.now=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const a=n.nowToArcadeDate(i(r));return!1===a.isValid?null:a}))},e.timestamp=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const i=n.nowUTCToArcadeDate();return!1===i.isValid?null:i}))},e.toutc=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:u.toUTC()}))},e.tolocal=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:u.toLocal()}))},e.day=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.day}))},e.month=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.monthJS}))},e.year=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.year}))},e.hour=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].hour;const u=d(o[0],i(n));return null===u?NaN:u.hour}))},e.second=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].second;const u=d(o[0],i(n));return null===u?NaN:u.second}))},e.millisecond=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].millisecond;const u=d(o[0],i(n));return null===u?NaN:u.millisecond}))},e.minute=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].minute;const u=d(o[0],i(n));return null===u?NaN:u.minute}))},e.week=function(n,r){return t(n,r,((e,t,s)=>{l(s,1,2,n,r);const c=O(s[0],i(n));if(null===c)return NaN;const f=a(h(s[1],0));if(f<0||f>6)throw new o(n,u.InvalidParameter,r);const m=c.day,d=c.monthJS,N=c.year,y=c.dayOfWeekJS,w=k(m,d,N)-1,g=Math.floor(w/7);return y-f+(y-f<0?7:0)<w-7*g?g+1:g}))},e.weekday=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.dayOfWeekJS}))},e.isoweekday=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.dayOfWeekISO}))},e.isomonth=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.monthISO}))},e.isoweek=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.weekISO}))},e.isoyear=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.yearISO}))},e.date=function(e,o){return t(e,o,((t,u,c)=>{if(l(c,0,8,e,o),3===c.length){if(f(c[0])&&s(c[1])&&D(c[2])){const t=r(F(m(c[2])??"unknown",e),!1);return null===t?null:Z(n.fromParts(c[0].year,c[0].month,c[0].day,c[1].hour,c[1].minute,c[1].second,c[1].millisecond,t))}return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),0,0,0,0,i(e)))}if(4===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),0,0,0,i(e)));if(5===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),0,0,i(e)));if(6===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),0,i(e)));if(7===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),a(c[6]),i(e)));if(8===c.length){const t=r(F(m(c[7])??"unknown",e),!1);return null===t?null:Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),a(c[6]),t))}if(2===c.length){if(f(c[0])&&D(c[1])){const t=r(F(m(c[1])??"unknown",e),!1);return null===t?null:Z(n.fromParts(c[0].year,c[0].month,c[0].day,0,0,0,0,t))}if(f(c[0])&&s(c[1]))return Z(n.fromParts(c[0].year,c[0].month,c[0].day,c[1].hour,c[1].minute,c[1].second,c[1].millisecond,"unknown"));let t,o=m(c[1]);return""===o?null:(o=N(o,!0),t="X"===o?T.fromSeconds(a(c[0])):"x"===o?T.fromMillis(a(c[0])):T.fromFormat(m(c[0]),o,{locale:A(),numberingSystem:"latn"}),t.isValid?n.dateTimeToArcadeDate(t):null)}if(1===c.length){if(f(c[0]))return Z(n.fromParts(c[0].year,c[0].month,c[0].day,0,0,0,0,"unknown"));if(D(c[0])){if(""===c[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(c[0]))return d(c[0]+"-01-01",i(e))}const r=a(c[0]);if(!1===isNaN(r)){const t=T.fromMillis(r);return t.isValid?n.dateTimeAndZoneToArcadeDate(t,i(e)):null}return d(c[0],i(e))}return 0===c.length?n.nowToArcadeDate(i(e)):null}))},e.datediff=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,2,4,r,e),s(u[0]))return s(u[1])?u[0].difference(u[1],m(u[2])):NaN;if(s(u[1]))return NaN;if(f(u[0]))return f(u[1])?u[0].difference(u[1],m(u[2])):NaN;if(f(u[1]))return NaN;let a=d(u[0],i(r)),c=d(u[1],i(r));if(null===a||null===c)return NaN;let N=h(u[3],"");return""!==N&&null!==N?(N=F(m(N),r),a=n.arcadeDateAndZoneToArcadeDate(a,N),c=n.arcadeDateAndZoneToArcadeDate(c,N)):a.timeZone!==c.timeZone&&(a.isUnknownTimeZone?a=n.arcadeDateAndZoneToArcadeDate(a,c.timeZone):c=(c.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(c,a.timeZone))),a.diff(c,U(u[2]))}))},e.dateadd=function(n,r){return t(n,r,((e,t,o)=>{l(o,2,3,n,r);let u=a(o[1]);if(isNaN(u)||u===1/0||u===-1/0)return s(o[0])||f(o[0])?o[0].clone():d(o[0],i(n));const c=U(o[2]);if("days"!==c&&"months"!==c||(u=f(o[0])?u:y(u)),s(o[0]))return o[0].plus(c,u);if(f(o[0]))return o[0].plus(c,u);const m=d(o[0],i(n));return null===m?null:m.plus({[c]:u})}))}}export{j as registerFunctions};
5
+ import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o,ExecutionErrorCodes as u}from"../executionError.js";import{B as l,K as i,u as a,g as s,e as c,f,w as m,N as d,J as h,O as N,P as y}from"../../chunks/languageUtils.js";import{DateOnly as w}from"../../core/sql/DateOnly.js";import{TimeOnly as g}from"../../core/sql/TimeOnly.js";import{getLocale as A}from"../../intl/locale.js";import{DateTime as T}from"luxon";import{isString as D}from"../../support/guards.js";function k(n,r,e){return n+(P(e)?S:p)[r]}function P(n){return n%4==0&&(n%100!=0||n%400==0)}const p=[0,31,59,90,120,151,181,212,243,273,304,334],S=[0,31,60,91,121,152,182,213,244,274,305,335];function Z(n){return null===n?n:!1===n.isValid?null:n}function F(n,r){switch(e(n)){case"":case"default":return i(r);case"z":return"UTC";default:return n}}function O(n,r){return f(n)?n.toArcadeDate():d(n,i(r))}const C=new t(["days","months","minutes","seconds","hours","years","milliseconds"],[["day","days"],["d","days"],["month","months"],["minute","minutes"],["m","minutes"],["second","seconds"],["s","seconds"],["hour","hours"],["h","hours"],["year","years"],["y","years"],["millisecond","milliseconds"],["ms","milliseconds"]]);function U(n){return"M"===n?"months":C.lookup(m(n))??"milliseconds"}function x(e,t){e.today=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const a=new Date;return a.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(a,i(r))}))},e.time=function(r,e){return t(r,e,((t,m,d)=>{switch(l(d,0,4,r,e),d.length){case 0:{const e=n.nowToArcadeDate(i(r));return new g(e.hour,e.minute,e.second,e.millisecond)}case 1:{if(s(d[0]))return d[0].clone();if(c(d[0]))return new g(d[0].hour,d[0].minute,d[0].second,d[0].millisecond);if(f(d[0]))return new g(0,0,0,0);if(D(d[0]))return g.fromString(d[0]);const n=a(d[0]);return!1===isNaN(n)?g.fromMilliseconds(n):null}case 2:return D(d[0])&&D(d[1])?g.fromString(d[0],d[1]):g.fromParts(a(d[0]),a(d[1]),0,0);case 3:return g.fromParts(a(d[0]),a(d[1]),a(d[2]),0);case 4:return g.fromParts(a(d[0]),a(d[1]),a(d[2]),a(d[3]))}throw new o(r,u.InvalidParameter,e)}))},e.dateonly=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,0,3,r,e),3===u.length)return w.fromParts(a(u[0]),a(u[1])+1,a(u[2]));if(2===u.length){const n=m(u[1]);return""===n?null:"X"===n?w.fromSeconds(a(u[0])):"x"===n?w.fromMilliseconds(a(u[0])):w.fromString(m(u[0]),n)}if(1===u.length){if(D(u[0])){if(""===u[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(u[0]))return w.fromString(u[0]+"-01-01")}if(f(u[0]))return u[0].clone();if(c(u[0]))return w.fromParts(u[0].year,u[0].monthJS+1,u[0].day);const n=a(u[0]);return!1===isNaN(n)?w.fromMilliseconds(n):D(u[0])?w.fromString(u[0]):null}if(0===u.length){const e=n.nowToArcadeDate(i(r));return!1===e.isValid?null:w.fromParts(e.year,e.monthJS+1,e.day)}return null}))},e.changetimezone=function(e,a){return t(e,a,((t,s,c)=>{if(l(c,2,2,e,a),null===c[0])return null;if(f(c[0]))throw new o(e,u.CannotChangeTimeZoneDateOnly,a);if(f(c[0]))throw new o(e,u.CannotChangeTimeZoneTime,a);const h=d(c[0],i(e));if(null===h)throw new o(e,u.InvalidParameter,a);const N=r(F(m(c[1]),e),!1);if(null===N)return null;const y=n.arcadeDateAndZoneToArcadeDate(h,N);return!1===y.isValid?null:y}))},e.timezone=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,1,2,r,e),s(u[0]))return"Unknown";if(f(u[0]))return"Unknown";const a=d(u[0],i(r));if(null===a)return null;const c=a.timeZone;return"system"===c?n.systemTimeZoneCanonicalName:"utc"===c.toLowerCase()?"UTC":"unknown"===c.toLowerCase()?"Unknown":c}))},e.timezoneoffset=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:60*u.timeZoneOffset*1e3}))},e.now=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const a=n.nowToArcadeDate(i(r));return!1===a.isValid?null:a}))},e.timestamp=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const i=n.nowUTCToArcadeDate();return!1===i.isValid?null:i}))},e.toutc=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:u.toUTC()}))},e.tolocal=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:u.toLocal()}))},e.day=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.day}))},e.month=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.monthJS}))},e.year=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.year}))},e.hour=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].hour;const u=d(o[0],i(n));return null===u?NaN:u.hour}))},e.second=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].second;const u=d(o[0],i(n));return null===u?NaN:u.second}))},e.millisecond=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].millisecond;const u=d(o[0],i(n));return null===u?NaN:u.millisecond}))},e.minute=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].minute;const u=d(o[0],i(n));return null===u?NaN:u.minute}))},e.week=function(n,r){return t(n,r,((e,t,s)=>{l(s,1,2,n,r);const c=O(s[0],i(n));if(null===c)return NaN;const f=a(h(s[1],0));if(f<0||f>6)throw new o(n,u.InvalidParameter,r);const m=c.day,d=c.monthJS,N=c.year,y=c.dayOfWeekJS,w=k(m,d,N)-1,g=Math.floor(w/7);return y-f+(y-f<0?7:0)<w-7*g?g+1:g}))},e.weekday=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.dayOfWeekJS}))},e.isoweekday=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.dayOfWeekISO}))},e.isomonth=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.monthISO}))},e.isoweek=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.weekISO}))},e.isoyear=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.yearISO}))},e.date=function(e,o){return t(e,o,((t,u,c)=>{if(l(c,0,8,e,o),3===c.length){if(f(c[0])&&s(c[1])&&D(c[2])){const t=r(F(m(c[2])??"unknown",e),!1);return null===t?null:Z(n.fromParts(c[0].year,c[0].month,c[0].day,c[1].hour,c[1].minute,c[1].second,c[1].millisecond,t))}return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),0,0,0,0,i(e)))}if(4===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),0,0,0,i(e)));if(5===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),0,0,i(e)));if(6===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),0,i(e)));if(7===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),a(c[6]),i(e)));if(8===c.length){const t=r(F(m(c[7])??"unknown",e),!1);return null===t?null:Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),a(c[6]),t))}if(2===c.length){if(f(c[0])&&D(c[1])){const t=r(F(m(c[1])??"unknown",e),!1);return null===t?null:Z(n.fromParts(c[0].year,c[0].month,c[0].day,0,0,0,0,t))}if(f(c[0])&&s(c[1]))return Z(n.fromParts(c[0].year,c[0].month,c[0].day,c[1].hour,c[1].minute,c[1].second,c[1].millisecond,"unknown"));let t,o=m(c[1]);return""===o?null:(o=N(o,!0),t="X"===o?T.fromSeconds(a(c[0])):"x"===o?T.fromMillis(a(c[0])):T.fromFormat(m(c[0]),o,{locale:A(),numberingSystem:"latn"}),t.isValid?n.dateTimeToArcadeDate(t):null)}if(1===c.length){if(f(c[0]))return Z(n.fromParts(c[0].year,c[0].month,c[0].day,0,0,0,0,"unknown"));if(D(c[0])){if(""===c[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(c[0]))return d(c[0]+"-01-01",i(e))}const r=a(c[0]);if(!1===isNaN(r)){const t=T.fromMillis(r);return t.isValid?n.dateTimeAndZoneToArcadeDate(t,i(e)):null}return d(c[0],i(e))}return 0===c.length?n.nowToArcadeDate(i(e)):null}))},e.datediff=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,2,4,r,e),s(u[0]))return s(u[1])?u[0].difference(u[1],m(u[2])):NaN;if(s(u[1]))return NaN;if(f(u[0]))return f(u[1])?u[0].difference(u[1],m(u[2])):NaN;if(f(u[1]))return NaN;let a=d(u[0],i(r)),c=d(u[1],i(r));if(null===a||null===c)return NaN;let N=h(u[3],"");return""!==N&&null!==N?(N=F(m(N),r),a=n.arcadeDateAndZoneToArcadeDate(a,N),c=n.arcadeDateAndZoneToArcadeDate(c,N)):a.timeZone!==c.timeZone&&(a.isUnknownTimeZone?a=n.arcadeDateAndZoneToArcadeDate(a,c.timeZone):c=(c.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(c,a.timeZone))),a.diff(c,U(u[2]))}))},e.dateadd=function(n,r){return t(n,r,((e,t,o)=>{l(o,2,3,n,r);let u=a(o[1]);if(isNaN(u)||u===1/0||u===-1/0)return s(o[0])||f(o[0])?o[0].clone():d(o[0],i(n));const c=U(o[2]);if("days"!==c&&"months"!==c||(u=f(o[0])?u:y(u)),s(o[0]))return o[0].plus(c,u);if(f(o[0]))return o[0].plus(c,u);const m=d(o[0],i(n));return null===m?null:m.plus({[c]:u})}))}}export{x as registerFunctions};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import r from"../Feature.js";import{D as o,n as i,Q as a,f as u,L as s,S as d,T as f,v as c,U as m,V as l,g as p}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as y}from"../featureset/support/shared.js";import{SqlTimeStampOffset as v}from"../../core/sql/SqlTimestampOffset.js";import w from"../../core/sql/WhereClause.js";import{isString as b}from"../../support/guards.js";function h(e){const n=e?.fullSchema();return n?.datesInUnknownTimezone?"unknown":n?.dateFieldsTimeZone||"UTC"}function T(e){const n=e.fullSchema()?.fieldsIndex;return null==n&&e instanceof r?e.fieldsIndex:n}const I={getAttributeSQL(e,n){const t=e.field(n);if(null==t)return t;if(p(t)){const r=t.toDateTime(),o=T(e)?.get(n)?.type;return"esriFieldTypeTimestampOffset"===o||"timestamp-offset"===o?v.fromDateTime(r):r}return t}};function g(r,p,v){r.domain=function(r,d){return p(r,d,((f,c,m)=>{if(o(m,2,3,r,d),i(m[0])){const n=a(m[0],u(m[1]),void 0===m[2]?void 0:m[2]);return n&&n.domain?"coded-value"===n.domain.type||"codedValue"===n.domain.type?e.convertObjectToArcadeDictionary({type:"codedValue",name:n.domain.name,dataType:y[n.field.type],codedValues:n.domain.codedValues.map((e=>({name:e.name,code:e.code})))},s(r)):e.convertObjectToArcadeDictionary({type:"range",name:n.domain.name,dataType:y[n.field.type],min:n.domain.minValue,max:n.domain.maxValue},s(r)):null}throw new n(r,t.InvalidParameter,d)}))},r.domaincode=function(e,r){return p(e,r,((a,s,f)=>{if(o(f,2,4,e,r),i(f[0]))return d(f[0],u(f[1]),f[2],void 0===f[3]?void 0:f[3]);throw new n(e,t.InvalidParameter,r)}))},r.domainname=function(e,r){return p(e,r,((a,s,d)=>{if(o(d,2,4,e,r),i(d[0]))return f(d[0],u(d[1]),d[2],void 0===d[3]?void 0:d[3]);throw new n(e,t.InvalidParameter,r)}))},r.expects=function(e,r){return p(e,r,((o,i,a)=>{if(a.length<1)throw new n(e,t.WrongNumberOfParameters,r);return c}))},r.featureinfilter=function(e,r){return p(e,r,((e,r,a)=>{o(a,2,2,e,r);const[u,s]=a;if(null==u)return!1;if(""===s||null==s)return!0;if(!i(u)||!b(s))throw new n(e,t.InvalidParameter,r);const d=w.create(s,{fieldsIndex:T(u),timeZone:h(u)}),f=d.getVariables();for(const n of f)d.parameters[n]=v(e,{name:n});return d.testFeature(u,I)}))},r.gdbversion=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0]))return s[0].gdbVersion();throw new n(e,t.InvalidParameter,r)}))},r.schema=function(r,o){return p(r,o,((a,u,d)=>{if(i(d[0])){const n=m(d[0]);return n?e.convertObjectToArcadeDictionary(n,s(r)):null}throw new n(r,t.InvalidParameter,o)}))},r.subtypecode=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0])){const e=l(s[0]);if(!e)return null;if(e.subtypeField&&s[0].hasField(e.subtypeField)){const n=s[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===n)return t.code;return null}return null}throw new n(e,t.InvalidParameter,r)}))},r.subtypename=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0])){const e=l(s[0]);if(!e)return"";if(e.subtypeField&&s[0].hasField(e.subtypeField)){const n=s[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===n)return t.name;return""}return""}throw new n(e,t.InvalidParameter,r)}))},r.subtypes=function(r,a){return p(r,a,((u,d,f)=>{if(o(f,1,1,r,a),i(f[0])){const n=l(f[0]);return n?e.convertObjectToArcadeDictionary(n,s(r)):null}throw new n(r,t.InvalidParameter,a)}))}}export{g as registerFunctions};
5
+ import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import r from"../Feature.js";import{B as o,k as i,Q as a,w as u,K as s,S as d,T as c,v as f,U as m,V as l,e as p}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as y}from"../featureset/support/shared.js";import{SqlTimeStampOffset as w}from"../../core/sql/SqlTimestampOffset.js";import v from"../../core/sql/WhereClause.js";import{isString as b}from"../../support/guards.js";function h(e){const n=e?.fullSchema();return n?.datesInUnknownTimezone?"unknown":n?.dateFieldsTimeZone||"UTC"}function T(e){const n=e.fullSchema()?.fieldsIndex;return null==n&&e instanceof r?e.fieldsIndex:n}const I={getAttributeSQL(e,n){const t=e.field(n);if(null==t)return t;if(p(t)){const r=t.toDateTime(),o=T(e)?.get(n)?.type;return"esriFieldTypeTimestampOffset"===o||"timestamp-offset"===o?w.fromDateTime(r):r}return t}};function j(r,p,w){r.domain=function(r,d){return p(r,d,((c,f,m)=>{if(o(m,2,3,r,d),i(m[0])){const n=a(m[0],u(m[1]),void 0===m[2]?void 0:m[2]);return n&&n.domain?"coded-value"===n.domain.type||"codedValue"===n.domain.type?e.convertObjectToArcadeDictionary({type:"codedValue",name:n.domain.name,dataType:y[n.field.type],codedValues:n.domain.codedValues.map((e=>({name:e.name,code:e.code})))},s(r)):e.convertObjectToArcadeDictionary({type:"range",name:n.domain.name,dataType:y[n.field.type],min:n.domain.minValue,max:n.domain.maxValue},s(r)):null}throw new n(r,t.InvalidParameter,d)}))},r.domaincode=function(e,r){return p(e,r,((a,s,c)=>{if(o(c,2,4,e,r),i(c[0]))return d(c[0],u(c[1]),c[2],void 0===c[3]?void 0:c[3]);throw new n(e,t.InvalidParameter,r)}))},r.domainname=function(e,r){return p(e,r,((a,s,d)=>{if(o(d,2,4,e,r),i(d[0]))return c(d[0],u(d[1]),d[2],void 0===d[3]?void 0:d[3]);throw new n(e,t.InvalidParameter,r)}))},r.expects=function(e,r){return p(e,r,((o,i,a)=>{if(a.length<1)throw new n(e,t.WrongNumberOfParameters,r);return f}))},r.featureinfilter=function(e,r){return p(e,r,((e,r,a)=>{o(a,2,2,e,r);const[u,s]=a;if(null==u)return!1;if(""===s||null==s)return!0;if(!i(u)||!b(s))throw new n(e,t.InvalidParameter,r);const d=v.create(s,{fieldsIndex:T(u),timeZone:h(u)}),c=d.getVariables();for(const n of c)d.parameters[n]=w(e,{name:n});return d.testFeature(u,I)}))},r.gdbversion=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0]))return s[0].gdbVersion();throw new n(e,t.InvalidParameter,r)}))},r.schema=function(r,o){return p(r,o,((a,u,d)=>{if(i(d[0])){const n=m(d[0]);return n?e.convertObjectToArcadeDictionary(n,s(r)):null}throw new n(r,t.InvalidParameter,o)}))},r.subtypecode=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0])){const e=l(s[0]);if(!e)return null;if(e.subtypeField&&s[0].hasField(e.subtypeField)){const n=s[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===n)return t.code;return null}return null}throw new n(e,t.InvalidParameter,r)}))},r.subtypename=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0])){const e=l(s[0]);if(!e)return"";if(e.subtypeField&&s[0].hasField(e.subtypeField)){const n=s[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===n)return t.name;return""}return""}throw new n(e,t.InvalidParameter,r)}))},r.subtypes=function(r,a){return p(r,a,((u,d,c)=>{if(o(c,1,1,r,a),i(c[0])){const n=l(c[0]);return n?e.convertObjectToArcadeDictionary(n,s(r)):null}throw new n(r,t.InvalidParameter,a)}))}}export{j as registerFunctions};