@arcgis/core 4.28.0-next.20230621 → 4.28.0-next.20230623

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 (249) hide show
  1. package/Basemap.js +1 -1
  2. package/arcade/ArcadeModuleResolver.js +1 -1
  3. package/arcade/Feature.js +1 -1
  4. package/arcade/arcadeCompiler.js +1 -1
  5. package/arcade/arcadeTimeUtils.js +1 -1
  6. package/arcade/featureset/actions/GroupBy.js +1 -1
  7. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  8. package/arcade/featureset/support/sqlUtils.js +1 -1
  9. package/arcade/functions/date.js +1 -1
  10. package/arcade/functions/geomasync.js +1 -1
  11. package/arcade/functions/geometry.js +1 -1
  12. package/arcade/functions/geomsync.js +1 -1
  13. package/arcade/functions/string.js +1 -1
  14. package/arcade/languageUtils.js +1 -1
  15. package/assets/esri/core/workers/RemoteClient.js +1 -1
  16. package/assets/esri/core/workers/chunks/0380e9f61b6f3ca85139.js +1 -0
  17. package/assets/esri/core/workers/chunks/0bd95f46a0a9005a19f9.js +1 -0
  18. package/assets/esri/core/workers/chunks/0c621046b7211cdde980.js +1 -0
  19. package/assets/esri/core/workers/chunks/0e0267739728e5413f1d.js +1 -0
  20. package/assets/esri/core/workers/chunks/{39079bcfd35ed73c4e34.js → 156e801a3262f0ac79c0.js} +1 -1
  21. package/assets/esri/core/workers/chunks/19b4f02fb2392d964582.js +1 -0
  22. package/assets/esri/core/workers/chunks/1ae75f5282e983f6d768.js +1 -0
  23. package/assets/esri/core/workers/chunks/2179b3e9e532ca8ef982.js +1 -0
  24. package/assets/esri/core/workers/chunks/21aaa7fa0e5482670010.js +1 -0
  25. package/assets/esri/core/workers/chunks/26212a08ea383547335b.js +1 -0
  26. package/assets/esri/core/workers/chunks/{2420ec029236ab31d908.js → 2882a55a971af1f7858b.js} +1 -1
  27. package/assets/esri/core/workers/chunks/294285f2822c101326ec.js +1 -0
  28. package/assets/esri/core/workers/chunks/29f9a380610e4fd98a7c.js +1 -0
  29. package/assets/esri/core/workers/chunks/303238fc2fcdbb277981.js +1 -0
  30. package/assets/esri/core/workers/chunks/{3db8ae98799c752afe60.js → 34958516e604d487c625.js} +1 -1
  31. package/assets/esri/core/workers/chunks/3bee743f4c9370045a5d.js +1 -0
  32. package/assets/esri/core/workers/chunks/{8e08968505483dc58e00.js → 40ee4e0a5000a08c3abd.js} +1 -1
  33. package/assets/esri/core/workers/chunks/4128e45e17c9e5280e11.js +1 -0
  34. package/assets/esri/core/workers/chunks/4f88c4d1d2103843aca8.js +1 -0
  35. package/assets/esri/core/workers/chunks/505792ce8cbbddd2e815.js +1 -0
  36. package/assets/esri/core/workers/chunks/{3d42fa4ab5f8632d690a.js → 5237b3938be0d4bc6045.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{57077e608f20d3a931e8.js → 570e94f4fbefc856d303.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{4b235d1b6a72773cd4f4.js → 57bb8516fa998a0fba78.js} +1 -1
  39. package/assets/esri/core/workers/chunks/57bf3ff01d738cedc292.js +1 -0
  40. package/assets/esri/core/workers/chunks/{1e9e68312cd865358260.js → 60486acc5dacf73f851a.js} +1 -1
  41. package/assets/esri/core/workers/chunks/6208f2dfa9dfd3bca000.js +1 -0
  42. package/assets/esri/core/workers/chunks/64008bde5d3ffd9f2499.js +1 -0
  43. package/assets/esri/core/workers/chunks/69f51a7768bf51c9e346.js +1 -0
  44. package/assets/esri/core/workers/chunks/719f741a0e45c3e694ba.js +1 -0
  45. package/assets/esri/core/workers/chunks/{cfe379a78a983373b3ac.js → 7304f45f5622a68253e4.js} +1 -1
  46. package/assets/esri/core/workers/chunks/733b70d6e5c466a67e9c.js +1 -0
  47. package/assets/esri/core/workers/chunks/7694521b44681d52b713.js +1 -0
  48. package/assets/esri/core/workers/chunks/840fd05ceaa038c476d6.js +1 -0
  49. package/assets/esri/core/workers/chunks/89f7fd2ab92aa14fe0c0.js +1 -0
  50. package/assets/esri/core/workers/chunks/8a6f29f2ebd59783bb1b.js +1 -0
  51. package/assets/esri/core/workers/chunks/9d487b7817ccf5bceff6.js +1 -0
  52. package/assets/esri/core/workers/chunks/{42b6315e21c4c1345ba5.js → 9f5337a80963e0b3c009.js} +1 -1
  53. package/assets/esri/core/workers/chunks/a0face18b3ea567999ef.js +1 -0
  54. package/assets/esri/core/workers/chunks/b773c8854e98384ac8ac.js +1 -0
  55. package/assets/esri/core/workers/chunks/{fb44d872b9dbadcf8ccf.js → b9ef05c22bc3e395bcb3.js} +1 -1
  56. package/assets/esri/core/workers/chunks/bc5e34200776cfc83d5b.js +1 -0
  57. package/assets/esri/core/workers/chunks/{cfc3dcca2b69d20d5375.js → c0b9cc091efd5db827de.js} +1 -1
  58. package/assets/esri/core/workers/chunks/c9f5e949830196ad9458.js +1 -0
  59. package/assets/esri/core/workers/chunks/{036301f545aba2b8e485.js → cc15e28a99694120556d.js} +1 -1
  60. package/assets/esri/core/workers/chunks/ce7f575a6c2053c7ca17.js +1 -0
  61. package/assets/esri/core/workers/chunks/ce9c99cee3d1a3963e7c.js +1 -0
  62. package/assets/esri/core/workers/chunks/cf9a87b53ea74bae6a37.js +1 -0
  63. package/assets/esri/core/workers/chunks/d16850b98a53ade0de10.js +1 -0
  64. package/assets/esri/core/workers/chunks/d24f7ef6eca8c91b90b4.js +1 -0
  65. package/assets/esri/core/workers/chunks/dbd86e4b7983873cbe7c.js +1 -0
  66. package/assets/esri/core/workers/chunks/{3c3f65913006b84b2289.js → de20572d334abd4a7d82.js} +1 -1
  67. package/assets/esri/core/workers/chunks/e009e7f074a572894f48.js +1 -0
  68. package/assets/esri/core/workers/chunks/{cb004c492e22c50f9bfa.js → f3eb89cff63e00f036c6.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{b2a423d9ce8bb784267c.js → f53f20c7100092823487.js} +1 -1
  70. package/assets/esri/core/workers/chunks/f6040205c50e2795a1a0.js +1 -0
  71. package/assets/esri/core/workers/chunks/{915734255a79bff3ef0f.js → fcd54e9e64c2864f183c.js} +1 -1
  72. package/assets/esri/t9n/common.json +1 -1
  73. package/assets/esri/t9n/common_en.json +1 -1
  74. package/assets/esri/themes/base/_core.scss +6 -2
  75. package/assets/esri/themes/base/_mixins.scss +0 -147
  76. package/assets/esri/themes/base/widgets/_AreaMeasurement2D.scss +0 -8
  77. package/assets/esri/themes/base/widgets/_AreaMeasurement3D.scss +0 -8
  78. package/assets/esri/themes/base/widgets/_DirectLineMeasurement3D.scss +0 -1
  79. package/assets/esri/themes/base/widgets/_DistanceMeasurement2D.scss +0 -1
  80. package/assets/esri/themes/base/widgets/_MeasurementWidgetContent.scss +67 -0
  81. package/assets/esri/themes/base/widgets/_Slice.scss +17 -54
  82. package/assets/esri/themes/base/widgets/_UnitSelect.scss +14 -0
  83. package/assets/esri/themes/dark/main.css +1 -1
  84. package/assets/esri/themes/light/main.css +1 -1
  85. package/assets/esri/themes/light/view.css +1 -1
  86. package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D.json +1 -1
  87. package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D_en.json +1 -1
  88. package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D.json +1 -1
  89. package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D_en.json +1 -1
  90. package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D.json +1 -1
  91. package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D_en.json +1 -1
  92. package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D.json +1 -1
  93. package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D_en.json +1 -1
  94. package/chunks/HUDMaterial.glsl.js +39 -39
  95. package/chunks/HighlightBlur.glsl.js +2 -2
  96. package/chunks/ShadowHighlight.glsl.js +1 -1
  97. package/chunks/arcade.js +1 -1
  98. package/chunks/languageUtils.js +1 -1
  99. package/core/HandleOwner.js +1 -1
  100. package/core/promiseUtils.js +1 -1
  101. package/core/support/{WatchUpdatingTracking.js → UpdatingHandles.js} +1 -1
  102. package/core/workers/workerFactory.js +1 -1
  103. package/geometry/projection.js +1 -1
  104. package/interfaces.d.ts +270 -5
  105. package/kernel.js +1 -1
  106. package/layers/Layer.js +1 -1
  107. package/layers/LinkChartLayer.d.ts +4 -0
  108. package/layers/LinkChartLayer.js +1 -1
  109. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  110. package/layers/mixins/PortalLayer.js +1 -1
  111. package/layers/support/TileInfoTilemapCache.js +1 -1
  112. package/package.json +1 -1
  113. package/support/revision.js +1 -1
  114. package/symbols/cim/cimAnalyzer.js +1 -1
  115. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  116. package/views/2d/layers/features/sources/DataTileSource.js +1 -1
  117. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  118. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  119. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  120. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  121. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  122. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  123. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  124. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  125. package/views/3d/environment/CloudsGenerator.js +1 -1
  126. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  127. package/views/3d/environment/Precipitation.js +1 -1
  128. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  129. package/views/3d/environment/Stars.js +1 -1
  130. package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
  131. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  132. package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
  133. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  134. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  135. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  136. package/views/3d/layers/I3SMeshView3D.js +1 -1
  137. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  138. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  139. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  140. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  141. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  142. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  143. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  144. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  145. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  146. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  147. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  148. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  149. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  150. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  151. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  152. package/views/3d/layers/graphics/Labeler.js +1 -1
  153. package/views/3d/layers/graphics/labelPlacement.js +1 -1
  154. package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
  155. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  156. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  157. package/views/3d/state/ViewState.js +1 -1
  158. package/views/3d/state/ViewStateManager.js +1 -1
  159. package/views/3d/support/DisplayQualityProfile.js +1 -1
  160. package/views/3d/support/MemoryController.js +1 -1
  161. package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
  162. package/views/3d/support/cameraUtils.js +1 -1
  163. package/views/3d/support/viewpointUtils.js +1 -1
  164. package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
  165. package/views/3d/terrain/OverlayManager.js +1 -1
  166. package/views/3d/terrain/OverlayRenderer.js +1 -1
  167. package/views/3d/terrain/TerrainSurface.js +1 -1
  168. package/views/3d/webgl-engine/Stage.js +1 -1
  169. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  170. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +6 -7
  171. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
  172. package/views/3d/webgl-engine/lib/Highlight.js +1 -1
  173. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  174. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  175. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  176. package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
  177. package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
  178. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  179. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  180. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  181. package/views/LayerViewManager.js +1 -1
  182. package/views/ToolViewManager.js +1 -1
  183. package/views/draw/DrawOperation.js +1 -1
  184. package/views/draw/PointDrawAction.js +1 -1
  185. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  186. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  187. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  188. package/views/interactive/snapping/featureSources/I3SSnappingSource.js +1 -1
  189. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  190. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  191. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  192. package/views/layers/LayerView.js +1 -1
  193. package/views/overlay/ViewOverlay.js +1 -1
  194. package/views/webgl/Texture.js +1 -1
  195. package/widgets/AreaMeasurement2D.js +1 -1
  196. package/widgets/AreaMeasurement3D.js +1 -1
  197. package/widgets/DirectLineMeasurement3D.js +1 -1
  198. package/widgets/DistanceMeasurement2D.js +1 -1
  199. package/widgets/Editor/EditorViewModel.js +1 -1
  200. package/widgets/Editor/Workflow.js +1 -1
  201. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  202. package/widgets/FeatureForm/FieldInput.js +1 -1
  203. package/widgets/FeatureForm/FormExpressionArcadeExecutor.js +1 -1
  204. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  205. package/widgets/OrientedImageryViewer.js +1 -1
  206. package/widgets/Slice.js +1 -1
  207. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  208. package/widgets/support/MeasurementWidgetContent.js +5 -0
  209. package/widgets/support/UnitSelect.js +5 -0
  210. package/assets/esri/core/workers/chunks/0254165377538522c830.js +0 -1
  211. package/assets/esri/core/workers/chunks/07f16ea775b39a1a4a7b.js +0 -1
  212. package/assets/esri/core/workers/chunks/170c72126d10b1fdb2b0.js +0 -1
  213. package/assets/esri/core/workers/chunks/1bbc868d2430103951eb.js +0 -1
  214. package/assets/esri/core/workers/chunks/1d2ef88a8d028adef102.js +0 -1
  215. package/assets/esri/core/workers/chunks/2ef70c9b2484a11b7435.js +0 -1
  216. package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +0 -1
  217. package/assets/esri/core/workers/chunks/3b3d676b609c47a77164.js +0 -1
  218. package/assets/esri/core/workers/chunks/3d9a8cb638cf9b8ca4b3.js +0 -1
  219. package/assets/esri/core/workers/chunks/42f3421740a5479559dc.js +0 -1
  220. package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +0 -1
  221. package/assets/esri/core/workers/chunks/52315f93a6f0ad59bd90.js +0 -1
  222. package/assets/esri/core/workers/chunks/5bb96e602d7cecbecf54.js +0 -1
  223. package/assets/esri/core/workers/chunks/63322229183f1d4eaa70.js +0 -1
  224. package/assets/esri/core/workers/chunks/642510b0371311ff8e16.js +0 -1
  225. package/assets/esri/core/workers/chunks/6995ace1d25d67c98d0e.js +0 -1
  226. package/assets/esri/core/workers/chunks/7e4013f8c31c9a9438c6.js +0 -1
  227. package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +0 -1
  228. package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +0 -1
  229. package/assets/esri/core/workers/chunks/95ff92d7caa34664d58f.js +0 -1
  230. package/assets/esri/core/workers/chunks/9e570cd4a48c30c83ae6.js +0 -1
  231. package/assets/esri/core/workers/chunks/a9e9297267614c4c4f3b.js +0 -1
  232. package/assets/esri/core/workers/chunks/b052463ffb7cb32306dc.js +0 -1
  233. package/assets/esri/core/workers/chunks/b31974524932e638df8c.js +0 -1
  234. package/assets/esri/core/workers/chunks/b75b4b132dbd9cb9d372.js +0 -1
  235. package/assets/esri/core/workers/chunks/c1dfbda75abc748a6ca4.js +0 -1
  236. package/assets/esri/core/workers/chunks/c8702e53a8ad6cf6ab85.js +0 -1
  237. package/assets/esri/core/workers/chunks/c90416e7bf29eb1d4536.js +0 -1
  238. package/assets/esri/core/workers/chunks/cad7a2092ea7f51dbd8b.js +0 -1
  239. package/assets/esri/core/workers/chunks/d0e2b42dca51711f2c6f.js +0 -1
  240. package/assets/esri/core/workers/chunks/d2a127f7bb0e2ba14a13.js +0 -1
  241. package/assets/esri/core/workers/chunks/df96824a6f76bad1370c.js +0 -1
  242. package/assets/esri/core/workers/chunks/e097f41bbfac00250477.js +0 -1
  243. package/assets/esri/core/workers/chunks/e3243d120a23a9b48392.js +0 -1
  244. package/assets/esri/core/workers/chunks/e55f80b774e090a0aa04.js +0 -1
  245. package/assets/esri/core/workers/chunks/e668c7e2e61aae6ca6e0.js +0 -1
  246. package/assets/esri/core/workers/chunks/ef900614353505afb210.js +0 -1
  247. package/assets/esri/core/workers/chunks/f0299d93a95f40ea7cf7.js +0 -1
  248. package/assets/esri/core/workers/chunks/f23b95d7e51a144ad065.js +0 -1
  249. package/assets/esri/core/workers/chunks/f263e73a25fae4beffae.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{ArcadeDate as e}from"../../ArcadeDate.js";import{FeatureServiceDatabaseType as r,isDate as t,isArcadeDate as a}from"./shared.js";import{WhereClause as n}from"../../../core/sql/WhereClause.js";import{SqlError as s,SqlErrorCodes as c}from"./errorsupport.js";import{convertTimeReference as o}from"../../arcadeTimeUtils.js";import{DateTime as i}from"luxon";function u(e,r){return y(e?.parseTree,r,e?.parameters)}function l(e,r,t,a){return d(n.create(e,r.fieldsIndex),t,a)}function d(e,t,a){const n=o(t),s=o(a);return y(e.parseTree,r.Standardised,null,null,null,{inputTimeReference:n,outputTimeReference:s})}function f(e,r,t){return y(e,r,t)}function p(e,t,a,s){return n.create(y(e.parseTree,r.Standardised,e.parameters,t,a),s)}function m(e,t,a="AND"){return n.create("(("+u(e,r.Standardised)+")"+a+"("+u(t,r.Standardised)+"))",e.fieldsIndex)}function y(e,n,o,i=null,u=null,l=null){let d,f,p,m;switch(e.type){case"interval":return R(y(e.value,n,o,i,u,l),e.qualifier,e.op);case"case-expression":{let r=" CASE ";"simple"===e.format&&(r+=y(e.operand,n,o,i,u,l));for(let t=0;t<e.clauses.length;t++)r+=" WHEN "+y(e.clauses[t].operand,n,o,i,u,l)+" THEN "+y(e.clauses[t].value,n,o,i,u,l);return null!==e.else&&(r+=" ELSE "+y(e.else,n,o,i,u,l)),r+=" END ",r}case"parameter":{const r=o[e.value.toLowerCase()];if("string"==typeof r){return"'"+o[e.value.toLowerCase()].toString().replaceAll("'","''")+"'"}if(t(r))return T(r,n,l);if(a(r))return h(r,n,l);if(r instanceof Array){const e=[];for(let s=0;s<r.length;s++)"string"==typeof r[s]?e.push("'"+r[s].toString().replaceAll("'","''")+"'"):t(r[s])?e.push(T(r[s],n,l)):a(r[s])?e.push(h(r[s],n,l)):e.push(r[s].toString());return e}return r.toString()}case"expression-list":f=[];for(const r of e.value)f.push(y(r,n,o,i,u,l));return f;case"unary-expression":return" ( NOT "+y(e.expr,n,o,i,u,l)+" ) ";case"binary-expression":switch(e.operator){case"AND":return" ("+y(e.left,n,o,i,u,l)+" AND "+y(e.right,n,o,i,u,l)+") ";case"OR":return" ("+y(e.left,n,o,i,u,l)+" OR "+y(e.right,n,o,i,u,l)+") ";case"IS":if("null"!==e.right.type)throw new s(c.UnsupportedIsRhs);return" ("+y(e.left,n,o,i,u,l)+" IS NULL )";case"ISNOT":if("null"!==e.right.type)throw new s(c.UnsupportedIsRhs);return" ("+y(e.left,n,o,i,u,l)+" IS NOT NULL )";case"IN":return d=[],"expression-list"===e.right.type?(d=y(e.right,n,o,i,u)," ("+y(e.left,n,o,i,u,l)+" IN ("+d.join(",")+")) "):(m=y(e.right,n,o,i,u,l),m instanceof Array?" ("+y(e.left,n,o,i,u,l)+" IN ("+m.join(",")+")) ":" ("+y(e.left,n,o,i,u,l)+" IN ("+m+")) ");case"NOT IN":return d=[],"expression-list"===e.right.type?(d=y(e.right,n,o,i,u)," ("+y(e.left,n,o,i,u,l)+" NOT IN ("+d.join(",")+")) "):(m=y(e.right,n,o,i,u,l),m instanceof Array?" ("+y(e.left,n,o,i,u,l)+" NOT IN ("+m.join(",")+")) ":" ("+y(e.left,n,o,i,u,l)+" NOT IN ("+m+")) ");case"BETWEEN":return p=y(e.right,n,o,i,u,l)," ("+y(e.left,n,o,i,u,l)+" BETWEEN "+p[0]+" AND "+p[1]+" ) ";case"NOTBETWEEN":return p=y(e.right,n,o,i,u,l)," ("+y(e.left,n,o,i,u,l)+" NOT BETWEEN "+p[0]+" AND "+p[1]+" ) ";case"LIKE":return""!==e.escape?" ("+y(e.left,n,o,i,u,l)+" LIKE "+y(e.right,n,o,i,u,l)+" ESCAPE '"+e.escape+"') ":" ("+y(e.left,n,o,i,u,l)+" LIKE "+y(e.right,n,o,i,u,l)+") ";case"NOT LIKE":return""!==e.escape?" ("+y(e.left,n,o,i,u,l)+" NOT LIKE "+y(e.right,n,o,i,u,l)+" ESCAPE '"+e.escape+"') ":" ("+y(e.left,n,o,i,u,l)+" NOT LIKE "+y(e.right,n,o,i,u,l)+") ";case"<>":case"<":case">":case">=":case"<=":case"=":case"*":case"-":case"+":case"/":return" ("+y(e.left,n,o,i,u,l)+" "+e.operator+" "+y(e.right,n,o,i,u,l)+") ";case"||":return" ("+y(e.left,n,o,i,u,l)+" "+(n===r.SqlServer?"+":e.operator)+" "+y(e.right,n,o,i,u,l)+") "}throw new s(c.UnsupportedOperator,{operator:e.operator});case"null":return"null";case"boolean":return!0===e.value?"1":"0";case"string":return"'"+e.value.toString().replaceAll("'","''")+"'";case"timestamp":case"date":return T(e.value,n,l);case"number":return e.value.toString();case"current-time":return L("date"===e.mode,n);case"column-reference":return i&&i.toLowerCase()===e.column.toLowerCase()?"("+u+")":e.column;case"data-type":return e.value;case"function":{const r=y(e.args,n,o,i,u,l);return g(e.name,r,n)}}throw new s(c.UnsupportedSyntax,{node:e.type})}function g(e,t,a){switch(e.toLowerCase().trim()){case"cos":case"sin":case"tan":case"cosh":case"tanh":case"sinh":case"acos":case"asin":case"atan":case"floor":case"log10":case"log":case"abs":if(1!==t.length)throw new s(c.InvalidFunctionParameters,{function:e.toLowerCase().trim()});return`${e.toUpperCase().trim()}(${t[0]})`;case"ceiling":case"ceil":if(1!==t.length)throw new s(c.InvalidFunctionParameters,{function:"ceiling"});switch(a){case r.Standardised:case r.StandardisedNoInterval:}return"CEILING("+t[0]+")";case"mod":case"power":case"nullif":if(2!==t.length)throw new s(c.InvalidFunctionParameters,{function:e.toLowerCase().trim()});return`${e.toUpperCase().trim()}(${t[0]},${t[1]})`;case"round":if(2===t.length)return"ROUND("+t[0]+","+t[1]+")";if(1===t.length)return"ROUND("+t[0]+")";throw new s(c.InvalidFunctionParameters,{function:"round"});case"truncate":if(t.length<1||t.length>2)throw new s(c.InvalidFunctionParameters,{function:"truncate"});return a===r.SqlServer?"ROUND("+t[0]+(1===t.length?"0":","+t[1])+",1)":"TRUNCATE("+t[0]+(1===t.length?")":","+t[1]+")");case"char_length":case"len":if(1!==t.length)throw new s(c.InvalidFunctionParameters,{function:"char_length"});switch(a){case r.SqlServer:return"LEN("+t[0]+")";case r.Oracle:return"LENGTH("+t[0]+")";default:return"CHAR_LENGTH("+t[0]+")"}case"coalesce":case"concat":{if(t.length<1)throw new s(c.InvalidFunctionParameters,{function:e.toLowerCase()});let r=e.toUpperCase().trim()+"(";for(let e=0;e<t.length;e++)0!==e&&(r+=","),r+=t[e];return r+=")",r}case"lower":case"lcase":if(1!==t.length)throw new s(c.InvalidFunctionParameters,{function:"lower"});return"LOWER("+t[0]+")";case"upper":case"ucase":if(1!==t.length)throw new s(c.InvalidFunctionParameters,{function:"upper"});return"UPPER("+t[0]+")";case"substring":{let e="";switch(a){case r.Oracle:return e="SUBSTR("+t[0]+","+t[1],3===t.length&&(e+=","+t[2]),e+=")",e;case r.SqlServer:return e=3===t.length?"SUBSTRING("+t[0]+","+t[1]+","+t[2]+")":"SUBSTRING("+t[0]+", "+t[1]+", LEN("+t[0]+") - "+t[1]+")",e;default:return e="SUBSTRING("+t[0]+" FROM "+t[1],3===t.length&&(e+=" FOR "+t[2]),e+=")",e}}case"extract":return"EXTRACT("+t[0].replaceAll("'","")+" FROM "+t[1]+")";case"cast":{let e="";switch(a){case r.Oracle:switch(t[1].type){case"date":e="DATE";break;case"float":e="DOUBLE";break;case"integer":e="INTEGER";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="TIMESTAMP";break;case"varchar":e="VARCHAR("+t[1].size.toString()+")"}return`CAST(${t[0]} AS ${e})`;case r.Postgres:switch(t[1].type){case"date":e="DATE";break;case"float":e="DOUBLE PRECISION";break;case"integer":e="INT";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="TIMESTAMP";break;case"varchar":e="VARCHAR("+t[1].size.toString()+")"}return`CAST(${t[0]} AS ${e})`;case r.SqlServer:switch(t[1].type){case"date":e="DATE";break;case"float":e="FLOAT";break;case"integer":e="INT";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="DATETIME";break;case"varchar":e="VARCHAR("+t[1].size.toString()+")"}return`CAST(${t[0]} AS ${e})`;default:switch(t[1].type){case"date":e="DATE";break;case"float":e="FLOAT";break;case"integer":e="INTEGER";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="TIMESTAMP";break;case"varchar":e="VARCHAR("+t[1].size.toString()+")"}return`CAST(${t[0]} AS ${e})`}}}throw new s(c.InvalidFunctionParameters,{function:e})}function h(t,a,n,s){n?.outputTimeReference&&(t=e.arcadeDateAndZoneToArcadeDate(t,n?.outputTimeReference));const c=t.toDateTime(),o=0===c.hour&&0===c.minute&&0===c.second&&0===c.millisecond;switch(a){case r.FILEGDB:case r.Standardised:case r.StandardisedNoInterval:return o?`date '${c.toFormat("yyyy-LL-dd")}'`:`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`;case r.Oracle:return o?`TO_DATE('${c.toFormat("yyyy-LL-dd")}','YYYY-MM-DD')`:`TO_DATE('${c.toFormat("yyyy-LL-dd HH:mm:ss")}','YYYY-MM-DD HH24:MI:SS')`;case r.SqlServer:return`'${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;case r.PGDB:return`#${c.toFormat(o?"LL-dd-yyyy":"LL-dd-yyyy HH:mm:ss")}#`;case r.Postgres:return`TIMESTAMP '${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;default:return`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`}}function T(e,a,n,s){let c=t(e)?i.fromJSDate(e):i.fromSQL(e);const o=0===c.hour&&0===c.minute&&0===c.second&&0===c.millisecond;switch(n?.inputTimeReference&&(c=i.fromObject({day:c.day,year:c.year,month:c.month,hour:c.hour,minute:c.minute,second:c.second,millisecond:c.millisecond},{zone:n.inputTimeReference})),n?.outputTimeReference&&(c=c.setZone(n.outputTimeReference)),a){case r.FILEGDB:case r.Standardised:case r.StandardisedNoInterval:return o?`date '${c.toFormat("yyyy-LL-dd")}'`:`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`;case r.Oracle:return o?`TO_DATE('${c.toFormat("yyyy-LL-dd")}','YYYY-MM-DD')`:`TO_DATE('${c.toFormat("yyyy-LL-dd HH:mm:ss")}','YYYY-MM-DD HH24:MI:SS')`;case r.SqlServer:return`'${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;case r.PGDB:return`#${c.toFormat(o?"LL-dd-yyyy":"LL-dd-yyyy HH:mm:ss")}#`;case r.Postgres:return`TIMESTAMP '${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;default:return`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`}}function L(e,t){switch(t){case r.FILEGDB:case r.Standardised:case r.StandardisedNoInterval:case r.Oracle:return e?"CURRENT_DATE":"CURRENT_TIMESTAMP";case r.SqlServer:return e?"CAST(GETDATE() AS DATE)":"GETDATE()";case r.PGDB:case r.Postgres:default:return e?"CURRENT_DATE":"CURRENT_TIMESTAMP"}}function S(e,r,t={}){const a={},n={},s={esriFieldTypeSmallInteger:"integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"double",esriFieldTypeDouble:"double",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"integer",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"guid",oid:"integer",long:"integer","small-integer":"integer",integer:"integer",single:"double",double:"double",date:"date",guid:"guid",globalid:"guid",string:"string"};for(const c of r){const e=c.type?s[c.type]:void 0;a[c.name.toLowerCase()]=void 0===e?"":e}for(const c in t){const e=s[t[c]];n[c.toLowerCase()]=void 0===e?"":e}switch(E(a,e.parseTree,e.parameters,n)){case"double":return"double";case"integer":return"integer";case"date":return"date";case"string":return"string";case"global-id":case"guid":return"guid"}return""}function E(e,r,n,o){let i;switch(r.type){case"interval":return"integer";case"case-expression":{const t=[];if("simple"===r.format){for(let a=0;a<r.clauses.length;a++)t.push(E(e,r.clauses[a].value,n,o));null!==r.else&&t.push(E(e,r.else,n,o))}else{for(let a=0;a<r.clauses.length;a++)t.push(E(e,r.else,n,o));null!==r.else&&t.push(E(e,r.else,n,o))}return w(t)}case"parameter":{const e=o[r.value.toLowerCase()];if(void 0===e&&n){const e=n[r.value.toLowerCase()];if(void 0===e)return"";if(null===e)return"";if("string"==typeof e||e instanceof String)return"string";if("boolean"==typeof e)return"boolean";if(t(e))return"date";if(a(e))return"date";if("number"==typeof e)return e%1==0?"integer":"double"}return void 0===e?"":e}case"expression-list":{const t=[];for(const a of r.value)t.push(E(e,a,n,o));return t}case"unary-expression":return"boolean";case"binary-expression":switch(r.operator){case"AND":case"OR":case"IN":case"NOT IN":case"BETWEEN":case"NOTBETWEEN":case"LIKE":case"NOT LIKE":case"<>":case"<":case">":case">=":case"<=":case"=":return"boolean";case"IS":case"ISNOT":if("null"!==r.right.type)throw new s(c.UnsupportedIsRhs);return"boolean";case"*":case"-":case"+":case"/":return w([E(e,r.left,n,o),E(e,r.right,n,o)]);case"||":return"string";default:throw new s(c.UnsupportedOperator,{operator:r.operator})}case"null":return"";case"boolean":return"boolean";case"string":return"string";case"number":return null===r.value?"":r.value%1==0?"integer":"double";case"date":case"timestamp":case"current-time":return"date";case"column-reference":{const t=e[r.column.toLowerCase()];return void 0===t?"":t}case"function":switch(r.name.toLowerCase()){case"cast":switch(r.args?.value[1]?.value.type??""){case"integer":case"smallint":return"integer";case"real":case"float":return"double";case"date":case"timestamp":return"date";case"varchar":return"string";default:return""}case"position":case"extract":case"char_length":case"mod":return"integer";case"round":if(i=E(e,r.args,n,o),i instanceof Array){if(i.length<=0)return"double";i=i[0]}return i;case"sign":return"integer";case"ceiling":case"floor":case"abs":return i=E(e,r.args,n,o),i instanceof Array&&(i=w(i)),"integer"===i||"double"===i?i:"double";case"area":case"length":case"log":case"log10":case"sin":case"cos":case"tan":case"asin":case"acos":case"atan":case"cosh":case"sinh":case"tanh":case"power":return"double";case"substring":case"trim":case"concat":case"lower":case"upper":return"string";case"truncate":return"double";case"nullif":case"coalesce":return i=E(e,r.args,n,o),i instanceof Array?i.length>0?i[0]:"":i}return""}throw new s(c.UnsupportedSyntax,{node:r.type})}const I={boolean:1,string:2,integer:3,double:4,date:5};function w(e){if(e){let r="";for(const t of e)""!==t&&(r=""===r||I[r]<I[t]?t:r);return r}return""}function A(e,r){return b(e.parseTree,r)}function N(e){return"column-reference"===e?.parseTree.type}function b(e,r){if(null==e)return!1;switch(e.type){case"when-clause":return b(e.operand,r)||b(e.value,r);case"case-expression":for(const t of e.clauses)if(b(t,r))return!0;return!("simple"!==e.format||!b(e.operand,r))||!(null===e.else||!b(e.else,r));case"parameter":case"null":case"boolean":case"date":case"timestamp":case"string":case"number":return!1;case"expression-list":for(const t of e.value)if(b(t,r))return!0;return!1;case"unary-expression":return b(e.expr,r);case"binary-expression":return b(e.left,r)||b(e.right,r);case"column-reference":return r.toLowerCase()===e.column.toLowerCase();case"function":return b(e.args,r)}return!1}function v(e){let r="";return r+=e.period.toUpperCase(),r}function R(e,r,t){let a="";return a="interval-period"===r.type?v(r):v(r.start)+" TO "+v(r.end),"INTERVAL "+t+" "+e+" "+a}export{h as arcadeDateToSqlString,l as changeSqlTimeZones,d as changeWhereClauseTimeZone,m as combine,R as convertIntervalToSql,N as isSingleField,T as makeDateString,L as makeToday,S as predictType,p as reformulateWithoutField,A as scanForField,u as toWhereClause,f as toWhereClauseFromTree,g as translateFunctionToDatabaseSpecific};
5
+ import{ArcadeDate as e}from"../../ArcadeDate.js";import{convertTimeReference as r}from"../../arcadeTimeUtils.js";import{SqlError as t,SqlErrorCodes as a}from"./errorsupport.js";import{FeatureServiceDatabaseType as n,isDate as s,isArcadeDate as c}from"./shared.js";import{WhereClause as o}from"../../../core/sql/WhereClause.js";import{DateTime as i}from"luxon";function u(e,r){return y(e?.parseTree,r,e?.parameters)}function l(e,r,t,a){return d(o.create(e,r.fieldsIndex),t,a)}function d(e,t,a){const s=r(t),c=r(a);return y(e.parseTree,n.Standardised,null,null,null,{inputTimeReference:s,outputTimeReference:c})}function f(e,r,t){return y(e,r,t)}function p(e,r,t,a){return o.create(y(e.parseTree,n.Standardised,e.parameters,r,t),a)}function m(e,r,t="AND"){return o.create("(("+u(e,n.Standardised)+")"+t+"("+u(r,n.Standardised)+"))",e.fieldsIndex)}function y(e,r,o,i=null,u=null,l=null){let d,f,p,m;switch(e.type){case"interval":return R(y(e.value,r,o,i,u,l),e.qualifier,e.op);case"case-expression":{let t=" CASE ";"simple"===e.format&&(t+=y(e.operand,r,o,i,u,l));for(let a=0;a<e.clauses.length;a++)t+=" WHEN "+y(e.clauses[a].operand,r,o,i,u,l)+" THEN "+y(e.clauses[a].value,r,o,i,u,l);return null!==e.else&&(t+=" ELSE "+y(e.else,r,o,i,u,l)),t+=" END ",t}case"parameter":{const t=o[e.value.toLowerCase()];if("string"==typeof t){return"'"+o[e.value.toLowerCase()].toString().replaceAll("'","''")+"'"}if(s(t))return T(t,r,l);if(c(t))return h(t,r,l);if(t instanceof Array){const e=[];for(let a=0;a<t.length;a++)"string"==typeof t[a]?e.push("'"+t[a].toString().replaceAll("'","''")+"'"):s(t[a])?e.push(T(t[a],r,l)):c(t[a])?e.push(h(t[a],r,l)):e.push(t[a].toString());return e}return t.toString()}case"expression-list":f=[];for(const t of e.value)f.push(y(t,r,o,i,u,l));return f;case"unary-expression":return" ( NOT "+y(e.expr,r,o,i,u,l)+" ) ";case"binary-expression":switch(e.operator){case"AND":return" ("+y(e.left,r,o,i,u,l)+" AND "+y(e.right,r,o,i,u,l)+") ";case"OR":return" ("+y(e.left,r,o,i,u,l)+" OR "+y(e.right,r,o,i,u,l)+") ";case"IS":if("null"!==e.right.type)throw new t(a.UnsupportedIsRhs);return" ("+y(e.left,r,o,i,u,l)+" IS NULL )";case"ISNOT":if("null"!==e.right.type)throw new t(a.UnsupportedIsRhs);return" ("+y(e.left,r,o,i,u,l)+" IS NOT NULL )";case"IN":return d=[],"expression-list"===e.right.type?(d=y(e.right,r,o,i,u)," ("+y(e.left,r,o,i,u,l)+" IN ("+d.join(",")+")) "):(m=y(e.right,r,o,i,u,l),m instanceof Array?" ("+y(e.left,r,o,i,u,l)+" IN ("+m.join(",")+")) ":" ("+y(e.left,r,o,i,u,l)+" IN ("+m+")) ");case"NOT IN":return d=[],"expression-list"===e.right.type?(d=y(e.right,r,o,i,u)," ("+y(e.left,r,o,i,u,l)+" NOT IN ("+d.join(",")+")) "):(m=y(e.right,r,o,i,u,l),m instanceof Array?" ("+y(e.left,r,o,i,u,l)+" NOT IN ("+m.join(",")+")) ":" ("+y(e.left,r,o,i,u,l)+" NOT IN ("+m+")) ");case"BETWEEN":return p=y(e.right,r,o,i,u,l)," ("+y(e.left,r,o,i,u,l)+" BETWEEN "+p[0]+" AND "+p[1]+" ) ";case"NOTBETWEEN":return p=y(e.right,r,o,i,u,l)," ("+y(e.left,r,o,i,u,l)+" NOT BETWEEN "+p[0]+" AND "+p[1]+" ) ";case"LIKE":return""!==e.escape?" ("+y(e.left,r,o,i,u,l)+" LIKE "+y(e.right,r,o,i,u,l)+" ESCAPE '"+e.escape+"') ":" ("+y(e.left,r,o,i,u,l)+" LIKE "+y(e.right,r,o,i,u,l)+") ";case"NOT LIKE":return""!==e.escape?" ("+y(e.left,r,o,i,u,l)+" NOT LIKE "+y(e.right,r,o,i,u,l)+" ESCAPE '"+e.escape+"') ":" ("+y(e.left,r,o,i,u,l)+" NOT LIKE "+y(e.right,r,o,i,u,l)+") ";case"<>":case"<":case">":case">=":case"<=":case"=":case"*":case"-":case"+":case"/":return" ("+y(e.left,r,o,i,u,l)+" "+e.operator+" "+y(e.right,r,o,i,u,l)+") ";case"||":return" ("+y(e.left,r,o,i,u,l)+" "+(r===n.SqlServer?"+":e.operator)+" "+y(e.right,r,o,i,u,l)+") "}throw new t(a.UnsupportedOperator,{operator:e.operator});case"null":return"null";case"boolean":return!0===e.value?"1":"0";case"string":return"'"+e.value.toString().replaceAll("'","''")+"'";case"timestamp":case"date":return T(e.value,r,l);case"number":return e.value.toString();case"current-time":return L("date"===e.mode,r);case"column-reference":return i&&i.toLowerCase()===e.column.toLowerCase()?"("+u+")":e.column;case"data-type":return e.value;case"function":{const t=y(e.args,r,o,i,u,l);return g(e.name,t,r)}}throw new t(a.UnsupportedSyntax,{node:e.type})}function g(e,r,s){switch(e.toLowerCase().trim()){case"cos":case"sin":case"tan":case"cosh":case"tanh":case"sinh":case"acos":case"asin":case"atan":case"floor":case"log10":case"log":case"abs":if(1!==r.length)throw new t(a.InvalidFunctionParameters,{function:e.toLowerCase().trim()});return`${e.toUpperCase().trim()}(${r[0]})`;case"ceiling":case"ceil":if(1!==r.length)throw new t(a.InvalidFunctionParameters,{function:"ceiling"});switch(s){case n.Standardised:case n.StandardisedNoInterval:}return"CEILING("+r[0]+")";case"mod":case"power":case"nullif":if(2!==r.length)throw new t(a.InvalidFunctionParameters,{function:e.toLowerCase().trim()});return`${e.toUpperCase().trim()}(${r[0]},${r[1]})`;case"round":if(2===r.length)return"ROUND("+r[0]+","+r[1]+")";if(1===r.length)return"ROUND("+r[0]+")";throw new t(a.InvalidFunctionParameters,{function:"round"});case"truncate":if(r.length<1||r.length>2)throw new t(a.InvalidFunctionParameters,{function:"truncate"});return s===n.SqlServer?"ROUND("+r[0]+(1===r.length?"0":","+r[1])+",1)":"TRUNCATE("+r[0]+(1===r.length?")":","+r[1]+")");case"char_length":case"len":if(1!==r.length)throw new t(a.InvalidFunctionParameters,{function:"char_length"});switch(s){case n.SqlServer:return"LEN("+r[0]+")";case n.Oracle:return"LENGTH("+r[0]+")";default:return"CHAR_LENGTH("+r[0]+")"}case"coalesce":case"concat":{if(r.length<1)throw new t(a.InvalidFunctionParameters,{function:e.toLowerCase()});let n=e.toUpperCase().trim()+"(";for(let e=0;e<r.length;e++)0!==e&&(n+=","),n+=r[e];return n+=")",n}case"lower":case"lcase":if(1!==r.length)throw new t(a.InvalidFunctionParameters,{function:"lower"});return"LOWER("+r[0]+")";case"upper":case"ucase":if(1!==r.length)throw new t(a.InvalidFunctionParameters,{function:"upper"});return"UPPER("+r[0]+")";case"substring":{let e="";switch(s){case n.Oracle:return e="SUBSTR("+r[0]+","+r[1],3===r.length&&(e+=","+r[2]),e+=")",e;case n.SqlServer:return e=3===r.length?"SUBSTRING("+r[0]+","+r[1]+","+r[2]+")":"SUBSTRING("+r[0]+", "+r[1]+", LEN("+r[0]+") - "+r[1]+")",e;default:return e="SUBSTRING("+r[0]+" FROM "+r[1],3===r.length&&(e+=" FOR "+r[2]),e+=")",e}}case"extract":return"EXTRACT("+r[0].replaceAll("'","")+" FROM "+r[1]+")";case"cast":{let e="";switch(s){case n.Oracle:switch(r[1].type){case"date":e="DATE";break;case"float":e="DOUBLE";break;case"integer":e="INTEGER";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="TIMESTAMP";break;case"varchar":e="VARCHAR("+r[1].size.toString()+")"}return`CAST(${r[0]} AS ${e})`;case n.Postgres:switch(r[1].type){case"date":e="DATE";break;case"float":e="DOUBLE PRECISION";break;case"integer":e="INT";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="TIMESTAMP";break;case"varchar":e="VARCHAR("+r[1].size.toString()+")"}return`CAST(${r[0]} AS ${e})`;case n.SqlServer:switch(r[1].type){case"date":e="DATE";break;case"float":e="FLOAT";break;case"integer":e="INT";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="DATETIME";break;case"varchar":e="VARCHAR("+r[1].size.toString()+")"}return`CAST(${r[0]} AS ${e})`;default:switch(r[1].type){case"date":e="DATE";break;case"float":e="FLOAT";break;case"integer":e="INTEGER";break;case"real":e="REAL";break;case"smallint":e="SMALLINT";break;case"timestamp":e="TIMESTAMP";break;case"varchar":e="VARCHAR("+r[1].size.toString()+")"}return`CAST(${r[0]} AS ${e})`}}}throw new t(a.InvalidFunctionParameters,{function:e})}function h(r,t,a,s){a?.outputTimeReference&&(r=e.arcadeDateAndZoneToArcadeDate(r,a?.outputTimeReference));const c=r.toDateTime(),o=0===c.hour&&0===c.minute&&0===c.second&&0===c.millisecond;switch(t){case n.FILEGDB:case n.Standardised:case n.StandardisedNoInterval:return o?`date '${c.toFormat("yyyy-LL-dd")}'`:`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`;case n.Oracle:return o?`TO_DATE('${c.toFormat("yyyy-LL-dd")}','YYYY-MM-DD')`:`TO_DATE('${c.toFormat("yyyy-LL-dd HH:mm:ss")}','YYYY-MM-DD HH24:MI:SS')`;case n.SqlServer:return`'${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;case n.PGDB:return`#${c.toFormat(o?"LL-dd-yyyy":"LL-dd-yyyy HH:mm:ss")}#`;case n.Postgres:return`TIMESTAMP '${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;default:return`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`}}function T(e,r,t,a){let c=s(e)?i.fromJSDate(e):i.fromSQL(e);const o=0===c.hour&&0===c.minute&&0===c.second&&0===c.millisecond;switch(t?.inputTimeReference&&(c=i.fromObject({day:c.day,year:c.year,month:c.month,hour:c.hour,minute:c.minute,second:c.second,millisecond:c.millisecond},{zone:t.inputTimeReference})),t?.outputTimeReference&&(c=c.setZone(t.outputTimeReference)),r){case n.FILEGDB:case n.Standardised:case n.StandardisedNoInterval:return o?`date '${c.toFormat("yyyy-LL-dd")}'`:`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`;case n.Oracle:return o?`TO_DATE('${c.toFormat("yyyy-LL-dd")}','YYYY-MM-DD')`:`TO_DATE('${c.toFormat("yyyy-LL-dd HH:mm:ss")}','YYYY-MM-DD HH24:MI:SS')`;case n.SqlServer:return`'${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;case n.PGDB:return`#${c.toFormat(o?"LL-dd-yyyy":"LL-dd-yyyy HH:mm:ss")}#`;case n.Postgres:return`TIMESTAMP '${c.toFormat(o?"yyyy-LL-dd":"yyyy-LL-dd HH:mm:ss")}'`;default:return`date '${c.toFormat("yyyy-LL-dd HH:mm:ss")}'`}}function L(e,r){switch(r){case n.FILEGDB:case n.Standardised:case n.StandardisedNoInterval:case n.Oracle:return e?"CURRENT_DATE":"CURRENT_TIMESTAMP";case n.SqlServer:return e?"CAST(GETDATE() AS DATE)":"GETDATE()";case n.PGDB:case n.Postgres:default:return e?"CURRENT_DATE":"CURRENT_TIMESTAMP"}}function S(e,r,t={}){const a={},n={},s={esriFieldTypeSmallInteger:"integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"double",esriFieldTypeDouble:"double",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"integer",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"guid",oid:"integer",long:"integer","small-integer":"integer",integer:"integer",single:"double",double:"double",date:"date",guid:"guid",globalid:"guid",string:"string"};for(const c of r){const e=c.type?s[c.type]:void 0;a[c.name.toLowerCase()]=void 0===e?"":e}for(const c in t){const e=s[t[c]];n[c.toLowerCase()]=void 0===e?"":e}switch(E(a,e.parseTree,e.parameters,n)){case"double":return"double";case"integer":return"integer";case"date":return"date";case"string":return"string";case"global-id":case"guid":return"guid"}return""}function E(e,r,n,o){let i;switch(r.type){case"interval":return"integer";case"case-expression":{const t=[];if("simple"===r.format){for(let a=0;a<r.clauses.length;a++)t.push(E(e,r.clauses[a].value,n,o));null!==r.else&&t.push(E(e,r.else,n,o))}else{for(let a=0;a<r.clauses.length;a++)t.push(E(e,r.else,n,o));null!==r.else&&t.push(E(e,r.else,n,o))}return w(t)}case"parameter":{const e=o[r.value.toLowerCase()];if(void 0===e&&n){const e=n[r.value.toLowerCase()];if(void 0===e)return"";if(null===e)return"";if("string"==typeof e||e instanceof String)return"string";if("boolean"==typeof e)return"boolean";if(s(e))return"date";if(c(e))return"date";if("number"==typeof e)return e%1==0?"integer":"double"}return void 0===e?"":e}case"expression-list":{const t=[];for(const a of r.value)t.push(E(e,a,n,o));return t}case"unary-expression":return"boolean";case"binary-expression":switch(r.operator){case"AND":case"OR":case"IN":case"NOT IN":case"BETWEEN":case"NOTBETWEEN":case"LIKE":case"NOT LIKE":case"<>":case"<":case">":case">=":case"<=":case"=":return"boolean";case"IS":case"ISNOT":if("null"!==r.right.type)throw new t(a.UnsupportedIsRhs);return"boolean";case"*":case"-":case"+":case"/":return w([E(e,r.left,n,o),E(e,r.right,n,o)]);case"||":return"string";default:throw new t(a.UnsupportedOperator,{operator:r.operator})}case"null":return"";case"boolean":return"boolean";case"string":return"string";case"number":return null===r.value?"":r.value%1==0?"integer":"double";case"date":case"timestamp":case"current-time":return"date";case"column-reference":{const t=e[r.column.toLowerCase()];return void 0===t?"":t}case"function":switch(r.name.toLowerCase()){case"cast":switch(r.args?.value[1]?.value.type??""){case"integer":case"smallint":return"integer";case"real":case"float":return"double";case"date":case"timestamp":return"date";case"varchar":return"string";default:return""}case"position":case"extract":case"char_length":case"mod":return"integer";case"round":if(i=E(e,r.args,n,o),i instanceof Array){if(i.length<=0)return"double";i=i[0]}return i;case"sign":return"integer";case"ceiling":case"floor":case"abs":return i=E(e,r.args,n,o),i instanceof Array&&(i=w(i)),"integer"===i||"double"===i?i:"double";case"area":case"length":case"log":case"log10":case"sin":case"cos":case"tan":case"asin":case"acos":case"atan":case"cosh":case"sinh":case"tanh":case"power":return"double";case"substring":case"trim":case"concat":case"lower":case"upper":return"string";case"truncate":return"double";case"nullif":case"coalesce":return i=E(e,r.args,n,o),i instanceof Array?i.length>0?i[0]:"":i}return""}throw new t(a.UnsupportedSyntax,{node:r.type})}const I={boolean:1,string:2,integer:3,double:4,date:5};function w(e){if(e){let r="";for(const t of e)""!==t&&(r=""===r||I[r]<I[t]?t:r);return r}return""}function A(e,r){return b(e.parseTree,r)}function N(e){return"column-reference"===e?.parseTree.type}function b(e,r){if(null==e)return!1;switch(e.type){case"when-clause":return b(e.operand,r)||b(e.value,r);case"case-expression":for(const t of e.clauses)if(b(t,r))return!0;return!("simple"!==e.format||!b(e.operand,r))||!(null===e.else||!b(e.else,r));case"parameter":case"null":case"boolean":case"date":case"timestamp":case"string":case"number":return!1;case"expression-list":for(const t of e.value)if(b(t,r))return!0;return!1;case"unary-expression":return b(e.expr,r);case"binary-expression":return b(e.left,r)||b(e.right,r);case"column-reference":return r.toLowerCase()===e.column.toLowerCase();case"function":return b(e.args,r)}return!1}function v(e){let r="";return r+=e.period.toUpperCase(),r}function R(e,r,t){let a="";return a="interval-period"===r.type?v(r):v(r.start)+" TO "+v(r.end),"INTERVAL "+t+" "+e+" "+a}export{h as arcadeDateToSqlString,l as changeSqlTimeZones,d as changeWhereClauseTimeZone,m as combine,R as convertIntervalToSql,N as isSingleField,T as makeDateString,L as makeToday,S as predictType,p as reformulateWithoutField,A as scanForField,u as toWhereClause,f as toWhereClauseFromTree,g as translateFunctionToDatabaseSpecific};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{ArcadeDate as n}from"../ArcadeDate.js";import{C as e,G as t,l as r,j as o,g as a,D as s,H as u,c,J as l}from"../../chunks/languageUtils.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as f}from"../executionError.js";import{getLocale as d}from"../../intl/locale.js";import{DateTime as m}from"luxon";function h(n,e,t){return n+(N(t)?A:y)[e]}function N(n){return n%4==0&&(n%100!=0||n%400==0)}const y=[0,31,59,90,120,151,181,212,243,273,304,334],A=[0,31,60,91,121,152,182,213,244,274,305,335];function w(n){return null===n?n:!1===n.isValid?null:n}function D(n,e){return""===n||"default"===n.toLowerCase().trim()?t(e):n}function T(N,y){N.today=function(r,o){return y(r,o,((a,s,u)=>{e(u,0,0,r,o);const c=new Date;return c.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(c,t(r))}))},N.changetimezone=function(a,s){return y(a,s,((u,c,l)=>{e(l,2,2,a,s);const i=r(l[0],t(a));if(null===i)return null;const f=n.arcadeDateAndZoneToArcadeDate(i,D(o(l[1]),a));return!1===f.isValid?null:f}))},N.timezone=function(o,a){return y(o,a,((s,u,c)=>{e(c,1,2,o,a);const l=r(c[0],t(o));if(null===l)return null;const i=l.timeZone;return"system"===i?n.systemTimeZoneCanonicalName:i}))},N.timezoneoffset=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?null:c.timeZoneOffset}))},N.now=function(r,o){return y(r,o,((a,s,u)=>{e(u,0,0,r,o);const c=n.nowToArcadeDate(t(r));return!1===c.isValid?null:c}))},N.timestamp=function(t,r){return y(t,r,((o,a,s)=>{e(s,0,0,t,r);const u=n.nowUTCToArcadeDate();return!1===u.isValid?null:u}))},N.toutc=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?null:c.toUTC()}))},N.tolocal=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?null:c.toLocal()}))},N.day=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.day}))},N.month=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.monthJS}))},N.year=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.year}))},N.hour=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.hour}))},N.second=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.second}))},N.millisecond=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.millisecond}))},N.minute=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.minute}))},N.week=function(n,o){return y(n,o,((u,c,l)=>{e(l,1,2,n,o);const d=r(l[0],t(n));if(null===d)return NaN;const m=a(s(l[1],0));if(m<0||m>6)throw new i(n,f.InvalidParameter,o);const N=d.day,y=d.monthJS,A=d.year,w=d.dayOfWeekJS,D=h(N,y,A)-1,T=Math.floor(D/7);return w-m+(w-m<0?7:0)<D-7*T?T+1:T}))},N.weekday=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.dayOfWeekJS}))},N.isoweekday=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.dayOfWeekISO}))},N.isomonth=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.monthISO}))},N.isoweek=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.weekISO}))},N.isoyear=function(n,o){return y(n,o,((a,s,u)=>{e(u,1,1,n,o);const c=r(u[0],t(n));return null===c?NaN:c.yearISO}))},N.date=function(s,l){return y(s,l,((i,f,h)=>{if(e(h,0,8,s,l),3===h.length)return w(n.fromParts(a(h[0]),a(h[1])+1,a(h[2]),0,0,0,0,t(s)));if(4===h.length)return w(n.fromParts(a(h[0]),a(h[1])+1,a(h[2]),a(h[3]),0,0,0,t(s)));if(5===h.length)return w(n.fromParts(a(h[0]),a(h[1])+1,a(h[2]),a(h[3]),a(h[4]),0,0,t(s)));if(6===h.length)return w(n.fromParts(a(h[0]),a(h[1])+1,a(h[2]),a(h[3]),a(h[4]),a(h[5]),0,t(s)));if(7===h.length)return w(n.fromParts(a(h[0]),a(h[1])+1,a(h[2]),a(h[3]),a(h[4]),a(h[5]),a(h[6]),t(s)));if(8===h.length)return w(n.fromParts(a(h[0]),a(h[1])+1,a(h[2]),a(h[3]),a(h[4]),a(h[5]),a(h[6]),D(o(h[7]),s)));if(2===h.length){let e,t=o(h[1]);return""===t?null:(t=u(t),e="X"===t?m.fromSeconds(a(h[0])):"x"===t?m.fromMillis(a(h[0])):m.fromFormat(o(h[0]),t,{locale:d(),numberingSystem:"latn"}),e.isValid?n.dateTimeToArcadeDate(e):null)}if(1===h.length){if(c(h[0])){if(""===h[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(h[0]))return r(h[0]+"-01-01",t(s))}const e=a(h[0]);if(!1===isNaN(e)){const r=m.fromMillis(e);return r.isValid?n.dateTimeAndZoneToArcadeDate(r,t(s)):null}return r(h[0],t(s))}return 0===h.length?n.nowToArcadeDate(t(s)):null}))},N.datediff=function(a,u){return y(a,u,((c,l,i)=>{e(i,2,4,a,u);let f=r(i[0],t(a)),d=r(i[1],t(a));if(null===f||null===d)return NaN;let m=s(i[3],"");switch(""!==m&&null!==m?(m=o(m),f=n.arcadeDateAndZoneToArcadeDate(f,m),d=n.arcadeDateAndZoneToArcadeDate(d,m)):f.timeZone!==d.timeZone&&(f.isUnknownTimeZone?f=n.arcadeDateAndZoneToArcadeDate(f,d.timeZone):d=(d.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(d,f.timeZone))),o(i[2]).toLowerCase()){case"days":case"day":case"d":return f.diff(d,"days");case"months":case"month":return f.diff(d,"months");case"minutes":case"minute":case"m":return"M"===i[2]?f.diff(d,"months"):f.diff(d,"minutes");case"seconds":case"second":case"s":return f.diff(d,"seconds");case"milliseconds":case"millisecond":case"ms":default:return f.diff(d);case"hours":case"hour":case"h":return f.diff(d,"hours");case"years":case"year":case"y":return f.diff(d,"years")}}))},N.dateadd=function(n,s){return y(n,s,((u,c,i)=>{e(i,2,3,n,s);const f=r(i[0],t(n));if(null===f)return null;let d=a(i[1]);if(isNaN(d))return f;let m="milliseconds";switch(o(i[2]).toLowerCase()){case"days":case"day":case"d":m="days",d=l(d);break;case"months":case"month":m="months",d=l(d);break;case"minutes":case"minute":case"m":m="M"===i[2]?"months":"minutes";break;case"seconds":case"second":case"s":m="seconds";break;case"milliseconds":case"millisecond":case"ms":m="milliseconds";break;case"hours":case"hour":case"h":m="hours";break;case"years":case"year":case"y":m="years"}return f.plus({[m]:d})}))}}export{T as registerFunctions};
5
+ import{ArcadeDate as n}from"../ArcadeDate.js";import{ArcadeExecutionError as e,ExecutionErrorCodes as t}from"../executionError.js";import{C as r,G as o,l as a,j as s,g as u,D as c,H as l,c as i,J as f}from"../../chunks/languageUtils.js";import{getLocale as d}from"../../intl/locale.js";import{DateTime as m}from"luxon";function h(n,e,t){return n+(N(t)?A:y)[e]}function N(n){return n%4==0&&(n%100!=0||n%400==0)}const y=[0,31,59,90,120,151,181,212,243,273,304,334],A=[0,31,60,91,121,152,182,213,244,274,305,335];function w(n){return null===n?n:!1===n.isValid?null:n}function D(n,e){return""===n||"default"===n.toLowerCase().trim()?o(e):n}function T(N,y){N.today=function(e,t){return y(e,t,((a,s,u)=>{r(u,0,0,e,t);const c=new Date;return c.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(c,o(e))}))},N.changetimezone=function(e,t){return y(e,t,((u,c,l)=>{r(l,2,2,e,t);const i=a(l[0],o(e));if(null===i)return null;const f=n.arcadeDateAndZoneToArcadeDate(i,D(s(l[1]),e));return!1===f.isValid?null:f}))},N.timezone=function(e,t){return y(e,t,((s,u,c)=>{r(c,1,2,e,t);const l=a(c[0],o(e));if(null===l)return null;const i=l.timeZone;return"system"===i?n.systemTimeZoneCanonicalName:i}))},N.timezoneoffset=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?null:c.timeZoneOffset}))},N.now=function(e,t){return y(e,t,((a,s,u)=>{r(u,0,0,e,t);const c=n.nowToArcadeDate(o(e));return!1===c.isValid?null:c}))},N.timestamp=function(e,t){return y(e,t,((o,a,s)=>{r(s,0,0,e,t);const u=n.nowUTCToArcadeDate();return!1===u.isValid?null:u}))},N.toutc=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?null:c.toUTC()}))},N.tolocal=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?null:c.toLocal()}))},N.day=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.day}))},N.month=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.monthJS}))},N.year=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.year}))},N.hour=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.hour}))},N.second=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.second}))},N.millisecond=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.millisecond}))},N.minute=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.minute}))},N.week=function(n,s){return y(n,s,((l,i,f)=>{r(f,1,2,n,s);const d=a(f[0],o(n));if(null===d)return NaN;const m=u(c(f[1],0));if(m<0||m>6)throw new e(n,t.InvalidParameter,s);const N=d.day,y=d.monthJS,A=d.year,w=d.dayOfWeekJS,D=h(N,y,A)-1,T=Math.floor(D/7);return w-m+(w-m<0?7:0)<D-7*T?T+1:T}))},N.weekday=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.dayOfWeekJS}))},N.isoweekday=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.dayOfWeekISO}))},N.isomonth=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.monthISO}))},N.isoweek=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.weekISO}))},N.isoyear=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.yearISO}))},N.date=function(e,t){return y(e,t,((c,f,h)=>{if(r(h,0,8,e,t),3===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),0,0,0,0,o(e)));if(4===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),0,0,0,o(e)));if(5===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),0,0,o(e)));if(6===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),u(h[5]),0,o(e)));if(7===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),u(h[5]),u(h[6]),o(e)));if(8===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),u(h[5]),u(h[6]),D(s(h[7]),e)));if(2===h.length){let e,t=s(h[1]);return""===t?null:(t=l(t),e="X"===t?m.fromSeconds(u(h[0])):"x"===t?m.fromMillis(u(h[0])):m.fromFormat(s(h[0]),t,{locale:d(),numberingSystem:"latn"}),e.isValid?n.dateTimeToArcadeDate(e):null)}if(1===h.length){if(i(h[0])){if(""===h[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(h[0]))return a(h[0]+"-01-01",o(e))}const t=u(h[0]);if(!1===isNaN(t)){const r=m.fromMillis(t);return r.isValid?n.dateTimeAndZoneToArcadeDate(r,o(e)):null}return a(h[0],o(e))}return 0===h.length?n.nowToArcadeDate(o(e)):null}))},N.datediff=function(e,t){return y(e,t,((u,l,i)=>{r(i,2,4,e,t);let f=a(i[0],o(e)),d=a(i[1],o(e));if(null===f||null===d)return NaN;let m=c(i[3],"");switch(""!==m&&null!==m?(m=s(m),f=n.arcadeDateAndZoneToArcadeDate(f,m),d=n.arcadeDateAndZoneToArcadeDate(d,m)):f.timeZone!==d.timeZone&&(f.isUnknownTimeZone?f=n.arcadeDateAndZoneToArcadeDate(f,d.timeZone):d=(d.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(d,f.timeZone))),s(i[2]).toLowerCase()){case"days":case"day":case"d":return f.diff(d,"days");case"months":case"month":return f.diff(d,"months");case"minutes":case"minute":case"m":return"M"===i[2]?f.diff(d,"months"):f.diff(d,"minutes");case"seconds":case"second":case"s":return f.diff(d,"seconds");case"milliseconds":case"millisecond":case"ms":default:return f.diff(d);case"hours":case"hour":case"h":return f.diff(d,"hours");case"years":case"year":case"y":return f.diff(d,"years")}}))},N.dateadd=function(n,e){return y(n,e,((t,c,l)=>{r(l,2,3,n,e);const i=a(l[0],o(n));if(null===i)return null;let d=u(l[1]);if(isNaN(d))return i;let m="milliseconds";switch(s(l[2]).toLowerCase()){case"days":case"day":case"d":m="days",d=f(d);break;case"months":case"month":m="months",d=f(d);break;case"minutes":case"minute":case"m":m="M"===l[2]?"months":"minutes";break;case"seconds":case"second":case"s":m="seconds";break;case"milliseconds":case"millisecond":case"ms":m="milliseconds";break;case"hours":case"hour":case"h":m="hours";break;case"years":case"year":case"y":m="years"}return i.plus({[m]:d})}))}}export{T 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{version as n}from"../../kernel.js";import{cloneGeometry as t,convertSquareUnitsToCode as e,convertLinearUnitsToCode as r}from"../kernel.js";import{L as i,C as a,k as o,j as l,m as s,o as u,y as c,r as f,D as d,N as m,M as w,O as h,g as y,h as p,G as g}from"../../chunks/languageUtils.js";import{centroidPolyline as v,centroidMultiPoint as P,getMetersPerVerticalUnitForSR as I,segmentLength3d as A}from"./centroid.js";import F from"../../geometry/Extent.js";import R from"../../geometry/Geometry.js";import{disjoint as j,intersects as x,touches as N,crosses as b,within as O,contains as S,overlaps as D,equals as k,relate as M,intersect as C,union as Z,difference as J,symmetricDifference as L,clip as U,cut as z,planarArea as E,geodesicArea as T,planarLength as W,geodesicLength as q,distance as G,densify as V,geodesicDensify as B,generalize as H,buffer as K,geodesicBuffer as Q,offset as X,rotate as Y,simplify as $,isSimple as _,convexHull as nn,nearestCoordinate as tn,nearestVertex as en}from"../../geometry/geometryEngineAsync.js";import rn from"../../geometry/Multipoint.js";import an from"../../geometry/Point.js";import on from"../../geometry/Polygon.js";import ln from"../../geometry/Polyline.js";import{fromJSON as sn}from"../../geometry/support/jsonUtils.js";import{ArcadeExecutionError as un,ExecutionErrorCodes as cn}from"../executionError.js";import fn from"../Dictionary.js";import dn from"../ArcadePortal.js";import{getPortal as mn,lookupUser as wn}from"../portalUtils.js";import{getMetersPerUnitForSR as hn}from"../../core/unitUtils.js";import yn from"../../portal/Portal.js";function pn(t){return 0===n.indexOf("4.")?on.fromExtent(t):new on({spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]})}function gn(n,t,e){if(a(n,2,2,t,e),n[0]instanceof R&&n[1]instanceof R);else if(n[0]instanceof R&&null===n[1]);else if(n[1]instanceof R&&null===n[0]);else if(null!==n[0]||null!==n[1])throw new un(t,cn.InvalidParameter,e)}async function vn(n,t){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let e=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){e=I(n.spatialReference)/hn(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=A(a[n],a[n-1],e);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=A(a[n],a[n-1],e);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=A(a[0],a[a.length-1],e))}else"extent"===n.type&&(r+=2*A([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],e),r+=2*A([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],e),r*=2,r+=4*Math.abs(d(n.zmax,0)*e-d(n.zmin,0)*e));const i=new ln({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return W(i,t)}function Pn(n){"async"===n.mode&&(n.functions.disjoint=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null===a[0]||null===a[1]||j(a[0],a[1]))))},n.functions.intersects=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null!==a[0]&&null!==a[1]&&x(a[0],a[1]))))},n.functions.touches=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null!==a[0]&&null!==a[1]&&N(a[0],a[1]))))},n.functions.crosses=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null!==a[0]&&null!==a[1]&&b(a[0],a[1]))))},n.functions.within=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null!==a[0]&&null!==a[1]&&O(a[0],a[1]))))},n.functions.contains=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null!==a[0]&&null!==a[1]&&S(a[0],a[1]))))},n.functions.overlaps=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null!==a[0]&&null!==a[1]&&D(a[0],a[1]))))},n.functions.equals=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(a(i,2,2,t,e),i[0]===i[1]||(i[0]instanceof R&&i[1]instanceof R?k(i[0],i[1]):!(!o(i[0])||!o(i[1]))&&i[0].equals(i[1])))))},n.functions.relate=function(t,e){return n.standardFunctionAsync(t,e,((n,r,o)=>{if(o=i(o),a(o,3,3,t,e),o[0]instanceof R&&o[1]instanceof R)return M(o[0],o[1],l(o[2]));if(o[0]instanceof R&&null===o[1])return!1;if(o[1]instanceof R&&null===o[0])return!1;if(null===o[0]&&null===o[1])return!1;throw new un(t,cn.InvalidParameter,e)}))},n.functions.intersection=function(t,e){return n.standardFunctionAsync(t,e,((n,r,a)=>(gn(a=i(a),t,e),null===a[0]||null===a[1]?null:C(a[0],a[1]))))},n.functions.union=function(e,r){return n.standardFunctionAsync(e,r,((n,a,o)=>{const l=[];if(0===(o=i(o)).length)throw new un(e,cn.WrongNumberOfParameters,r);if(1===o.length)if(s(o[0])){const n=i(o[0]);for(let t=0;t<n.length;t++)if(null!==n[t]){if(!(n[t]instanceof R))throw new un(e,cn.InvalidParameter,r);l.push(n[t])}}else{if(!u(o[0])){if(o[0]instanceof R)return c(t(o[0]),e.spatialReference);if(null===o[0])return null;throw new un(e,cn.InvalidParameter,r)}{const n=i(o[0].toArray());for(let t=0;t<n.length;t++)if(null!==n[t]){if(!(n[t]instanceof R))throw new un(e,cn.InvalidParameter,r);l.push(n[t])}}}else for(let t=0;t<o.length;t++)if(null!==o[t]){if(!(o[t]instanceof R))throw new un(e,cn.InvalidParameter,r);l.push(o[t])}return 0===l.length?null:Z(l)}))},n.functions.difference=function(e,r){return n.standardFunctionAsync(e,r,((n,a,o)=>(gn(o=i(o),e,r),null!==o[0]&&null===o[1]?t(o[0]):null===o[0]?null:J(o[0],o[1]))))},n.functions.symmetricdifference=function(e,r){return n.standardFunctionAsync(e,r,((n,a,o)=>(gn(o=i(o),e,r),null===o[0]&&null===o[1]?null:null===o[0]?t(o[1]):null===o[1]?t(o[0]):L(o[0],o[1]))))},n.functions.clip=function(t,e){return n.standardFunctionAsync(t,e,((n,r,o)=>{if(o=i(o),a(o,2,2,t,e),!(o[1]instanceof F)&&null!==o[1])throw new un(t,cn.InvalidParameter,e);if(null===o[0])return null;if(!(o[0]instanceof R))throw new un(t,cn.InvalidParameter,e);return null===o[1]?null:U(o[0],o[1])}))},n.functions.cut=function(e,r){return n.standardFunctionAsync(e,r,((n,o,l)=>{if(l=i(l),a(l,2,2,e,r),!(l[1]instanceof ln)&&null!==l[1])throw new un(e,cn.InvalidParameter,r);if(null===l[0])return[];if(!(l[0]instanceof R))throw new un(e,cn.InvalidParameter,r);return null===l[1]?[t(l[0])]:z(l[0],l[1])}))},n.functions.area=function(t,r){return n.standardFunctionAsync(t,r,(async(n,o,l)=>{if(a(l,1,2,t,r),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumArea(e(d(l[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new un(t,cn.Cancelled,r);return n}if(s(l[0])||u(l[0])){const n=m(l[0],t.spatialReference);return null===n?0:E(n,e(d(l[1],-1)))}if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,r);return E(l[0],e(d(l[1],-1)))}))},n.functions.areageodetic=function(t,r){return n.standardFunctionAsync(t,r,(async(n,o,l)=>{if(a(l,1,2,t,r),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumArea(e(d(l[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new un(t,cn.Cancelled,r);return n}if(s(l[0])||u(l[0])){const n=m(l[0],t.spatialReference);return null===n?0:T(n,e(d(l[1],-1)))}if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,r);return T(l[0],e(d(l[1],-1)))}))},n.functions.length=function(t,e){return n.standardFunctionAsync(t,e,(async(n,o,l)=>{if(a(l,1,2,t,e),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumLength(r(d(l[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new un(t,cn.Cancelled,e);return n}if(s(l[0])||u(l[0])){const n=w(l[0],t.spatialReference);return null===n?0:W(n,r(d(l[1],-1)))}if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,e);return W(l[0],r(d(l[1],-1)))}))},n.functions.length3d=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(a(l,1,2,t,e),null===(l=i(l))[0])return 0;if(s(l[0])||u(l[0])){const n=w(l[0],t.spatialReference);return null===n?0:!0===n.hasZ?vn(n,r(d(l[1],-1))):W(n,r(d(l[1],-1)))}if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,e);return!0===l[0].hasZ?vn(l[0],r(d(l[1],-1))):W(l[0],r(d(l[1],-1)))}))},n.functions.lengthgeodetic=function(t,e){return n.standardFunctionAsync(t,e,(async(n,o,l)=>{if(a(l,1,2,t,e),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumLength(r(d(l[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new un(t,cn.Cancelled,e);return n}if(s(l[0])||u(l[0])){const n=w(l[0],t.spatialReference);return null===n?0:q(n,r(d(l[1],-1)))}if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,e);return q(l[0],r(d(l[1],-1)))}))},n.functions.distance=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{l=i(l),a(l,2,3,t,e);let c=l[0];(s(l[0])||u(l[0]))&&(c=h(l[0],t.spatialReference));let f=l[1];if((s(l[1])||u(l[1]))&&(f=h(l[1],t.spatialReference)),!(c instanceof R))throw new un(t,cn.InvalidParameter,e);if(!(f instanceof R))throw new un(t,cn.InvalidParameter,e);return G(c,f,r(d(l[2],-1)))}))},n.functions.distancegeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{l=i(l),a(l,2,3,t,e);const s=l[0],u=l[1];if(!(s instanceof an))throw new un(t,cn.InvalidParameter,e);if(!(u instanceof an))throw new un(t,cn.InvalidParameter,e);const c=new ln({paths:[],spatialReference:s.spatialReference});return c.addPath([s,u]),q(c,r(d(l[2],-1)))}))},n.functions.densify=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=i(l),a(l,2,3,t,e),null===l[0])return null;if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,e);const s=y(l[1]);if(isNaN(s))throw new un(t,cn.InvalidParameter,e);if(s<=0)throw new un(t,cn.InvalidParameter,e);return l[0]instanceof on||l[0]instanceof ln?V(l[0],s,r(d(l[2],-1))):l[0]instanceof F?V(pn(l[0]),s,r(d(l[2],-1))):l[0]}))},n.functions.densifygeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=i(l),a(l,2,3,t,e),null===l[0])return null;if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,e);const s=y(l[1]);if(isNaN(s))throw new un(t,cn.InvalidParameter,e);if(s<=0)throw new un(t,cn.InvalidParameter,e);return l[0]instanceof on||l[0]instanceof ln?B(l[0],s,r(d(l[2],-1))):l[0]instanceof F?B(pn(l[0]),s,r(d(l[2],-1))):l[0]}))},n.functions.generalize=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=i(l),a(l,2,4,t,e),null===l[0])return null;if(!(l[0]instanceof R))throw new un(t,cn.InvalidParameter,e);const s=y(l[1]);if(isNaN(s))throw new un(t,cn.InvalidParameter,e);return H(l[0],s,p(d(l[2],!0)),r(d(l[3],-1)))}))},n.functions.buffer=function(e,o){return n.standardFunctionAsync(e,o,((n,l,s)=>{if(s=i(s),a(s,2,3,e,o),null===s[0])return null;if(!(s[0]instanceof R))throw new un(e,cn.InvalidParameter,o);const u=y(s[1]);if(isNaN(u))throw new un(e,cn.InvalidParameter,o);return 0===u?t(s[0]):K(s[0],u,r(d(s[2],-1)))}))},n.functions.buffergeodetic=function(e,o){return n.standardFunctionAsync(e,o,((n,l,s)=>{if(s=i(s),a(s,2,3,e,o),null===s[0])return null;if(!(s[0]instanceof R))throw new un(e,cn.InvalidParameter,o);const u=y(s[1]);if(isNaN(u))throw new un(e,cn.InvalidParameter,o);return 0===u?t(s[0]):Q(s[0],u,r(d(s[2],-1)))}))},n.functions.offset=function(t,e){return n.standardFunctionAsync(t,e,((n,o,s)=>{if(s=i(s),a(s,2,6,t,e),null===s[0])return null;if(!(s[0]instanceof on||s[0]instanceof ln))throw new un(t,cn.InvalidParameter,e);const u=y(s[1]);if(isNaN(u))throw new un(t,cn.InvalidParameter,e);const c=y(d(s[4],10));if(isNaN(c))throw new un(t,cn.InvalidParameter,e);const f=y(d(s[5],0));if(isNaN(f))throw new un(t,cn.InvalidParameter,e);return X(s[0],u,r(d(s[2],-1)),l(d(s[3],"round")).toLowerCase(),c,f)}))},n.functions.rotate=function(t,e){return n.standardFunctionAsync(t,e,((n,r,o)=>{o=i(o),a(o,2,3,t,e);let l=o[0];if(null===l)return null;if(!(l instanceof R))throw new un(t,cn.InvalidParameter,e);l instanceof F&&(l=on.fromExtent(l));const s=y(o[1]);if(isNaN(s))throw new un(t,cn.InvalidParameter,e);const u=d(o[2],null);if(null===u)return Y(l,s);if(u instanceof an)return Y(l,s,u);throw new un(t,cn.InvalidParameter,e)}))},n.functions.centroid=function(e,r){return n.standardFunctionAsync(e,r,((n,o,l)=>{if(l=i(l),a(l,1,1,e,r),null===l[0])return null;let f=l[0];if((s(l[0])||u(l[0]))&&(f=h(l[0],e.spatialReference)),null===f)return null;if(!(f instanceof R))throw new un(e,cn.InvalidParameter,r);return f instanceof an?c(t(l[0]),e.spatialReference):f instanceof on?f.centroid:f instanceof ln?v(f):f instanceof rn?P(f):f instanceof F?f.center:null}))},n.functions.multiparttosinglepart=function(e,r){return n.standardFunctionAsync(e,r,(async(n,o,l)=>{l=i(l),a(l,1,1,e,r);const s=[];if(null===l[0])return null;if(!(l[0]instanceof R))throw new un(e,cn.InvalidParameter,r);if(l[0]instanceof an)return[c(t(l[0]),e.spatialReference)];if(l[0]instanceof F)return[c(t(l[0]),e.spatialReference)];const u=await $(l[0]);if(u instanceof on){const n=[],t=[];for(let e=0;e<u.rings.length;e++)if(u.isClockwise(u.rings[e])){const t=sn({rings:[u.rings[e]],hasZ:!0===u.hasZ,hazM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(t)}else t.push({ring:u.rings[e],pt:u.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(u instanceof ln){const n=[];for(let t=0;t<u.paths.length;t++){const e=sn({paths:[u.paths[t]],hasZ:!0===u.hasZ,hazM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(e)}return n}if(l[0]instanceof rn){const n=c(t(l[0]),e.spatialReference);for(let t=0;t<n.points.length;t++)s.push(n.getPoint(t));return s}return null}))},n.functions.issimple=function(t,e){return n.standardFunctionAsync(t,e,((n,r,o)=>{if(o=i(o),a(o,1,1,t,e),null===o[0])return!0;if(!(o[0]instanceof R))throw new un(t,cn.InvalidParameter,e);return _(o[0])}))},n.functions.simplify=function(t,e){return n.standardFunctionAsync(t,e,((n,r,o)=>{if(o=i(o),a(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof R))throw new un(t,cn.InvalidParameter,e);return $(o[0])}))},n.functions.convexhull=function(t,e){return n.standardFunctionAsync(t,e,((n,r,o)=>{if(o=i(o),a(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof R))throw new un(t,cn.InvalidParameter,e);return nn(o[0])}))},n.functions.getuser=function(t,e){return n.standardFunctionAsync(t,e,(async(n,r,i)=>{a(i,0,2,t,e);let o=d(i[1],""),s=!0===o;if(o=!0===o||!1===o?"":l(o),0===i.length||i[0]instanceof dn){let n=null;n=t.services&&t.services.portal?t.services.portal:yn.getDefault(),i.length>0&&(n=mn(i[0],n));const e=await wn(n,o,s);if(e){const n=JSON.parse(JSON.stringify(e));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return fn.convertObjectToArcadeDictionary(n,g(t))}return null}let u=null;if(f(i[0])&&(u=i[0]),u){if(s=!1,o)return null;await u.load();const n=await u.getOwningSystemUrl();if(!n){if(!o){const n=await u.getIdentityUser();return n?fn.convertObjectToArcadeDictionary({username:n},g(t)):null}return null}let e=null;e=t.services&&t.services.portal?t.services.portal:yn.getDefault(),e=mn(new dn(n),e);const r=await wn(e,o,s);if(r){const n=JSON.parse(JSON.stringify(r));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return fn.convertObjectToArcadeDictionary(n,g(t))}return null}throw new un(t,cn.InvalidParameter,e)}))}),n.functions.nearestcoordinate=function(t,e){return n.standardFunctionAsync(t,e,(async(n,r,o)=>{if(o=i(o),a(o,2,2,t,e),!(o[0]instanceof R||null===o[0]))throw new un(t,cn.InvalidParameter,e);if(!(o[1]instanceof an||null===o[1]))throw new un(t,cn.InvalidParameter,e);if(null===o[0]||null===o[1])return null;const l=await tn(o[0],o[1]);return null===l?null:fn.convertObjectToArcadeDictionary({coordinate:l.coordinate,distance:l.distance},g(t),!1,!0)}))},n.functions.nearestvertex=function(t,e){return n.standardFunctionAsync(t,e,(async(n,r,o)=>{if(o=i(o),a(o,2,2,t,e),!(o[0]instanceof R||null===o[0]))throw new un(t,cn.InvalidParameter,e);if(!(o[1]instanceof an||null===o[1]))throw new un(t,cn.InvalidParameter,e);if(null===o[0]||null===o[1])return null;const l=await en(o[0],o[1]);return null===l?null:fn.convertObjectToArcadeDictionary({coordinate:l.coordinate,distance:l.distance},g(t),!1,!0)}))}}export{Pn as registerFunctions};
5
+ import{version as n}from"../../kernel.js";import t from"../ArcadePortal.js";import e from"../Dictionary.js";import{ArcadeExecutionError as r,ExecutionErrorCodes as i}from"../executionError.js";import{cloneGeometry as a,convertSquareUnitsToCode as o,convertLinearUnitsToCode as l}from"../kernel.js";import{L as s,C as u,k as c,j as f,m as d,o as m,y as w,r as h,D as y,N as p,M as g,O as v,g as P,h as I,G as A}from"../../chunks/languageUtils.js";import{getPortal as F,lookupUser as R}from"../portalUtils.js";import{centroidPolyline as j,centroidMultiPoint as x,getMetersPerVerticalUnitForSR as N,segmentLength3d as b}from"./centroid.js";import{getMetersPerUnitForSR as O}from"../../core/unitUtils.js";import S from"../../geometry/Extent.js";import D from"../../geometry/Geometry.js";import{disjoint as k,intersects as M,touches as C,crosses as Z,within as J,contains as L,overlaps as U,equals as z,relate as E,intersect as T,union as W,difference as q,symmetricDifference as G,clip as V,cut as B,planarArea as H,geodesicArea as K,planarLength as Q,geodesicLength as X,distance as Y,densify as $,geodesicDensify as _,generalize as nn,buffer as tn,geodesicBuffer as en,offset as rn,rotate as an,simplify as on,isSimple as ln,convexHull as sn,nearestCoordinate as un,nearestVertex as cn}from"../../geometry/geometryEngineAsync.js";import fn from"../../geometry/Multipoint.js";import dn from"../../geometry/Point.js";import mn from"../../geometry/Polygon.js";import wn from"../../geometry/Polyline.js";import{fromJSON as hn}from"../../geometry/support/jsonUtils.js";import yn from"../../portal/Portal.js";function pn(t){return 0===n.indexOf("4.")?mn.fromExtent(t):new mn({spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]})}function gn(n,t,e){if(u(n,2,2,t,e),n[0]instanceof D&&n[1]instanceof D);else if(n[0]instanceof D&&null===n[1]);else if(n[1]instanceof D&&null===n[0]);else if(null!==n[0]||null!==n[1])throw new r(t,i.InvalidParameter,e)}async function vn(n,t){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let e=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){e=N(n.spatialReference)/O(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=b(a[n],a[n-1],e);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=b(a[n],a[n-1],e);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=b(a[0],a[a.length-1],e))}else"extent"===n.type&&(r+=2*b([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],e),r+=2*b([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],e),r*=2,r+=4*Math.abs(y(n.zmax,0)*e-y(n.zmin,0)*e));const i=new wn({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return Q(i,t)}function Pn(n){"async"===n.mode&&(n.functions.disjoint=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]||null===i[1]||k(i[0],i[1]))))},n.functions.intersects=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&M(i[0],i[1]))))},n.functions.touches=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&C(i[0],i[1]))))},n.functions.crosses=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&Z(i[0],i[1]))))},n.functions.within=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&J(i[0],i[1]))))},n.functions.contains=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&L(i[0],i[1]))))},n.functions.overlaps=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&U(i[0],i[1]))))},n.functions.equals=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(u(i,2,2,t,e),i[0]===i[1]||(i[0]instanceof D&&i[1]instanceof D?z(i[0],i[1]):!(!c(i[0])||!c(i[1]))&&i[0].equals(i[1])))))},n.functions.relate=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,3,3,t,e),o[0]instanceof D&&o[1]instanceof D)return E(o[0],o[1],f(o[2]));if(o[0]instanceof D&&null===o[1])return!1;if(o[1]instanceof D&&null===o[0])return!1;if(null===o[0]&&null===o[1])return!1;throw new r(t,i.InvalidParameter,e)}))},n.functions.intersection=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]||null===i[1]?null:T(i[0],i[1]))))},n.functions.union=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{const u=[];if(0===(l=s(l)).length)throw new r(t,i.WrongNumberOfParameters,e);if(1===l.length)if(d(l[0])){const n=s(l[0]);for(let a=0;a<n.length;a++)if(null!==n[a]){if(!(n[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(n[a])}}else{if(!m(l[0])){if(l[0]instanceof D)return w(a(l[0]),t.spatialReference);if(null===l[0])return null;throw new r(t,i.InvalidParameter,e)}{const n=s(l[0].toArray());for(let a=0;a<n.length;a++)if(null!==n[a]){if(!(n[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(n[a])}}}else for(let a=0;a<l.length;a++)if(null!==l[a]){if(!(l[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(l[a])}return 0===u.length?null:W(u)}))},n.functions.difference=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null===i[1]?a(i[0]):null===i[0]?null:q(i[0],i[1]))))},n.functions.symmetricdifference=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]&&null===i[1]?null:null===i[0]?a(i[1]):null===i[1]?a(i[0]):G(i[0],i[1]))))},n.functions.clip=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,2,t,e),!(o[1]instanceof S)&&null!==o[1])throw new r(t,i.InvalidParameter,e);if(null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return null===o[1]?null:V(o[0],o[1])}))},n.functions.cut=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=s(l),u(l,2,2,t,e),!(l[1]instanceof wn)&&null!==l[1])throw new r(t,i.InvalidParameter,e);if(null===l[0])return[];if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return null===l[1]?[a(l[0])]:B(l[0],l[1])}))},n.functions.area=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,l)=>{if(u(l,1,2,t,e),null===(l=s(l))[0])return 0;if(h(l[0])){const n=await l[0].sumArea(o(y(l[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(l[0])||m(l[0])){const n=p(l[0],t.spatialReference);return null===n?0:H(n,o(y(l[1],-1)))}if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return H(l[0],o(y(l[1],-1)))}))},n.functions.areageodetic=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,l)=>{if(u(l,1,2,t,e),null===(l=s(l))[0])return 0;if(h(l[0])){const n=await l[0].sumArea(o(y(l[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(l[0])||m(l[0])){const n=p(l[0],t.spatialReference);return null===n?0:K(n,o(y(l[1],-1)))}if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return K(l[0],o(y(l[1],-1)))}))},n.functions.length=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(h(o[0])){const n=await o[0].sumLength(l(y(o[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:Q(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return Q(o[0],l(y(o[1],-1)))}))},n.functions.length3d=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:!0===n.hasZ?vn(n,l(y(o[1],-1))):Q(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return!0===o[0].hasZ?vn(o[0],l(y(o[1],-1))):Q(o[0],l(y(o[1],-1)))}))},n.functions.lengthgeodetic=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(h(o[0])){const n=await o[0].sumLength(l(y(o[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:X(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return X(o[0],l(y(o[1],-1)))}))},n.functions.distance=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);let c=o[0];(d(o[0])||m(o[0]))&&(c=v(o[0],t.spatialReference));let f=o[1];if((d(o[1])||m(o[1]))&&(f=v(o[1],t.spatialReference)),!(c instanceof D))throw new r(t,i.InvalidParameter,e);if(!(f instanceof D))throw new r(t,i.InvalidParameter,e);return Y(c,f,l(y(o[2],-1)))}))},n.functions.distancegeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);const c=o[0],f=o[1];if(!(c instanceof dn))throw new r(t,i.InvalidParameter,e);if(!(f instanceof dn))throw new r(t,i.InvalidParameter,e);const d=new wn({paths:[],spatialReference:c.spatialReference});return d.addPath([c,f]),X(d,l(y(o[2],-1)))}))},n.functions.densify=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,3,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);if(c<=0)throw new r(t,i.InvalidParameter,e);return o[0]instanceof mn||o[0]instanceof wn?$(o[0],c,l(y(o[2],-1))):o[0]instanceof S?$(pn(o[0]),c,l(y(o[2],-1))):o[0]}))},n.functions.densifygeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,3,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);if(c<=0)throw new r(t,i.InvalidParameter,e);return o[0]instanceof mn||o[0]instanceof wn?_(o[0],c,l(y(o[2],-1))):o[0]instanceof S?_(pn(o[0]),c,l(y(o[2],-1))):o[0]}))},n.functions.generalize=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,4,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);return nn(o[0],c,I(y(o[2],!0)),l(y(o[3],-1)))}))},n.functions.buffer=function(t,e){return n.standardFunctionAsync(t,e,((n,o,c)=>{if(c=s(c),u(c,2,3,t,e),null===c[0])return null;if(!(c[0]instanceof D))throw new r(t,i.InvalidParameter,e);const f=P(c[1]);if(isNaN(f))throw new r(t,i.InvalidParameter,e);return 0===f?a(c[0]):tn(c[0],f,l(y(c[2],-1)))}))},n.functions.buffergeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,o,c)=>{if(c=s(c),u(c,2,3,t,e),null===c[0])return null;if(!(c[0]instanceof D))throw new r(t,i.InvalidParameter,e);const f=P(c[1]);if(isNaN(f))throw new r(t,i.InvalidParameter,e);return 0===f?a(c[0]):en(c[0],f,l(y(c[2],-1)))}))},n.functions.offset=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,6,t,e),null===o[0])return null;if(!(o[0]instanceof mn||o[0]instanceof wn))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);const d=P(y(o[4],10));if(isNaN(d))throw new r(t,i.InvalidParameter,e);const m=P(y(o[5],0));if(isNaN(m))throw new r(t,i.InvalidParameter,e);return rn(o[0],c,l(y(o[2],-1)),f(y(o[3],"round")).toLowerCase(),d,m)}))},n.functions.rotate=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);let l=o[0];if(null===l)return null;if(!(l instanceof D))throw new r(t,i.InvalidParameter,e);l instanceof S&&(l=mn.fromExtent(l));const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);const f=y(o[2],null);if(null===f)return an(l,c);if(f instanceof dn)return an(l,c,f);throw new r(t,i.InvalidParameter,e)}))},n.functions.centroid=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=s(l),u(l,1,1,t,e),null===l[0])return null;let c=l[0];if((d(l[0])||m(l[0]))&&(c=v(l[0],t.spatialReference)),null===c)return null;if(!(c instanceof D))throw new r(t,i.InvalidParameter,e);return c instanceof dn?w(a(l[0]),t.spatialReference):c instanceof mn?c.centroid:c instanceof wn?j(c):c instanceof fn?x(c):c instanceof S?c.center:null}))},n.functions.multiparttosinglepart=function(t,e){return n.standardFunctionAsync(t,e,(async(n,o,l)=>{l=s(l),u(l,1,1,t,e);const c=[];if(null===l[0])return null;if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);if(l[0]instanceof dn)return[w(a(l[0]),t.spatialReference)];if(l[0]instanceof S)return[w(a(l[0]),t.spatialReference)];const f=await on(l[0]);if(f instanceof mn){const n=[],t=[];for(let e=0;e<f.rings.length;e++)if(f.isClockwise(f.rings[e])){const t=hn({rings:[f.rings[e]],hasZ:!0===f.hasZ,hazM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});n.push(t)}else t.push({ring:f.rings[e],pt:f.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(f instanceof wn){const n=[];for(let t=0;t<f.paths.length;t++){const e=hn({paths:[f.paths[t]],hasZ:!0===f.hasZ,hazM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});n.push(e)}return n}if(l[0]instanceof fn){const n=w(a(l[0]),t.spatialReference);for(let t=0;t<n.points.length;t++)c.push(n.getPoint(t));return c}return null}))},n.functions.issimple=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return!0;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return ln(o[0])}))},n.functions.simplify=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return on(o[0])}))},n.functions.convexhull=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return sn(o[0])}))},n.functions.getuser=function(a,o){return n.standardFunctionAsync(a,o,(async(n,l,s)=>{u(s,0,2,a,o);let c=y(s[1],""),d=!0===c;if(c=!0===c||!1===c?"":f(c),0===s.length||s[0]instanceof t){let n=null;n=a.services&&a.services.portal?a.services.portal:yn.getDefault(),s.length>0&&(n=F(s[0],n));const t=await R(n,c,d);if(t){const n=JSON.parse(JSON.stringify(t));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return e.convertObjectToArcadeDictionary(n,A(a))}return null}let m=null;if(h(s[0])&&(m=s[0]),m){if(d=!1,c)return null;await m.load();const n=await m.getOwningSystemUrl();if(!n){if(!c){const n=await m.getIdentityUser();return n?e.convertObjectToArcadeDictionary({username:n},A(a)):null}return null}let r=null;r=a.services&&a.services.portal?a.services.portal:yn.getDefault(),r=F(new t(n),r);const i=await R(r,c,d);if(i){const n=JSON.parse(JSON.stringify(i));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return e.convertObjectToArcadeDictionary(n,A(a))}return null}throw new r(a,i.InvalidParameter,o)}))}),n.functions.nearestcoordinate=function(t,a){return n.standardFunctionAsync(t,a,(async(n,o,l)=>{if(l=s(l),u(l,2,2,t,a),!(l[0]instanceof D||null===l[0]))throw new r(t,i.InvalidParameter,a);if(!(l[1]instanceof dn||null===l[1]))throw new r(t,i.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const c=await un(l[0],l[1]);return null===c?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance},A(t),!1,!0)}))},n.functions.nearestvertex=function(t,a){return n.standardFunctionAsync(t,a,(async(n,o,l)=>{if(l=s(l),u(l,2,2,t,a),!(l[0]instanceof D||null===l[0]))throw new r(t,i.InvalidParameter,a);if(!(l[1]instanceof dn||null===l[1]))throw new r(t,i.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const c=await cn(l[0],l[1]);return null===c?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance},A(t),!1,!0)}))}}export{Pn 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.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../Dictionary.js";import t from"../Feature.js";import n from"../ImmutablePointArray.js";import{C as r,m as a,o as i,y as o,K as l,L as s,v as c,c as f,j as u,k as m,b as h,a as p,i as w,f as d,G as y,p as g,A as R,M as I}from"../../chunks/languageUtils.js";import v from"../../geometry/Extent.js";import P from"../../geometry/Geometry.js";import b from"../../geometry/Multipoint.js";import F from"../../geometry/Point.js";import x from"../../geometry/Polygon.js";import O from"../../geometry/Polyline.js";import{angle2D as j,angleBetween2D as S,bearing2D as k,bearingBetween2D as N,pathsSelfIntersecting as J}from"./centroid.js";import{fromJSON as D}from"../../geometry/support/jsonUtils.js";import{ArcadeExecutionError as G,ExecutionErrorCodes as z}from"../executionError.js";import C from"../ImmutablePathArray.js";import{isClockwise as M}from"../../geometry/support/coordsUtils.js";function _(e){return e&&"esri.arcade.Feature"===e.arcadeDeclaredClass}function A(C,A){C.ringisclockwise=function(e,t){return A(e,t,((o,l,s)=>{r(s,1,1,e,t);let c=[];if(null===s[0])return!1;if(a(s[0]))for(const n of s[0]){if(!(n instanceof F))throw new G(e,z.InvalidParameter,t);c.push(n.hasZ?n.hasM?[n.x,n.y,n.z,n.m]:[n.x,n.y,n.z]:[n.x,n.y])}else if(s[0]instanceof n)c=s[0]._elements;else{if(!i(s[0]))throw new G(e,z.InvalidParameter,t);for(const n of s[0].toArray()){if(!(n instanceof F))throw new G(e,z.InvalidParameter,t);c.push(n.hasZ?n.hasM?[n.x,n.y,n.z,n.m]:[n.x,n.y,n.z]:[n.x,n.y])}}return!(c.length<3)&&M(c)}))},C.polygon=function(n,a){return A(n,a,((i,s,c)=>{r(c,1,1,n,a);let f=null;if(c[0]instanceof e){if(f=o(t.parseGeometryFromDictionary(c[0]),n.spatialReference),f instanceof x==!1)throw new G(n,z.InvalidParameter,a)}else f=c[0]instanceof x?D(c[0].toJSON()):o(new x(JSON.parse(c[0])),n.spatialReference);if(null!==f&&!1===f.spatialReference.equals(n.spatialReference))throw new G(n,z.WrongSpatialReference,a);return l(f)}))},C.polyline=function(n,a){return A(n,a,((i,s,c)=>{r(c,1,1,n,a);let f=null;if(c[0]instanceof e){if(f=o(t.parseGeometryFromDictionary(c[0]),n.spatialReference),f instanceof O==!1)throw new G(n,z.InvalidParameter,a)}else f=c[0]instanceof O?D(c[0].toJSON()):o(new O(JSON.parse(c[0])),n.spatialReference);if(null!==f&&!1===f.spatialReference.equals(n.spatialReference))throw new G(n,z.WrongSpatialReference,a);return l(f)}))},C.point=function(n,a){return A(n,a,((i,s,c)=>{r(c,1,1,n,a);let f=null;if(c[0]instanceof e){if(f=o(t.parseGeometryFromDictionary(c[0]),n.spatialReference),f instanceof F==!1)throw new G(n,z.InvalidParameter,a)}else f=c[0]instanceof F?D(c[0].toJSON()):o(new F(JSON.parse(c[0])),n.spatialReference);if(null!==f&&!1===f.spatialReference.equals(n.spatialReference))throw new G(n,z.WrongSpatialReference,a);return l(f)}))},C.multipoint=function(n,a){return A(n,a,((i,s,c)=>{r(c,1,1,n,a);let f=null;if(c[0]instanceof e){if(f=o(t.parseGeometryFromDictionary(c[0]),n.spatialReference),f instanceof b==!1)throw new G(n,z.InvalidParameter,a)}else f=c[0]instanceof b?D(c[0].toJSON()):o(new b(JSON.parse(c[0])),n.spatialReference);if(null!==f&&!1===f.spatialReference.equals(n.spatialReference))throw new G(n,z.WrongSpatialReference,a);return l(f)}))},C.extent=function(n,a){return A(n,a,((i,c,f)=>{f=s(f),r(f,1,1,n,a);let u=null;if(f[0]instanceof e)u=o(t.parseGeometryFromDictionary(f[0]),n.spatialReference);else if(f[0]instanceof F){const e={xmin:f[0].x,ymin:f[0].y,xmax:f[0].x,ymax:f[0].y,spatialReference:f[0].spatialReference.toJSON()},t=f[0];t.hasZ?(e.zmin=t.z,e.zmax=t.z):t.hasM&&(e.mmin=t.m,e.mmax=t.m),u=D(e)}else u=f[0]instanceof x||f[0]instanceof O||f[0]instanceof b?D(f[0].extent?.toJSON()):f[0]instanceof v?D(f[0].toJSON()):o(new v(JSON.parse(f[0])),n.spatialReference);if(null!==u&&!1===u.spatialReference.equals(n.spatialReference))throw new G(n,z.WrongSpatialReference,a);return l(u)}))},C.geometry=function(n,a){return A(n,a,((i,s,c)=>{r(c,1,1,n,a);let f=null;if(null===c[0])return null;if(f=_(c[0])?o(c[0].geometry(),n.spatialReference):c[0]instanceof e?o(t.parseGeometryFromDictionary(c[0]),n.spatialReference):o(D(JSON.parse(c[0])),n.spatialReference),null!==f&&!1===f.spatialReference.equals(n.spatialReference))throw new G(n,z.WrongSpatialReference,a);return l(f)}))},C.setgeometry=function(e,t){return A(e,t,((n,a,i)=>{if(r(i,2,2,e,t),!_(i[0]))throw new G(e,z.InvalidParameter,t);if(!0===i[0].immutable)throw new G(e,z.Immutable,t);if(!(i[1]instanceof P||null===i[1]))throw new G(e,z.InvalidParameter,t);return i[0]._geometry=i[1],c}))},C.feature=function(n,r){return A(n,r,((a,i,l)=>{if(0===l.length)throw new G(n,z.WrongNumberOfParameters,r);let s=null;if(1===l.length)if(f(l[0]))s=t.fromJson(JSON.parse(l[0]),n.timeReference);else if(_(l[0]))s=t.createFromArcadeFeature(l[0]);else if(l[0]instanceof P)s=t.createFromGraphicLikeObject(l[0],null,null,n.timeReference);else{if(!(l[0]instanceof e))throw new G(n,z.InvalidParameter,r);{let r=l[0].hasField("geometry")?l[0].field("geometry"):null,a=l[0].hasField("attributes")?l[0].field("attributes"):null;null!==r&&r instanceof e&&(r=t.parseGeometryFromDictionary(r)),null!==a&&(a=t.parseAttributesFromDictionary(a)),s=t.createFromGraphicLikeObject(r,a,null,n.timeReference)}}else if(2===l.length){let a=null,i=null;if(null!==l[0])if(l[0]instanceof P)a=l[0];else{if(!(a instanceof e))throw new G(n,z.InvalidParameter,r);a=t.parseGeometryFromDictionary(l[0])}if(null!==l[1]){if(!(l[1]instanceof e))throw new G(n,z.InvalidParameter,r);i=t.parseAttributesFromDictionary(l[1])}s=t.createFromGraphicLikeObject(a,i,null,n.timeReference)}else{let a=null;const i={};if(null!==l[0])if(l[0]instanceof P)a=l[0];else{if(!(a instanceof e))throw new G(n,z.InvalidParameter,r);a=t.parseGeometryFromDictionary(l[0])}for(let e=1;e<l.length;e+=2){const t=u(l[e]),a=l[e+1];if(!(null==a||f(a)||isNaN(a)||m(a)||h(a)||p(a)))throw new G(n,z.InvalidParameter,r);if(w(a)||!1===d(a))throw new G(n,z.InvalidParameter,r);i[t]=a===c?null:a}s=t.createFromGraphicLikeObject(a,i,null,n.timeReference)}return s._geometry=o(s.geometry(),n.spatialReference),s.immutable=!1,s}))},C.dictionary=function(t,n){return A(t,n,((r,o,l)=>{if(0===l.length||1===l.length&&null===l[0]){const t=new e;return t.immutable=!1,t}if(1===l.length&&f(l[0]))try{const n=JSON.parse(l[0]),r=e.convertObjectToArcadeDictionary(n,y(t),!1);return r.immutable=!1,r}catch(R){throw new G(t,z.InvalidParameter,n)}if(1===l.length&&l[0]instanceof P)try{const n=l[0].toJSON();n.hasZ=!0===l[0].hasZ,n.hasM=!0===l[0].hasM;const r=e.convertObjectToArcadeDictionary(n,y(t),!1);return r.immutable=!1,r}catch(R){throw new G(t,z.InvalidParameter,n)}if(1===l.length&&g(l[0]))try{const t=new e;t.immutable=!1,t.setField("geometry",l[0].geometry());const n=new e;n.immutable=!1,t.setField("attributes",n);for(const e of l[0].keys())n.setField(e,l[0].field(e));return t}catch(R){throw new G(t,z.InvalidParameter,n)}if(1===l.length&&l[0]instanceof e)try{const t=new e;t.immutable=!1;for(const e of l[0].keys())t.setField(e,l[0].field(e));return t}catch(R){throw new G(t,z.InvalidParameter,n)}if(2===l.length&&l[0]instanceof e&&p(l[1]))try{if(!(!0===l[1])){const t=new e;t.immutable=!1;for(const e of l[0].keys())t.setField(e,l[0].field(e));return t}return l[0].deepClone()}catch(R){throw new G(t,z.InvalidParameter,n)}if(l.length%2!=0)throw new G(t,z.WrongNumberOfParameters,n);const s={};for(let e=0;e<l.length;e+=2){const r=u(l[e]),o=l[e+1];if(!(null==o||f(o)||isNaN(o)||m(o)||h(o)||p(o)||a(o)||i(o)))throw new G(t,z.InvalidParameter,n);if(w(o))throw new G(t,z.InvalidParameter,n);s[r]=o===c?null:o}const d=new e(s);return d.immutable=!1,d}))},C.haskey=function(t,n){return A(t,n,((a,i,o)=>{r(o,2,2,t,n);const l=u(o[1]);if(_(o[0]))return o[0].hasField(l);if(o[0]instanceof e)return o[0].hasField(l);if(o[0]instanceof P){const e=W(o[0],l,null,null,2);return!e||"notfound"!==e.keystate}throw new G(t,z.InvalidParameter,n)}))},C.hasvalue=function(t,n){return A(t,n,((a,i,o)=>{if(r(o,2,2,t,n),null===o[0]||null===o[1])return!1;const l=u(o[1]);if(g(o[0]))return!!o[0].hasField(l)&&null!==o[0].field(l);if(o[0]instanceof e)return!!o[0].hasField(l)&&null!==o[0].field(l);if(o[0]instanceof P){return null!==W(o[0],l,null,null,0)}return!1}))},C.indexof=function(e,t){return A(e,t,((n,o,l)=>{r(l,2,2,e,t);const s=l[1];if(a(l[0])){for(let e=0;e<l[0].length;e++)if(R(s,l[0][e]))return e;return-1}if(i(l[0])){const e=l[0].length();for(let t=0;t<e;t++)if(R(s,l[0].get(t)))return t;return-1}throw new G(e,z.InvalidParameter,t)}))},C.angle=function(e,t){return A(e,t,((n,a,i)=>{if(i=s(i),r(i,2,3,e,t),!(i[0]instanceof F))throw new G(e,z.InvalidParameter,t);if(!(i[1]instanceof F))throw new G(e,z.InvalidParameter,t);if(i.length>2&&!(i[2]instanceof F))throw new G(e,z.InvalidParameter,t);return 2===i.length?j(i[0],i[1]):S(i[0],i[1],i[2])}))},C.bearing=function(e,t){return A(e,t,((n,a,i)=>{if(i=s(i),r(i,2,3,e,t),!(i[0]instanceof F))throw new G(e,z.InvalidParameter,t);if(!(i[1]instanceof F))throw new G(e,z.InvalidParameter,t);if(i.length>2&&!(i[2]instanceof F))throw new G(e,z.InvalidParameter,t);return 2===i.length?k(i[0],i[1]):N(i[0],i[1],i[2])}))},C.isselfintersecting=function(e,t){return A(e,t,((n,o,l)=>{l=s(l),r(l,1,1,e,t);let c=l[0];if(c instanceof x)return c.isSelfIntersecting;if(c instanceof O)return c=c.paths,J(c);if(c instanceof b){const e=c.points;for(let t=0;t<e.length;t++)for(let n=0;n<e.length;n++)if(n!==t){let r=!0;for(let a=0;a<e[t].length;a++)if(e[t][a]!==e[n][a]){r=!1;break}if(!0===r)return!0}}return!(!a(c)&&!i(c))&&(c=I(c,e.spatialReference),null!==c&&(c=c.paths),J(c))}))}}let Z=0;function W(t,r,a,i,o=1){let l;switch(r=r.toLowerCase()){case"hasz":{const e=t.hasZ;return void 0!==e&&e}case"hasm":{const e=t.hasM;return void 0!==e&&e}case"spatialreference":{let n=t.spatialReference._arcadeCacheId;if(void 0===n){let e=!0;Object.freeze&&Object.isFrozen(t.spatialReference)&&(e=!1),e&&(Z++,t.spatialReference._arcadeCacheId=Z,n=Z)}const r=new e({wkt:t.spatialReference.wkt,wkid:t.spatialReference.wkid});return void 0!==n&&(r._arcadeCacheId="SPREF"+n.toString()),r}}switch(t.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const e=t[r];return void 0!==e?e:null}case"type":return"Extent"}break;case"polygon":switch(r){case"rings":l=t.cache._arcadeCacheId,void 0===l&&(Z++,l=Z,t.cache._arcadeCacheId=l);return new C(t.rings,t.spatialReference,!0===t.hasZ,!0===t.hasM,l);case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return void 0!==t[r]?t[r]:null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":l=t.cache._arcadeCacheId,void 0===l&&(Z++,l=Z,t.cache._arcadeCacheId=l);return new C(t.paths,t.spatialReference,!0===t.hasZ,!0===t.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":l=t.cache._arcadeCacheId,void 0===l&&(Z++,l=Z,t.cache._arcadeCacheId=l);return new n(t.points,t.spatialReference,!0===t.hasZ,!0===t.hasM,l,1);case"type":return"Multipoint"}}if(1===o)throw new G(a,z.InvalidIdentifier,i);return 2===o?{keystate:"notfound"}:null}export{W as geometryMember,A as registerFunctions};
5
+ import e from"../Dictionary.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as n}from"../executionError.js";import r from"../Feature.js";import a from"../ImmutablePathArray.js";import i from"../ImmutablePointArray.js";import{C as o,m as l,o as s,y as c,K as f,L as u,v as m,c as h,j as p,k as w,b as d,a as y,i as g,f as R,G as I,p as v,A as P,M as b}from"../../chunks/languageUtils.js";import{angle2D as F,angleBetween2D as x,bearing2D as O,bearingBetween2D as j,pathsSelfIntersecting as S}from"./centroid.js";import k from"../../geometry/Extent.js";import N from"../../geometry/Geometry.js";import J from"../../geometry/Multipoint.js";import D from"../../geometry/Point.js";import G from"../../geometry/Polygon.js";import z from"../../geometry/Polyline.js";import{isClockwise as C}from"../../geometry/support/coordsUtils.js";import{fromJSON as M}from"../../geometry/support/jsonUtils.js";function _(e){return e&&"esri.arcade.Feature"===e.arcadeDeclaredClass}function A(a,A){a.ringisclockwise=function(e,r){return A(e,r,((a,c,f)=>{o(f,1,1,e,r);let u=[];if(null===f[0])return!1;if(l(f[0]))for(const i of f[0]){if(!(i instanceof D))throw new t(e,n.InvalidParameter,r);u.push(i.hasZ?i.hasM?[i.x,i.y,i.z,i.m]:[i.x,i.y,i.z]:[i.x,i.y])}else if(f[0]instanceof i)u=f[0]._elements;else{if(!s(f[0]))throw new t(e,n.InvalidParameter,r);for(const a of f[0].toArray()){if(!(a instanceof D))throw new t(e,n.InvalidParameter,r);u.push(a.hasZ?a.hasM?[a.x,a.y,a.z,a.m]:[a.x,a.y,a.z]:[a.x,a.y])}}return!(u.length<3)&&C(u)}))},a.polygon=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof G==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof G?M(u[0].toJSON()):c(new G(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.polyline=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof z==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof z?M(u[0].toJSON()):c(new z(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.point=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof D==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof D?M(u[0].toJSON()):c(new D(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.multipoint=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof J==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof J?M(u[0].toJSON()):c(new J(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.extent=function(a,i){return A(a,i,((l,s,m)=>{m=u(m),o(m,1,1,a,i);let h=null;if(m[0]instanceof e)h=c(r.parseGeometryFromDictionary(m[0]),a.spatialReference);else if(m[0]instanceof D){const e={xmin:m[0].x,ymin:m[0].y,xmax:m[0].x,ymax:m[0].y,spatialReference:m[0].spatialReference.toJSON()},t=m[0];t.hasZ?(e.zmin=t.z,e.zmax=t.z):t.hasM&&(e.mmin=t.m,e.mmax=t.m),h=M(e)}else h=m[0]instanceof G||m[0]instanceof z||m[0]instanceof J?M(m[0].extent?.toJSON()):m[0]instanceof k?M(m[0].toJSON()):c(new k(JSON.parse(m[0])),a.spatialReference);if(null!==h&&!1===h.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(h)}))},a.geometry=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(null===u[0])return null;if(m=_(u[0])?c(u[0].geometry(),a.spatialReference):u[0]instanceof e?c(r.parseGeometryFromDictionary(u[0]),a.spatialReference):c(M(JSON.parse(u[0])),a.spatialReference),null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.setgeometry=function(e,r){return A(e,r,((a,i,l)=>{if(o(l,2,2,e,r),!_(l[0]))throw new t(e,n.InvalidParameter,r);if(!0===l[0].immutable)throw new t(e,n.Immutable,r);if(!(l[1]instanceof N||null===l[1]))throw new t(e,n.InvalidParameter,r);return l[0]._geometry=l[1],m}))},a.feature=function(a,i){return A(a,i,((o,l,s)=>{if(0===s.length)throw new t(a,n.WrongNumberOfParameters,i);let f=null;if(1===s.length)if(h(s[0]))f=r.fromJson(JSON.parse(s[0]),a.timeReference);else if(_(s[0]))f=r.createFromArcadeFeature(s[0]);else if(s[0]instanceof N)f=r.createFromGraphicLikeObject(s[0],null,null,a.timeReference);else{if(!(s[0]instanceof e))throw new t(a,n.InvalidParameter,i);{let t=s[0].hasField("geometry")?s[0].field("geometry"):null,n=s[0].hasField("attributes")?s[0].field("attributes"):null;null!==t&&t instanceof e&&(t=r.parseGeometryFromDictionary(t)),null!==n&&(n=r.parseAttributesFromDictionary(n)),f=r.createFromGraphicLikeObject(t,n,null,a.timeReference)}}else if(2===s.length){let o=null,l=null;if(null!==s[0])if(s[0]instanceof N)o=s[0];else{if(!(o instanceof e))throw new t(a,n.InvalidParameter,i);o=r.parseGeometryFromDictionary(s[0])}if(null!==s[1]){if(!(s[1]instanceof e))throw new t(a,n.InvalidParameter,i);l=r.parseAttributesFromDictionary(s[1])}f=r.createFromGraphicLikeObject(o,l,null,a.timeReference)}else{let o=null;const l={};if(null!==s[0])if(s[0]instanceof N)o=s[0];else{if(!(o instanceof e))throw new t(a,n.InvalidParameter,i);o=r.parseGeometryFromDictionary(s[0])}for(let e=1;e<s.length;e+=2){const r=p(s[e]),o=s[e+1];if(!(null==o||h(o)||isNaN(o)||w(o)||d(o)||y(o)))throw new t(a,n.InvalidParameter,i);if(g(o)||!1===R(o))throw new t(a,n.InvalidParameter,i);l[r]=o===m?null:o}f=r.createFromGraphicLikeObject(o,l,null,a.timeReference)}return f._geometry=c(f.geometry(),a.spatialReference),f.immutable=!1,f}))},a.dictionary=function(r,a){return A(r,a,((i,o,c)=>{if(0===c.length||1===c.length&&null===c[0]){const t=new e;return t.immutable=!1,t}if(1===c.length&&h(c[0]))try{const t=JSON.parse(c[0]),n=e.convertObjectToArcadeDictionary(t,I(r),!1);return n.immutable=!1,n}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&c[0]instanceof N)try{const t=c[0].toJSON();t.hasZ=!0===c[0].hasZ,t.hasM=!0===c[0].hasM;const n=e.convertObjectToArcadeDictionary(t,I(r),!1);return n.immutable=!1,n}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&v(c[0]))try{const t=new e;t.immutable=!1,t.setField("geometry",c[0].geometry());const n=new e;n.immutable=!1,t.setField("attributes",n);for(const e of c[0].keys())n.setField(e,c[0].field(e));return t}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&c[0]instanceof e)try{const t=new e;t.immutable=!1;for(const e of c[0].keys())t.setField(e,c[0].field(e));return t}catch(R){throw new t(r,n.InvalidParameter,a)}if(2===c.length&&c[0]instanceof e&&y(c[1]))try{if(!(!0===c[1])){const t=new e;t.immutable=!1;for(const e of c[0].keys())t.setField(e,c[0].field(e));return t}return c[0].deepClone()}catch(R){throw new t(r,n.InvalidParameter,a)}if(c.length%2!=0)throw new t(r,n.WrongNumberOfParameters,a);const f={};for(let e=0;e<c.length;e+=2){const i=p(c[e]),o=c[e+1];if(!(null==o||h(o)||isNaN(o)||w(o)||d(o)||y(o)||l(o)||s(o)))throw new t(r,n.InvalidParameter,a);if(g(o))throw new t(r,n.InvalidParameter,a);f[i]=o===m?null:o}const u=new e(f);return u.immutable=!1,u}))},a.haskey=function(r,a){return A(r,a,((i,l,s)=>{o(s,2,2,r,a);const c=p(s[1]);if(_(s[0]))return s[0].hasField(c);if(s[0]instanceof e)return s[0].hasField(c);if(s[0]instanceof N){const e=W(s[0],c,null,null,2);return!e||"notfound"!==e.keystate}throw new t(r,n.InvalidParameter,a)}))},a.hasvalue=function(t,n){return A(t,n,((r,a,i)=>{if(o(i,2,2,t,n),null===i[0]||null===i[1])return!1;const l=p(i[1]);if(v(i[0]))return!!i[0].hasField(l)&&null!==i[0].field(l);if(i[0]instanceof e)return!!i[0].hasField(l)&&null!==i[0].field(l);if(i[0]instanceof N){return null!==W(i[0],l,null,null,0)}return!1}))},a.indexof=function(e,r){return A(e,r,((a,i,c)=>{o(c,2,2,e,r);const f=c[1];if(l(c[0])){for(let e=0;e<c[0].length;e++)if(P(f,c[0][e]))return e;return-1}if(s(c[0])){const e=c[0].length();for(let t=0;t<e;t++)if(P(f,c[0].get(t)))return t;return-1}throw new t(e,n.InvalidParameter,r)}))},a.angle=function(e,r){return A(e,r,((a,i,l)=>{if(l=u(l),o(l,2,3,e,r),!(l[0]instanceof D))throw new t(e,n.InvalidParameter,r);if(!(l[1]instanceof D))throw new t(e,n.InvalidParameter,r);if(l.length>2&&!(l[2]instanceof D))throw new t(e,n.InvalidParameter,r);return 2===l.length?F(l[0],l[1]):x(l[0],l[1],l[2])}))},a.bearing=function(e,r){return A(e,r,((a,i,l)=>{if(l=u(l),o(l,2,3,e,r),!(l[0]instanceof D))throw new t(e,n.InvalidParameter,r);if(!(l[1]instanceof D))throw new t(e,n.InvalidParameter,r);if(l.length>2&&!(l[2]instanceof D))throw new t(e,n.InvalidParameter,r);return 2===l.length?O(l[0],l[1]):j(l[0],l[1],l[2])}))},a.isselfintersecting=function(e,t){return A(e,t,((n,r,a)=>{a=u(a),o(a,1,1,e,t);let i=a[0];if(i instanceof G)return i.isSelfIntersecting;if(i instanceof z)return i=i.paths,S(i);if(i instanceof J){const e=i.points;for(let t=0;t<e.length;t++)for(let n=0;n<e.length;n++)if(n!==t){let r=!0;for(let a=0;a<e[t].length;a++)if(e[t][a]!==e[n][a]){r=!1;break}if(!0===r)return!0}}return!(!l(i)&&!s(i))&&(i=b(i,e.spatialReference),null!==i&&(i=i.paths),S(i))}))}}let Z=0;function W(r,o,l,s,c=1){let f;switch(o=o.toLowerCase()){case"hasz":{const e=r.hasZ;return void 0!==e&&e}case"hasm":{const e=r.hasM;return void 0!==e&&e}case"spatialreference":{let t=r.spatialReference._arcadeCacheId;if(void 0===t){let e=!0;Object.freeze&&Object.isFrozen(r.spatialReference)&&(e=!1),e&&(Z++,r.spatialReference._arcadeCacheId=Z,t=Z)}const n=new e({wkt:r.spatialReference.wkt,wkid:r.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(r.type){case"extent":switch(o){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const e=r[o];return void 0!==e?e:null}case"type":return"Extent"}break;case"polygon":switch(o){case"rings":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new a(r.rings,r.spatialReference,!0===r.hasZ,!0===r.hasM,f);case"type":return"Polygon"}break;case"point":switch(o){case"x":case"y":case"z":case"m":return void 0!==r[o]?r[o]:null;case"type":return"Point"}break;case"polyline":switch(o){case"paths":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new a(r.paths,r.spatialReference,!0===r.hasZ,!0===r.hasM,f);case"type":return"Polyline"}break;case"multipoint":switch(o){case"points":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new i(r.points,r.spatialReference,!0===r.hasZ,!0===r.hasM,f,1);case"type":return"Multipoint"}}if(1===c)throw new t(l,n.InvalidIdentifier,s);return 2===c?{keystate:"notfound"}:null}export{W as geometryMember,A 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{version as n}from"../../kernel.js";import{cloneGeometry as e,convertSquareUnitsToCode as t,convertLinearUnitsToCode as r}from"../kernel.js";import{L as i,C as a,k as l,j as o,m as f,o as u,y as s,N as c,D as m,M as h,O as w,g as d,h as p,G as g}from"../../chunks/languageUtils.js";import{centroidPolyline as v,centroidMultiPoint as P,getMetersPerVerticalUnitForSR as y,segmentLength3d as I}from"./centroid.js";import x from"../../geometry/Extent.js";import R from"../../geometry/Geometry.js";import N from"../../geometry/Multipoint.js";import j from"../../geometry/Point.js";import L from"../../geometry/Polygon.js";import b from"../../geometry/Polyline.js";import{fromJSON as k}from"../../geometry/support/jsonUtils.js";import{ArcadeExecutionError as M,ExecutionErrorCodes as A}from"../executionError.js";import D from"../Dictionary.js";import{getMetersPerUnitForSR as O}from"../../core/unitUtils.js";let Z=null;function E(e){return 0===n.indexOf("4.")?L.fromExtent(e):new L({spatialReference:e.spatialReference,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]})}function z(n){Z=n}function C(n,e){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let t=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){t=y(n.spatialReference)/O(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=I(a[n],a[n-1],t);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=I(a[n],a[n-1],t);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=I(a[0],a[a.length-1],t))}else"extent"===n.type&&(r+=2*I([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],t),r+=2*I([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],t),r*=2,r+=4*Math.abs(m(n.zmax,0)*t-m(n.zmin,0)*t));const i=new b({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return Z.planarLength(i,e)}function q(n,y){function I(n,e,t){if(a(t,2,2,n,e),t[0]instanceof R&&t[1]instanceof R);else if(t[0]instanceof R&&null===t[1]);else if(t[1]instanceof R&&null===t[0]);else if(null!==t[0]||null!==t[1])throw new M(n,A.InvalidParameter,e)}n.disjoint=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null===a[0]||null===a[1]||Z.disjoint(a[0],a[1]))))},n.intersects=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null!==a[0]&&null!==a[1]&&Z.intersects(a[0],a[1]))))},n.touches=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null!==a[0]&&null!==a[1]&&Z.touches(a[0],a[1]))))},n.crosses=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null!==a[0]&&null!==a[1]&&Z.crosses(a[0],a[1]))))},n.within=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null!==a[0]&&null!==a[1]&&Z.within(a[0],a[1]))))},n.contains=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null!==a[0]&&null!==a[1]&&Z.contains(a[0],a[1]))))},n.overlaps=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null!==a[0]&&null!==a[1]&&Z.overlaps(a[0],a[1]))))},n.equals=function(n,e){return y(n,e,((t,r,i)=>(a(i,2,2,n,e),i[0]===i[1]||(i[0]instanceof R&&i[1]instanceof R?Z.equals(i[0],i[1]):!(!l(i[0])||!l(i[1]))&&i[0].equals(i[1])))))},n.relate=function(n,e){return y(n,e,((t,r,l)=>{if(l=i(l),a(l,3,3,n,e),l[0]instanceof R&&l[1]instanceof R)return Z.relate(l[0],l[1],o(l[2]));if(l[0]instanceof R&&null===l[1])return!1;if(l[1]instanceof R&&null===l[0])return!1;if(null===l[0]&&null===l[1])return!1;throw new M(n,A.InvalidParameter,e)}))},n.intersection=function(n,e){return y(n,e,((t,r,a)=>(a=i(a),I(n,e,a),null===a[0]||null===a[1]?null:Z.intersect(a[0],a[1]))))},n.union=function(n,t){return y(n,t,((r,a,l)=>{const o=[];if(0===(l=i(l)).length)throw new M(n,A.WrongNumberOfParameters,t);if(1===l.length)if(f(l[0])){const e=i(l[0]);for(let r=0;r<e.length;r++)if(null!==e[r]){if(!(e[r]instanceof R))throw new M(n,A.InvalidParameter,t);o.push(e[r])}}else{if(!u(l[0])){if(l[0]instanceof R)return s(e(l[0]),n.spatialReference);if(null===l[0])return null;throw new M(n,A.InvalidParameter,t)}{const e=i(l[0].toArray());for(let r=0;r<e.length;r++)if(null!==e[r]){if(!(e[r]instanceof R))throw new M(n,A.InvalidParameter,t);o.push(e[r])}}}else for(let e=0;e<l.length;e++)if(null!==l[e]){if(!(l[e]instanceof R))throw new M(n,A.InvalidParameter,t);o.push(l[e])}return 0===o.length?null:Z.union(o)}))},n.difference=function(n,t){return y(n,t,((r,a,l)=>(l=i(l),I(n,t,l),null!==l[0]&&null===l[1]?e(l[0]):null===l[0]?null:Z.difference(l[0],l[1]))))},n.symmetricdifference=function(n,t){return y(n,t,((r,a,l)=>(l=i(l),I(n,t,l),null===l[0]&&null===l[1]?null:null===l[0]?e(l[1]):null===l[1]?e(l[0]):Z.symmetricDifference(l[0],l[1]))))},n.clip=function(n,e){return y(n,e,((t,r,l)=>{if(l=i(l),a(l,2,2,n,e),!(l[1]instanceof x)&&null!==l[1])throw new M(n,A.InvalidParameter,e);if(null===l[0])return null;if(!(l[0]instanceof R))throw new M(n,A.InvalidParameter,e);return null===l[1]?null:Z.clip(l[0],l[1])}))},n.cut=function(n,t){return y(n,t,((r,l,o)=>{if(o=i(o),a(o,2,2,n,t),!(o[1]instanceof b)&&null!==o[1])throw new M(n,A.InvalidParameter,t);if(null===o[0])return[];if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,t);return null===o[1]?[e(o[0])]:Z.cut(o[0],o[1])}))},n.area=function(n,e){return y(n,e,((r,l,o)=>{if(a(o,1,2,n,e),null===(o=i(o))[0])return 0;if(f(o[0])||u(o[0])){const e=c(o[0],n.spatialReference);return null===e?0:Z.planarArea(e,t(m(o[1],-1)))}if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);return Z.planarArea(o[0],t(m(o[1],-1)))}))},n.areageodetic=function(n,e){return y(n,e,((r,l,o)=>{if(a(o,1,2,n,e),null===(o=i(o))[0])return 0;if(f(o[0])||u(o[0])){const e=c(o[0],n.spatialReference);return null===e?0:Z.geodesicArea(e,t(m(o[1],-1)))}if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);return Z.geodesicArea(o[0],t(m(o[1],-1)))}))},n.length=function(n,e){return y(n,e,((t,l,o)=>{if(a(o,1,2,n,e),null===(o=i(o))[0])return 0;if(f(o[0])||u(o[0])){const e=h(o[0],n.spatialReference);return null===e?0:Z.planarLength(e,r(m(o[1],-1)))}if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);return Z.planarLength(o[0],r(m(o[1],-1)))}))},n.length3d=function(n,e){return y(n,e,((t,l,o)=>{if(a(o,1,2,n,e),null===(o=i(o))[0])return 0;if(f(o[0])||u(o[0])){const e=h(o[0],n.spatialReference);return null===e?0:!0===e.hasZ?C(e,r(m(o[1],-1))):Z.planarLength(e,r(m(o[1],-1)))}if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);return!0===o[0].hasZ?C(o[0],r(m(o[1],-1))):Z.planarLength(o[0],r(m(o[1],-1)))}))},n.lengthgeodetic=function(n,e){return y(n,e,((t,l,o)=>{if(a(o,1,2,n,e),null===(o=i(o))[0])return 0;if(f(o[0])||u(o[0])){const e=h(o[0],n.spatialReference);return null===e?0:Z.geodesicLength(e,r(m(o[1],-1)))}if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);return Z.geodesicLength(o[0],r(m(o[1],-1)))}))},n.distance=function(n,e){return y(n,e,((t,l,o)=>{o=i(o),a(o,2,3,n,e);let s=o[0];(f(o[0])||u(o[0]))&&(s=w(o[0],n.spatialReference));let c=o[1];if((f(o[1])||u(o[1]))&&(c=w(o[1],n.spatialReference)),!(s instanceof R))throw new M(n,A.InvalidParameter,e);if(!(c instanceof R))throw new M(n,A.InvalidParameter,e);return Z.distance(s,c,r(m(o[2],-1)))}))},n.distancegeodetic=function(n,e){return y(n,e,((t,l,o)=>{o=i(o),a(o,2,3,n,e);const f=o[0],u=o[1];if(!(f instanceof j))throw new M(n,A.InvalidParameter,e);if(!(u instanceof j))throw new M(n,A.InvalidParameter,e);const s=new b({paths:[],spatialReference:f.spatialReference});return s.addPath([f,u]),Z.geodesicLength(s,r(m(o[2],-1)))}))},n.densify=function(n,e){return y(n,e,((t,l,o)=>{if(o=i(o),a(o,2,3,n,e),null===o[0])return null;if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);const f=d(o[1]);if(isNaN(f))throw new M(n,A.InvalidParameter,e);if(f<=0)throw new M(n,A.InvalidParameter,e);return o[0]instanceof L||o[0]instanceof b?Z.densify(o[0],f,r(m(o[2],-1))):o[0]instanceof x?Z.densify(E(o[0]),f,r(m(o[2],-1))):o[0]}))},n.densifygeodetic=function(n,e){return y(n,e,((t,l,o)=>{if(o=i(o),a(o,2,3,n,e),null===o[0])return null;if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);const f=d(o[1]);if(isNaN(f))throw new M(n,A.InvalidParameter,e);if(f<=0)throw new M(n,A.InvalidParameter,e);return o[0]instanceof L||o[0]instanceof b?Z.geodesicDensify(o[0],f,r(m(o[2],-1))):o[0]instanceof x?Z.geodesicDensify(E(o[0]),f,r(m(o[2],-1))):o[0]}))},n.generalize=function(n,e){return y(n,e,((t,l,o)=>{if(o=i(o),a(o,2,4,n,e),null===o[0])return null;if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,e);const f=d(o[1]);if(isNaN(f))throw new M(n,A.InvalidParameter,e);return Z.generalize(o[0],f,p(m(o[2],!0)),r(m(o[3],-1)))}))},n.buffer=function(n,t){return y(n,t,((l,o,f)=>{if(f=i(f),a(f,2,3,n,t),null===f[0])return null;if(!(f[0]instanceof R))throw new M(n,A.InvalidParameter,t);const u=d(f[1]);if(isNaN(u))throw new M(n,A.InvalidParameter,t);return 0===u?e(f[0]):Z.buffer(f[0],u,r(m(f[2],-1)))}))},n.buffergeodetic=function(n,t){return y(n,t,((l,o,f)=>{if(f=i(f),a(f,2,3,n,t),null===f[0])return null;if(!(f[0]instanceof R))throw new M(n,A.InvalidParameter,t);const u=d(f[1]);if(isNaN(u))throw new M(n,A.InvalidParameter,t);return 0===u?e(f[0]):Z.geodesicBuffer(f[0],u,r(m(f[2],-1)))}))},n.offset=function(n,e){return y(n,e,((t,l,f)=>{if(f=i(f),a(f,2,6,n,e),null===f[0])return null;if(!(f[0]instanceof L||f[0]instanceof b))throw new M(n,A.InvalidParameter,e);const u=d(f[1]);if(isNaN(u))throw new M(n,A.InvalidParameter,e);const s=d(m(f[4],10));if(isNaN(s))throw new M(n,A.InvalidParameter,e);const c=d(m(f[5],0));if(isNaN(c))throw new M(n,A.InvalidParameter,e);return Z.offset(f[0],u,r(m(f[2],-1)),o(m(f[3],"round")).toLowerCase(),s,c)}))},n.rotate=function(n,e){return y(n,e,((t,r,l)=>{l=i(l),a(l,2,3,n,e);let o=l[0];if(null===o)return null;if(!(o instanceof R))throw new M(n,A.InvalidParameter,e);o instanceof x&&(o=L.fromExtent(o));const f=d(l[1]);if(isNaN(f))throw new M(n,A.InvalidParameter,e);const u=m(l[2],null);if(null===u)return Z.rotate(o,f);if(u instanceof j)return Z.rotate(o,f,u);throw new M(n,A.InvalidParameter,e)}))},n.centroid=function(n,t){return y(n,t,((r,l,o)=>{if(o=i(o),a(o,1,1,n,t),null===o[0])return null;let c=o[0];if((f(o[0])||u(o[0]))&&(c=w(o[0],n.spatialReference)),null===c)return null;if(!(c instanceof R))throw new M(n,A.InvalidParameter,t);return c instanceof j?s(e(o[0]),n.spatialReference):c instanceof L?c.centroid:c instanceof b?v(c):c instanceof N?P(c):c instanceof x?c.center:null}))},n.multiparttosinglepart=function(n,t){return y(n,t,((r,l,o)=>{o=i(o),a(o,1,1,n,t);const f=[];if(null===o[0])return null;if(!(o[0]instanceof R))throw new M(n,A.InvalidParameter,t);if(o[0]instanceof j)return[s(e(o[0]),n.spatialReference)];if(o[0]instanceof x)return[s(e(o[0]),n.spatialReference)];const u=Z.simplify(o[0]);if(u instanceof L){const n=[],e=[];for(let t=0;t<u.rings.length;t++)if(u.isClockwise(u.rings[t])){const e=k({rings:[u.rings[t]],hasZ:!0===u.hasZ,hasM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(e)}else e.push({ring:u.rings[t],pt:u.getPoint(t,0)});for(let t=0;t<e.length;t++)for(let r=0;r<n.length;r++)if(n[r].contains(e[t].pt)){n[r].addRing(e[t].ring);break}return n}if(u instanceof b){const n=[];for(let e=0;e<u.paths.length;e++){const t=k({paths:[u.paths[e]],hasZ:!0===u.hasZ,hasM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(t)}return n}if(o[0]instanceof N){const t=s(e(o[0]),n.spatialReference);for(let n=0;n<t.points.length;n++)f.push(t.getPoint(n));return f}return null}))},n.issimple=function(n,e){return y(n,e,((t,r,l)=>{if(l=i(l),a(l,1,1,n,e),null===l[0])return!0;if(!(l[0]instanceof R))throw new M(n,A.InvalidParameter,e);return Z.isSimple(l[0])}))},n.simplify=function(n,e){return y(n,e,((t,r,l)=>{if(l=i(l),a(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof R))throw new M(n,A.InvalidParameter,e);return Z.simplify(l[0])}))},n.convexhull=function(n,e){return y(n,e,((t,r,l)=>{if(l=i(l),a(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof R))throw new M(n,A.InvalidParameter,e);return Z.convexHull(l[0])}))},n.nearestcoordinate=function(n,e){return y(n,e,((t,r,l)=>{if(l=i(l),a(l,2,2,n,e),!(l[0]instanceof R||null===l[0]))throw new M(n,A.InvalidParameter,e);if(!(l[1]instanceof j||null===l[1]))throw new M(n,A.InvalidParameter,e);if(null===l[0]||null===l[1])return null;const o=Z.nearestCoordinate(l[0],l[1]);return null===o||o.isEmpty?null:D.convertObjectToArcadeDictionary({coordinate:o.coordinate,distance:o.distance},g(n),!1,!0)}))},n.nearestvertex=function(n,e){return y(n,e,((t,r,l)=>{if(l=i(l),a(l,2,2,n,e),!(l[0]instanceof R||null===l[0]))throw new M(n,A.InvalidParameter,e);if(!(l[1]instanceof j||null===l[1]))throw new M(n,A.InvalidParameter,e);if(null===l[0]||null===l[1])return null;const o=Z.nearestVertex(l[0],l[1]);return null===o||o.isEmpty?null:D.convertObjectToArcadeDictionary({coordinate:o.coordinate,distance:o.distance},g(n),!1,!0)}))}}export{q as registerFunctions,z as setGeometryEngine};
5
+ import{version as n}from"../../kernel.js";import e from"../Dictionary.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as r}from"../executionError.js";import{cloneGeometry as i,convertSquareUnitsToCode as a,convertLinearUnitsToCode as l}from"../kernel.js";import{L as o,C as f,k as u,j as s,m as c,o as m,y as h,N as w,D as d,M as p,O as g,g as v,h as P,G as y}from"../../chunks/languageUtils.js";import{centroidPolyline as I,centroidMultiPoint as x,getMetersPerVerticalUnitForSR as R,segmentLength3d as N}from"./centroid.js";import{getMetersPerUnitForSR as j}from"../../core/unitUtils.js";import L from"../../geometry/Extent.js";import b from"../../geometry/Geometry.js";import k from"../../geometry/Multipoint.js";import M from"../../geometry/Point.js";import A from"../../geometry/Polygon.js";import D from"../../geometry/Polyline.js";import{fromJSON as O}from"../../geometry/support/jsonUtils.js";let Z=null;function E(e){return 0===n.indexOf("4.")?A.fromExtent(e):new A({spatialReference:e.spatialReference,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]})}function z(n){Z=n}function C(n,e){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let t=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){t=R(n.spatialReference)/j(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],t);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],t);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=N(a[0],a[a.length-1],t))}else"extent"===n.type&&(r+=2*N([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],t),r+=2*N([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],t),r*=2,r+=4*Math.abs(d(n.zmax,0)*t-d(n.zmin,0)*t));const i=new D({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return Z.planarLength(i,e)}function q(n,R){function N(n,e,i){if(f(i,2,2,n,e),i[0]instanceof b&&i[1]instanceof b);else if(i[0]instanceof b&&null===i[1]);else if(i[1]instanceof b&&null===i[0]);else if(null!==i[0]||null!==i[1])throw new t(n,r.InvalidParameter,e)}n.disjoint=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null===i[0]||null===i[1]||Z.disjoint(i[0],i[1]))))},n.intersects=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.intersects(i[0],i[1]))))},n.touches=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.touches(i[0],i[1]))))},n.crosses=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.crosses(i[0],i[1]))))},n.within=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.within(i[0],i[1]))))},n.contains=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.contains(i[0],i[1]))))},n.overlaps=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.overlaps(i[0],i[1]))))},n.equals=function(n,e){return R(n,e,((t,r,i)=>(f(i,2,2,n,e),i[0]===i[1]||(i[0]instanceof b&&i[1]instanceof b?Z.equals(i[0],i[1]):!(!u(i[0])||!u(i[1]))&&i[0].equals(i[1])))))},n.relate=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,3,3,n,e),l[0]instanceof b&&l[1]instanceof b)return Z.relate(l[0],l[1],s(l[2]));if(l[0]instanceof b&&null===l[1])return!1;if(l[1]instanceof b&&null===l[0])return!1;if(null===l[0]&&null===l[1])return!1;throw new t(n,r.InvalidParameter,e)}))},n.intersection=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null===i[0]||null===i[1]?null:Z.intersect(i[0],i[1]))))},n.union=function(n,e){return R(n,e,((a,l,f)=>{const u=[];if(0===(f=o(f)).length)throw new t(n,r.WrongNumberOfParameters,e);if(1===f.length)if(c(f[0])){const i=o(f[0]);for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(i[a])}}else{if(!m(f[0])){if(f[0]instanceof b)return h(i(f[0]),n.spatialReference);if(null===f[0])return null;throw new t(n,r.InvalidParameter,e)}{const i=o(f[0].toArray());for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(i[a])}}}else for(let i=0;i<f.length;i++)if(null!==f[i]){if(!(f[i]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(f[i])}return 0===u.length?null:Z.union(u)}))},n.difference=function(n,e){return R(n,e,((t,r,a)=>(a=o(a),N(n,e,a),null!==a[0]&&null===a[1]?i(a[0]):null===a[0]?null:Z.difference(a[0],a[1]))))},n.symmetricdifference=function(n,e){return R(n,e,((t,r,a)=>(a=o(a),N(n,e,a),null===a[0]&&null===a[1]?null:null===a[0]?i(a[1]):null===a[1]?i(a[0]):Z.symmetricDifference(a[0],a[1]))))},n.clip=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,2,2,n,e),!(l[1]instanceof L)&&null!==l[1])throw new t(n,r.InvalidParameter,e);if(null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return null===l[1]?null:Z.clip(l[0],l[1])}))},n.cut=function(n,e){return R(n,e,((a,l,u)=>{if(u=o(u),f(u,2,2,n,e),!(u[1]instanceof D)&&null!==u[1])throw new t(n,r.InvalidParameter,e);if(null===u[0])return[];if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return null===u[1]?[i(u[0])]:Z.cut(u[0],u[1])}))},n.area=function(n,e){return R(n,e,((i,l,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=w(u[0],n.spatialReference);return null===e?0:Z.planarArea(e,a(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.planarArea(u[0],a(d(u[1],-1)))}))},n.areageodetic=function(n,e){return R(n,e,((i,l,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=w(u[0],n.spatialReference);return null===e?0:Z.geodesicArea(e,a(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.geodesicArea(u[0],a(d(u[1],-1)))}))},n.length=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:Z.planarLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.planarLength(u[0],l(d(u[1],-1)))}))},n.length3d=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:!0===e.hasZ?C(e,l(d(u[1],-1))):Z.planarLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return!0===u[0].hasZ?C(u[0],l(d(u[1],-1))):Z.planarLength(u[0],l(d(u[1],-1)))}))},n.lengthgeodetic=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:Z.geodesicLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.geodesicLength(u[0],l(d(u[1],-1)))}))},n.distance=function(n,e){return R(n,e,((i,a,u)=>{u=o(u),f(u,2,3,n,e);let s=u[0];(c(u[0])||m(u[0]))&&(s=g(u[0],n.spatialReference));let h=u[1];if((c(u[1])||m(u[1]))&&(h=g(u[1],n.spatialReference)),!(s instanceof b))throw new t(n,r.InvalidParameter,e);if(!(h instanceof b))throw new t(n,r.InvalidParameter,e);return Z.distance(s,h,l(d(u[2],-1)))}))},n.distancegeodetic=function(n,e){return R(n,e,((i,a,u)=>{u=o(u),f(u,2,3,n,e);const s=u[0],c=u[1];if(!(s instanceof M))throw new t(n,r.InvalidParameter,e);if(!(c instanceof M))throw new t(n,r.InvalidParameter,e);const m=new D({paths:[],spatialReference:s.spatialReference});return m.addPath([s,c]),Z.geodesicLength(m,l(d(u[2],-1)))}))},n.densify=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,3,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);if(s<=0)throw new t(n,r.InvalidParameter,e);return u[0]instanceof A||u[0]instanceof D?Z.densify(u[0],s,l(d(u[2],-1))):u[0]instanceof L?Z.densify(E(u[0]),s,l(d(u[2],-1))):u[0]}))},n.densifygeodetic=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,3,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);if(s<=0)throw new t(n,r.InvalidParameter,e);return u[0]instanceof A||u[0]instanceof D?Z.geodesicDensify(u[0],s,l(d(u[2],-1))):u[0]instanceof L?Z.geodesicDensify(E(u[0]),s,l(d(u[2],-1))):u[0]}))},n.generalize=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,4,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);return Z.generalize(u[0],s,P(d(u[2],!0)),l(d(u[3],-1)))}))},n.buffer=function(n,e){return R(n,e,((a,u,s)=>{if(s=o(s),f(s,2,3,n,e),null===s[0])return null;if(!(s[0]instanceof b))throw new t(n,r.InvalidParameter,e);const c=v(s[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);return 0===c?i(s[0]):Z.buffer(s[0],c,l(d(s[2],-1)))}))},n.buffergeodetic=function(n,e){return R(n,e,((a,u,s)=>{if(s=o(s),f(s,2,3,n,e),null===s[0])return null;if(!(s[0]instanceof b))throw new t(n,r.InvalidParameter,e);const c=v(s[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);return 0===c?i(s[0]):Z.geodesicBuffer(s[0],c,l(d(s[2],-1)))}))},n.offset=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,6,n,e),null===u[0])return null;if(!(u[0]instanceof A||u[0]instanceof D))throw new t(n,r.InvalidParameter,e);const c=v(u[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);const m=v(d(u[4],10));if(isNaN(m))throw new t(n,r.InvalidParameter,e);const h=v(d(u[5],0));if(isNaN(h))throw new t(n,r.InvalidParameter,e);return Z.offset(u[0],c,l(d(u[2],-1)),s(d(u[3],"round")).toLowerCase(),m,h)}))},n.rotate=function(n,e){return R(n,e,((i,a,l)=>{l=o(l),f(l,2,3,n,e);let u=l[0];if(null===u)return null;if(!(u instanceof b))throw new t(n,r.InvalidParameter,e);u instanceof L&&(u=A.fromExtent(u));const s=v(l[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);const c=d(l[2],null);if(null===c)return Z.rotate(u,s);if(c instanceof M)return Z.rotate(u,s,c);throw new t(n,r.InvalidParameter,e)}))},n.centroid=function(n,e){return R(n,e,((a,l,u)=>{if(u=o(u),f(u,1,1,n,e),null===u[0])return null;let s=u[0];if((c(u[0])||m(u[0]))&&(s=g(u[0],n.spatialReference)),null===s)return null;if(!(s instanceof b))throw new t(n,r.InvalidParameter,e);return s instanceof M?h(i(u[0]),n.spatialReference):s instanceof A?s.centroid:s instanceof D?I(s):s instanceof k?x(s):s instanceof L?s.center:null}))},n.multiparttosinglepart=function(n,e){return R(n,e,((a,l,u)=>{u=o(u),f(u,1,1,n,e);const s=[];if(null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);if(u[0]instanceof M)return[h(i(u[0]),n.spatialReference)];if(u[0]instanceof L)return[h(i(u[0]),n.spatialReference)];const c=Z.simplify(u[0]);if(c instanceof A){const n=[],e=[];for(let t=0;t<c.rings.length;t++)if(c.isClockwise(c.rings[t])){const e=O({rings:[c.rings[t]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(e)}else e.push({ring:c.rings[t],pt:c.getPoint(t,0)});for(let t=0;t<e.length;t++)for(let r=0;r<n.length;r++)if(n[r].contains(e[t].pt)){n[r].addRing(e[t].ring);break}return n}if(c instanceof D){const n=[];for(let e=0;e<c.paths.length;e++){const t=O({paths:[c.paths[e]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(t)}return n}if(u[0]instanceof k){const e=h(i(u[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)s.push(e.getPoint(n));return s}return null}))},n.issimple=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return!0;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.isSimple(l[0])}))},n.simplify=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.simplify(l[0])}))},n.convexhull=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.convexHull(l[0])}))},n.nearestcoordinate=function(n,i){return R(n,i,((a,l,u)=>{if(u=o(u),f(u,2,2,n,i),!(u[0]instanceof b||null===u[0]))throw new t(n,r.InvalidParameter,i);if(!(u[1]instanceof M||null===u[1]))throw new t(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const s=Z.nearestCoordinate(u[0],u[1]);return null===s||s.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:s.coordinate,distance:s.distance},y(n),!1,!0)}))},n.nearestvertex=function(n,i){return R(n,i,((a,l,u)=>{if(u=o(u),f(u,2,2,n,i),!(u[0]instanceof b||null===u[0]))throw new t(n,r.InvalidParameter,i);if(!(u[1]instanceof M||null===u[1]))throw new t(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const s=Z.nearestVertex(u[0],u[1]);return null===s||s.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:s.coordinate,distance:s.distance},y(n),!1,!0)}))}}export{q as registerFunctions,z as setGeometryEngine};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import t from"../ArcadePortal.js";import e from"../Attachment.js";import r from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as a}from"../executionError.js";import{C as o,j as i,F as u,g as s,Q as l,v as c,D as p,h as d,t as f,m as h,o as y,P as m,p as g,S as A,G as w,T as I,U as v,V as U,W as b,c as j,X as x,k as P,a as N,b as F,i as C,r as T,q as O}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as k}from"../featureset/support/shared.js";import{convertDirection as L}from"./convertdirection.js";import{XXH as S}from"./hash.js";import D from"../../geometry/Extent.js";import z from"../../geometry/Multipoint.js";import R from"../../geometry/Point.js";import H from"../../geometry/Polygon.js";import M from"../../geometry/Polyline.js";import W from"../../geometry/SpatialReference.js";import{hasSamePortal as J}from"../../core/urlUtils.js";import V from"../../portal/Portal.js";function B(t){if("loaded"===t.loadStatus&&t.user&&t.user.sourceJSON){return t.user.sourceJSON}return null}function E(t,e){return!!t&&J(t,e?.restUrl||"")}function Z(t,e){if(!t||!e)return t===e;if(t.x===e.x&&t.y===e.y){if(t.hasZ){if(t.z!==e.z)return!1}else if(e.hasZ)return!1;if(t.hasM){if(t.m!==e.m)return!1}else if(e.hasM)return!1;return!0}return!1}function q(o,i,u){if(null!==o)if(h(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o)q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else if(y(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.toArray())q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else{if(P(o))return i.updateIntArray([o.toNumber()]),void i.updateUint8Array([241]);if(j(o))return i.updateIntArray([o.length]),i.updateWithString(o),void i.updateUint8Array([41]);if(N(o))i.updateUint8Array([!0===o?1:0,113]);else{if(F(o))return i.updateFloatArray([o]),void i.updateUint8Array([173]);if(o instanceof e)throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof t)throw new n(u.context,a.UnsupportedHashType,u.node);if(!(o instanceof r)){if(g(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof R)return i.updateIntArray([3833836621]),i.updateIntArray([0]),i.updateFloatArray([o.x]),i.updateIntArray([1]),i.updateFloatArray([o.y]),o.hasZ&&(i.updateIntArray([2]),i.updateFloatArray([o.z])),o.hasM&&(i.updateIntArray([3]),i.updateFloatArray([o.m])),i.updateIntArray([3765347959]),void q(o.spatialReference.wkid,i,u);if(o instanceof H){i.updateIntArray([1266616829]);for(let t=0;t<o.rings.length;t++){const e=o.rings[t],r=[];let n=null,a=null;for(let i=0;i<e.length;i++){const u=o.getPoint(t,i);if(0===i)n=u;else if(Z(a,u))continue;a=u,i===e.length-1&&Z(n,u)||r.push(u)}i.updateIntArray([1397116793,r.length]);for(let t=0;t<r.length;t++){const e=r[t];i.updateIntArray([3962308117,t]),q(e,i,u),i.updateIntArray([2716288009])}i.updateIntArray([2278822459])}return i.updateIntArray([3878477243]),void q(o.spatialReference.wkid,i,u)}if(o instanceof M){i.updateIntArray([4106883559]);for(let t=0;t<o.paths.length;t++){const e=o.paths[t];i.updateIntArray([1397116793,e.length]);for(let r=0;r<e.length;r++)i.updateIntArray([3962308117,r]),q(o.getPoint(t,r),i,u),i.updateIntArray([2716288009]);i.updateIntArray([2278822459])}return i.updateIntArray([2568784753]),void q(o.spatialReference.wkid,i,u)}if(o instanceof z){i.updateIntArray([588535921,o.points.length]);for(let t=0;t<o.points.length;t++){const e=o.getPoint(t);i.updateIntArray([t]),q(e,i,u)}return i.updateIntArray([1700171621]),void q(o.spatialReference.wkid,i,u)}if(o instanceof D)return i.updateIntArray([3483648373]),i.updateIntArray([0]),i.updateFloatArray([o.xmax]),i.updateIntArray([1]),i.updateFloatArray([o.xmin]),i.updateIntArray([2]),i.updateFloatArray([o.ymax]),i.updateIntArray([3]),i.updateFloatArray([o.ymin]),o.hasZ&&(i.updateIntArray([4]),i.updateFloatArray([o.zmax]),i.updateIntArray([5]),i.updateFloatArray([o.zmin])),o.hasM&&(i.updateIntArray([6]),i.updateFloatArray([o.mmax]),i.updateIntArray([7]),i.updateFloatArray([o.mmin])),i.updateIntArray([3622027469]),void q(o.spatialReference.wkid,i,u);if(o instanceof W)return i.updateIntArray([14]),void 0!==o.wkid&&null!==o.wkid&&i.updateIntArray([o.wkid]),void(o.wkt&&i.updateWithString(o.wkt));if(C(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(T(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(O(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o===c)throw new n(u.context,a.UnsupportedHashType,u.node);throw new n(u.context,a.UnsupportedHashType,u.node)}if(i.updateUint8Array([223]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.keys()){i.updateIntArray([t.length]),i.updateWithString(t),i.updateUint8Array([251]);q(o.field(t),i,u),i.updateUint8Array([239])}u.map.delete(o),u.currentLength--}i.updateUint8Array([73])}}else i.updateUint8Array([0,139])}function G(e,P){e.portal=function(e,r){return P(e,r,((n,a,u)=>(o(u,1,1,e,r),new t(i(u[0])))))},e.typeof=function(t,e){return P(t,e,((r,i,s)=>{o(s,1,1,t,e);const l=u(s[0]);if("Unrecognised Type"===l)throw new n(t,a.UnrecognisedType,e);return l}))},e.trim=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).trim())))},e.tohex=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=s(a[0]);return isNaN(i)?i:i.toString(16)}))},e.upper=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toUpperCase())))},e.proper=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,2,t,e);let u=1;2===a.length&&"firstword"===i(a[1]).toLowerCase()&&(u=2);const s=/\s/,l=i(a[0]);let c="",p=!0;for(let t=0;t<l.length;t++){let e=l[t];if(s.test(e))1===u&&(p=!0);else{e.toUpperCase()!==e.toLowerCase()&&(p?(e=e.toUpperCase(),p=!1):e=e.toLowerCase())}c+=e}return c}))},e.lower=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toLowerCase())))},e.guid=function(t,e){return P(t,e,((r,n,a)=>{if(o(a,0,1,t,e),a.length>0)switch(i(a[0]).toLowerCase()){case"digits":return l().replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return l();case"digits-hyphen-braces":return"{"+l()+"}";case"digits-hyphen-parentheses":return"("+l()+")"}return"{"+l()+"}"}))},e.standardizeguid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=i(a[0]);if(""===u||null===u)return"";const s=/^(\{|\()?(?<partA>[0-9a-z]{8})(\-?)(?<partB>[0-9a-z]{4})(\-?)(?<partC>[0-9a-z]{4})(\-?)(?<partD>[0-9a-z]{4})(\-?)(?<partE>[0-9a-z]{12})(\}|\))?$/gim.exec(u);if(!s)return"";const l=s.groups;switch(u=l.partA+"-"+l.partB+"-"+l.partC+"-"+l.partD+"-"+l.partE,i(a[1]).toLowerCase()){case"digits":return u.replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return u;case"digits-hyphen-braces":return"{"+u+"}";case"digits-hyphen-parentheses":return"("+u+")"}return"{"+u+"}"}))},e.console=function(t,e){return P(t,e,((e,r,n)=>(0===n.length||(1===n.length?t.console(i(n[0])):t.console(i(n))),c)))},e.mid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=s(a[1]);if(isNaN(u))return"";if(u<0&&(u=0),2===a.length)return i(a[0]).substr(u);let l=s(a[2]);return isNaN(l)?"":(l<0&&(l=0),i(a[0]).substr(u,l))}))},e.find=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=0;if(a.length>2){if(u=s(p(a[2],0)),isNaN(u))return-1;u<0&&(u=0)}return i(a[1]).indexOf(i(a[0]),u)}))},e.left=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(0,u))}))},e.right=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(-1*u,u))}))},e.split=function(t,e){return P(t,e,((r,n,a)=>{let u;o(a,2,4,t,e);let l=s(p(a[2],-1));const c=d(p(a[3],!1));if(-1===l||null===l||!0===c?u=i(a[0]).split(i(a[1])):(isNaN(l)&&(l=-1),l<-1&&(l=-1),u=i(a[0]).split(i(a[1]),l)),!1===c)return u;const f=[];for(let t=0;t<u.length&&!(-1!==l&&f.length>=l);t++)""!==u[t]&&void 0!==u[t]&&f.push(u[t]);return f}))},e.text=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,2,t,e),f(a[0],a[1]))))},e.concatenate=function(t,e){return P(t,e,((t,e,r)=>{const n=[];if(r.length<1)return"";if(h(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length;e++)n[e]=f(r[0][e],t);return r.length>1?n.join(r[1]):n.join("")}if(y(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length();e++)n[e]=f(r[0].get(e),t);return r.length>1?n.join(r[1]):n.join("")}for(let a=0;a<r.length;a++)n[a]=f(r[a]);return n.join("")}))},e.reverse=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),h(u[0])){const t=u[0].slice(0);return t.reverse(),t}if(y(u[0])){const t=u[0].toArray().slice(0);return t.reverse(),t}throw new n(t,a.InvalidParameter,e)}))},e.replace=function(t,e){return P(t,e,((r,n,a)=>{o(a,3,4,t,e);const u=i(a[0]),s=i(a[1]),l=i(a[2]);return 4!==a.length||d(a[3])?m(u,s,l):u.replace(s,l)}))},e.schema=function(t,e){return P(t,e,((o,i,u)=>{if(g(u[0])){const e=A(u[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypes=function(t,e){return P(t,e,((i,u,s)=>{if(o(s,1,1,t,e),g(s[0])){const e=I(s[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypecode=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return null;if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.code;return null}return null}throw new n(t,a.InvalidParameter,e)}))},e.subtypename=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return"";if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.name;return""}return""}throw new n(t,a.InvalidParameter,e)}))},e.gdbversion=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0]))return u[0].gdbVersion();throw new n(t,a.InvalidParameter,e)}))},e.domain=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,2,3,t,e),g(l[0])){const e=v(l[0],i(l[1]),void 0===l[2]?void 0:l[2]);return e&&e.domain?"coded-value"===e.domain.type||"codedValue"===e.domain.type?r.convertObjectToArcadeDictionary({type:"codedValue",name:e.domain.name,dataType:k[e.field.type],codedValues:e.domain.codedValues.map((t=>({name:t.name,code:t.code})))},w(t)):r.convertObjectToArcadeDictionary({type:"range",name:e.domain.name,dataType:k[e.field.type],min:e.domain.min,max:e.domain.max},w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.domainname=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return U(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.domaincode=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return b(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.urlencode=function(t,e){return P(t,e,((n,a,u)=>{if(o(u,1,1,t,e),null===u[0])return"";if(u[0]instanceof r){let t="";for(const e of u[0].keys()){const r=u[0].field(e);""!==t&&(t+="&"),t+=null===r?encodeURIComponent(e)+"=":encodeURIComponent(e)+"="+encodeURIComponent(r)}return t}return encodeURIComponent(i(u[0]))}))},e.hash=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=new S(0);return q(a[0],i,{context:t,node:e,map:new Map,currentLength:0}),i.digest()}))},e.convertdirection=function(t,e){return P(t,e,((r,n,a)=>(o(a,3,3,t,e),L(a[0],a[1],a[2]))))},e.fromjson=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,1,1,t,e),!1===j(l[0]))throw new n(t,a.InvalidParameter,e);return r.convertJsonToArcade(JSON.parse(i(l[0])),w(t))}))},e.expects=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);return c}))},e.tocharcode=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.charCodeAt(c)}))},e.tocodepoint=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.codePointAt(c)}))},e.fromcharcode=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);const u=i.map((t=>Math.trunc(s(t)))).filter((t=>t>=0&&t<=65535));return 0===u.length?null:String.fromCharCode.apply(null,u)}))},e.fromcodepoint=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);let u;try{u=i.map((t=>Math.trunc(s(t)))).filter((t=>t<=1114111&&t>>>0===t))}catch(l){return null}return 0===u.length?null:String.fromCodePoint.apply(null,u)}))},e.getuser=function(e,u){return P(e,u,((s,l,c)=>{o(c,0,2,e,u);let d=p(c[1],"");if(d=!0===d||!1===d?"":i(d),null!==d&&""!==d)return null;if(0===c.length||c[0]instanceof t){let t=null;if(t=e.services&&e.services.portal?e.services.portal:V.getDefault(),c.length>0){if(!E(c[0].field("url"),t))return null}if(!t)return null;if(""===d){const n=B(t);if(n){const t=JSON.parse(JSON.stringify(n));for(const e of["lastLogin","created","modified"])void 0!==t[e]&&null!==t[e]&&(t[e]=new Date(t[e]));return r.convertObjectToArcadeDictionary(t,w(e))}}return null}throw new n(e,a.InvalidParameter,u)}))},e.getenvironment=function(t,e){return P(t,e,((n,a,i)=>(o(i,0,0,t,e),r.convertObjectToArcadeDictionary(x(w(t),t.spatialReference),w(t),!0))))}}export{G as registerFunctions};
5
+ import t from"../ArcadePortal.js";import e from"../Attachment.js";import r from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as a}from"../executionError.js";import{C as o,j as i,F as u,g as s,Q as l,v as c,D as p,h as d,t as f,m as h,o as y,P as m,p as g,S as A,G as w,T as I,U as v,V as U,W as b,c as j,X as x,k as P,a as N,b as F,i as C,r as T,q as O}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as k}from"../featureset/support/shared.js";import{convertDirection as L}from"./convertdirection.js";import{XXH as S}from"./hash.js";import{hasSamePortal as D}from"../../core/urlUtils.js";import z from"../../geometry/Extent.js";import R from"../../geometry/Multipoint.js";import H from"../../geometry/Point.js";import M from"../../geometry/Polygon.js";import W from"../../geometry/Polyline.js";import J from"../../geometry/SpatialReference.js";import V from"../../portal/Portal.js";function B(t){if("loaded"===t.loadStatus&&t.user&&t.user.sourceJSON){return t.user.sourceJSON}return null}function E(t,e){return!!t&&D(t,e?.restUrl||"")}function Z(t,e){if(!t||!e)return t===e;if(t.x===e.x&&t.y===e.y){if(t.hasZ){if(t.z!==e.z)return!1}else if(e.hasZ)return!1;if(t.hasM){if(t.m!==e.m)return!1}else if(e.hasM)return!1;return!0}return!1}function q(o,i,u){if(null!==o)if(h(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o)q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else if(y(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.toArray())q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else{if(P(o))return i.updateIntArray([o.toNumber()]),void i.updateUint8Array([241]);if(j(o))return i.updateIntArray([o.length]),i.updateWithString(o),void i.updateUint8Array([41]);if(N(o))i.updateUint8Array([!0===o?1:0,113]);else{if(F(o))return i.updateFloatArray([o]),void i.updateUint8Array([173]);if(o instanceof e)throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof t)throw new n(u.context,a.UnsupportedHashType,u.node);if(!(o instanceof r)){if(g(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof H)return i.updateIntArray([3833836621]),i.updateIntArray([0]),i.updateFloatArray([o.x]),i.updateIntArray([1]),i.updateFloatArray([o.y]),o.hasZ&&(i.updateIntArray([2]),i.updateFloatArray([o.z])),o.hasM&&(i.updateIntArray([3]),i.updateFloatArray([o.m])),i.updateIntArray([3765347959]),void q(o.spatialReference.wkid,i,u);if(o instanceof M){i.updateIntArray([1266616829]);for(let t=0;t<o.rings.length;t++){const e=o.rings[t],r=[];let n=null,a=null;for(let i=0;i<e.length;i++){const u=o.getPoint(t,i);if(0===i)n=u;else if(Z(a,u))continue;a=u,i===e.length-1&&Z(n,u)||r.push(u)}i.updateIntArray([1397116793,r.length]);for(let t=0;t<r.length;t++){const e=r[t];i.updateIntArray([3962308117,t]),q(e,i,u),i.updateIntArray([2716288009])}i.updateIntArray([2278822459])}return i.updateIntArray([3878477243]),void q(o.spatialReference.wkid,i,u)}if(o instanceof W){i.updateIntArray([4106883559]);for(let t=0;t<o.paths.length;t++){const e=o.paths[t];i.updateIntArray([1397116793,e.length]);for(let r=0;r<e.length;r++)i.updateIntArray([3962308117,r]),q(o.getPoint(t,r),i,u),i.updateIntArray([2716288009]);i.updateIntArray([2278822459])}return i.updateIntArray([2568784753]),void q(o.spatialReference.wkid,i,u)}if(o instanceof R){i.updateIntArray([588535921,o.points.length]);for(let t=0;t<o.points.length;t++){const e=o.getPoint(t);i.updateIntArray([t]),q(e,i,u)}return i.updateIntArray([1700171621]),void q(o.spatialReference.wkid,i,u)}if(o instanceof z)return i.updateIntArray([3483648373]),i.updateIntArray([0]),i.updateFloatArray([o.xmax]),i.updateIntArray([1]),i.updateFloatArray([o.xmin]),i.updateIntArray([2]),i.updateFloatArray([o.ymax]),i.updateIntArray([3]),i.updateFloatArray([o.ymin]),o.hasZ&&(i.updateIntArray([4]),i.updateFloatArray([o.zmax]),i.updateIntArray([5]),i.updateFloatArray([o.zmin])),o.hasM&&(i.updateIntArray([6]),i.updateFloatArray([o.mmax]),i.updateIntArray([7]),i.updateFloatArray([o.mmin])),i.updateIntArray([3622027469]),void q(o.spatialReference.wkid,i,u);if(o instanceof J)return i.updateIntArray([14]),void 0!==o.wkid&&null!==o.wkid&&i.updateIntArray([o.wkid]),void(o.wkt&&i.updateWithString(o.wkt));if(C(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(T(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(O(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o===c)throw new n(u.context,a.UnsupportedHashType,u.node);throw new n(u.context,a.UnsupportedHashType,u.node)}if(i.updateUint8Array([223]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.keys()){i.updateIntArray([t.length]),i.updateWithString(t),i.updateUint8Array([251]);q(o.field(t),i,u),i.updateUint8Array([239])}u.map.delete(o),u.currentLength--}i.updateUint8Array([73])}}else i.updateUint8Array([0,139])}function G(e,P){e.portal=function(e,r){return P(e,r,((n,a,u)=>(o(u,1,1,e,r),new t(i(u[0])))))},e.typeof=function(t,e){return P(t,e,((r,i,s)=>{o(s,1,1,t,e);const l=u(s[0]);if("Unrecognised Type"===l)throw new n(t,a.UnrecognisedType,e);return l}))},e.trim=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).trim())))},e.tohex=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=s(a[0]);return isNaN(i)?i:i.toString(16)}))},e.upper=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toUpperCase())))},e.proper=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,2,t,e);let u=1;2===a.length&&"firstword"===i(a[1]).toLowerCase()&&(u=2);const s=/\s/,l=i(a[0]);let c="",p=!0;for(let t=0;t<l.length;t++){let e=l[t];if(s.test(e))1===u&&(p=!0);else{e.toUpperCase()!==e.toLowerCase()&&(p?(e=e.toUpperCase(),p=!1):e=e.toLowerCase())}c+=e}return c}))},e.lower=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toLowerCase())))},e.guid=function(t,e){return P(t,e,((r,n,a)=>{if(o(a,0,1,t,e),a.length>0)switch(i(a[0]).toLowerCase()){case"digits":return l().replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return l();case"digits-hyphen-braces":return"{"+l()+"}";case"digits-hyphen-parentheses":return"("+l()+")"}return"{"+l()+"}"}))},e.standardizeguid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=i(a[0]);if(""===u||null===u)return"";const s=/^(\{|\()?(?<partA>[0-9a-z]{8})(\-?)(?<partB>[0-9a-z]{4})(\-?)(?<partC>[0-9a-z]{4})(\-?)(?<partD>[0-9a-z]{4})(\-?)(?<partE>[0-9a-z]{12})(\}|\))?$/gim.exec(u);if(!s)return"";const l=s.groups;switch(u=l.partA+"-"+l.partB+"-"+l.partC+"-"+l.partD+"-"+l.partE,i(a[1]).toLowerCase()){case"digits":return u.replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return u;case"digits-hyphen-braces":return"{"+u+"}";case"digits-hyphen-parentheses":return"("+u+")"}return"{"+u+"}"}))},e.console=function(t,e){return P(t,e,((e,r,n)=>(0===n.length||(1===n.length?t.console(i(n[0])):t.console(i(n))),c)))},e.mid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=s(a[1]);if(isNaN(u))return"";if(u<0&&(u=0),2===a.length)return i(a[0]).substr(u);let l=s(a[2]);return isNaN(l)?"":(l<0&&(l=0),i(a[0]).substr(u,l))}))},e.find=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=0;if(a.length>2){if(u=s(p(a[2],0)),isNaN(u))return-1;u<0&&(u=0)}return i(a[1]).indexOf(i(a[0]),u)}))},e.left=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(0,u))}))},e.right=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(-1*u,u))}))},e.split=function(t,e){return P(t,e,((r,n,a)=>{let u;o(a,2,4,t,e);let l=s(p(a[2],-1));const c=d(p(a[3],!1));if(-1===l||null===l||!0===c?u=i(a[0]).split(i(a[1])):(isNaN(l)&&(l=-1),l<-1&&(l=-1),u=i(a[0]).split(i(a[1]),l)),!1===c)return u;const f=[];for(let t=0;t<u.length&&!(-1!==l&&f.length>=l);t++)""!==u[t]&&void 0!==u[t]&&f.push(u[t]);return f}))},e.text=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,2,t,e),f(a[0],a[1]))))},e.concatenate=function(t,e){return P(t,e,((t,e,r)=>{const n=[];if(r.length<1)return"";if(h(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length;e++)n[e]=f(r[0][e],t);return r.length>1?n.join(r[1]):n.join("")}if(y(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length();e++)n[e]=f(r[0].get(e),t);return r.length>1?n.join(r[1]):n.join("")}for(let a=0;a<r.length;a++)n[a]=f(r[a]);return n.join("")}))},e.reverse=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),h(u[0])){const t=u[0].slice(0);return t.reverse(),t}if(y(u[0])){const t=u[0].toArray().slice(0);return t.reverse(),t}throw new n(t,a.InvalidParameter,e)}))},e.replace=function(t,e){return P(t,e,((r,n,a)=>{o(a,3,4,t,e);const u=i(a[0]),s=i(a[1]),l=i(a[2]);return 4!==a.length||d(a[3])?m(u,s,l):u.replace(s,l)}))},e.schema=function(t,e){return P(t,e,((o,i,u)=>{if(g(u[0])){const e=A(u[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypes=function(t,e){return P(t,e,((i,u,s)=>{if(o(s,1,1,t,e),g(s[0])){const e=I(s[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypecode=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return null;if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.code;return null}return null}throw new n(t,a.InvalidParameter,e)}))},e.subtypename=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return"";if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.name;return""}return""}throw new n(t,a.InvalidParameter,e)}))},e.gdbversion=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0]))return u[0].gdbVersion();throw new n(t,a.InvalidParameter,e)}))},e.domain=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,2,3,t,e),g(l[0])){const e=v(l[0],i(l[1]),void 0===l[2]?void 0:l[2]);return e&&e.domain?"coded-value"===e.domain.type||"codedValue"===e.domain.type?r.convertObjectToArcadeDictionary({type:"codedValue",name:e.domain.name,dataType:k[e.field.type],codedValues:e.domain.codedValues.map((t=>({name:t.name,code:t.code})))},w(t)):r.convertObjectToArcadeDictionary({type:"range",name:e.domain.name,dataType:k[e.field.type],min:e.domain.min,max:e.domain.max},w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.domainname=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return U(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.domaincode=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return b(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.urlencode=function(t,e){return P(t,e,((n,a,u)=>{if(o(u,1,1,t,e),null===u[0])return"";if(u[0]instanceof r){let t="";for(const e of u[0].keys()){const r=u[0].field(e);""!==t&&(t+="&"),t+=null===r?encodeURIComponent(e)+"=":encodeURIComponent(e)+"="+encodeURIComponent(r)}return t}return encodeURIComponent(i(u[0]))}))},e.hash=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=new S(0);return q(a[0],i,{context:t,node:e,map:new Map,currentLength:0}),i.digest()}))},e.convertdirection=function(t,e){return P(t,e,((r,n,a)=>(o(a,3,3,t,e),L(a[0],a[1],a[2]))))},e.fromjson=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,1,1,t,e),!1===j(l[0]))throw new n(t,a.InvalidParameter,e);return r.convertJsonToArcade(JSON.parse(i(l[0])),w(t))}))},e.expects=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);return c}))},e.tocharcode=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.charCodeAt(c)}))},e.tocodepoint=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.codePointAt(c)}))},e.fromcharcode=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);const u=i.map((t=>Math.trunc(s(t)))).filter((t=>t>=0&&t<=65535));return 0===u.length?null:String.fromCharCode.apply(null,u)}))},e.fromcodepoint=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);let u;try{u=i.map((t=>Math.trunc(s(t)))).filter((t=>t<=1114111&&t>>>0===t))}catch(l){return null}return 0===u.length?null:String.fromCodePoint.apply(null,u)}))},e.getuser=function(e,u){return P(e,u,((s,l,c)=>{o(c,0,2,e,u);let d=p(c[1],"");if(d=!0===d||!1===d?"":i(d),null!==d&&""!==d)return null;if(0===c.length||c[0]instanceof t){let t=null;if(t=e.services&&e.services.portal?e.services.portal:V.getDefault(),c.length>0){if(!E(c[0].field("url"),t))return null}if(!t)return null;if(""===d){const n=B(t);if(n){const t=JSON.parse(JSON.stringify(n));for(const e of["lastLogin","created","modified"])void 0!==t[e]&&null!==t[e]&&(t[e]=new Date(t[e]));return r.convertObjectToArcadeDictionary(t,w(e))}}return null}throw new n(e,a.InvalidParameter,u)}))},e.getenvironment=function(t,e){return P(t,e,((n,a,i)=>(o(i,0,0,t,e),r.convertObjectToArcadeDictionary(x(w(t),t.spatialReference),w(t),!0))))}}export{G 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.28/esri/copyright.txt for details.
4
4
  */
5
- import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"./ArcadeDate.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"luxon";import"../core/number.js";import"../geometry/support/coordsUtils.js";import"../intl/locale.js";import"../config.js";import"../kernel.js";import"./featureset/support/shared.js";import"./ArcadeModule.js";import"./executionError.js";export{I as ImplicitResult,a5 as ImplicitResultE,R as ReturnResult,a4 as ReturnResultE,J as absRound,ac as arcadeVersion,O as autoCastArrayOfPointsToMultiPoint,N as autoCastArrayOfPointsToPolygon,M as autoCastArrayOfPointsToPolyline,L as autoCastFeatureToGeometry,B as binaryOperator,w as breakResult,d as castAsJson,e as castAsJsonAsync,x as continueResult,X as defaultExecutingContext,G as defaultTimeZone,D as defaultUndefined,A as equalityTest,W as featureDomainCodeLookup,V as featureDomainValueLookup,U as featureFullDomain,S as featureSchema,T as featureSubtypes,K as fixNullGeometry,y as fixSpatialReference,aa as formatDate,a9 as formatNumber,Q as generateUUID,a1 as getDomain,a3 as getDomainCode,a2 as getDomainValue,F as getType,z as greaterThanLessThan,m as isArray,a as isBoolean,k as isDate,s as isDictionary,p as isFeature,r as isFeatureSet,q as isFeatureSetCollection,i as isFunctionParameter,n as isGeometry,o as isImmutableArray,E as isInteger,a8 as isJsDate,a6 as isModule,b as isNumber,a7 as isObject,f as isSimpleType,c as isString,Z as isSubtypeGrouplayer,_ as isSubtypeSublayer,P as multiReplace,C as pcCheck,ab as stableStringify,H as standardiseDateFormat,$ as tick,h as toBoolean,l as toDate,g as toNumber,Y as toNumberArray,j as toString,a0 as toStringArray,t as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";
5
+ import"../config.js";import"../kernel.js";import"./ArcadeDate.js";import"./ArcadeModule.js";import"./executionError.js";import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"./featureset/support/shared.js";import"../core/number.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/support/coordsUtils.js";import"../intl/locale.js";import"luxon";export{I as ImplicitResult,a5 as ImplicitResultE,R as ReturnResult,a4 as ReturnResultE,J as absRound,ac as arcadeVersion,O as autoCastArrayOfPointsToMultiPoint,N as autoCastArrayOfPointsToPolygon,M as autoCastArrayOfPointsToPolyline,L as autoCastFeatureToGeometry,B as binaryOperator,w as breakResult,d as castAsJson,e as castAsJsonAsync,x as continueResult,X as defaultExecutingContext,G as defaultTimeZone,D as defaultUndefined,A as equalityTest,W as featureDomainCodeLookup,V as featureDomainValueLookup,U as featureFullDomain,S as featureSchema,T as featureSubtypes,K as fixNullGeometry,y as fixSpatialReference,aa as formatDate,a9 as formatNumber,Q as generateUUID,a1 as getDomain,a3 as getDomainCode,a2 as getDomainValue,F as getType,z as greaterThanLessThan,m as isArray,a as isBoolean,k as isDate,s as isDictionary,p as isFeature,r as isFeatureSet,q as isFeatureSetCollection,i as isFunctionParameter,n as isGeometry,o as isImmutableArray,E as isInteger,a8 as isJsDate,a6 as isModule,b as isNumber,a7 as isObject,f as isSimpleType,c as isString,Z as isSubtypeGrouplayer,_ as isSubtypeSublayer,P as multiReplace,C as pcCheck,ab as stableStringify,H as standardiseDateFormat,$ as tick,h as toBoolean,l as toDate,g as toNumber,Y as toNumberArray,j as toString,a0 as toStringArray,t as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";