@arcgis/core 4.24.0-next.20220508 → 4.24.0-next.20220511

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 (338) hide show
  1. package/AggregateGraphic.js +1 -1
  2. package/analysis/Analysis.js +1 -1
  3. package/analysis/DimensioningAnalysis.js +1 -1
  4. package/analysis/LengthDimension.d.ts +4 -0
  5. package/analysis/LengthDimension.js +5 -0
  6. package/analysis/dimensionUtils.js +5 -0
  7. package/arcade/Dictionary.js +1 -1
  8. package/arcade/Feature.js +1 -1
  9. package/arcade/arcade.js +1 -1
  10. package/arcade/arcadeAsyncRuntime.js +1 -1
  11. package/arcade/arcadeCompiler.js +1 -1
  12. package/arcade/credentials.js +1 -1
  13. package/arcade/featureSetCollection.js +1 -1
  14. package/arcade/featureSetUtils.js +1 -1
  15. package/arcade/featureset/actions/Adapted.js +1 -1
  16. package/arcade/featureset/actions/AttributeFilter.js +1 -1
  17. package/arcade/featureset/actions/GroupBy.js +1 -1
  18. package/arcade/featureset/actions/OrderBy.js +1 -1
  19. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  20. package/arcade/featureset/actions/Top.js +1 -1
  21. package/arcade/featureset/sources/Empty.js +1 -1
  22. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  23. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  24. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  25. package/arcade/featureset/support/FeatureSet.js +1 -1
  26. package/arcade/featureset/support/FeatureSetIterator.js +1 -1
  27. package/arcade/featureset/support/shared.js +1 -1
  28. package/arcade/featureset/support/stats.js +1 -1
  29. package/arcade/functions/featuresetbase.js +1 -1
  30. package/arcade/functions/featuresetgeom.js +1 -1
  31. package/arcade/functions/featuresetstats.js +1 -1
  32. package/arcade/functions/featuresetstring.js +1 -1
  33. package/arcade/functions/geomasync.js +1 -1
  34. package/arcade/languageUtils.js +1 -1
  35. package/arcade/request.js +1 -1
  36. package/assets/esri/core/workers/RemoteClient.js +1 -1
  37. package/assets/esri/core/workers/chunks/0564f1cfa3d17ff1aad3.js +1 -0
  38. package/assets/esri/core/workers/chunks/0806d5d706a864542bfb.js +1 -0
  39. package/assets/esri/core/workers/chunks/0a6977144ea1abf96fbf.js +1 -0
  40. package/assets/esri/core/workers/chunks/13387f56acbc3291561a.js +1 -0
  41. package/assets/esri/core/workers/chunks/16c4e0a32d50d4db984d.js +1 -0
  42. package/assets/esri/core/workers/chunks/{076d1b1101b59af0d389.js → 1c010202b4c7e1d15f23.js} +1 -1
  43. package/assets/esri/core/workers/chunks/26827ec144676e6385f8.js +1 -0
  44. package/assets/esri/core/workers/chunks/287c484fd40eee643f3a.js +1 -0
  45. package/assets/esri/core/workers/chunks/5210f0b42dba27945226.js +1 -0
  46. package/assets/esri/core/workers/chunks/{db6c5b3b4efe8d804f9c.js → 52478ee2d2a1354b6900.js} +1 -1
  47. package/assets/esri/core/workers/chunks/5759af97f96f24c40105.js +1 -0
  48. package/assets/esri/core/workers/chunks/{b85218d44c6094b7e5e6.js → 6d7e2a23a0a5dd9ded1d.js} +1 -1
  49. package/assets/esri/core/workers/chunks/70b6356357e7640c4e8b.js +1 -0
  50. package/assets/esri/core/workers/chunks/7574316b3af61c389e8f.js +1 -0
  51. package/assets/esri/core/workers/chunks/7bc828fbdd54c0b28aac.js +1 -0
  52. package/assets/esri/core/workers/chunks/7e5c22b5a32ac74b1b6e.js +1 -0
  53. package/assets/esri/core/workers/chunks/8102bb78fe96e6197e4e.js +1 -0
  54. package/assets/esri/core/workers/chunks/88384e7cafbfd2348598.js +1 -0
  55. package/assets/esri/core/workers/chunks/9d7533aaeac3b8d145c4.js +1 -0
  56. package/assets/esri/core/workers/chunks/{1eecae5227318f491263.js → 9f4d892abf55e8625bc9.js} +3 -3
  57. package/assets/esri/core/workers/chunks/{98607a0da63626cc4614.js → a054a52712a118c6d505.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{69a20e4d9e28c3e599fc.js → a3bb600bfcb0282622f1.js} +1 -1
  59. package/assets/esri/core/workers/chunks/aa49841b14c6e6df2a07.js +1 -0
  60. package/assets/esri/core/workers/chunks/b089058b64db3912478f.js +1 -0
  61. package/assets/esri/core/workers/chunks/b28539c5a6bedb71b038.js +1 -0
  62. package/assets/esri/core/workers/chunks/b4f171db73355c6f766e.js +1 -0
  63. package/assets/esri/core/workers/chunks/b7572b0921b23aef8b9d.js +1 -0
  64. package/assets/esri/core/workers/chunks/b758f3c419edc2306784.js +1 -0
  65. package/assets/esri/core/workers/chunks/c3e7290fb128d4fefd44.js +1 -0
  66. package/assets/esri/core/workers/chunks/c51c9b5da855f84b9a48.js +1 -0
  67. package/assets/esri/core/workers/chunks/c66ac36da6392b6bf331.js +1 -0
  68. package/assets/esri/core/workers/chunks/d16b328d32a6ddc2fdb9.js +1 -0
  69. package/assets/esri/core/workers/chunks/d94c5f36d52cf71f0bb9.js +1 -0
  70. package/assets/esri/core/workers/chunks/db937849b2c1af87b481.js +1 -0
  71. package/assets/esri/core/workers/chunks/{66cd99e91dad60c5274c.js → dc3ed59f450283d97a19.js} +1 -1
  72. package/assets/esri/core/workers/chunks/dcd0653191cd4a1ccaae.js +2 -0
  73. package/assets/esri/core/workers/chunks/{31df729c17470245288c.js.LICENSE.txt → dcd0653191cd4a1ccaae.js.LICENSE.txt} +2 -2
  74. package/assets/esri/core/workers/chunks/e4fdd1eaf987977d0a51.js +1 -0
  75. package/assets/esri/core/workers/chunks/e51f0e71f2a55af604d3.js +1 -0
  76. package/assets/esri/core/workers/chunks/eb3855d3753d6b8334bd.js +1 -0
  77. package/assets/esri/core/workers/chunks/{7c290763920f52a1f504.js → eeed138930a4a805691d.js} +1 -1
  78. package/assets/esri/core/workers/chunks/f435dc615fdc8917f6ca.js +1 -0
  79. package/assets/esri/core/workers/chunks/{d5c5b9f7f5401f36a3a5.js → f7f3dde4c8f9c687cc1e.js} +1 -1
  80. package/assets/esri/core/workers/chunks/fc6beaf9466ea3898549.js +1 -0
  81. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  82. package/assets/esri/themes/base/widgets/_Tooltip.scss +1 -0
  83. package/assets/esri/themes/base/widgets/_Weather.scss +1 -2
  84. package/assets/esri/themes/dark/main.css +1 -1
  85. package/assets/esri/themes/light/main.css +1 -1
  86. package/assets/esri/themes/light/view.css +1 -1
  87. package/chunks/BlendLayers.glsl.js +6 -6
  88. package/chunks/arcade.js +1 -1
  89. package/chunks/array.js +1 -1
  90. package/chunks/languageUtils.js +1 -1
  91. package/config.js +1 -1
  92. package/core/sql/StandardizedFunctions.js +1 -1
  93. package/geohash/GeohashTree.js +1 -1
  94. package/geometry/support/contains.js +1 -1
  95. package/geometry/support/heightModelInfoUtils.js +1 -1
  96. package/geometry/support/intersects.js +1 -1
  97. package/geometry/support/intersectsBase.js +1 -1
  98. package/geometry/support/normalizeUtilsCommon.js +1 -1
  99. package/geometry/support/spatialReferenceUtils.js +1 -1
  100. package/interfaces.d.ts +685 -37
  101. package/layers/MediaLayer.d.ts +4 -0
  102. package/layers/MediaLayer.js +5 -0
  103. package/layers/VoxelLayer.js +1 -1
  104. package/layers/VoxelWasmPerSceneView.js +5 -0
  105. package/layers/graphics/OptimizedGeometry.js +1 -1
  106. package/layers/graphics/data/BoundsStore.js +1 -1
  107. package/layers/support/CornersGeoreference.d.ts +4 -0
  108. package/layers/support/CornersGeoreference.js +5 -0
  109. package/layers/support/ExtentAndRotationGeoreference.d.ts +4 -0
  110. package/layers/support/ExtentAndRotationGeoreference.js +5 -0
  111. package/layers/support/FeatureReduction.js +1 -1
  112. package/layers/support/FeatureReductionBinning.js +5 -0
  113. package/layers/support/GeoreferenceBase.js +5 -0
  114. package/layers/support/ImageElement.d.ts +4 -0
  115. package/layers/support/ImageElement.js +5 -0
  116. package/layers/support/LocalMediaElementSource.d.ts +4 -0
  117. package/layers/support/LocalMediaElementSource.js +5 -0
  118. package/layers/support/MediaElementBase.d.ts +4 -0
  119. package/layers/support/MediaElementBase.js +5 -0
  120. package/layers/support/RouteStopSymbols.d.ts +4 -0
  121. package/layers/support/RouteSymbols.d.ts +4 -0
  122. package/layers/support/VoxelFormat.d.ts +4 -0
  123. package/layers/support/VoxelStyle.d.ts +4 -0
  124. package/layers/support/VoxelVariable.d.ts +4 -0
  125. package/layers/support/VoxelVolume.d.ts +4 -0
  126. package/layers/support/VoxelVolumeStyle.d.ts +4 -0
  127. package/layers/support/arcgisLayerUrl.js +1 -1
  128. package/layers/support/featureReductionUtils.js +1 -1
  129. package/layers/support/fieldUtils.js +1 -1
  130. package/layers/support/rasterFormats/Lerc.js +1 -1
  131. package/package.json +3 -3
  132. package/request.js +1 -1
  133. package/support/requestUtils.js +1 -1
  134. package/support/revision.js +1 -1
  135. package/symbols/Font.js +1 -1
  136. package/symbols/support/textUtils.js +1 -1
  137. package/views/2d/engine/brushes.js +1 -1
  138. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  139. package/views/2d/engine/webgl/Overlay.js +5 -0
  140. package/views/2d/engine/webgl/OverlayContainer.js +5 -0
  141. package/views/2d/engine/webgl/brushes/BrushOverlay.js +5 -0
  142. package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
  143. package/views/2d/engine/webgl/shaders/OverlayPrograms.js +5 -0
  144. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  145. package/views/2d/layerViewModuleImportUtils.js +1 -1
  146. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  147. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  148. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  149. package/views/2d/layers/MediaLayerView2D.js +5 -0
  150. package/views/2d/layers/StreamLayerView2D.js +1 -1
  151. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  152. package/views/2d/layers/features/FeatureStore2D.js +1 -1
  153. package/views/2d/layers/features/Pipeline.js +1 -1
  154. package/views/2d/layers/features/Store2D.js +1 -1
  155. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  156. package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
  157. package/views/2d/layers/features/schemaUtils.js +1 -1
  158. package/views/2d/layers/features/sources/GeoEventSource.js +1 -1
  159. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  160. package/views/2d/layers/features/support/BinStore.js +5 -0
  161. package/views/2d/layers/features/support/ClusterStore.js +1 -1
  162. package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
  163. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  164. package/views/2d/layers/support/clusterUtils.js +1 -1
  165. package/views/2d/magnifier/MagnifierView2D.js +1 -1
  166. package/views/2d/navigation/actions/Pinch.js +1 -1
  167. package/views/2d/viewpointUtils.js +1 -1
  168. package/views/3d/analysis/AnalysisView3D.js +1 -1
  169. package/views/3d/analysis/Dimensioning/DimensioningTool.js +5 -0
  170. package/views/3d/analysis/Dimensioning/DimensioningVisualization.js +1 -1
  171. package/views/3d/analysis/Dimensioning/LengthDimensionSubTool.js +5 -0
  172. package/views/3d/analysis/Dimensioning/{LinearDimensionVisualization.js → LengthDimensionVisualization.js} +1 -1
  173. package/views/3d/analysis/Dimensioning/settings.js +5 -0
  174. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  175. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  176. package/views/3d/interactive/SegmentLabels3D.js +5 -0
  177. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  178. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  179. package/views/3d/interactive/editingTools/reshapeGraphic/GraphicReshapeTool.js +1 -1
  180. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  181. package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
  182. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
  183. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  184. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  185. package/views/3d/layerViewModuleImportUtils.js +1 -1
  186. package/views/3d/layers/I3SMeshView3D.js +1 -1
  187. package/views/3d/layers/MediaLayerView3D.js +5 -0
  188. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  189. package/views/3d/layers/i3s/IDBCache.js +1 -1
  190. package/views/3d/state/controllers/RotateController.js +1 -1
  191. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  192. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  193. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  194. package/views/3d/support/ResourceController.js +1 -1
  195. package/views/3d/support/sunUtils.js +1 -1
  196. package/views/3d/terrain/TerrainRenderer.js +1 -1
  197. package/views/3d/terrain/TerrainSurface.js +1 -1
  198. package/views/3d/terrain/TileCompositor.js +1 -1
  199. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  200. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  201. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  202. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  203. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  204. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  205. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  206. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  207. package/views/DOMContainer.js +1 -1
  208. package/views/GroundView.js +1 -1
  209. package/views/SceneView.js +1 -1
  210. package/views/ToolViewManager.js +1 -1
  211. package/views/View.js +1 -1
  212. package/views/draw/DrawOperation.js +1 -1
  213. package/views/draw/support/Reshape.js +1 -1
  214. package/views/interactive/GraphicManipulator.js +1 -1
  215. package/views/interactive/InteractiveToolBase.js +1 -1
  216. package/views/interactive/SegmentLabels.js +5 -0
  217. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  218. package/views/interactive/snapping/LineSnapper.js +1 -1
  219. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  220. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  221. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  222. package/views/interactive/snapping/SnappingAlgorithm.js +1 -1
  223. package/views/interactive/snapping/SnappingManager.js +1 -1
  224. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  225. package/views/interactive/snapping/snappingUtils.js +1 -1
  226. package/views/interactive/support/viewUtils.js +5 -0
  227. package/views/interactive/tooltip/DrawPointTooltipInfo.js +5 -0
  228. package/views/interactive/tooltip/DrawPolygonTooltipInfo.js +5 -0
  229. package/views/interactive/tooltip/DrawPolylineTooltipInfo.js +5 -0
  230. package/views/interactive/tooltip/Tooltip.js +1 -1
  231. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  232. package/views/interactive/tooltip/support/measurements.js +5 -0
  233. package/views/layers/FeatureLayerView.js +1 -1
  234. package/views/layers/GroupLayerView.js +1 -1
  235. package/views/overlay/TextOverlayItem.js +1 -1
  236. package/views/support/Scheduler.js +1 -1
  237. package/views/support/screenUtils.js +1 -1
  238. package/webscene/Slide.js +1 -1
  239. package/widgets/Attribution/AttributionViewModel.js +1 -1
  240. package/widgets/Bookmarks.js +1 -1
  241. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  242. package/widgets/Editor/EditorViewModel.js +1 -1
  243. package/widgets/Editor/UpdateWorkflow.js +1 -1
  244. package/widgets/Editor/workflowUtils.js +1 -1
  245. package/widgets/Editor.js +1 -1
  246. package/widgets/ElevationProfile/support/chartUtils.js +1 -1
  247. package/widgets/ElevationProfile.js +1 -1
  248. package/widgets/Feature/FeatureAttachments.js +1 -1
  249. package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
  250. package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
  251. package/widgets/Feature/FeatureExpression.js +1 -1
  252. package/widgets/Feature/FeatureFields.js +1 -1
  253. package/widgets/Feature/FeatureViewModel.js +1 -1
  254. package/widgets/Feature.js +1 -1
  255. package/widgets/FeatureForm/InputFieldGroup.js +1 -1
  256. package/widgets/FeatureForm.js +1 -1
  257. package/widgets/FeatureTable/FieldColumn.js +1 -1
  258. package/widgets/FeatureTable/Grid/Column.js +1 -1
  259. package/widgets/FeatureTable/Grid/Grid.js +11 -11
  260. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  261. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  262. package/widgets/FeatureTemplates/TemplateItem.js +1 -1
  263. package/widgets/FeatureTemplates.js +1 -1
  264. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  265. package/widgets/FloorFilter.js +1 -1
  266. package/widgets/HistogramRangeSlider.js +1 -1
  267. package/widgets/LayerList/LayerListViewModel.js +1 -1
  268. package/widgets/LayerList/ListItem.js +1 -1
  269. package/widgets/LayerList/ListItemPanel.js +1 -1
  270. package/widgets/LayerList.js +1 -1
  271. package/widgets/Legend/LegendViewModel.js +1 -1
  272. package/widgets/Legend/styles/Card.js +1 -1
  273. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  274. package/widgets/Legend.js +1 -1
  275. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  276. package/widgets/Measurement.js +1 -1
  277. package/widgets/NavigationToggle/NavigationToggleViewModel.js +1 -1
  278. package/widgets/Popup/PopupViewModel.js +1 -1
  279. package/widgets/Popup.js +1 -1
  280. package/widgets/Print/FileLink.js +1 -1
  281. package/widgets/Print.js +1 -1
  282. package/widgets/ScaleBar.js +1 -1
  283. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
  284. package/widgets/ScaleRangeSlider.js +1 -1
  285. package/widgets/Search/SearchViewModel.js +1 -1
  286. package/widgets/Search.js +1 -1
  287. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  288. package/widgets/Sketch/SketchViewModel.js +1 -1
  289. package/widgets/Sketch.js +1 -1
  290. package/widgets/TableList/ListItem.js +1 -1
  291. package/widgets/Weather/LabeledSlider.js +1 -1
  292. package/widgets/Weather/VisibleElements.js +5 -0
  293. package/widgets/Weather/css.js +1 -1
  294. package/widgets/Weather.js +1 -1
  295. package/widgets/support/AnalysisViewModel.js +1 -1
  296. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  297. package/analysis/LinearDimension.d.ts +0 -4
  298. package/analysis/LinearDimension.js +0 -5
  299. package/assets/esri/core/workers/chunks/0018053ac16a09feba70.js +0 -1
  300. package/assets/esri/core/workers/chunks/042938ca73f0b9e5a7e2.js +0 -1
  301. package/assets/esri/core/workers/chunks/048645611caa28dca7cd.js +0 -1
  302. package/assets/esri/core/workers/chunks/0b72d123386dc4ec7538.js +0 -1
  303. package/assets/esri/core/workers/chunks/13b04d5bf348ab5054c2.js +0 -1
  304. package/assets/esri/core/workers/chunks/215007e7c44811d90777.js +0 -1
  305. package/assets/esri/core/workers/chunks/31df729c17470245288c.js +0 -2
  306. package/assets/esri/core/workers/chunks/36272141b3c33cb19026.js +0 -1
  307. package/assets/esri/core/workers/chunks/36c8e8de9c3f67d32572.js +0 -1
  308. package/assets/esri/core/workers/chunks/37c428489c59df4b597b.js +0 -1
  309. package/assets/esri/core/workers/chunks/493169fd978fd543ef3b.js +0 -1
  310. package/assets/esri/core/workers/chunks/4f378ad6f4299183df85.js +0 -1
  311. package/assets/esri/core/workers/chunks/58e4c6ce1580427e7b55.js +0 -1
  312. package/assets/esri/core/workers/chunks/6c5441da675a8af35be2.js +0 -1
  313. package/assets/esri/core/workers/chunks/6ea16f6a0df946de480b.js +0 -1
  314. package/assets/esri/core/workers/chunks/7dfd70f4fa1096e56641.js +0 -1
  315. package/assets/esri/core/workers/chunks/88193e61072d7bf957f5.js +0 -1
  316. package/assets/esri/core/workers/chunks/8ccbde593c86c872e525.js +0 -1
  317. package/assets/esri/core/workers/chunks/9c6be39f1f21ab8b1c2d.js +0 -1
  318. package/assets/esri/core/workers/chunks/a73795cce722ba15b3da.js +0 -1
  319. package/assets/esri/core/workers/chunks/a8ed1a938dc164b401d9.js +0 -1
  320. package/assets/esri/core/workers/chunks/a9a73bc4875a5aeaf1b9.js +0 -1
  321. package/assets/esri/core/workers/chunks/adcc5bce6c0971c1b592.js +0 -1
  322. package/assets/esri/core/workers/chunks/afddfe620e6539991e6b.js +0 -1
  323. package/assets/esri/core/workers/chunks/b340c9bdabdb37995c8f.js +0 -1
  324. package/assets/esri/core/workers/chunks/b4c23630d6c85f7b59c0.js +0 -1
  325. package/assets/esri/core/workers/chunks/c180c40838246985479d.js +0 -1
  326. package/assets/esri/core/workers/chunks/caed2365bd296fcc8a75.js +0 -1
  327. package/assets/esri/core/workers/chunks/d85b5b73a151c6fbb658.js +0 -1
  328. package/assets/esri/core/workers/chunks/da6261673c3e1537b6a6.js +0 -1
  329. package/assets/esri/core/workers/chunks/dafe120243db6648a4ab.js +0 -1
  330. package/assets/esri/core/workers/chunks/ec6d138e8183e193f977.js +0 -1
  331. package/assets/esri/core/workers/chunks/ed4519ac9533a4d340f1.js +0 -1
  332. package/assets/esri/core/workers/chunks/f206300eef4560611728.js +0 -1
  333. package/assets/esri/core/workers/chunks/f55cbaf5a1d6ee6ac171.js +0 -1
  334. package/layers/GeoreferencedImageLayer.d.ts +0 -4
  335. package/layers/GeoreferencedImageLayer.js +0 -5
  336. package/layers/VoxelWasmManager.js +0 -5
  337. package/layers/VoxelWasmPerScene.js +0 -5
  338. package/views/3d/interactive/measurementTools/support/viewUtils.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"./cache.js";import t from"./FeatureSetIterator.js";import r from"./IdSet.js";import{FeatureServiceDatabaseType as n,layerGeometryEsriConstants as s,IdState as i,convertSquareUnitsToCode as a,convertLinearUnitsToCode as h,esriFieldToJson as u,layerGeometryEsriRestConstants as l}from"./shared.js";import{max as o,min as c,sum as d,variance as _,stdev as p,mean as f,distinct as g,count as m}from"./stats.js";import{create as y,resolve as b,reject as F,isPromiseLike as S}from"../../../core/promiseUtils.js";import{WhereClause as I}from"../../../core/sql/WhereClause.js";import{union as T,geodesicArea as P,planarArea as w,geodesicLength as D,planarLength as k}from"../../../geometry/geometryEngineAsync.js";import x from"../../../geometry/SpatialReference.js";import E from"../../../layers/support/FieldsIndex.js";class v{constructor(e){this.recentlyUsedQueries=null,this.featureSetQueryInterceptor=null,this._idstates=[],this._parent=null,this._wset=null,this._mainSetInUse=null,this._maxProcessing=200,this._maxQuery=500,this._totalCount=-1,this._databaseType=n.NotEvaluated,this._databaseTypeProbed=null,this.declaredRootClass="esri.arcade.featureset.support.FeatureSet",this._featureCache=[],this.types=null,this.fields=null,this.geometryType="",this.objectIdField="",this.globalIdField="",this.spatialReference=null,this.hasM=!1,this.hasZ=!1,this._transparent=!1,this.loaded=!1,this._loadPromise=null,this._fieldsIndex=null,e&&e.lrucache&&(this.recentlyUsedQueries=e.lrucache),e&&e.interceptor&&(this.featureSetQueryInterceptor=e.interceptor)}optimisePagingFeatureQueries(e){this._parent&&this._parent.optimisePagingFeatureQueries(e)}_hasMemorySource(){return!0}prop(e,t){return void 0===t?this[e]:(void 0!==this[e]&&(this[e]=t),this)}end(){return null!==this._parent&&!0===this._parent._transparent?this._parent.end():this._parent}_ensureLoaded(){return this.load()}load(){return null===this._loadPromise&&(this._loadPromise=y(((e,t)=>{if(!0===this._parent.loaded)return this._initialiseFeatureSet(),void e(this);this._parent.load().then((()=>{try{this._initialiseFeatureSet(),e(this)}catch(r){t(r)}}),t)}))),this._loadPromise}_initialiseFeatureSet(){null!==this._parent?(this.fields=this._parent.fields.slice(0),this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types):(this.fields=[],this.typeIdField="",this.objectIdField="",this.globalIdField="",this.spatialReference=new x({wkid:4326}),this.geometryType=s.point)}getField(e,t){let r;return(t=t||this.fields)&&(e=e.toLowerCase(),t.some((t=>(t&&t.name.toLowerCase()===e&&(r=t),!!r)))),r}getFieldsIndex(){return null===this._fieldsIndex&&(this._fieldsIndex=new E(this.fields)),this._fieldsIndex}_maxProcessingRate(){return null!==this._parent?Math.min(this._maxProcessing,this._parent._maxProcessingRate()):Math.min(this._maxProcessing,this._maxQueryRate())}_maxQueryRate(){return null!==this._parent?Math.max(this._maxQuery,this._parent._maxQueryRate()):this._maxQuery}_checkCancelled(e){if(null!==e&&e.aborted)throw new Error("Operation has been cancelled.")}nativeCapabilities(){return this._parent.nativeCapabilities()}_canDoAggregates(e,t,r,n,s){return null===this._parent?b(!1):this._parent._canDoAggregates(e,t,r,n,s)}_getAggregatePagesDataSourceDefinition(e,t,r,n,s,i,a){return null===this._parent?F(new Error("Should never be called")):this._parent._getAggregatePagesDataSourceDefinition(e,t,r,n,s,i,a)}_getAgregagtePhysicalPage(e,t,r){return null===this._parent?F(new Error("Should never be called")):this._parent._getAgregagtePhysicalPage(e,t,r)}databaseType(){if(this._databaseType===n.NotEvaluated){if(null!==e.applicationCache){const t=e.applicationCache.getDatabaseType(this._cacheableFeatureSetSourceKey());if(null!==t)return t}if(null!==this._databaseTypeProbed)return this._databaseTypeProbed;const t=[{thetype:n.SqlServer,testwhere:"(CAST( '2015-01-01' as DATETIME) = CAST( '2015-01-01' as DATETIME)) AND OBJECTID<0"},{thetype:n.Oracle,testwhere:"(TO_DATE('2003-11-18','YYYY-MM-DD') = TO_DATE('2003-11-18','YYYY-MM-DD')) AND OBJECTID<0"},{thetype:n.StandardisedNoInterval,testwhere:"(date '2015-01-01 10:10:10' = date '2015-01-01 10:10:10') AND OBJECTID<0"}];let r=y(((e,r)=>{this._getDatabaseTypeImpl(t,0).then((t=>{this._databaseType=t,e(this._databaseType)}),(e=>{r(e)}))}));return null!==e.applicationCache&&(e.applicationCache.setDatabaseType(this._cacheableFeatureSetSourceKey(),r),r=r.catch((t=>{throw e.applicationCache.clearDatabaseType(this._cacheableFeatureSetSourceKey()),t}))),this._databaseTypeProbed=r,this._databaseTypeProbed}return b(this._databaseType)}_cacheableFeatureSetSourceKey(){return"MUSTBESET"}_getDatabaseTypeImpl(e,t){return t>=e.length?b(n.StandardisedNoInterval):this._runDatabaseProbe(e[t].testwhere).then((r=>!0===r?e[t].thetype:this._getDatabaseTypeImpl(e,t+1)))}_runDatabaseProbe(e){return null!==this._parent?this._parent._runDatabaseProbe(e):F(new Error("Not Implemented"))}isTable(){return this._parent.isTable()}_featureFromCache(e){if(void 0!==this._featureCache[e])return this._featureCache[e]}_isInFeatureSet(e){return i.Unknown}_getSet(e){throw new Error("Not implemented in abstract class")}_getFeature(e,t,r){try{return this._checkCancelled(r),void 0!==this._featureFromCache(t)?b(this._featureFromCache(t)):this._getFeatures(e,t,this._maxProcessingRate(),r).then((()=>(this._checkCancelled(r),void 0!==this._featureFromCache(t)?this._featureFromCache(t):F(new Error("Feature Not Found")))))}catch(n){return F(n)}}_getFeatureBatch(e,t){try{this._checkCancelled(t);const n=new r([],e,!1,null),s=[];return this._getFeatures(n,-1,e.length,t).then((()=>{this._checkCancelled(t);for(const t of e)void 0!==this._featureFromCache(t)&&s.push(this._featureFromCache(t));return s}))}catch(n){return F(n)}}_getFeatures(e,t,r,n){return b("success")}_getFilteredSet(e,t,r,n,s){throw new Error("Not implemented in abstract class")}_refineSetBlock(e,t,r){try{if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQueryRate()))return this._expandPagedSet(e,this._maxQueryRate(),0,0,r).then((()=>this._refineSetBlock(e,t,r)));this._checkCancelled(r);const n=e._candidates.length;this._refineKnowns(e,t);let s=n-e._candidates.length;return 0===e._candidates.length||s>=t?b(e):this._refineIfParentKnown(e,t-s,r).then((()=>{if(this._checkCancelled(r),this._refineKnowns(e,t-s),s=n-e._candidates.length,s<t&&e._candidates.length>0){const n=t-s,i=this._prepareFetchAndRefineSet(e._candidates);return this._fetchAndRefineFeatures(i,i.length>n?n:e._candidates.length,r).then((()=>(this._checkCancelled(r),this._refineKnowns(e,t-s),e)))}return e}))}catch(n){return F(n)}}_fetchAndRefineFeatures(e,t,r){return null}_prepareFetchAndRefineSet(e){const t=[];for(let r=0;r<e.length;r++)this._isPhysicalFeature(e[r])&&t.push(e[r]);return t}_isPhysicalFeature(e){return null===this._parent||this._parent._isPhysicalFeature(e)}_refineKnowns(e,t){let r=0,n=null;const s=[];t=this._maxQueryRate();for(let a=0;a<e._candidates.length&&"GETPAGES"!==e._candidates[a];a++){let h=!1;const u=this._candidateIdTransform(e._candidates[a]);u!==e._candidates[a]&&(h=!0);const l=this._isInFeatureSet(u);if(l===i.InFeatureSet)!0===h?e._known.includes(u)||(e._known.push(u),r+=1):(e._known.push(e._candidates[a]),r+=1),null===n?n={start:a,end:a}:n.end===a-1?n.end=a:(s.push(n),n={start:a,end:a});else if(l===i.NotInFeatureSet)null===n?n={start:a,end:a}:n.end===a-1?n.end=a:(s.push(n),n={start:a,end:a}),r+=1;else if(l===i.Unknown&&(r+=1,!0===e._ordered))break;if(r>=t)break}null!==n&&s.push(n);for(let i=s.length-1;i>=0;i--)e._candidates.splice(s[i].start,s[i].end-s[i].start+1)}_refineIfParentKnown(e,t,n){const s=new r([],[],e._ordered,null);return s._candidates=e._candidates.slice(0),this._parent._refineSetBlock(s,t,n)}_candidateIdTransform(e){return this._parent._candidateIdTransform(e)}_checkIfNeedToExpandKnownPage(e,t){if(null===e.pagesDefinition)return!1;let r=0;for(let n=e._lastFetchedIndex;n<e._known.length;n++){if("GETPAGES"===e._known[n])return!0;if(void 0===this._featureCache[e._known[n]]&&(r+=1,r>=t))break}return!1}_checkIfNeedToExpandCandidatePage(e,t){if(null===e.pagesDefinition)return!1;let r=0;for(let n=0;n<e._candidates.length;n++){if("GETPAGES"===e._candidates[n])return!0;if(r+=1,r>=t)break}return!1}_expandPagedSet(e,t,r,n,s){return null===this._parent?F(new Error("Parent Paging not implemented")):this._parent._expandPagedSet(e,t,r,n,s)}_expandPagedSetFeatureSet(e,t,r,n,s){return e._known.length>0&&"GETPAGES"===e._known[e._known.length-1]&&(n=1),0===n&&e._candidates.length>0&&"GETPAGES"===e._candidates[e._candidates.length-1]&&(n=2),0===n?b("finished"):this._getPage(e,n,s).then((n=>r+n<t?this._expandPagedSet(e,t,r+n,0,s):"success"))}_getPage(e,t,r){const n=1===t?e._known:e._candidates;if(e.pagesDefinition.internal.set.length>e.pagesDefinition.resultOffset||!0===e.pagesDefinition.internal.fullyResolved){n.length=n.length-1;let t=0;for(let s=0;s<e.pagesDefinition.resultRecordCount&&!(e.pagesDefinition.resultOffset+s>=e.pagesDefinition.internal.set.length);s++)n[n.length]=e.pagesDefinition.internal.set[e.pagesDefinition.resultOffset+s],t++;e.pagesDefinition.resultOffset+=t;let r=!1;return!0===e.pagesDefinition.internal.fullyResolved&&e.pagesDefinition.internal.set.length<=e.pagesDefinition.resultOffset&&(r=!0),!1===r&&n.push("GETPAGES"),b(t)}return this._getPhysicalPage(e,t,r).then((()=>this._getPage(e,t,r)))}_getPhysicalPage(e,t,r){return null}_clonePageDefinition(e){return null===this._parent?null:this._parent._clonePageDefinition(e)}_first(e){return this.iterator(e).next()}first(e){return this._first(e)}calculateStatistic(e,t,r,n){return this._ensureLoaded().then((()=>this._stat(e,t,"",null,null,r,n).then((s=>!1===s.calculated?this._manualStat(e,t,r,n).then((e=>e.result)):s.result))))}_manualStat(e,t,r,n){switch(e.toLowerCase()){case"count":return m(this,n).then((e=>({calculated:!0,result:e})));case"distinct":return g(this,t,r).then((e=>({calculated:!0,result:e})));case"avg":case"mean":return f(this,t,n).then((e=>({calculated:!0,result:e})));case"stdev":return p(this,t,n).then((e=>({calculated:!0,result:e})));case"variance":return _(this,t,n).then((e=>({calculated:!0,result:e})));case"sum":return d(this,t,n).then((e=>({calculated:!0,result:e})));case"min":return c(this,t,n).then((e=>({calculated:!0,result:e})));case"max":return o(this,t,n).then((e=>({calculated:!0,result:e})));default:return b({calculated:!0,result:0})}}_stat(e,t,r,n,s,i,a){return this._parent._stat(e,t,r,n,s,i,a).then((h=>!1===h.calculated?null===s&&""===r&&null===n?this._manualStat(e,t,i,a):{calculated:!1}:h))}_unionAllGeomSelf(e){const t=this.iterator(this._defaultTracker(e)),r=[];return y(((e,n)=>{this._unionShapeInBatches(r,t,e,n)}))}_unionAllGeom(e){return y(((t,r)=>{const n=this.iterator(this._defaultTracker(e)),s=[];this._unionShapeInBatches(s,n,t,r)}))}_unionShapeInBatches(e,t,r,n){t.next().then((s=>{try{null!==s&&null!==s.geometry&&e.push(s.geometry),e.length>30||null===s&&e.length>1?T(e).then((i=>{try{null===s?r(i):(e=[i],this._unionShapeInBatches(e,t,r,n))}catch(a){n(a)}}),n):null===s?1===e.length?r(e[0]):r(null):this._unionShapeInBatches(e,t,r,n)}catch(i){n(i)}}),n)}iterator(e){return new t(this,e)}intersection(e,t=!1){return v._featuresetFunctions.intersection.bind(this)(e,t)}difference(e,t=!1,r=!0){return v._featuresetFunctions.difference.bind(this)(e,t,r)}symmetricDifference(e,t=!1,r=!0){return v._featuresetFunctions.symmetricDifference.bind(this)(e,t,r)}morphShape(e,t,r="unknown",n=null){return v._featuresetFunctions.morphShape.bind(this)(e,t,r,n)}morphShapeAndAttributes(e,t,r="unknown"){return v._featuresetFunctions.morphShapeAndAttributes.bind(this)(e,t,r)}union(e,t=!1){return v._featuresetFunctions.union.bind(this)(e,t)}intersects(e){return v._featuresetFunctions.intersects.bind(this)(e)}envelopeIntersects(e){return v._featuresetFunctions.envelopeIntersects.bind(this)(e)}contains(e){return v._featuresetFunctions.contains.bind(this)(e)}overlaps(e){return v._featuresetFunctions.overlaps.bind(this)(e)}relate(e,t){return v._featuresetFunctions.relate.bind(this)(e,t)}within(e){return v._featuresetFunctions.within.bind(this)(e)}touches(e){return v._featuresetFunctions.touches.bind(this)(e)}top(e){return v._featuresetFunctions.top.bind(this)(e)}crosses(e){return v._featuresetFunctions.crosses.bind(this)(e)}buffer(e,t,r,n=!0){return v._featuresetFunctions.buffer.bind(this)(e,t,r,n)}filter(e,t=null){return v._featuresetFunctions.filter.bind(this)(e,t)}orderBy(e){return v._featuresetFunctions.orderBy.bind(this)(e)}dissolve(e,t){return v._featuresetFunctions.dissolve.bind(this)(e,t)}groupby(e,t){return v._featuresetFunctions.groupby.bind(this)(e,t)}reduce(e,t=null,r){return y(((n,s)=>{this._reduceImpl(this.iterator(this._defaultTracker(r)),e,t,0,n,s,0)}))}_reduceImpl(e,t,r,n,s,i,a){try{if(++a>1e3)return void setTimeout((()=>{a=0,this._reduceImpl(e,t,r,n,s,i,a)}));e.next().then((h=>{try{if(null===h)s(r);else{const u=t(r,h,n,this);S(u)?u.then((r=>{this._reduceImpl(e,t,r,n+1,s,i,a)}),i):this._reduceImpl(e,t,u,n+1,s,i,a)}}catch(u){i(u)}}),i)}catch(h){i(h)}}removeField(e){return v._featuresetFunctions.removeField.bind(this)(e)}addField(e,t,r=null){return v._featuresetFunctions.addField.bind(this)(e,t,r)}sumArea(e,t=!1,r){const n=a(e);return this.reduce(((e,r)=>null===r.geometry?0:t?P(r.geometry,n).then((t=>e+t)):w(r.geometry,n).then((t=>e+t))),0,r)}sumLength(e,t=!1,r){const n=h(e);return this.reduce(((e,r)=>null===r.geometry?0:t?D(r.geometry,n).then((t=>e+t)):k(r.geometry,n).then((t=>e+t))),0,r)}_substituteVars(e,t){if(null!==t){const r={};for(const e in t)r[e.toLowerCase()]=t[e];e.parameters=r}}distinct(e,t=1e3,r=null,n){return this.load().then((()=>{const s=I.create(e,this.getFieldsIndex());return this._substituteVars(s,r),this.calculateStatistic("distinct",s,t,this._defaultTracker(n))}))}min(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("min",n,-1,this._defaultTracker(r))}))}max(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("max",n,-1,this._defaultTracker(r))}))}avg(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("avg",n,-1,this._defaultTracker(r))}))}sum(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("sum",n,-1,this._defaultTracker(r))}))}stdev(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("stdev",n,-1,this._defaultTracker(r))}))}variance(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("variance",n,-1,this._defaultTracker(r))}))}count(e){return this.load().then((()=>this.calculateStatistic("count",I.create("1",this.getFieldsIndex()),-1,this._defaultTracker(e))))}_defaultTracker(e){return e||{aborted:!1}}forEach(e,t){return y(((r,n)=>{this._forEachImpl(this.iterator(this._defaultTracker(t)),e,this,r,n,0)}))}_forEachImpl(e,t,r,n,s,i){try{if(++i>1e3)return void setTimeout((()=>{i=0,this._forEachImpl(e,t,r,n,s,i)}),0);e.next().then((a=>{try{if(null===a)n(r);else{const h=t(a);null==h?this._forEachImpl(e,t,r,n,s,i):S(h)?h.then((()=>{try{this._forEachImpl(e,t,r,n,s,i)}catch(a){s(a)}}),s):this._forEachImpl(e,t,r,n,s,i)}}catch(h){s(h)}}),s)}catch(a){s(a)}}convertToJSON(e){const t={layerDefinition:{geometryType:this.geometryType,fields:[]},featureSet:{features:[],geometryType:this.geometryType}};for(let r=0;r<this.fields.length;r++)t.layerDefinition.fields.push(u(this.fields[r]));return this.reduce(((e,r)=>{const n={geometry:r.geometry&&r.geometry.toJSON(),attributes:{}};for(const t in r.attributes)n.attributes[t]=r.attributes[t];return t.featureSet.features.push(n),1}),0,e).then((()=>t))}castToText(){return"object, FeatureSet"}queryAttachments(e,t,r,n,s){return this._parent.queryAttachments(e,t,r,n,s)}serviceUrl(){return this._parent.serviceUrl()}subtypes(){return this.typeIdField?{subtypeField:this.typeIdField,subtypes:this.types?this.types.map((e=>({name:e.name,code:e.id}))):[]}:null}relationshipMetaData(){return this._parent.relationshipMetaData()}get gdbVersion(){return this._parent?this._parent.gdbVersion:""}schema(){const e=[];for(const t of this.fields)e.push(u(t));return{objectIdField:this.objectIdField,globalIdField:this.globalIdField,geometryType:void 0===l[this.geometryType]?"":l[this.geometryType],fields:e}}convertToText(e,t){return"schema"===e?this._ensureLoaded().then((()=>JSON.stringify(this.schema()))):"featureset"===e?this._ensureLoaded().then((()=>{const e=[];return this.reduce(((t,r)=>{const n={geometry:r.geometry?r.geometry.toJSON():null,attributes:r.attributes};return null!==n.geometry&&n.geometry.spatialReference&&delete n.geometry.spatialReference,e.push(n),1}),0,t).then((()=>{const t=this.schema();return t.features=e,t.spatialReference=this.spatialReference.toJSON(),JSON.stringify(t)}))})):b(this.castToText())}getFeatureByObjectId(e,t){return this._parent.getFeatureByObjectId(e,t)}getOwningSystemUrl(){return this._parent.getOwningSystemUrl()}getIdentityUser(){return this._parent.getIdentityUser()}getRootFeatureSet(){return null!==this._parent?this._parent.getRootFeatureSet():this}getDataSourceFeatureSet(){return null!==this._parent?this._parent.getDataSourceFeatureSet():this}castAsJson(e=null){return"keeptype"===e?.featureset?this:"none"===e?.featureset?null:{type:"FeatureSet"}}castAsJsonAsync(e=null,t=null){return"keeptype"===t?.featureset?b(this):"schema"===t?.featureset?this._ensureLoaded().then((()=>JSON.parse(JSON.stringify(this.schema())))):"none"===t?.featureset?b(null):this._ensureLoaded().then((()=>{const r=[];return this.reduce(((e,n)=>{const s={geometry:n.geometry?!0===t?.keepGeometryType?n.geometry:n.geometry.toJSON():null,attributes:n.attributes};return null!==s.geometry&&s.geometry.spatialReference&&!0!==t?.keepGeometryType&&delete s.geometry.spatialReference,r.push(s),1}),0,e).then((()=>{const e=this.schema();return e.features=r,e.spatialReference=!0===t?.keepGeometryType?this.spatialReference:this.spatialReference.toJSON(),e}))}))}}v._featuresetFunctions={};export{v as default};
5
+ import e from"./cache.js";import t from"./FeatureSetIterator.js";import s from"./IdSet.js";import{FeatureServiceDatabaseType as r,layerGeometryEsriConstants as a,IdState as n,convertSquareUnitsToCode as i,convertLinearUnitsToCode as l,esriFieldToJson as u,layerGeometryEsriRestConstants as h}from"./shared.js";import{max as c,min as o,sum as d,variance as _,stdev as p,mean as f,distinct as g,count as y}from"./stats.js";import{isPromiseLike as m}from"../../../core/promiseUtils.js";import{WhereClause as b}from"../../../core/sql/WhereClause.js";import{union as F,geodesicArea as S,planarArea as w,geodesicLength as I,planarLength as T}from"../../../geometry/geometryEngineAsync.js";import P from"../../../geometry/SpatialReference.js";import D from"../../../layers/support/FieldsIndex.js";class k{constructor(e){this.recentlyUsedQueries=null,this.featureSetQueryInterceptor=null,this._idstates=[],this._parent=null,this._wset=null,this._mainSetInUse=null,this._maxProcessing=200,this._maxQuery=500,this._totalCount=-1,this._databaseType=r.NotEvaluated,this._databaseTypeProbed=null,this.declaredRootClass="esri.arcade.featureset.support.FeatureSet",this._featureCache=[],this.types=null,this.fields=null,this.geometryType="",this.objectIdField="",this.globalIdField="",this.spatialReference=null,this.hasM=!1,this.hasZ=!1,this._transparent=!1,this.loaded=!1,this._loadPromise=null,this._fieldsIndex=null,e&&e.lrucache&&(this.recentlyUsedQueries=e.lrucache),e&&e.interceptor&&(this.featureSetQueryInterceptor=e.interceptor)}optimisePagingFeatureQueries(e){this._parent&&this._parent.optimisePagingFeatureQueries(e)}_hasMemorySource(){return!0}prop(e,t){return void 0===t?this[e]:(void 0!==this[e]&&(this[e]=t),this)}end(){return null!==this._parent&&!0===this._parent._transparent?this._parent.end():this._parent}_ensureLoaded(){return this.load()}load(){return null===this._loadPromise&&(this._loadPromise=this.loadImpl()),this._loadPromise}async loadImpl(){return!0===this._parent.loaded?(this._initialiseFeatureSet(),this):(await this._parent.load(),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){null!==this._parent?(this.fields=this._parent.fields.slice(0),this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types):(this.fields=[],this.typeIdField="",this.objectIdField="",this.globalIdField="",this.spatialReference=new P({wkid:4326}),this.geometryType=a.point)}getField(e,t){let s;return(t=t||this.fields)&&(e=e.toLowerCase(),t.some((t=>(t&&t.name.toLowerCase()===e&&(s=t),!!s)))),s}getFieldsIndex(){return null===this._fieldsIndex&&(this._fieldsIndex=new D(this.fields)),this._fieldsIndex}_maxProcessingRate(){return null!==this._parent?Math.min(this._maxProcessing,this._parent._maxProcessingRate()):Math.min(this._maxProcessing,this._maxQueryRate())}_maxQueryRate(){return null!==this._parent?Math.max(this._maxQuery,this._parent._maxQueryRate()):this._maxQuery}_checkCancelled(e){if(null!==e&&e.aborted)throw new Error("Operation has been cancelled.")}nativeCapabilities(){return this._parent.nativeCapabilities()}async _canDoAggregates(e,t,s,r,a){return null!==this._parent&&this._parent._canDoAggregates(e,t,s,r,a)}async _getAggregatePagesDataSourceDefinition(e,t,s,r,a,n,i){if(null===this._parent)throw new Error("Should never be called");return this._parent._getAggregatePagesDataSourceDefinition(e,t,s,r,a,n,i)}async _getAgregagtePhysicalPage(e,t,s){if(null===this._parent)throw new Error("Should never be called");return this._parent._getAgregagtePhysicalPage(e,t,s)}async databaseType(){if(this._databaseType===r.NotEvaluated){if(null!==e.applicationCache){const t=e.applicationCache.getDatabaseType(this._cacheableFeatureSetSourceKey());if(null!==t)return t}if(null!==this._databaseTypeProbed)return this._databaseTypeProbed;try{this._databaseTypeProbed=this._getDatabaseTypeImpl(),null!==e.applicationCache&&e.applicationCache.setDatabaseType(this._cacheableFeatureSetSourceKey(),this._databaseTypeProbed)}catch(t){throw null!==e.applicationCache&&e.applicationCache.clearDatabaseType(this._cacheableFeatureSetSourceKey()),t}return this._databaseTypeProbed}return this._databaseType}async _getDatabaseTypeImpl(){const e=[{thetype:r.SqlServer,testwhere:"(CAST( '2015-01-01' as DATETIME) = CAST( '2015-01-01' as DATETIME)) AND OBJECTID<0"},{thetype:r.Oracle,testwhere:"(TO_DATE('2003-11-18','YYYY-MM-DD') = TO_DATE('2003-11-18','YYYY-MM-DD')) AND OBJECTID<0"},{thetype:r.StandardisedNoInterval,testwhere:"(date '2015-01-01 10:10:10' = date '2015-01-01 10:10:10') AND OBJECTID<0"}];for(const t of e){if(!0===await this._runDatabaseProbe(t.testwhere))return t.thetype}return r.StandardisedNoInterval}_cacheableFeatureSetSourceKey(){return"MUSTBESET"}async _runDatabaseProbe(e){if(null!==this._parent)return this._parent._runDatabaseProbe(e);throw new Error("Not Implemented")}isTable(){return this._parent.isTable()}_featureFromCache(e){if(void 0!==this._featureCache[e])return this._featureCache[e]}_isInFeatureSet(e){return n.Unknown}_getSet(e){throw new Error("Not implemented in abstract class")}async _getFeature(e,t,s){if(this._checkCancelled(s),void 0!==this._featureFromCache(t))return this._featureFromCache(t);if(await this._getFeatures(e,t,this._maxProcessingRate(),s),this._checkCancelled(s),void 0!==this._featureFromCache(t))return this._featureFromCache(t);throw new Error("Feature Not Found")}async _getFeatureBatch(e,t){this._checkCancelled(t);const r=new s([],e,!1,null),a=[];await this._getFeatures(r,-1,e.length,t),this._checkCancelled(t);for(const s of e)void 0!==this._featureFromCache(s)&&a.push(this._featureFromCache(s));return a}async _getFeatures(e,t,s,r){return"success"}_getFilteredSet(e,t,s,r,a){throw new Error("Not implemented in abstract class")}async _refineSetBlock(e,t,s){if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQueryRate()))return await this._expandPagedSet(e,this._maxQueryRate(),0,0,s),this._refineSetBlock(e,t,s);this._checkCancelled(s);const r=e._candidates.length;this._refineKnowns(e,t);let a=r-e._candidates.length;if(0===e._candidates.length)return e;if(a>=t)return e;if(await this._refineIfParentKnown(e,t-a,s),this._checkCancelled(s),this._refineKnowns(e,t-a),a=r-e._candidates.length,a<t&&e._candidates.length>0){const r=t-a,n=this._prepareFetchAndRefineSet(e._candidates);return await this._fetchAndRefineFeatures(n,n.length>r?r:e._candidates.length,s),this._checkCancelled(s),this._refineKnowns(e,t-a),e}return e}_fetchAndRefineFeatures(e,t,s){return null}_prepareFetchAndRefineSet(e){const t=[];for(let s=0;s<e.length;s++)this._isPhysicalFeature(e[s])&&t.push(e[s]);return t}_isPhysicalFeature(e){return null===this._parent||this._parent._isPhysicalFeature(e)}_refineKnowns(e,t){let s=0,r=null;const a=[];t=this._maxQueryRate();for(let i=0;i<e._candidates.length&&"GETPAGES"!==e._candidates[i];i++){let l=!1;const u=this._candidateIdTransform(e._candidates[i]);u!==e._candidates[i]&&(l=!0);const h=this._isInFeatureSet(u);if(h===n.InFeatureSet)!0===l?e._known.includes(u)||(e._known.push(u),s+=1):(e._known.push(e._candidates[i]),s+=1),null===r?r={start:i,end:i}:r.end===i-1?r.end=i:(a.push(r),r={start:i,end:i});else if(h===n.NotInFeatureSet)null===r?r={start:i,end:i}:r.end===i-1?r.end=i:(a.push(r),r={start:i,end:i}),s+=1;else if(h===n.Unknown&&(s+=1,!0===e._ordered))break;if(s>=t)break}null!==r&&a.push(r);for(let n=a.length-1;n>=0;n--)e._candidates.splice(a[n].start,a[n].end-a[n].start+1)}_refineIfParentKnown(e,t,r){const a=new s([],[],e._ordered,null);return a._candidates=e._candidates.slice(0),this._parent._refineSetBlock(a,t,r)}_candidateIdTransform(e){return this._parent._candidateIdTransform(e)}_checkIfNeedToExpandKnownPage(e,t){if(null===e.pagesDefinition)return!1;let s=0;for(let r=e._lastFetchedIndex;r<e._known.length;r++){if("GETPAGES"===e._known[r])return!0;if(void 0===this._featureCache[e._known[r]]&&(s+=1,s>=t))break}return!1}_checkIfNeedToExpandCandidatePage(e,t){if(null===e.pagesDefinition)return!1;let s=0;for(let r=0;r<e._candidates.length;r++){if("GETPAGES"===e._candidates[r])return!0;if(s+=1,s>=t)break}return!1}async _expandPagedSet(e,t,s,r,a){if(null===this._parent)throw new Error("Parent Paging not implemented");return this._parent._expandPagedSet(e,t,s,r,a)}async _expandPagedSetFeatureSet(e,t,s,r,a){if(e._known.length>0&&"GETPAGES"===e._known[e._known.length-1]&&(r=1),0===r&&e._candidates.length>0&&"GETPAGES"===e._candidates[e._candidates.length-1]&&(r=2),0===r)return"finished";const n=await this._getPage(e,r,a);return s+n<t?this._expandPagedSet(e,t,s+n,0,a):"success"}async _getPage(e,t,s){const r=1===t?e._known:e._candidates;if(e.pagesDefinition.internal.set.length>e.pagesDefinition.resultOffset||!0===e.pagesDefinition.internal.fullyResolved){r.length=r.length-1;let t=0;for(let a=0;a<e.pagesDefinition.resultRecordCount&&!(e.pagesDefinition.resultOffset+a>=e.pagesDefinition.internal.set.length);a++)r[r.length]=e.pagesDefinition.internal.set[e.pagesDefinition.resultOffset+a],t++;e.pagesDefinition.resultOffset+=t;let s=!1;return!0===e.pagesDefinition.internal.fullyResolved&&e.pagesDefinition.internal.set.length<=e.pagesDefinition.resultOffset&&(s=!0),!1===s&&r.push("GETPAGES"),t}return await this._getPhysicalPage(e,t,s),this._getPage(e,t,s)}_getPhysicalPage(e,t,s){return null}_clonePageDefinition(e){return null===this._parent?null:this._parent._clonePageDefinition(e)}_first(e){return this.iterator(e).next()}first(e){return this._first(e)}async calculateStatistic(e,t,s,r){await this._ensureLoaded();let a=await this._stat(e,t,"",null,null,s,r);return!1===a.calculated&&(a=await this._manualStat(e,t,s,r)),a.result}async _manualStat(e,t,s,r){let a=null;switch(e.toLowerCase()){case"count":return a=await y(this,r),{calculated:!0,result:a};case"distinct":return a=await g(this,t,s),{calculated:!0,result:a};case"avg":case"mean":return a=await f(this,t,r),{calculated:!0,result:a};case"stdev":return a=await p(this,t,r),{calculated:!0,result:a};case"variance":return a=await _(this,t,r),{calculated:!0,result:a};case"sum":return a=await d(this,t,r),{calculated:!0,result:a};case"min":return a=await o(this,t,r),{calculated:!0,result:a};case"max":return a=await c(this,t,r),{calculated:!0,result:a};default:return{calculated:!0,result:0}}}async _stat(e,t,s,r,a,n,i){const l=await this._parent._stat(e,t,s,r,a,n,i);return!1===l.calculated?null===a&&""===s&&null===r?this._manualStat(e,t,n,i):{calculated:!1}:l}_unionAllGeomSelf(e){const t=this.iterator(this._defaultTracker(e)),s=[];return new Promise(((e,r)=>{this._unionShapeInBatches(s,t,e,r)}))}_unionAllGeom(e){return new Promise(((t,s)=>{const r=this.iterator(this._defaultTracker(e)),a=[];this._unionShapeInBatches(a,r,t,s)}))}_unionShapeInBatches(e,t,s,r){t.next().then((a=>{try{null!==a&&null!==a.geometry&&e.push(a.geometry),e.length>30||null===a&&e.length>1?F(e).then((n=>{try{null===a?s(n):(e=[n],this._unionShapeInBatches(e,t,s,r))}catch(i){r(i)}}),r):null===a?1===e.length?s(e[0]):s(null):this._unionShapeInBatches(e,t,s,r)}catch(n){r(n)}}),r)}iterator(e){return new t(this,e)}intersection(e,t=!1){return k._featuresetFunctions.intersection.bind(this)(e,t)}difference(e,t=!1,s=!0){return k._featuresetFunctions.difference.bind(this)(e,t,s)}symmetricDifference(e,t=!1,s=!0){return k._featuresetFunctions.symmetricDifference.bind(this)(e,t,s)}morphShape(e,t,s="unknown",r=null){return k._featuresetFunctions.morphShape.bind(this)(e,t,s,r)}morphShapeAndAttributes(e,t,s="unknown"){return k._featuresetFunctions.morphShapeAndAttributes.bind(this)(e,t,s)}union(e,t=!1){return k._featuresetFunctions.union.bind(this)(e,t)}intersects(e){return k._featuresetFunctions.intersects.bind(this)(e)}envelopeIntersects(e){return k._featuresetFunctions.envelopeIntersects.bind(this)(e)}contains(e){return k._featuresetFunctions.contains.bind(this)(e)}overlaps(e){return k._featuresetFunctions.overlaps.bind(this)(e)}relate(e,t){return k._featuresetFunctions.relate.bind(this)(e,t)}within(e){return k._featuresetFunctions.within.bind(this)(e)}touches(e){return k._featuresetFunctions.touches.bind(this)(e)}top(e){return k._featuresetFunctions.top.bind(this)(e)}crosses(e){return k._featuresetFunctions.crosses.bind(this)(e)}buffer(e,t,s,r=!0){return k._featuresetFunctions.buffer.bind(this)(e,t,s,r)}filter(e,t=null){return k._featuresetFunctions.filter.bind(this)(e,t)}orderBy(e){return k._featuresetFunctions.orderBy.bind(this)(e)}dissolve(e,t){return k._featuresetFunctions.dissolve.bind(this)(e,t)}groupby(e,t){return k._featuresetFunctions.groupby.bind(this)(e,t)}reduce(e,t=null,s){return new Promise(((r,a)=>{this._reduceImpl(this.iterator(this._defaultTracker(s)),e,t,0,r,a,0)}))}_reduceImpl(e,t,s,r,a,n,i){try{if(++i>1e3)return void setTimeout((()=>{i=0,this._reduceImpl(e,t,s,r,a,n,i)}));e.next().then((l=>{try{if(null===l)a(s);else{const u=t(s,l,r,this);m(u)?u.then((s=>{this._reduceImpl(e,t,s,r+1,a,n,i)}),n):this._reduceImpl(e,t,u,r+1,a,n,i)}}catch(u){n(u)}}),n)}catch(l){n(l)}}removeField(e){return k._featuresetFunctions.removeField.bind(this)(e)}addField(e,t,s=null){return k._featuresetFunctions.addField.bind(this)(e,t,s)}sumArea(e,t=!1,s){const r=i(e);return this.reduce(((e,s)=>null===s.geometry?0:t?S(s.geometry,r).then((t=>e+t)):w(s.geometry,r).then((t=>e+t))),0,s)}sumLength(e,t=!1,s){const r=l(e);return this.reduce(((e,s)=>null===s.geometry?0:t?I(s.geometry,r).then((t=>e+t)):T(s.geometry,r).then((t=>e+t))),0,s)}_substituteVars(e,t){if(null!==t){const s={};for(const e in t)s[e.toLowerCase()]=t[e];e.parameters=s}}async distinct(e,t=1e3,s=null,r){await this.load();const a=b.create(e,this.getFieldsIndex());return this._substituteVars(a,s),this.calculateStatistic("distinct",a,t,this._defaultTracker(r))}async min(e,t=null,s){await this.load();const r=b.create(e,this.getFieldsIndex());return this._substituteVars(r,t),this.calculateStatistic("min",r,-1,this._defaultTracker(s))}async max(e,t=null,s){await this.load();const r=b.create(e,this.getFieldsIndex());return this._substituteVars(r,t),this.calculateStatistic("max",r,-1,this._defaultTracker(s))}async avg(e,t=null,s){await this.load();const r=b.create(e,this.getFieldsIndex());return this._substituteVars(r,t),this.calculateStatistic("avg",r,-1,this._defaultTracker(s))}async sum(e,t=null,s){await this.load();const r=b.create(e,this.getFieldsIndex());return this._substituteVars(r,t),this.calculateStatistic("sum",r,-1,this._defaultTracker(s))}async stdev(e,t=null,s){await this.load();const r=b.create(e,this.getFieldsIndex());return this._substituteVars(r,t),this.calculateStatistic("stdev",r,-1,this._defaultTracker(s))}async variance(e,t=null,s){await this.load();const r=b.create(e,this.getFieldsIndex());return this._substituteVars(r,t),this.calculateStatistic("variance",r,-1,this._defaultTracker(s))}async count(e){return await this.load(),this.calculateStatistic("count",b.create("1",this.getFieldsIndex()),-1,this._defaultTracker(e))}_defaultTracker(e){return e||{aborted:!1}}forEach(e,t){return new Promise(((s,r)=>{this._forEachImpl(this.iterator(this._defaultTracker(t)),e,this,s,r,0)}))}_forEachImpl(e,t,s,r,a,n){try{if(++n>1e3)return void setTimeout((()=>{n=0,this._forEachImpl(e,t,s,r,a,n)}),0);e.next().then((i=>{try{if(null===i)r(s);else{const l=t(i);null==l?this._forEachImpl(e,t,s,r,a,n):m(l)?l.then((()=>{try{this._forEachImpl(e,t,s,r,a,n)}catch(i){a(i)}}),a):this._forEachImpl(e,t,s,r,a,n)}}catch(l){a(l)}}),a)}catch(i){a(i)}}convertToJSON(e){const t={layerDefinition:{geometryType:this.geometryType,fields:[]},featureSet:{features:[],geometryType:this.geometryType}};for(let s=0;s<this.fields.length;s++)t.layerDefinition.fields.push(u(this.fields[s]));return this.reduce(((e,s)=>{const r={geometry:s.geometry&&s.geometry.toJSON(),attributes:{}};for(const t in s.attributes)r.attributes[t]=s.attributes[t];return t.featureSet.features.push(r),1}),0,e).then((()=>t))}castToText(){return"object, FeatureSet"}queryAttachments(e,t,s,r,a){return this._parent.queryAttachments(e,t,s,r,a)}serviceUrl(){return this._parent.serviceUrl()}subtypes(){return this.typeIdField?{subtypeField:this.typeIdField,subtypes:this.types?this.types.map((e=>({name:e.name,code:e.id}))):[]}:null}relationshipMetaData(){return this._parent.relationshipMetaData()}get gdbVersion(){return this._parent?this._parent.gdbVersion:""}schema(){const e=[];for(const t of this.fields)e.push(u(t));return{objectIdField:this.objectIdField,globalIdField:this.globalIdField,geometryType:void 0===h[this.geometryType]?"":h[this.geometryType],fields:e}}async convertToText(e,t){if("schema"===e)return await this._ensureLoaded(),JSON.stringify(this.schema());if("featureset"===e){await this._ensureLoaded();const e=[];await this.reduce(((t,s)=>{const r={geometry:s.geometry?s.geometry.toJSON():null,attributes:s.attributes};return null!==r.geometry&&r.geometry.spatialReference&&delete r.geometry.spatialReference,e.push(r),1}),0,t);const s=this.schema();return s.features=e,s.spatialReference=this.spatialReference.toJSON(),JSON.stringify(s)}return this.castToText()}getFeatureByObjectId(e,t){return this._parent.getFeatureByObjectId(e,t)}getOwningSystemUrl(){return this._parent.getOwningSystemUrl()}getIdentityUser(){return this._parent.getIdentityUser()}getRootFeatureSet(){return null!==this._parent?this._parent.getRootFeatureSet():this}getDataSourceFeatureSet(){return null!==this._parent?this._parent.getDataSourceFeatureSet():this}castAsJson(e=null){return"keeptype"===e?.featureset?this:"none"===e?.featureset?null:{type:"FeatureSet"}}async castAsJsonAsync(e=null,t=null){if("keeptype"===t?.featureset)return this;if("schema"===t?.featureset)return await this._ensureLoaded(),JSON.parse(JSON.stringify(this.schema()));if("none"===t?.featureset)return null;await this._ensureLoaded();const s=[];await this.reduce(((e,r)=>{const a={geometry:r.geometry?!0===t?.keepGeometryType?r.geometry:r.geometry.toJSON():null,attributes:r.attributes};return null!==a.geometry&&a.geometry.spatialReference&&!0!==t?.keepGeometryType&&delete a.geometry.spatialReference,s.push(a),1}),0,e);const r=this.schema();return r.features=s,r.spatialReference=!0===t?.keepGeometryType?this.spatialReference:this.spatialReference.toJSON(),r}}k._featuresetFunctions={};export{k as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{create as t,resolve as e}from"../../../core/promiseUtils.js";class n{constructor(t,e){this._lastId=-1,this._progress=e,this._parent=t}reset(){this._lastId=-1}nextBatch(e){if(null!==this._parent._mainSetInUse)return this._parent._mainSetInUse.then((t=>this.nextBatch(e)),(t=>this.nextBatch(e)));const n={returnpromise:null,hasset:!1},s=[];return n.returnpromise=t(((t,a)=>{this._parent._getSet(this._progress).then((h=>{let _=h._known.length-1;if("GETPAGES"===h._known[h._known.length-1]&&(_-=1),this._lastId+e>_&&h._known.length>0&&"GETPAGES"===h._known[h._known.length-1])this._parent._expandPagedSet(h,this._parent._maxQueryRate(),0,0,this._progress).then((s=>{n.hasset=!0,this._parent._mainSetInUse=null,this.nextBatch(e).then(t,a)}),(t=>{n.hasset=!0,this._parent._mainSetInUse=null,a(t)}));else{if(_>=this._lastId+e||0===h._candidates.length){for(let t=0;t<e;t++){const e=t+this._lastId+1;if(e>=h._known.length)break;s[t]=h._known[e]}return this._lastId+=s.length,0===s.length&&(n.hasset=!0,this._parent._mainSetInUse=null,t([])),void this._parent._getFeatureBatch(s,this._progress).then((e=>{n.hasset=!0,this._parent._mainSetInUse=null,t(e)}),(t=>{n.hasset=!0,this._parent._mainSetInUse=null,a(t)}))}this._parent._refineSetBlock(h,this._parent._maxProcessingRate(),this._progress).then((()=>{n.hasset=!0,this._parent._mainSetInUse=null,this.nextBatch(e).then(t,a)}),(t=>{n.hasset=!0,this._parent._mainSetInUse=null,a(t)}))}}),(t=>{n.hasset=!0,this._parent._mainSetInUse=null,a(t)}))})),!1===n.hasset&&(this._parent._mainSetInUse=n.returnpromise,n.hasset=!0),n.returnpromise}next(){if(null!==this._parent._mainSetInUse)return this._parent._mainSetInUse.then((t=>this.next()),(t=>this.next()));const e={returnpromise:null,hasset:!1};return e.returnpromise=t(((t,n)=>{this._parent._getSet(this._progress).then((s=>{this._lastId<s._known.length-1?"GETPAGES"===s._known[this._lastId+1]?this._parent._expandPagedSet(s,this._parent._maxQueryRate(),0,0,this._progress).then((t=>(e.hasset=!0,this._parent._mainSetInUse=null,this.next()))).then(t,n):(this._lastId+=1,this._parent._getFeature(s,s._known[this._lastId],this._progress).then((n=>{e.hasset=!0,this._parent._mainSetInUse=null,t(n)}),(t=>{e.hasset=!0,this._parent._mainSetInUse=null,n(t)}))):s._candidates.length>0?this._parent._refineSetBlock(s,this._parent._maxProcessingRate(),this._progress).then((()=>{e.hasset=!0,this._parent._mainSetInUse=null,this.next().then(t,n)}),(t=>{e.hasset=!0,this._parent._mainSetInUse=null,n(t)})):(e.hasset=!0,this._parent._mainSetInUse=null,t(null))}),(t=>{e.hasset=!0,this._parent._mainSetInUse=null,n(t)}))})),!1===e.hasset&&(this._parent._mainSetInUse=e.returnpromise,e.hasset=!0),e.returnpromise}count(){return-1!==this._parent._totalCount?e(this._parent._totalCount):this._parent._getSet(this._progress).then((t=>this._refineAllSets(t))).then((t=>(this._parent._totalCount=t._known.length,e(this._parent._totalCount))))}_refineAllSets(t){return t._known.length>0&&"GETPAGES"===t._known[t._known.length-1]?this._parent._expandPagedSet(t,this._parent._maxQueryRate(),0,1,this._progress).then((e=>this._refineAllSets(t))).then((t=>e(t))):t._candidates.length>0?"GETPAGES"===t._known[t._candidates.length-1]?this._parent._expandPagedSet(t,this._parent._maxQueryRate(),0,2,this._progress).then((e=>this._refineAllSets(t))).then((t=>e(t))):this._parent._refineSetBlock(t,this._parent._maxProcessingRate(),this._progress).then((t=>t._candidates.length>0?this._refineAllSets(t):e(t))):e(t)}}export{n as default};
5
+ class t{constructor(t,e){this._lastId=-1,this._progress=e,this._parent=t}reset(){this._lastId=-1}nextBatch(t){if(null!==this._parent._mainSetInUse)return this._parent._mainSetInUse.then((e=>this.nextBatch(t)),(e=>this.nextBatch(t)));const e={returnpromise:null,hasset:!1},n=[];return e.returnpromise=new Promise(((s,a)=>{this._parent._getSet(this._progress).then((i=>{let r=i._known.length-1;if("GETPAGES"===i._known[i._known.length-1]&&(r-=1),this._lastId+t>r&&i._known.length>0&&"GETPAGES"===i._known[i._known.length-1])this._parent._expandPagedSet(i,this._parent._maxQueryRate(),0,0,this._progress).then((n=>{e.hasset=!0,this._parent._mainSetInUse=null,this.nextBatch(t).then(s,a)}),(t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)}));else{if(r>=this._lastId+t||0===i._candidates.length){for(let e=0;e<t;e++){const t=e+this._lastId+1;if(t>=i._known.length)break;n[e]=i._known[t]}return this._lastId+=n.length,0===n.length&&(e.hasset=!0,this._parent._mainSetInUse=null,s([])),void this._parent._getFeatureBatch(n,this._progress).then((t=>{e.hasset=!0,this._parent._mainSetInUse=null,s(t)}),(t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)}))}this._parent._refineSetBlock(i,this._parent._maxProcessingRate(),this._progress).then((()=>{e.hasset=!0,this._parent._mainSetInUse=null,this.nextBatch(t).then(s,a)}),(t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)}))}}),(t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)}))})),!1===e.hasset&&(this._parent._mainSetInUse=e.returnpromise,e.hasset=!0),e.returnpromise}next(){if(null!==this._parent._mainSetInUse)return this._parent._mainSetInUse.then((t=>this.next()),(t=>this.next()));const t={returnpromise:null,hasset:!1};return t.returnpromise=new Promise(((e,n)=>{this._parent._getSet(this._progress).then((s=>{this._lastId<s._known.length-1?"GETPAGES"===s._known[this._lastId+1]?this._parent._expandPagedSet(s,this._parent._maxQueryRate(),0,0,this._progress).then((e=>(t.hasset=!0,this._parent._mainSetInUse=null,this.next()))).then(e,n):(this._lastId+=1,this._parent._getFeature(s,s._known[this._lastId],this._progress).then((n=>{t.hasset=!0,this._parent._mainSetInUse=null,e(n)}),(e=>{t.hasset=!0,this._parent._mainSetInUse=null,n(e)}))):s._candidates.length>0?this._parent._refineSetBlock(s,this._parent._maxProcessingRate(),this._progress).then((()=>{t.hasset=!0,this._parent._mainSetInUse=null,this.next().then(e,n)}),(e=>{t.hasset=!0,this._parent._mainSetInUse=null,n(e)})):(t.hasset=!0,this._parent._mainSetInUse=null,e(null))}),(e=>{t.hasset=!0,this._parent._mainSetInUse=null,n(e)}))})),!1===t.hasset&&(this._parent._mainSetInUse=t.returnpromise,t.hasset=!0),t.returnpromise}async count(){if(-1!==this._parent._totalCount)return this._parent._totalCount;const t=await this._parent._getSet(this._progress),e=await this._refineAllSets(t);return this._parent._totalCount=e._known.length,this._parent._totalCount}async _refineAllSets(t){if(t._known.length>0&&"GETPAGES"===t._known[t._known.length-1])return await this._parent._expandPagedSet(t,this._parent._maxQueryRate(),0,1,this._progress),this._refineAllSets(t);if(t._candidates.length>0){if("GETPAGES"===t._known[t._candidates.length-1])return await this._parent._expandPagedSet(t,this._parent._maxQueryRate(),0,2,this._progress),this._refineAllSets(t);const e=await this._parent._refineSetBlock(t,this._parent._maxProcessingRate(),this._progress);return e._candidates.length>0?this._refineAllSets(e):e}return t}}export{t as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{create as e,resolve as r,reject as t}from"../../../core/promiseUtils.js";import i from"../../../geometry/Extent.js";import n from"../../../layers/support/Field.js";var o,l;function s(e){return n.fromJSON(e.toJSON())}function y(e){return e.toJSON?e.toJSON():e}function u(e){return"string"==typeof e||e instanceof String}function p(e){return"boolean"==typeof e}function c(e){return"number"==typeof e}function a(e){return e instanceof Array}function m(e){return e instanceof Date}function d(e,r){return e===r||!(!m(e)||!m(r))&&e.getTime()===r.getTime()}function f(e){const r={};for(const t in e)r[t]=e[t];return r}function g(e){if(void 0===e)return null;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 109404;case"miles":case"mile":return 109413;case"kilometers":case"kilometer":case"km":return 109414}return null}function F(e){if(null===e)return null;switch(e.type){case"polygon":case"multipoint":case"polyline":return e.extent;case"point":return new i({xmin:e.x,ymin:e.y,xmax:e.x,ymax:e.y,spatialReference:e.spatialReference});case"extent":return e}return null}function G(e){if(void 0===e)return null;if("number"==typeof e)return e;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 9001;case"miles":case"mile":return 9035;case"kilometers":case"kilometer":case"km":return 9036}return null}function T(e,r){return e===r||("point"===e&&"esriGeometryPoint"===r||("polyline"===e&&"esriGeometryPolyline"===r||("polygon"===e&&"esriGeometryPolygon"===r||("extent"===e&&"esriGeometryEnvelope"===r||("multipoint"===e&&"esriGeometryMultipoint"===r||("point"===r&&"esriGeometryPoint"===e||("polyline"===r&&"esriGeometryPolyline"===e||("polygon"===r&&"esriGeometryPolygon"===e||("extent"===r&&"esriGeometryEnvelope"===e||"multipoint"===r&&"esriGeometryMultipoint"===e)))))))))}!function(e){e[e.Standardised=0]="Standardised",e[e.StandardisedNoInterval=1]="StandardisedNoInterval",e[e.SqlServer=2]="SqlServer",e[e.Oracle=3]="Oracle",e[e.Postgres=4]="Postgres",e[e.PGDB=5]="PGDB",e[e.FILEGDB=6]="FILEGDB",e[e.NotEvaluated=7]="NotEvaluated"}(o||(o={})),function(e){e[e.InFeatureSet=0]="InFeatureSet",e[e.NotInFeatureSet=1]="NotInFeatureSet",e[e.Unknown=2]="Unknown"}(l||(l={}));const S=1e3;function v(e){return function(r){e.reject(r)}}function P(e,r){return function(){try{e.apply(null,arguments)}catch(t){r.reject(t)}}}const I={point:"point",polygon:"polygon",polyline:"polyline",multipoint:"multipoint",extent:"extent",esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint",esriGeometryEnvelope:"extent",envelope:"extent"},b={point:"esriGeometryPoint",polygon:"esriGeometryPolygon",polyline:"esriGeometryPolyline",multipoint:"esriGeometryMultipoint",extent:"esriGeometryEnvelope",esriGeometryPoint:"esriGeometryPoint",esriGeometryPolygon:"esriGeometryPolygon",esriGeometryPolyline:"esriGeometryPolyline",esriGeometryMultipoint:"esriGeometryMultipoint",esriGeometryEnvelope:"esriGeometryEnvelope",envelope:"esriGeometryEnvelope"},D={"small-integer":"esriFieldTypeSmallInteger",integer:"esriFieldTypeInteger",long:"esriFieldTypeLong",single:"esriFieldTypeSingle",double:"esriFieldTypeDouble",string:"esriFieldTypeString",date:"esriFieldTypeDate",oid:"esriFieldTypeOID",geometry:"esriFieldTypeGeometry",blob:"esriFieldTypeBlob",raster:"esriFieldTypeRaster",guid:"esriFieldTypeGUID","global-id":"esriFieldTypeGlobalID",xml:"eesriFieldTypeXML",esriFieldTypeSmallInteger:"esriFieldTypeSmallInteger",esriFieldTypeInteger:"esriFieldTypeInteger",esriFieldTypeLong:"esriFieldTypeLong",esriFieldTypeSingle:"esriFieldTypeSingle",esriFieldTypeDouble:"esriFieldTypeDouble",esriFieldTypeString:"esriFieldTypeString",esriFieldTypeDate:"esriFieldTypeDate",esriFieldTypeOID:"esriFieldTypeOID",esriFieldTypeGeometry:"esriFieldTypeGeometry",esriFieldTypeBlob:"esriFieldTypeBlob",esriFieldTypeRaster:"esriFieldTypeRaster",esriFieldTypeGUID:"esriFieldTypeGUID",esriFieldTypeGlobalID:"esriFieldTypeGlobalID",esriFieldTypeXML:"eesriFieldTypeXML"};function x(e){switch(e){case"point":default:return"esriGeometryPoint";case"polygon":return"esriGeometryPolygon";case"multipoint":return"esriGeometryMultipoint";case"polyline":return"esriGeometryPolyline"}}function N(i,n){return e(((e,o)=>{const l=r(!0);i.reduce(((e,r,i,o)=>e.then((e=>{try{return n(e,r,i,o)}catch(l){return t(l)}}),(e=>t(e)))),l).then(e,o)}))}function O(e){return void 0===e?"":e=(e=(e=e.replace(/\/featureserver\/[0-9]*/i,"/FeatureServer")).replace(/\/mapserver\/[0-9]*/i,"/MapServer")).split("?")[0]}function E(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});const t="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(n=r.cmp,function(e){return function(r,t){const i={key:r,value:e[r]},o={key:t,value:e[t]};return n(i,o)}});var n;const o=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);let n,l;if(Array.isArray(r)){for(l="[",n=0;n<r.length;n++)n&&(l+=","),l+=e(r[n])||"null";return l+"]"}if(null===r)return"null";if(o.includes(r)){if(t)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}const s=o.push(r)-1,y=Object.keys(r).sort(i&&i(r));for(l="",n=0;n<y.length;n++){const t=y[n],i=e(r[t]);i&&(l&&(l+=","),l+=JSON.stringify(t)+":"+i)}return o.splice(s,1),"{"+l+"}"}(e)}export{o as FeatureServiceDatabaseType,l as IdState,P as callback,f as cloneAttributes,s as cloneField,G as convertLinearUnitsToCode,g as convertSquareUnitsToCode,S as defaultMaxRecords,d as equalityTest,v as errback,y as esriFieldToJson,O as extractServiceUrl,a as isArray,p as isBoolean,m as isDate,c as isNumber,u as isString,D as layerFieldEsriConstants,I as layerGeometryEsriConstants,b as layerGeometryEsriRestConstants,N as reduceArrayWithPromises,T as sameGeomType,F as shapeExtent,E as stableStringify,x as toEsriGeometryType};
5
+ import e from"../../../geometry/Extent.js";import r from"../../../layers/support/Field.js";var t,i;function n(e){return r.fromJSON(e.toJSON())}function o(e){return e.toJSON?e.toJSON():e}function l(e){return"string"==typeof e||e instanceof String}function s(e){return"boolean"==typeof e}function y(e){return"number"==typeof e}function u(e){return e instanceof Array}function p(e){return e instanceof Date}function c(e,r){return e===r||!(!p(e)||!p(r))&&e.getTime()===r.getTime()}function a(e){const r={};for(const t in e)r[t]=e[t];return r}function m(e){if(void 0===e)return null;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 109404;case"miles":case"mile":return 109413;case"kilometers":case"kilometer":case"km":return 109414}return null}function d(r){if(null===r)return null;switch(r.type){case"polygon":case"multipoint":case"polyline":return r.extent;case"point":return new e({xmin:r.x,ymin:r.y,xmax:r.x,ymax:r.y,spatialReference:r.spatialReference});case"extent":return r}return null}function f(e){if(void 0===e)return null;if("number"==typeof e)return e;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 9001;case"miles":case"mile":return 9035;case"kilometers":case"kilometer":case"km":return 9036}return null}function g(e,r){return e===r||("point"===e&&"esriGeometryPoint"===r||("polyline"===e&&"esriGeometryPolyline"===r||("polygon"===e&&"esriGeometryPolygon"===r||("extent"===e&&"esriGeometryEnvelope"===r||("multipoint"===e&&"esriGeometryMultipoint"===r||("point"===r&&"esriGeometryPoint"===e||("polyline"===r&&"esriGeometryPolyline"===e||("polygon"===r&&"esriGeometryPolygon"===e||("extent"===r&&"esriGeometryEnvelope"===e||"multipoint"===r&&"esriGeometryMultipoint"===e)))))))))}!function(e){e[e.Standardised=0]="Standardised",e[e.StandardisedNoInterval=1]="StandardisedNoInterval",e[e.SqlServer=2]="SqlServer",e[e.Oracle=3]="Oracle",e[e.Postgres=4]="Postgres",e[e.PGDB=5]="PGDB",e[e.FILEGDB=6]="FILEGDB",e[e.NotEvaluated=7]="NotEvaluated"}(t||(t={})),function(e){e[e.InFeatureSet=0]="InFeatureSet",e[e.NotInFeatureSet=1]="NotInFeatureSet",e[e.Unknown=2]="Unknown"}(i||(i={}));const F=1e3;function G(e){return function(r){e.reject(r)}}function T(e,r){return function(){try{e.apply(null,arguments)}catch(t){r.reject(t)}}}const S={point:"point",polygon:"polygon",polyline:"polyline",multipoint:"multipoint",extent:"extent",esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint",esriGeometryEnvelope:"extent",envelope:"extent"},v={point:"esriGeometryPoint",polygon:"esriGeometryPolygon",polyline:"esriGeometryPolyline",multipoint:"esriGeometryMultipoint",extent:"esriGeometryEnvelope",esriGeometryPoint:"esriGeometryPoint",esriGeometryPolygon:"esriGeometryPolygon",esriGeometryPolyline:"esriGeometryPolyline",esriGeometryMultipoint:"esriGeometryMultipoint",esriGeometryEnvelope:"esriGeometryEnvelope",envelope:"esriGeometryEnvelope"},P={"small-integer":"esriFieldTypeSmallInteger",integer:"esriFieldTypeInteger",long:"esriFieldTypeLong",single:"esriFieldTypeSingle",double:"esriFieldTypeDouble",string:"esriFieldTypeString",date:"esriFieldTypeDate",oid:"esriFieldTypeOID",geometry:"esriFieldTypeGeometry",blob:"esriFieldTypeBlob",raster:"esriFieldTypeRaster",guid:"esriFieldTypeGUID","global-id":"esriFieldTypeGlobalID",xml:"eesriFieldTypeXML",esriFieldTypeSmallInteger:"esriFieldTypeSmallInteger",esriFieldTypeInteger:"esriFieldTypeInteger",esriFieldTypeLong:"esriFieldTypeLong",esriFieldTypeSingle:"esriFieldTypeSingle",esriFieldTypeDouble:"esriFieldTypeDouble",esriFieldTypeString:"esriFieldTypeString",esriFieldTypeDate:"esriFieldTypeDate",esriFieldTypeOID:"esriFieldTypeOID",esriFieldTypeGeometry:"esriFieldTypeGeometry",esriFieldTypeBlob:"esriFieldTypeBlob",esriFieldTypeRaster:"esriFieldTypeRaster",esriFieldTypeGUID:"esriFieldTypeGUID",esriFieldTypeGlobalID:"esriFieldTypeGlobalID",esriFieldTypeXML:"eesriFieldTypeXML"};function I(e){switch(e){case"point":default:return"esriGeometryPoint";case"polygon":return"esriGeometryPolygon";case"multipoint":return"esriGeometryMultipoint";case"polyline":return"esriGeometryPolyline"}}function b(e){return void 0===e?"":e=(e=(e=e.replace(/\/featureserver\/[0-9]*/i,"/FeatureServer")).replace(/\/mapserver\/[0-9]*/i,"/MapServer")).split("?")[0]}function D(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});const t="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(n=r.cmp,function(e){return function(r,t){const i={key:r,value:e[r]},o={key:t,value:e[t]};return n(i,o)}});var n;const o=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);let n,l;if(Array.isArray(r)){for(l="[",n=0;n<r.length;n++)n&&(l+=","),l+=e(r[n])||"null";return l+"]"}if(null===r)return"null";if(o.includes(r)){if(t)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}const s=o.push(r)-1,y=Object.keys(r).sort(i&&i(r));for(l="",n=0;n<y.length;n++){const t=y[n],i=e(r[t]);i&&(l&&(l+=","),l+=JSON.stringify(t)+":"+i)}return o.splice(s,1),"{"+l+"}"}(e)}export{t as FeatureServiceDatabaseType,i as IdState,T as callback,a as cloneAttributes,n as cloneField,f as convertLinearUnitsToCode,m as convertSquareUnitsToCode,F as defaultMaxRecords,c as equalityTest,G as errback,o as esriFieldToJson,b as extractServiceUrl,u as isArray,s as isBoolean,p as isDate,y as isNumber,l as isString,P as layerFieldEsriConstants,S as layerGeometryEsriConstants,v as layerGeometryEsriRestConstants,g as sameGeomType,d as shapeExtent,D as stableStringify,I as toEsriGeometryType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import{X as t}from"../../../chunks/languageUtils.js";import{isNumber as n,isString as e,equalityTest as r}from"./shared.js";import{isSingleField as u,predictType as l}from"./sqlUtils.js";import{reject as c,create as a}from"../../../core/promiseUtils.js";function s(t){return t=+t,isFinite(t)?t-t%1||(t<0?-0:0===t?t:0):t}function i(t){let n=0;for(let e=0;e<t.length;e++)n+=t[e];return n/t.length}function o(t){const n=i(t);let e=0;for(let r=0;r<t.length;r++)e+=(n-t[r])**2;return e/t.length}function h(t){const n=i(t);let e=0;for(let r=0;r<t.length;r++)e+=(n-t[r])**2;return e/(t.length-1)}function f(t){let n=0;for(let e=0;e<t.length;e++)n+=t[e];return n}function g(t,u){const l=[],c={},a=[];for(let s=0;s<t.length;s++){if(void 0!==t[s]&&null!==t[s]){const u=t[s];if(n(u)||e(u))void 0===c[u]&&(l.push(u),c[u]=1);else{let t=!1;for(let n=0;n<a.length;n++)!0===r(a[n],u)&&(t=!0);!1===t&&(a.push(u),l.push(u))}}if(l.length>=u&&-1!==u)return l}return l}function m(t){switch(t.toLowerCase()){case"distinct":return"distinct";case"avg":case"mean":return"avg";case"min":return"min";case"sum":return"sum";case"max":return"max";case"stdev":case"stddev":return"stddev";case"var":case"variance":return"var";case"count":return"count"}return""}function p(t,n,e=1e3){switch(t.toLowerCase()){case"distinct":return g(n,e);case"avg":case"mean":return i(n);case"min":return Math.min.apply(Math,n);case"sum":return f(n);case"max":return Math.max.apply(Math,n);case"stdev":case"stddev":return Math.sqrt(o(n));case"var":case"variance":return o(n);case"count":return n.length}return 0}function d(t,n,e){return q(t,n,e,!0).then((t=>0===t.length?null:Math.min.apply(Math,t)))}function v(t,n,e){return q(t,n,e,!0).then((t=>0===t.length?null:Math.max.apply(Math,t)))}function M(t,n,e){let r="";return!1===u(n)&&(r=l(n,t.fields,null)),q(t,n,e,!0).then((t=>{if(0===t.length)return null;const n=i(t);return null===n?n:"integer"===r?s(n):n}))}function x(t,n,e){return q(t,n,e,!0).then((t=>0===t.length?null:h(t)))}function y(t,n,e){return q(t,n,e,!0).then((t=>0===t.length?null:Math.sqrt(h(t))))}function j(t,n,e){return q(t,n,e,!0).then((t=>0===t.length?null:f(t)))}function w(t,n){try{return t.iterator(n).count()}catch(e){return c(e)}}function q(t,n,e,r=!1){try{const u=t.iterator(e);return a(((t,e)=>{U(u,[],n,r,t,e)}))}catch(u){return c(u)}}function U(n,e,r,u,l,c){t(n.next().then((t=>{try{if(null!==t){const a=r.calculateValue(t);return null===a?!1===u&&(e[e.length]=a):e[e.length]=a,U(n,e,r,u,l,c)}l(e)}catch(a){c(a)}}),c))}function C(t,n,e=1e3,r=null){return L(t,n,e,r)}function L(t,n,e,r){try{return V(t.iterator(r),{},[],n,e)}catch(u){return c(u)}}function V(t,n,e,r,u){return t.next().then((l=>{if(null!==l){const c=r.calculateValue(l);return null!=c&&void 0===n[c]&&(e.push(c),n[c]=1),e.length>=u&&-1!==u?e:V(t,n,e,r,u)}return e}))}export{p as calculateStat,w as count,m as decodeStatType,C as distinct,v as max,M as mean,d as min,y as stdev,j as sum,x as variance};
5
+ import{isNumber as t,isString as n,equalityTest as e}from"./shared.js";import{isSingleField as r,predictType as a}from"./sqlUtils.js";function c(t){return t=+t,isFinite(t)?t-t%1||(t<0?-0:0===t?t:0):t}function u(t){let n=0;for(let e=0;e<t.length;e++)n+=t[e];return n/t.length}function l(t){const n=u(t);let e=0;for(let r=0;r<t.length;r++)e+=(n-t[r])**2;return e/t.length}function s(t){const n=u(t);let e=0;for(let r=0;r<t.length;r++)e+=(n-t[r])**2;return e/(t.length-1)}function i(t){let n=0;for(let e=0;e<t.length;e++)n+=t[e];return n}function o(r,a){const c=[],u={},l=[];for(let s=0;s<r.length;s++){if(void 0!==r[s]&&null!==r[s]){const a=r[s];if(t(a)||n(a))void 0===u[a]&&(c.push(a),u[a]=1);else{let t=!1;for(let n=0;n<l.length;n++)!0===e(l[n],a)&&(t=!0);!1===t&&(l.push(a),c.push(a))}}if(c.length>=a&&-1!==a)return c}return c}function h(t){switch(t.toLowerCase()){case"distinct":return"distinct";case"avg":case"mean":return"avg";case"min":return"min";case"sum":return"sum";case"max":return"max";case"stdev":case"stddev":return"stddev";case"var":case"variance":return"var";case"count":return"count"}return""}function f(t,n,e=1e3){switch(t.toLowerCase()){case"distinct":return o(n,e);case"avg":case"mean":return u(n);case"min":return Math.min.apply(Math,n);case"sum":return i(n);case"max":return Math.max.apply(Math,n);case"stdev":case"stddev":return Math.sqrt(l(n));case"var":case"variance":return l(n);case"count":return n.length}return 0}async function g(t,n,e){const r=await x(t,n,e,!0);return 0===r.length?null:Math.min.apply(Math,r)}async function m(t,n,e){const r=await x(t,n,e,!0);return 0===r.length?null:Math.max.apply(Math,r)}async function w(t,n,e){let l="";!1===r(n)&&(l=a(n,t.fields,null));const s=await x(t,n,e,!0);if(0===s.length)return null;const i=u(s);return null===i?i:"integer"===l?c(i):i}async function d(t,n,e){const r=await x(t,n,e,!0);return 0===r.length?null:s(r)}async function v(t,n,e){const r=await x(t,n,e,!0);return 0===r.length?null:Math.sqrt(s(r))}async function p(t,n,e){const r=await x(t,n,e,!0);return 0===r.length?null:i(r)}async function y(t,n){return t.iterator(n).count()}async function x(t,n,e,r=!1){const a=t.iterator(e),c=[],u={ticker:0};let l=await a.next();for(;null!==l;){if(u.ticker++,e.aborted)throw new Error("Cancelled");u.ticker%100==0&&(u.ticker=0,await new Promise((t=>{setTimeout(t,0)})));const t=n.calculateValue(l);null===t?!1===r&&(c[c.length]=t):c[c.length]=t,l=await a.next()}return c}async function M(t,n,e=1e3,r=null){const a=t.iterator(r),c=[],u={},l={ticker:0};let s=await a.next();for(;null!==s;){if(l.ticker++,r.aborted)throw new Error("Cancelled");l.ticker%100==0&&(l.ticker=0,await new Promise((t=>{setTimeout(t,0)})));const t=n.calculateValue(s);if(null!=t&&void 0===u[t]&&(c.push(t),u[t]=1),c.length>=e&&-1!==e)return c;s=await a.next()}return c}export{f as calculateStat,y as count,h as decodeStatType,M as distinct,m as max,w as mean,g as min,v as stdev,p as sum,d as variance};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../ArcadePortal.js";import t from"../Dictionary.js";import n from"../Feature.js";import r from"../featureSetCollection.js";import{getPortal as i,lookupUser as a,convertToFeatureSet as s,constructFeatureSetFromPortalItem as l,constructFeatureSet as o,constructFeatureSetFromRelationship as f,constructFeatureSetFromUrl as u,constructAssociationMetaDataFeatureSetFromUrl as c}from"../featureSetUtils.js";import d from"../FunctionWrapper.js";import m from"../ImmutableArray.js";import{p,C as y,d as g,q as h,z as F,a as I,k as E,f as D,b as w,N as b,S as A,t as N,Y as x,M as S}from"../../chunks/languageUtils.js";import{SqlExpressionAdapted as $,StringToCodeAdapted as L,FieldRename as T,AdaptedFeatureSet as v,OriginalField as j}from"../featureset/actions/Adapted.js";import O from"../featureset/actions/AttributeFilter.js";import C from"../featureset/actions/OrderBy.js";import R from"../featureset/actions/Top.js";import M from"../featureset/sources/Empty.js";import P from"../featureset/sources/FeatureLayerMemory.js";import k from"../featureset/support/OrderbyClause.js";import{cloneField as G}from"../featureset/support/shared.js";import{isSingleField as B}from"../featureset/support/sqlUtils.js";import{calculateStat as V}from"./fieldStats.js";import{isPromiseLike as H,resolve as z,all as W}from"../../core/promiseUtils.js";import{WhereClause as U}from"../../core/sql/WhereClause.js";import _ from"../../layers/FeatureLayer.js";import q from"../../layers/support/Field.js";function J(e,t,n,r){if(1===r.length){if(I(r[0]))return V(e,r[0],-1);if(w(r[0]))return V(e,r[0].toArray(),-1)}return V(e,r,-1)}function K(e,t,n){const r=e.getVariables();if(r.length>0){const i=[];for(let e=0;e<r.length;e++){const a={name:r[e]};i.push(t.evaluateIdentifier(n,a))}return W(i).then((t=>{const n={};for(let e=0;e<r.length;e++)n[r[e]]=t[e];return e.parameters=n,e}))}return z(e)}function Y(e,t,n=null){for(const r in e)if(r.toLowerCase()===t.toLowerCase())return e[r];return n}function Z(e){if(null===e)return null;const t={type:Y(e,"type",""),name:Y(e,"name","")};if("range"===t.type)t.range=Y(e,"range",[]);else{t.codedValues=[];for(const n of Y(e,"codedValues",[]))t.codedValues.push({name:Y(n,"name",""),code:Y(n,"code",null)})}return t}function Q(e){if(null===e)return null;const t={},n=Y(e,"wkt",null);null!==n&&(t.wkt=n);const r=Y(e,"wkid",null);return null!==r&&(t.wkid=r),t}function X(e){if(null===e)return null;const t={hasZ:Y(e,"hasz",!1),hasM:Y(e,"hasm",!1)},n=Y(e,"spatialreference",null);n&&(t.spatialReference=Q(n));const r=Y(e,"x",null);if(null!==r)return t.x=r,t.y=Y(e,"y",null),t;const i=Y(e,"rings",null);if(null!==i)return t.rings=i,t;const a=Y(e,"paths",null);if(null!==a)return t.paths=a,t;const s=Y(e,"points",null);if(null!==s)return t.points=s,t;for(const l of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=Y(e,l,null);null!==n&&(t[l]=n)}return t}function ee(e,t){for(const n of t)if(n===e)return!0;return!1}function te(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ee(e.layerDefinition.geometryType,["","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(null!==e.layerDefinition.objectIdField&&""!==e.layerDefinition.objectIdField&&(!1!==I(e.layerDefinition.fields)&&!1!==I(e.featureSet.features)))))}function ne(V){"async"===V.mode&&(V.functions.getuser=function(n,r){return V.standardFunctionAsync(n,r,((r,s,l)=>{p(l,1,2);let o=y(l[1],""),f=!0===o;if(o=!0===o||!1===o?"":g(o),l[0]instanceof e){let e=null;return n.services&&n.services.portal&&(e=n.services.portal),e=i(l[0],e),a(e,o,f).then((e=>{if(e){const n=JSON.parse(JSON.stringify(e));for(const e of["lastLogin","created","modified"])void 0!==n[e]&&null!==n[e]&&(n[e]=new Date(n[e]));return t.convertObjectToArcadeDictionary(n)}return null}))}let u=null;if(h(l[0])&&(u=l[0]),u)return f=!1,o?null:u.load().then((()=>u.getOwningSystemUrl())).then((r=>{if(!r)return o?null:u.getIdentityUser().then((e=>e?t.convertObjectToArcadeDictionary({username:e}):null));let s=null;return n.services&&n.services.portal&&(s=n.services.portal),s=i(new e(r),s),a(s,o,f).then((e=>{if(e){const n=JSON.parse(JSON.stringify(e));for(const e of["lastLogin","created","modified"])void 0!==n[e]&&null!==n[e]&&(n[e]=new Date(n[e]));return t.convertObjectToArcadeDictionary(n)}return null}))}));throw new Error("Invalid Parameter")}))},V.signatures.push({name:"getuser",min:"1",max:"2"}),V.functions.featuresetbyid=function(e,t){return V.standardFunctionAsync(e,t,((e,t,n)=>{if(p(n,2,4),n[0]instanceof r){const e=g(n[1]);let t=y(n[2],null);const r=F(y(n[3],!0));if(null===t&&(t=["*"]),!1===I(t))throw new Error("Invalid Parameter");return n[0].featureSetById(e,r,t)}throw new Error("Invalid Parameter")}))},V.signatures.push({name:"featuresetbyid",min:"2",max:"4"}),V.functions.getfeatureset=function(e,t){return V.standardFunctionAsync(e,t,((t,n,r)=>{if(p(r,1,2),E(r[0])){let t=y(r[1],"datasource");return null===t&&(t="datasource"),t=g(t).toLowerCase(),s(r[0].fullSchema(),t,e.lrucache,e.interceptor,e.spatialReference)}throw new Error("Invalid Parameter")}))},V.signatures.push({name:"getfeatureset",min:"1",max:"2"}),V.functions.featuresetbyportalitem=function(t,n){return V.standardFunctionAsync(t,n,((n,r,a)=>{if(p(a,2,5),null===a[0])throw new Error("Portal is required");if(a[0]instanceof e){const e=g(a[1]),n=g(a[2]);let r=y(a[3],null);const s=F(y(a[4],!0));if(null===r&&(r=["*"]),!1===I(r))throw new Error("Invalid Parameter");let o=null;return t.services&&t.services.portal&&(o=t.services.portal),o=i(a[0],o),l(e,n,t.spatialReference,r,s,o,t.lrucache,t.interceptor)}if(!1===D(a[0]))throw new Error("Portal is required");const s=g(a[0]),o=g(a[1]);let f=y(a[2],null);const u=F(y(a[3],!0));if(null===f&&(f=["*"]),!1===I(f))throw new Error("Invalid Parameter");if(t.services&&t.services.portal)return l(s,o,t.spatialReference,f,u,t.services.portal,t.lrucache,t.interceptor);throw new Error("Portal is required")}))},V.signatures.push({name:"featuresetbyportalitem",min:"2",max:"5"}),V.functions.featuresetbyname=function(e,t){return V.standardFunctionAsync(e,t,((e,t,n)=>{if(p(n,2,4),n[0]instanceof r){const e=g(n[1]);let t=y(n[2],null);const r=F(y(n[3],!0));if(null===t&&(t=["*"]),!1===I(t))throw new Error("Invalid Parameter");return n[0].featureSetByName(e,r,t)}throw new Error("Invalid Parameter")}))},V.signatures.push({name:"featuresetbyname",min:"2",max:"4"}),V.functions.featureset=function(e,n){return V.standardFunction(e,n,((n,r,i)=>{p(i,1,1);let a=i[0];const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",fields:[]},featureSet:{geometryType:"",features:[]}};if(D(a))a=JSON.parse(a),void 0!==a.layerDefinition?(s.layerDefinition=a.layerDefinition,s.featureSet=a.featureSet,a.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=a.layerDefinition.spatialReference)):(s.featureSet.features=a.features,s.featureSet.geometryType=a.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=a.objectIdFieldName,s.layerDefinition.typeIdField=a.typeIdFieldName,s.layerDefinition.globalIdField=a.globalIdFieldName,s.layerDefinition.fields=a.fields,a.spatialReference&&(s.layerDefinition.spatialReference=a.spatialReference));else{if(!(i[0]instanceof t))throw new Error("Invalid Parameter");{a=JSON.parse(i[0].castToText());const e=Y(a,"layerdefinition");if(null!==e){s.layerDefinition.geometryType=Y(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=Y(e,"globalidfield",""),s.layerDefinition.objectIdField=Y(e,"objectidfield",""),s.layerDefinition.typeIdField=Y(e,"typeidfield","");const t=Y(e,"spatialreference",null);t&&(s.layerDefinition.spatialReference=Q(t));for(const r of Y(e,"fields",[])){const e={name:Y(r,"name",""),alias:Y(r,"alias",""),type:Y(r,"type",""),nullable:Y(r,"nullable",!0),editable:Y(r,"editable",!0),length:Y(r,"length",null),domain:Z(Y(r,"domain"))};s.layerDefinition.fields.push(e)}const n=Y(a,"featureset",null);if(n){const e={};for(const t of s.layerDefinition.fields)e[t.name.toLowerCase()]=t.name;for(const t of Y(n,"features",[])){const n={},r=Y(t,"attributes",{});for(const t in r)n[e[t.toLowerCase()]]=r[t];s.featureSet.features.push({attributes:n,geometry:X(Y(t,"geometry",null))})}}}else{s.layerDefinition.geometryType=Y(a,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=Y(a,"objectidfieldname",""),s.layerDefinition.typeIdField=Y(a,"typeidfieldname","");const e=Y(a,"spatialreference",null);e&&(s.layerDefinition.spatialReference=Q(e));for(const n of Y(a,"fields",[])){const e={name:Y(n,"name",""),alias:Y(n,"alias",""),type:Y(n,"type",""),nullable:Y(n,"nullable",!0),editable:Y(n,"editable",!0),length:Y(n,"length",null),domain:Z(Y(n,"domain"))};s.layerDefinition.fields.push(e)}const t={};for(const n of s.layerDefinition.fields)t[n.name.toLowerCase()]=n.name;for(const n of Y(a,"features",[])){const e={},r=Y(n,"attributes",{});for(const n in r)e[t[n.toLowerCase()]]=r[n];s.featureSet.features.push({attributes:e,geometry:X(Y(n,"geometry",null))})}}}}if(!1===te(s))throw new Error("Invalid Parameter");return P.create(s,e.spatialReference)}))},V.signatures.push({name:"featureset",min:"1",max:"1"}),V.functions.filter=function(e,t){return V.standardFunctionAsync(e,t,((t,n,r)=>{if(p(r,2,2),I(r[0])||w(r[0])){const t=[];let n=r[0];n instanceof m&&(n=n.toArray());let i=null;if(r[1]instanceof d)i=V.arcadeCustomFunctionHandler(r[1]);else if(r[1]instanceof b)i=(...t)=>r[1].fn(e,{preparsed:!0,arguments:t});else{if(!(r[1]instanceof A))throw new Error("Invalid Parameter");i=(...e)=>{if(e.length!==r[1].paramCount)throw new Error("Invalid parameters");return r[1].fn(...e)}}return n.reduce(((e,r,a)=>e.then((e=>{a>0&&!0===e&&t.push(n[a-1]);const s=i(r);return H(s)?s:z(s)}))),Promise.resolve(!1)).then((e=>(!0===e&&n.length>0&&t.push(n[n.length-1]),t)))}return h(r[0])?r[0].load().then((t=>{const n=U.create(r[1],t.getFieldsIndex()),i=n.getVariables();if(i.length>0){const t=[];for(let n=0;n<i.length;n++){const r={name:i[n]};t.push(V.evaluateIdentifier(e,r))}return W(t).then((e=>{const t={};for(let n=0;n<i.length;n++)t[i[n]]=e[n];return n.parameters=t,new O({parentfeatureset:r[0],whereclause:n})}))}return z(new O({parentfeatureset:r[0],whereclause:n}))})):V.failDefferred("Filter cannot accept this parameter type")}))},V.signatures.push({name:"filter",min:"2",max:"2"}),V.functions.orderby=function(e,t){return V.standardFunctionAsync(e,t,((e,t,n)=>{if(p(n,2,2),h(n[0])){const e=new k(n[1]);return z(new C({parentfeatureset:n[0],orderbyclause:e}))}return V.failDefferred("Order cannot accept this parameter type")}))},V.signatures.push({name:"orderby",min:"2",max:"2"}),V.functions.top=function(e,t){return V.standardFunctionAsync(e,t,((e,t,n)=>(p(n,2,2),h(n[0])?z(new R({parentfeatureset:n[0],topnum:n[1]})):I(n[0])?N(n[1])>=n[0].length?n[0].slice(0):n[0].slice(0,N(n[1])):w(n[0])?N(n[1])>=n[0].length()?n[0].slice(0):n[0].slice(0,N(n[1])):V.failDefferred("Top cannot accept this parameter type"))))},V.signatures.push({name:"top",min:"2",max:"2"}),V.functions.first=function(e,t){return V.standardFunctionAsync(e,t,((e,t,r)=>(p(r,1,1),h(r[0])?r[0].first(e.abortSignal).then((e=>{if(null!==e){const t=n.createFromGraphicLikeObject(e.geometry,e.attributes,r[0]);t._underlyingGraphic=e,e=t}return e})):I(r[0])?0===r[0].length?z(null):z(r[0][0]):w(r[0])?0===r[0].length()?z(null):z(r[0].get(0)):null)))},V.signatures.push({name:"first",min:"1",max:"1"}),V.functions.attachments=function(e,n){return V.standardFunctionAsync(e,n,((n,r,i)=>{p(i,1,2);const a={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(i.length>1)if(i[1]instanceof t){if(i[1].hasField("minsize")&&(a.minsize=N(i[1].field("minsize"))),i[1].hasField("metadata")&&(a.returnMetadata=F(i[1].field("metadata"))),i[1].hasField("maxsize")&&(a.maxsize=N(i[1].field("maxsize"))),i[1].hasField("types")){const e=x(i[1].field("types"),!1);e.length>0&&(a.types=e)}}else if(null!==i[1])throw new Error("Invalid Parameter");if(E(i[0])){let t=i[0]._layer;return t instanceof _&&(t=o(t,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===t||!1===h(t)?[]:t.load().then((()=>t.queryAttachments(i[0].field(t.objectIdField),a.minsize,a.maxsize,a.types,a.returnMetadata)))}if(null===i[0])return[];throw new Error("Invalid Parameter")}))},V.signatures.push({name:"attachments",min:"1",max:"2"}),V.functions.featuresetbyrelationshipname=function(e,t){return V.standardFunctionAsync(e,t,((t,n,r)=>{p(r,2,4);const i=r[0],a=g(r[1]);let s=y(r[2],null);const l=F(y(r[3],!0));if(null===s&&(s=["*"]),!1===I(s))throw new Error("Invalid Parameter");if(null===r[0])return null;if(!E(r[0]))throw new Error("Invalid Parameter");let c=i._layer;return c instanceof _&&(c=o(c,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===c||!1===h(c)?null:c.load().then((t=>{const n=t.relationshipMetaData().filter((e=>e.name===a));if(0===n.length)return null;if(void 0!==n[0].relationshipTableId&&null!==n[0].relationshipTableId&&n[0].relationshipTableId>-1)return f(t,n[0],i.field(t.objectIdField),t.spatialReference,s,l,e.lrucache,e.interceptor);let r=t.serviceUrl();return r?(r="/"===r.charAt(r.length-1)?r+n[0].relatedTableId.toString():r+"/"+n[0].relatedTableId.toString(),u(r,t.spatialReference,s,l,e.lrucache,e.interceptor).then((e=>e.load().then((()=>e.relationshipMetaData())).then((r=>{if(r=r.filter((e=>e.id===n[0].id)),!1===i.hasField(n[0].keyField)||null===i.field(n[0].keyField))return t.getFeatureByObjectId(i.field(t.objectIdField),[n[0].keyField]).then((t=>{if(t){const i=U.create(r[0].keyField+"= @id",e.getFieldsIndex());return i.parameters={id:t.attributes[n[0].keyField]},e.filter(i)}return new M({parentfeatureset:e})}));const a=U.create(r[0].keyField+"= @id",e.getFieldsIndex());return a.parameters={id:i.field(n[0].keyField)},e.filter(a)}))))):null}))}))},V.signatures.push({name:"featuresetbyrelationshipname",min:"2",max:"4"}),V.functions.featuresetbyassociation=function(e,t){return V.standardFunctionAsync(e,t,((t,n,r)=>{p(r,2,3);const i=r[0],a=g(y(r[1],"")).toLowerCase(),s=D(r[2])?g(r[2]):null;if(null===r[0])return null;if(!E(r[0]))throw new Error("Invalid Parameter");let l=i._layer;return l instanceof _&&(l=o(l,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===l||!1===h(l)?null:l.load().then((()=>{const t=l.serviceUrl();return c(t,e.spatialReference)})).then((e=>{let t=null,n=null,r=!1;if(null!==s&&""!==s&&void 0!==s){for(const t of e.terminals)t.terminalName===s&&(n=t.terminalId);null===n&&(r=!0)}const o=e.associations.getFieldsIndex(),f=o.get("TOGLOBALID").name,u=o.get("FROMGLOBALID").name,c=o.get("TOTERMINALID").name,d=o.get("FROMTERMINALID").name,m=o.get("FROMNETWORKSOURCEID").name,p=o.get("TONETWORKSOURCEID").name,y=o.get("ASSOCIATIONTYPE").name,g=o.get("ISCONTENTVISIBLE").name,h=o.get("OBJECTID").name;for(const a of l.fields)if("global-id"===a.type){t=i.field(a.name);break}let F=null,I=new $(new q({name:"percentalong",alias:"percentalong",type:"double"}),U.create("0",e.associations.getFieldsIndex())),E=new $(new q({name:"side",alias:"side",type:"string"}),U.create("''",e.associations.getFieldsIndex()));const D="globalid",w="globalId",b={};for(const i in e.lkp)b[i]=e.lkp[i].sourceId;const A=new L(new q({name:"classname",alias:"classname",type:"string"}),null,b);let N="";switch(a){case"midspan":{N=`((${f}='${t}') OR ( ${u}='${t}')) AND (${y} IN (5))`,A.codefield=U.create(`CASE WHEN (${f}='${t}') THEN ${m} ELSE ${p} END`,e.associations.getFieldsIndex());const n=G(v.findField(e.associations.fields,u));n.name=D,n.alias=D,F=new $(n,U.create(`CASE WHEN (${u}='${t}') THEN ${f} ELSE ${u} END`,e.associations.getFieldsIndex())),I=e.unVersion>=4?new j(v.findField(e.associations.fields,o.get("PERCENTALONG").name)):new $(new q({name:"percentalong",alias:"percentalong",type:"double"}),U.create("0",e.associations.getFieldsIndex()));break}case"junctionedge":{N=`((${f}='${t}') OR ( ${u}='${t}')) AND (${y} IN (4,6))`,A.codefield=U.create(`CASE WHEN (${f}='${t}') THEN ${m} ELSE ${p} END`,e.associations.getFieldsIndex());const n=G(v.findField(e.associations.fields,u));n.name=D,n.alias=D,F=new $(n,U.create(`CASE WHEN (${u}='${t}') THEN ${f} ELSE ${u} END`,e.associations.getFieldsIndex())),E=new $(new q({name:"side",alias:"side",type:"string"}),U.create(`CASE WHEN (${y}=4) THEN 'from' ELSE 'to' END`,e.associations.getFieldsIndex()));break}case"connected":{let r=`${f}='@T'`,i=`${u}='@T'`;null!==n&&(r+=` AND ${c}=@A`,i+=` AND ${d}=@A`),N="(("+r+") OR ("+i+"))",N=S(N,"@T",t),r=S(r,"@T",t),null!==n&&(r=S(r,"@A",n.toString()),N=S(N,"@A",n.toString())),A.codefield=U.create("CASE WHEN "+r+` THEN ${m} ELSE ${p} END`,e.associations.getFieldsIndex());const a=G(v.findField(e.associations.fields,u));a.name=D,a.alias=D,F=new $(a,U.create("CASE WHEN "+r+` THEN ${u} ELSE ${f} END`,e.associations.getFieldsIndex()));break}case"container":N=`${f}='${t}' AND ${y} = 2`,null!==n&&(N+=` AND ${c} = `+n.toString()),A.codefield=m,N="( "+N+" )",F=new T(v.findField(e.associations.fields,u),D,D);case"content":N=`(${u}='${t}' AND ${y} = 2)`,null!==n&&(N+=` AND ${d} = `+n.toString()),A.codefield=p,N="( "+N+" )",F=new T(v.findField(e.associations.fields,f),D,D);break;case"structure":N=`(${f}='${t}' AND ${y} = 3)`,null!==n&&(N+=` AND ${c} = `+n.toString()),A.codefield=m,N="( "+N+" )",F=new T(v.findField(e.associations.fields,u),D,w);break;case"attached":N=`(${u}='${t}' AND ${y} = 3)`,null!==n&&(N+=` AND ${d} = `+n.toString()),A.codefield=p,N="( "+N+" )",F=new T(v.findField(e.associations.fields,f),D,w);break;default:throw new Error("Invalid Parameter")}r&&(N="1 <> 1");return new v({parentfeatureset:e.associations,adaptedFields:[new j(v.findField(e.associations.fields,h)),new j(v.findField(e.associations.fields,g)),F,E,A,I],extraFilter:N?U.create(N,e.associations.getFieldsIndex()):null})}))}))},V.signatures.push({name:"featuresetbyassociation",min:"2",max:"6"}),V.functions.groupby=function(e,n){return V.standardFunctionAsync(e,n,((n,r,i)=>(p(i,3,3),h(i[0])?i[0].load().then((n=>{const r=[],a=[];let s=!1,l=[];if(D(i[1]))l.push(i[1]);else if(i[1]instanceof t)l.push(i[1]);else if(I(i[1]))l=i[1];else{if(!w(i[1]))return V.failDefferred("Illegal Value: GroupBy");l=i[1].toArray()}for(const e of l)if(D(e)){const t=U.create(g(e),n.getFieldsIndex()),i=!0===B(t)?g(e):"%%%%FIELDNAME";r.push({name:i,expression:t}),"%%%%FIELDNAME"===i&&(s=!0)}else{if(!(e instanceof t))return V.failDefferred("Illegal Value: GroupBy");{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(s=!0),!t)return V.failDefferred("Illegal Value: GroupBy");r.push({name:t,expression:U.create(i||t,n.getFieldsIndex())})}}if(l=[],D(i[2]))l.push(i[2]);else if(I(i[2]))l=i[2];else if(w(i[2]))l=i[2].toArray();else{if(!(i[2]instanceof t))return V.failDefferred("Illegal Value: GroupBy");l.push(i[2])}for(const e of l){if(!(e instanceof t))return V.failDefferred("Illegal Value: GroupBy");{const t=e.hasField("name")?e.field("name"):"",r=e.hasField("statistic")?e.field("statistic"):"",i=e.hasField("expression")?e.field("expression"):"";if(!t||!r||!i)return V.failDefferred("Illegal Value: GroupBy");a.push({name:t,statistic:r.toLowerCase(),expression:U.create(i,n.getFieldsIndex())})}}if(s){const e={};for(const r of n.fields)e[r.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of a)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}const o=[];for(const t of r)o.push(K(t.expression,V,e));for(const t of a)o.push(K(t.expression,V,e));return o.length>0?W(o).then((()=>z(i[0].groupby(r,a)))):z(i[0].groupby(r,a))})):V.failDefferred("Illegal Value: GroupBy"))))},V.signatures.push({name:"groupby",min:"3",max:"3"}),V.functions.distinct=function(e,n){return V.standardFunctionAsync(e,n,((n,r,i)=>h(i[0])?(p(i,2,2),i[0].load().then((n=>{const r=[];let a=[];if(D(i[1]))a.push(i[1]);else if(i[1]instanceof t)a.push(i[1]);else if(I(i[1]))a=i[1];else{if(!w(i[1]))return V.failDefferred("Illegal Value: GroupBy");a=i[1].toArray()}let s=!1;for(const e of a)if(D(e)){const t=U.create(g(e),n.getFieldsIndex()),i=!0===B(t)?g(e):"%%%%FIELDNAME";r.push({name:i,expression:t}),"%%%%FIELDNAME"===i&&(s=!0)}else{if(!(e instanceof t))return V.failDefferred("Illegal Value: GroupBy");{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(s=!0),!t)return V.failDefferred("Illegal Value: GroupBy");r.push({name:t,expression:U.create(i||t,n.getFieldsIndex())})}}if(s){const e={};for(const r of n.fields)e[r.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}const l=[];for(const t of r)l.push(K(t.expression,V,e));return l.length>0?W(l).then((()=>z(i[0].groupby(r,[])))):z(i[0].groupby(r,[]))}))):J("distinct",n,r,i)))})}export{ne as registerFunctions};
5
+ import e from"../ArcadePortal.js";import t from"../Dictionary.js";import n from"../Feature.js";import r from"../featureSetCollection.js";import{getPortal as i,lookupUser as a,convertToFeatureSet as s,constructFeatureSetFromPortalItem as o,constructFeatureSet as l,constructFeatureSetFromRelationship as f,constructFeatureSetFromUrl as u,constructAssociationMetaDataFeatureSetFromUrl as c}from"../featureSetUtils.js";import d from"../FunctionWrapper.js";import m from"../ImmutableArray.js";import{p,C as y,d as g,q as w,z as h,a as E,k as F,f as I,b as D,N as b,S as A,t as N,Y as x,M as S}from"../../chunks/languageUtils.js";import{SqlExpressionAdapted as $,StringToCodeAdapted as L,FieldRename as T,AdaptedFeatureSet as v,OriginalField as j}from"../featureset/actions/Adapted.js";import O from"../featureset/actions/AttributeFilter.js";import C from"../featureset/actions/OrderBy.js";import R from"../featureset/actions/Top.js";import M from"../featureset/sources/Empty.js";import P from"../featureset/sources/FeatureLayerMemory.js";import k from"../featureset/support/OrderbyClause.js";import{cloneField as G}from"../featureset/support/shared.js";import{isSingleField as B}from"../featureset/support/sqlUtils.js";import{calculateStat as V}from"./fieldStats.js";import{isPromiseLike as H}from"../../core/promiseUtils.js";import{WhereClause as z}from"../../core/sql/WhereClause.js";import W from"../../layers/FeatureLayer.js";import U from"../../layers/support/Field.js";function _(e,t,n,r){if(1===r.length){if(E(r[0]))return V(e,r[0],-1);if(D(r[0]))return V(e,r[0].toArray(),-1)}return V(e,r,-1)}async function q(e,t,n){const r=e.getVariables();if(r.length>0){const i=[];for(let e=0;e<r.length;e++){const a={name:r[e]};i.push(await t.evaluateIdentifier(n,a))}const a={};for(let e=0;e<r.length;e++)a[r[e]]=i[e];return e.parameters=a,e}return e}function J(e,t,n=null){for(const r in e)if(r.toLowerCase()===t.toLowerCase())return e[r];return n}function K(e){if(null===e)return null;const t={type:J(e,"type",""),name:J(e,"name","")};if("range"===t.type)t.range=J(e,"range",[]);else{t.codedValues=[];for(const n of J(e,"codedValues",[]))t.codedValues.push({name:J(n,"name",""),code:J(n,"code",null)})}return t}function Y(e){if(null===e)return null;const t={},n=J(e,"wkt",null);null!==n&&(t.wkt=n);const r=J(e,"wkid",null);return null!==r&&(t.wkid=r),t}function Z(e){if(null===e)return null;const t={hasZ:J(e,"hasz",!1),hasM:J(e,"hasm",!1)},n=J(e,"spatialreference",null);n&&(t.spatialReference=Y(n));const r=J(e,"x",null);if(null!==r)return t.x=r,t.y=J(e,"y",null),t;const i=J(e,"rings",null);if(null!==i)return t.rings=i,t;const a=J(e,"paths",null);if(null!==a)return t.paths=a,t;const s=J(e,"points",null);if(null!==s)return t.points=s,t;for(const o of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=J(e,o,null);null!==n&&(t[o]=n)}return t}function Q(e,t){for(const n of t)if(n===e)return!0;return!1}function X(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==Q(e.layerDefinition.geometryType,["","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(null!==e.layerDefinition.objectIdField&&""!==e.layerDefinition.objectIdField&&(!1!==E(e.layerDefinition.fields)&&!1!==E(e.featureSet.features)))))}function ee(V){"async"===V.mode&&(V.functions.getuser=function(n,r){return V.standardFunctionAsync(n,r,(async(r,s,o)=>{p(o,1,2);let l=y(o[1],""),f=!0===l;if(l=!0===l||!1===l?"":g(l),o[0]instanceof e){let e=null;n.services&&n.services.portal&&(e=n.services.portal),e=i(o[0],e);const r=await a(e,l,f);if(r){const e=JSON.parse(JSON.stringify(r));for(const t of["lastLogin","created","modified"])void 0!==e[t]&&null!==e[t]&&(e[t]=new Date(e[t]));return t.convertObjectToArcadeDictionary(e)}return null}let u=null;if(w(o[0])&&(u=o[0]),u){if(f=!1,l)return null;await u.load();const r=await u.getOwningSystemUrl();if(!r){if(!l){const e=await u.getIdentityUser();return e?t.convertObjectToArcadeDictionary({username:e}):null}return null}let s=null;n.services&&n.services.portal&&(s=n.services.portal),s=i(new e(r),s);const o=await a(s,l,f);if(o){const e=JSON.parse(JSON.stringify(o));for(const t of["lastLogin","created","modified"])void 0!==e[t]&&null!==e[t]&&(e[t]=new Date(e[t]));return t.convertObjectToArcadeDictionary(e)}return null}throw new Error("Invalid Parameter")}))},V.signatures.push({name:"getuser",min:"1",max:"2"}),V.functions.featuresetbyid=function(e,t){return V.standardFunctionAsync(e,t,((e,t,n)=>{if(p(n,2,4),n[0]instanceof r){const e=g(n[1]);let t=y(n[2],null);const r=h(y(n[3],!0));if(null===t&&(t=["*"]),!1===E(t))throw new Error("Invalid Parameter");return n[0].featureSetById(e,r,t)}throw new Error("Invalid Parameter")}))},V.signatures.push({name:"featuresetbyid",min:"2",max:"4"}),V.functions.getfeatureset=function(e,t){return V.standardFunctionAsync(e,t,((t,n,r)=>{if(p(r,1,2),F(r[0])){let t=y(r[1],"datasource");return null===t&&(t="datasource"),t=g(t).toLowerCase(),s(r[0].fullSchema(),t,e.lrucache,e.interceptor,e.spatialReference)}throw new Error("Invalid Parameter")}))},V.signatures.push({name:"getfeatureset",min:"1",max:"2"}),V.functions.featuresetbyportalitem=function(t,n){return V.standardFunctionAsync(t,n,((n,r,a)=>{if(p(a,2,5),null===a[0])throw new Error("Portal is required");if(a[0]instanceof e){const e=g(a[1]),n=g(a[2]);let r=y(a[3],null);const s=h(y(a[4],!0));if(null===r&&(r=["*"]),!1===E(r))throw new Error("Invalid Parameter");let l=null;return t.services&&t.services.portal&&(l=t.services.portal),l=i(a[0],l),o(e,n,t.spatialReference,r,s,l,t.lrucache,t.interceptor)}if(!1===I(a[0]))throw new Error("Portal is required");const s=g(a[0]),l=g(a[1]);let f=y(a[2],null);const u=h(y(a[3],!0));if(null===f&&(f=["*"]),!1===E(f))throw new Error("Invalid Parameter");if(t.services&&t.services.portal)return o(s,l,t.spatialReference,f,u,t.services.portal,t.lrucache,t.interceptor);throw new Error("Portal is required")}))},V.signatures.push({name:"featuresetbyportalitem",min:"2",max:"5"}),V.functions.featuresetbyname=function(e,t){return V.standardFunctionAsync(e,t,((e,t,n)=>{if(p(n,2,4),n[0]instanceof r){const e=g(n[1]);let t=y(n[2],null);const r=h(y(n[3],!0));if(null===t&&(t=["*"]),!1===E(t))throw new Error("Invalid Parameter");return n[0].featureSetByName(e,r,t)}throw new Error("Invalid Parameter")}))},V.signatures.push({name:"featuresetbyname",min:"2",max:"4"}),V.functions.featureset=function(e,n){return V.standardFunction(e,n,((n,r,i)=>{p(i,1,1);let a=i[0];const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",fields:[]},featureSet:{geometryType:"",features:[]}};if(I(a))a=JSON.parse(a),void 0!==a.layerDefinition?(s.layerDefinition=a.layerDefinition,s.featureSet=a.featureSet,a.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=a.layerDefinition.spatialReference)):(s.featureSet.features=a.features,s.featureSet.geometryType=a.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=a.objectIdFieldName,s.layerDefinition.typeIdField=a.typeIdFieldName,s.layerDefinition.globalIdField=a.globalIdFieldName,s.layerDefinition.fields=a.fields,a.spatialReference&&(s.layerDefinition.spatialReference=a.spatialReference));else{if(!(i[0]instanceof t))throw new Error("Invalid Parameter");{a=JSON.parse(i[0].castToText());const e=J(a,"layerdefinition");if(null!==e){s.layerDefinition.geometryType=J(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=J(e,"globalidfield",""),s.layerDefinition.objectIdField=J(e,"objectidfield",""),s.layerDefinition.typeIdField=J(e,"typeidfield","");const t=J(e,"spatialreference",null);t&&(s.layerDefinition.spatialReference=Y(t));for(const r of J(e,"fields",[])){const e={name:J(r,"name",""),alias:J(r,"alias",""),type:J(r,"type",""),nullable:J(r,"nullable",!0),editable:J(r,"editable",!0),length:J(r,"length",null),domain:K(J(r,"domain"))};s.layerDefinition.fields.push(e)}const n=J(a,"featureset",null);if(n){const e={};for(const t of s.layerDefinition.fields)e[t.name.toLowerCase()]=t.name;for(const t of J(n,"features",[])){const n={},r=J(t,"attributes",{});for(const t in r)n[e[t.toLowerCase()]]=r[t];s.featureSet.features.push({attributes:n,geometry:Z(J(t,"geometry",null))})}}}else{s.layerDefinition.geometryType=J(a,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=J(a,"objectidfieldname",""),s.layerDefinition.typeIdField=J(a,"typeidfieldname","");const e=J(a,"spatialreference",null);e&&(s.layerDefinition.spatialReference=Y(e));for(const n of J(a,"fields",[])){const e={name:J(n,"name",""),alias:J(n,"alias",""),type:J(n,"type",""),nullable:J(n,"nullable",!0),editable:J(n,"editable",!0),length:J(n,"length",null),domain:K(J(n,"domain"))};s.layerDefinition.fields.push(e)}const t={};for(const n of s.layerDefinition.fields)t[n.name.toLowerCase()]=n.name;for(const n of J(a,"features",[])){const e={},r=J(n,"attributes",{});for(const n in r)e[t[n.toLowerCase()]]=r[n];s.featureSet.features.push({attributes:e,geometry:Z(J(n,"geometry",null))})}}}}if(!1===X(s))throw new Error("Invalid Parameter");return P.create(s,e.spatialReference)}))},V.signatures.push({name:"featureset",min:"1",max:"1"}),V.functions.filter=function(e,t){return V.standardFunctionAsync(e,t,(async(t,n,r)=>{if(p(r,2,2),E(r[0])||D(r[0])){const t=[];let n=r[0];n instanceof m&&(n=n.toArray());let i=null;if(r[1]instanceof d)i=V.arcadeCustomFunctionHandler(r[1]);else if(r[1]instanceof b)i=(...t)=>r[1].fn(e,{preparsed:!0,arguments:t});else{if(!(r[1]instanceof A))throw new Error("Invalid Parameter");i=(...e)=>{if(e.length!==r[1].paramCount)throw new Error("Invalid parameters");return r[1].fn(...e)}}for(const e of n){const n=i(e);H(n)?!0===await n&&t.push(e):!0===n&&t.push(e)}return t}if(w(r[0])){const t=await r[0].load(),n=z.create(r[1],t.getFieldsIndex()),i=n.getVariables();if(i.length>0){const t=[];for(let n=0;n<i.length;n++){const r={name:i[n]};t.push(await V.evaluateIdentifier(e,r))}const a={};for(let e=0;e<i.length;e++)a[i[e]]=t[e];return n.parameters=a,new O({parentfeatureset:r[0],whereclause:n})}return new O({parentfeatureset:r[0],whereclause:n})}throw new Error("Filter cannot accept this parameter type")}))},V.signatures.push({name:"filter",min:"2",max:"2"}),V.functions.orderby=function(e,t){return V.standardFunctionAsync(e,t,(async(e,t,n)=>{if(p(n,2,2),w(n[0])){const e=new k(n[1]);return new C({parentfeatureset:n[0],orderbyclause:e})}throw new Error("Order cannot accept this parameter type")}))},V.signatures.push({name:"orderby",min:"2",max:"2"}),V.functions.top=function(e,t){return V.standardFunctionAsync(e,t,(async(e,t,n)=>{if(p(n,2,2),w(n[0]))return new R({parentfeatureset:n[0],topnum:n[1]});if(E(n[0]))return N(n[1])>=n[0].length?n[0].slice(0):n[0].slice(0,N(n[1]));if(D(n[0]))return N(n[1])>=n[0].length()?n[0].slice(0):n[0].slice(0,N(n[1]));throw new Error("Top cannot accept this parameter type")}))},V.signatures.push({name:"top",min:"2",max:"2"}),V.functions.first=function(e,t){return V.standardFunctionAsync(e,t,(async(e,t,r)=>{if(p(r,1,1),w(r[0])){const t=await r[0].first(e.abortSignal);if(null!==t){const e=n.createFromGraphicLikeObject(t.geometry,t.attributes,r[0]);return e._underlyingGraphic=t,e}return t}return E(r[0])?0===r[0].length?null:r[0][0]:D(r[0])?0===r[0].length()?null:r[0].get(0):null}))},V.signatures.push({name:"first",min:"1",max:"1"}),V.functions.attachments=function(e,n){return V.standardFunctionAsync(e,n,(async(n,r,i)=>{p(i,1,2);const a={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(i.length>1)if(i[1]instanceof t){if(i[1].hasField("minsize")&&(a.minsize=N(i[1].field("minsize"))),i[1].hasField("metadata")&&(a.returnMetadata=h(i[1].field("metadata"))),i[1].hasField("maxsize")&&(a.maxsize=N(i[1].field("maxsize"))),i[1].hasField("types")){const e=x(i[1].field("types"),!1);e.length>0&&(a.types=e)}}else if(null!==i[1])throw new Error("Invalid Parameter");if(F(i[0])){let t=i[0]._layer;return t instanceof W&&(t=l(t,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===t?[]:!1===w(t)?[]:(await t.load(),t.queryAttachments(i[0].field(t.objectIdField),a.minsize,a.maxsize,a.types,a.returnMetadata))}if(null===i[0])return[];throw new Error("Invalid Parameter")}))},V.signatures.push({name:"attachments",min:"1",max:"2"}),V.functions.featuresetbyrelationshipname=function(e,t){return V.standardFunctionAsync(e,t,(async(t,n,r)=>{p(r,2,4);const i=r[0],a=g(r[1]);let s=y(r[2],null);const o=h(y(r[3],!0));if(null===s&&(s=["*"]),!1===E(s))throw new Error("Invalid Parameter");if(null===r[0])return null;if(!F(r[0]))throw new Error("Invalid Parameter");let c=i._layer;if(c instanceof W&&(c=l(c,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===c)return null;if(!1===w(c))return null;c=await c.load();const d=c.relationshipMetaData().filter((e=>e.name===a));if(0===d.length)return null;if(void 0!==d[0].relationshipTableId&&null!==d[0].relationshipTableId&&d[0].relationshipTableId>-1)return f(c,d[0],i.field(c.objectIdField),c.spatialReference,s,o,e.lrucache,e.interceptor);let m=c.serviceUrl();if(!m)return null;m="/"===m.charAt(m.length-1)?m+d[0].relatedTableId.toString():m+"/"+d[0].relatedTableId.toString();const I=await u(m,c.spatialReference,s,o,e.lrucache,e.interceptor);await I.load();let D=I.relationshipMetaData();if(D=D.filter((e=>e.id===d[0].id)),!1===i.hasField(d[0].keyField)||null===i.field(d[0].keyField)){const e=await c.getFeatureByObjectId(i.field(c.objectIdField),[d[0].keyField]);if(e){const t=z.create(D[0].keyField+"= @id",I.getFieldsIndex());return t.parameters={id:e.attributes[d[0].keyField]},I.filter(t)}return new M({parentfeatureset:I})}const b=z.create(D[0].keyField+"= @id",I.getFieldsIndex());return b.parameters={id:i.field(d[0].keyField)},I.filter(b)}))},V.signatures.push({name:"featuresetbyrelationshipname",min:"2",max:"4"}),V.functions.featuresetbyassociation=function(e,t){return V.standardFunctionAsync(e,t,(async(t,n,r)=>{p(r,2,3);const i=r[0],a=g(y(r[1],"")).toLowerCase(),s=I(r[2])?g(r[2]):null;if(null===r[0])return null;if(!F(r[0]))throw new Error("Invalid Parameter");let o=i._layer;if(o instanceof W&&(o=l(o,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===o)return null;if(!1===w(o))return null;await o.load();const f=o.serviceUrl(),u=await c(f,e.spatialReference);let d=null,m=null,h=!1;if(null!==s&&""!==s&&void 0!==s){for(const e of u.terminals)e.terminalName===s&&(m=e.terminalId);null===m&&(h=!0)}const E=u.associations.getFieldsIndex(),D=E.get("TOGLOBALID").name,b=E.get("FROMGLOBALID").name,A=E.get("TOTERMINALID").name,N=E.get("FROMTERMINALID").name,x=E.get("FROMNETWORKSOURCEID").name,O=E.get("TONETWORKSOURCEID").name,C=E.get("ASSOCIATIONTYPE").name,R=E.get("ISCONTENTVISIBLE").name,M=E.get("OBJECTID").name;for(const e of o.fields)if("global-id"===e.type){d=i.field(e.name);break}let P=null,k=new $(new U({name:"percentalong",alias:"percentalong",type:"double"}),z.create("0",u.associations.getFieldsIndex())),B=new $(new U({name:"side",alias:"side",type:"string"}),z.create("''",u.associations.getFieldsIndex()));const V="globalid",H="globalId",_={};for(const e in u.lkp)_[e]=u.lkp[e].sourceId;const q=new L(new U({name:"classname",alias:"classname",type:"string"}),null,_);let J="";switch(a){case"midspan":{J=`((${D}='${d}') OR ( ${b}='${d}')) AND (${C} IN (5))`,q.codefield=z.create(`CASE WHEN (${D}='${d}') THEN ${x} ELSE ${O} END`,u.associations.getFieldsIndex());const e=G(v.findField(u.associations.fields,b));e.name=V,e.alias=V,P=new $(e,z.create(`CASE WHEN (${b}='${d}') THEN ${D} ELSE ${b} END`,u.associations.getFieldsIndex())),k=u.unVersion>=4?new j(v.findField(u.associations.fields,E.get("PERCENTALONG").name)):new $(new U({name:"percentalong",alias:"percentalong",type:"double"}),z.create("0",u.associations.getFieldsIndex()));break}case"junctionedge":{J=`((${D}='${d}') OR ( ${b}='${d}')) AND (${C} IN (4,6))`,q.codefield=z.create(`CASE WHEN (${D}='${d}') THEN ${x} ELSE ${O} END`,u.associations.getFieldsIndex());const e=G(v.findField(u.associations.fields,b));e.name=V,e.alias=V,P=new $(e,z.create(`CASE WHEN (${b}='${d}') THEN ${D} ELSE ${b} END`,u.associations.getFieldsIndex())),B=new $(new U({name:"side",alias:"side",type:"string"}),z.create(`CASE WHEN (${C}=4) THEN 'from' ELSE 'to' END`,u.associations.getFieldsIndex()));break}case"connected":{let e=`${D}='@T'`,t=`${b}='@T'`;null!==m&&(e+=` AND ${A}=@A`,t+=` AND ${N}=@A`),J="(("+e+") OR ("+t+"))",J=S(J,"@T",d),e=S(e,"@T",d),null!==m&&(e=S(e,"@A",m.toString()),J=S(J,"@A",m.toString())),q.codefield=z.create("CASE WHEN "+e+` THEN ${x} ELSE ${O} END`,u.associations.getFieldsIndex());const n=G(v.findField(u.associations.fields,b));n.name=V,n.alias=V,P=new $(n,z.create("CASE WHEN "+e+` THEN ${b} ELSE ${D} END`,u.associations.getFieldsIndex()));break}case"container":J=`${D}='${d}' AND ${C} = 2`,null!==m&&(J+=` AND ${A} = `+m.toString()),q.codefield=x,J="( "+J+" )",P=new T(v.findField(u.associations.fields,b),V,V);case"content":J=`(${b}='${d}' AND ${C} = 2)`,null!==m&&(J+=` AND ${N} = `+m.toString()),q.codefield=O,J="( "+J+" )",P=new T(v.findField(u.associations.fields,D),V,V);break;case"structure":J=`(${D}='${d}' AND ${C} = 3)`,null!==m&&(J+=` AND ${A} = `+m.toString()),q.codefield=x,J="( "+J+" )",P=new T(v.findField(u.associations.fields,b),V,H);break;case"attached":J=`(${b}='${d}' AND ${C} = 3)`,null!==m&&(J+=` AND ${N} = `+m.toString()),q.codefield=O,J="( "+J+" )",P=new T(v.findField(u.associations.fields,D),V,H);break;default:throw new Error("Invalid Parameter")}h&&(J="1 <> 1");return new v({parentfeatureset:u.associations,adaptedFields:[new j(v.findField(u.associations.fields,M)),new j(v.findField(u.associations.fields,R)),P,B,q,k],extraFilter:J?z.create(J,u.associations.getFieldsIndex()):null})}))},V.signatures.push({name:"featuresetbyassociation",min:"2",max:"6"}),V.functions.groupby=function(e,n){return V.standardFunctionAsync(e,n,(async(n,r,i)=>{if(p(i,3,3),!w(i[0]))throw new Error("Illegal Value: GroupBy");const a=await i[0].load(),s=[],o=[];let l=!1,f=[];if(I(i[1]))f.push(i[1]);else if(i[1]instanceof t)f.push(i[1]);else if(E(i[1]))f=i[1];else{if(!D(i[1]))throw new Error("Illegal Value: GroupBy");f=i[1].toArray()}for(const e of f)if(I(e)){const t=z.create(g(e),a.getFieldsIndex()),n=!0===B(t)?g(e):"%%%%FIELDNAME";s.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(l=!0)}else{if(!(e instanceof t))throw new Error("Illegal Value: GroupBy");{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",n=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(l=!0),!t)throw new Error("Illegal Value: GroupBy");s.push({name:t,expression:z.create(n||t,a.getFieldsIndex())})}}if(f=[],I(i[2]))f.push(i[2]);else if(E(i[2]))f=i[2];else if(D(i[2]))f=i[2].toArray();else{if(!(i[2]instanceof t))throw new Error("Illegal Value: GroupBy");f.push(i[2])}for(const e of f){if(!(e instanceof t))throw new Error("Illegal Value: GroupBy");{const t=e.hasField("name")?e.field("name"):"",n=e.hasField("statistic")?e.field("statistic"):"",r=e.hasField("expression")?e.field("expression"):"";if(!t||!n||!r)throw new Error("Illegal Value: GroupBy");o.push({name:t,statistic:n.toLowerCase(),expression:z.create(r,a.getFieldsIndex())})}}if(l){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of s)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of o)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of s)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of s)await q(t.expression,V,e);for(const t of o)await q(t.expression,V,e);return i[0].groupby(s,o)}))},V.signatures.push({name:"groupby",min:"3",max:"3"}),V.functions.distinct=function(e,n){return V.standardFunctionAsync(e,n,(async(n,r,i)=>{if(w(i[0])){p(i,2,2);const n=await i[0].load(),r=[];let a=[];if(I(i[1]))a.push(i[1]);else if(i[1]instanceof t)a.push(i[1]);else if(E(i[1]))a=i[1];else{if(!D(i[1]))throw new Error("Illegal Value: GroupBy");a=i[1].toArray()}let s=!1;for(const e of a)if(I(e)){const t=z.create(g(e),n.getFieldsIndex()),i=!0===B(t)?g(e):"%%%%FIELDNAME";r.push({name:i,expression:t}),"%%%%FIELDNAME"===i&&(s=!0)}else{if(!(e instanceof t))throw new Error("Illegal Value: GroupBy");{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(s=!0),!t)throw new Error("Illegal Value: GroupBy");r.push({name:t,expression:z.create(i||t,n.getFieldsIndex())})}}if(s){const e={};for(const r of n.fields)e[r.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of r)await q(t.expression,V,e);return i[0].groupby(r,[])}return _("distinct",n,r,i)}))})}export{ee 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.24/esri/copyright.txt for details.
4
4
  */
5
- import{shapeExtent as e}from"../kernel.js";import{H as n,q as t,p as r,d as a}from"../../chunks/languageUtils.js";import i from"../featureset/actions/SpatialFilter.js";import s from"../featureset/sources/Empty.js";import{resolve as l,reject as o}from"../../core/promiseUtils.js";import u from"../../geometry/Geometry.js";import{crosses as c,touches as f,within as p,overlaps as m,contains as d,intersects as y,relate as R}from"../../geometry/geometryEngineAsync.js";function S(e){return e instanceof u}function h(r,a,R,h,g){return g(r,a,(function(r,a,g){if(g.length<2)return h(new Error("Missing Parameters"));if(null===(g=n(g))[0]&&null===g[1])return l(!1);if(t(g[0]))return g[1]instanceof u?l(new i({parentfeatureset:g[0],relation:R,relationGeom:g[1]})):null===g[1]?l(new s({parentfeatureset:g[0]})):h("Spatial Relation cannot accept this parameter type");if(S(g[0])){if(S(g[1])){let n=null;switch(R){case"esriSpatialRelEnvelopeIntersects":n=y(e(g[0]),e(g[1]));break;case"esriSpatialRelIntersects":n=y(g[0],g[1]);break;case"esriSpatialRelContains":n=d(g[0],g[1]);break;case"esriSpatialRelOverlaps":n=m(g[0],g[1]);break;case"esriSpatialRelWithin":n=p(g[0],g[1]);break;case"esriSpatialRelTouches":n=f(g[0],g[1]);break;case"esriSpatialRelCrosses":n=c(g[0],g[1])}return null!==n?n:o(new Error("Unrecognised Relationship"))}return t(g[1])?l(new i({parentfeatureset:g[1],relation:R,relationGeom:g[0]})):null===g[1]?l(!1):h("Spatial Relation cannot accept this parameter type")}return null!==g[0]?h("Spatial Relation cannot accept this parameter type"):t(g[1])?l(new s({parentfeatureset:g[1]})):g[1]instanceof u||null===g[1]?l(!1):void 0}))}function g(e){"async"===e.mode&&(e.functions.intersects=function(n,t){return h(n,t,"esriSpatialRelIntersects",e.failDefferred,e.standardFunctionAsync)},e.functions.envelopeintersects=function(n,t){return h(n,t,"esriSpatialRelEnvelopeIntersects",e.failDefferred,e.standardFunctionAsync)},e.signatures.push({name:"envelopeintersects",min:"2",max:"2"}),e.functions.contains=function(n,t){return h(n,t,"esriSpatialRelContains",e.failDefferred,e.standardFunctionAsync)},e.functions.overlaps=function(n,t){return h(n,t,"esriSpatialRelOverlaps",e.failDefferred,e.standardFunctionAsync)},e.functions.within=function(n,t){return h(n,t,"esriSpatialRelWithin",e.failDefferred,e.standardFunctionAsync)},e.functions.touches=function(n,t){return h(n,t,"esriSpatialRelTouches",e.failDefferred,e.standardFunctionAsync)},e.functions.crosses=function(n,t){return h(n,t,"esriSpatialRelCrosses",e.failDefferred,e.standardFunctionAsync)},e.functions.relate=function(i,l){return e.standardFunctionAsync(i,l,(function(e,i,l){if(l=n(l),r(l,3,3),S(l[0])&&S(l[1]))return R(l[0],l[1],a(l[2]));if(l[0]instanceof u&&null===l[1])return!1;if(l[1]instanceof u&&null===l[0])return!1;if(t(l[0])&&null===l[1])return new s({parentfeatureset:l[0]});if(t(l[1])&&null===l[0])return new s({parentfeatureset:l[1]});if(t(l[0])&&l[1]instanceof u)return l[0].relate(l[1],a(l[2]));if(t(l[1])&&l[0]instanceof u)return l[1].relate(l[0],a(l[2]));if(null===l[0]&&null===l[1])return!1;throw new Error("Illegal Argument")}))})}export{g as registerFunctions};
5
+ import{shapeExtent as e}from"../kernel.js";import{H as n,q as t,p as r,d as i}from"../../chunks/languageUtils.js";import a from"../featureset/actions/SpatialFilter.js";import s from"../featureset/sources/Empty.js";import o from"../../geometry/Geometry.js";import{crosses as u,touches as l,within as c,overlaps as f,contains as p,intersects as m,relate as d}from"../../geometry/geometryEngineAsync.js";function h(e){return e instanceof o}function w(r,i,d,w){return w(r,i,(async function(r,i,w){if(w.length<2)throw new Error("Missing Parameters");if(null===(w=n(w))[0]&&null===w[1])return!1;if(t(w[0])){if(w[1]instanceof o)return new a({parentfeatureset:w[0],relation:d,relationGeom:w[1]});if(null===w[1])return new s({parentfeatureset:w[0]});throw new Error("Spatial Relation cannot accept this parameter type")}if(h(w[0])){if(h(w[1])){switch(d){case"esriSpatialRelEnvelopeIntersects":return m(e(w[0]),e(w[1]));case"esriSpatialRelIntersects":return m(w[0],w[1]);case"esriSpatialRelContains":return p(w[0],w[1]);case"esriSpatialRelOverlaps":return f(w[0],w[1]);case"esriSpatialRelWithin":return c(w[0],w[1]);case"esriSpatialRelTouches":return l(w[0],w[1]);case"esriSpatialRelCrosses":return u(w[0],w[1])}throw new Error("Unrecognised Relationship")}if(t(w[1]))return new a({parentfeatureset:w[1],relation:d,relationGeom:w[0]});if(null===w[1])return!1;throw new Error("Spatial Relation cannot accept this parameter type")}if(null!==w[0])throw new Error("Spatial Relation cannot accept this parameter type");return t(w[1])?new s({parentfeatureset:w[1]}):!(w[1]instanceof o||null===w[1])&&void 0}))}function y(e){"async"===e.mode&&(e.functions.intersects=function(n,t){return w(n,t,"esriSpatialRelIntersects",e.standardFunctionAsync)},e.functions.envelopeintersects=function(n,t){return w(n,t,"esriSpatialRelEnvelopeIntersects",e.standardFunctionAsync)},e.signatures.push({name:"envelopeintersects",min:"2",max:"2"}),e.functions.contains=function(n,t){return w(n,t,"esriSpatialRelContains",e.standardFunctionAsync)},e.functions.overlaps=function(n,t){return w(n,t,"esriSpatialRelOverlaps",e.standardFunctionAsync)},e.functions.within=function(n,t){return w(n,t,"esriSpatialRelWithin",e.standardFunctionAsync)},e.functions.touches=function(n,t){return w(n,t,"esriSpatialRelTouches",e.standardFunctionAsync)},e.functions.crosses=function(n,t){return w(n,t,"esriSpatialRelCrosses",e.standardFunctionAsync)},e.functions.relate=function(a,u){return e.standardFunctionAsync(a,u,(function(e,a,u){if(u=n(u),r(u,3,3),h(u[0])&&h(u[1]))return d(u[0],u[1],i(u[2]));if(u[0]instanceof o&&null===u[1])return!1;if(u[1]instanceof o&&null===u[0])return!1;if(t(u[0])&&null===u[1])return new s({parentfeatureset:u[0]});if(t(u[1])&&null===u[0])return new s({parentfeatureset:u[1]});if(t(u[0])&&u[1]instanceof o)return u[0].relate(u[1],i(u[2]));if(t(u[1])&&u[0]instanceof o)return u[1].relate(u[0],i(u[2]));if(null===u[0]&&null===u[1])return!1;throw new Error("Illegal Argument")}))})}export{y 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.24/esri/copyright.txt for details.
4
4
  */
5
- import{p as n,q as t,a as r,f as e,b as u,C as i}from"../../chunks/languageUtils.js";import{calculateStat as a}from"./fieldStats.js";import{resolve as o,all as c,reject as s}from"../../core/promiseUtils.js";import{WhereClause as f}from"../../core/sql/WhereClause.js";function l(n,e,c,s,l,m){if(1===s.length){if(r(s[0]))return o(a(n,s[0],i(s[1],-1)));if(u(s[0]))return o(a(n,s[0].toArray(),i(s[1],-1)))}else if(2===s.length){if(r(s[0]))return o(a(n,s[0],i(s[1],-1)));if(u(s[0]))return o(a(n,s[0].toArray(),i(s[1],-1)));if(t(s[0]))return s[0].load().then((t=>d(f.create(s[1],t.getFieldsIndex()),m,l).then((t=>s[0].calculateStatistic(n,t,i(s[2],1e3),e.abortSignal)))))}else if(3===s.length&&t(s[0]))return s[0].load().then((t=>d(f.create(s[1],t.getFieldsIndex()),m,l).then((t=>s[0].calculateStatistic(n,t,i(s[2],1e3),e.abortSignal)))));return o(a(n,s,-1))}function d(n,t,r){try{const e=n.getVariables();if(e.length>0){const u=[];for(let n=0;n<e.length;n++){const i={name:e[n]};u.push(t.evaluateIdentifier(r,i))}return c(u).then((t=>{const r={};for(let n=0;n<e.length;n++)r[e[n]]=t[n];return n.parameters=r,n}))}return o(n)}catch(e){return s(e)}}function m(i){"async"===i.mode&&(i.functions.stdev=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return l("stdev",t,r,e,n,i)}))},i.functions.variance=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return l("variance",t,r,e,n,i)}))},i.functions.average=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return l("mean",t,r,e,n,i)}))},i.functions.mean=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return l("mean",t,r,e,n,i)}))},i.functions.sum=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return l("sum",t,r,e,n,i)}))},i.functions.min=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return l("min",t,r,e,n,i)}))},i.functions.max=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return l("max",t,r,e,n,i)}))},i.functions.count=function(a,o){return i.standardFunctionAsync(a,o,(function(i,a,o){if(n(o,1,1),t(o[0]))return o[0].count(i.abortSignal);if(r(o[0])||e(o[0]))return o[0].length;if(u(o[0]))return o[0].length();throw new Error("Invalid Parameters for Count")}))})}export{m as registerFunctions};
5
+ import{p as n,q as t,a as r,f as e,b as a,C as i}from"../../chunks/languageUtils.js";import{calculateStat as u}from"./fieldStats.js";import{WhereClause as c}from"../../core/sql/WhereClause.js";async function o(n,e,o,f,l,d){if(1===f.length){if(r(f[0]))return u(n,f[0],i(f[1],-1));if(a(f[0]))return u(n,f[0].toArray(),i(f[1],-1))}else if(2===f.length){if(r(f[0]))return u(n,f[0],i(f[1],-1));if(a(f[0]))return u(n,f[0].toArray(),i(f[1],-1));if(t(f[0])){const t=await f[0].load(),r=await s(c.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),e.abortSignal)}}else if(3===f.length&&t(f[0])){const t=await f[0].load(),r=await s(c.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),e.abortSignal)}return u(n,f,-1)}async function s(n,t,r){const e=n.getVariables();if(e.length>0){const a=[];for(let n=0;n<e.length;n++){const i={name:e[n]};a.push(await t.evaluateIdentifier(r,i))}const i={};for(let n=0;n<e.length;n++)i[e[n]]=a[n];return n.parameters=i,n}return n}function f(i){"async"===i.mode&&(i.functions.stdev=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("stdev",t,r,e,n,i)}))},i.functions.variance=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("variance",t,r,e,n,i)}))},i.functions.average=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("mean",t,r,e,n,i)}))},i.functions.mean=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("mean",t,r,e,n,i)}))},i.functions.sum=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("sum",t,r,e,n,i)}))},i.functions.min=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("min",t,r,e,n,i)}))},i.functions.max=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("max",t,r,e,n,i)}))},i.functions.count=function(u,c){return i.standardFunctionAsync(u,c,(function(i,u,c){if(n(c,1,1),t(c[0]))return c[0].count(i.abortSignal);if(r(c[0])||e(c[0]))return c[0].length;if(a(c[0]))return c[0].length();throw new Error("Invalid Parameters for Count")}))})}export{f 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.24/esri/copyright.txt for details.
4
4
  */
5
- import n from"../Dictionary.js";import{p as e,k as r,T as t,t as o,d as a,q as i,Z as c,Q as u,U as d,_ as s,V as m,$ as f,C as l,u as v,P as y}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as h}from"../featureset/support/shared.js";function p(e){return e&&e.domain?"coded-value"===e.domain.type||"codedValue"===e.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:e.domain.name,dataType:h[e.field.type],codedValues:e.domain.codedValues.map((n=>({name:n.name,code:n.code})))}):n.convertObjectToArcadeDictionary({type:"range",name:e.domain.name,dataType:h[e.field.type],min:e.domain.min,max:e.domain.max}):null}function T(h){"async"===h.mode&&(h.functions.domain=function(n,u){return h.standardFunctionAsync(n,u,(function(n,u,d){if(e(d,2,3),r(d[0])){return p(t(d[0],a(d[1]),void 0===d[2]?void 0:o(d[2])))}if(i(d[0]))return d[0]._ensureLoaded().then((()=>p(c(a(d[1]),d[0],null,void 0===d[2]?void 0:o(d[2])))));throw new Error("Invalid Parameter")}))},h.functions.subtypes=function(t,o){return h.standardFunctionAsync(t,o,(function(t,o,a){if(e(a,1,1),r(a[0])){const e=u(a[0]);return e?n.convertObjectToArcadeDictionary(e):null}if(i(a[0]))return a[0]._ensureLoaded().then((()=>{const e=a[0].subtypes();return e?n.convertObjectToArcadeDictionary(e):null}));throw new Error("Invalid Parameter")}))},h.functions.domainname=function(n,t){return h.standardFunctionAsync(n,t,(function(n,t,u){if(e(u,2,4),r(u[0]))return d(u[0],a(u[1]),u[2],void 0===u[3]?void 0:o(u[3]));if(i(u[0]))return u[0]._ensureLoaded().then((()=>{const n=c(a(u[1]),u[0],null,void 0===u[3]?void 0:o(u[3]));return s(n,u[2])}));throw new Error("Invalid Parameter")}))},h.signatures.push({name:"domainname",min:"2",max:"4"}),h.functions.domaincode=function(n,t){return h.standardFunctionAsync(n,t,(function(n,t,u){if(e(u,2,4),r(u[0]))return m(u[0],a(u[1]),u[2],void 0===u[3]?void 0:o(u[3]));if(i(u[0]))return u[0]._ensureLoaded().then((()=>{const n=c(a(u[1]),u[0],null,void 0===u[3]?void 0:o(u[3]));return f(n,u[2])}));throw new Error("Invalid Parameter")}))},h.signatures.push({name:"domaincode",min:"2",max:"4"})),h.functions.text=function(n,r){return h.standardFunctionAsync(n,r,(function(n,r,t){if(e(t,1,2),!i(t[0]))return v(t[0],t[1]);{const e=l(t[1],"");if(""===e)return t[0].castToText();if("schema"===e.toLowerCase())return t[0].convertToText("schema",n.abortSignal);if("featureset"===e.toLowerCase())return t[0].convertToText("featureset",n.abortSignal)}}))},h.functions.gdbversion=function(n,t){return h.standardFunctionAsync(n,t,(function(n,t,o){if(e(o,1,1),r(o[0]))return o[0].gdbVersion();if(i(o[0]))return o[0].load().then((n=>n.gdbVersion));throw new Error("Invalid Parameter")}))},h.functions.schema=function(t,o){return h.standardFunctionAsync(t,o,(function(t,o,a){if(e(a,1,1),i(a[0]))return a[0].load().then((()=>n.convertObjectToArcadeDictionary(a[0].schema())));if(r(a[0])){const e=y(a[0]);return e?n.convertObjectToArcadeDictionary(e):null}throw new Error("Invalid Parameter")}))}}export{T as registerFunctions};
5
+ import n from"../Dictionary.js";import{p as a,k as e,T as t,t as r,d as o,q as i,Z as c,Q as d,U as s,_ as u,V as m,$ as f,C as l,u as y,P as v}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as p}from"../featureset/support/shared.js";function w(a){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:a.domain.name,dataType:p[a.field.type],codedValues:a.domain.codedValues.map((n=>({name:n.name,code:n.code})))}):n.convertObjectToArcadeDictionary({type:"range",name:a.domain.name,dataType:p[a.field.type],min:a.domain.min,max:a.domain.max}):null}function T(p){"async"===p.mode&&(p.functions.domain=function(n,d){return p.standardFunctionAsync(n,d,(async function(n,d,s){if(a(s,2,3),e(s[0])){return w(t(s[0],o(s[1]),void 0===s[2]?void 0:r(s[2])))}if(i(s[0])){await s[0]._ensureLoaded();return w(c(o(s[1]),s[0],null,void 0===s[2]?void 0:r(s[2])))}throw new Error("Invalid Parameter")}))},p.functions.subtypes=function(t,r){return p.standardFunctionAsync(t,r,(async function(t,r,o){if(a(o,1,1),e(o[0])){const a=d(o[0]);return a?n.convertObjectToArcadeDictionary(a):null}if(i(o[0])){await o[0]._ensureLoaded();const a=o[0].subtypes();return a?n.convertObjectToArcadeDictionary(a):null}throw new Error("Invalid Parameter")}))},p.functions.domainname=function(n,t){return p.standardFunctionAsync(n,t,(async function(n,t,d){if(a(d,2,4),e(d[0]))return s(d[0],o(d[1]),d[2],void 0===d[3]?void 0:r(d[3]));if(i(d[0])){await d[0]._ensureLoaded();const n=c(o(d[1]),d[0],null,void 0===d[3]?void 0:r(d[3]));return u(n,d[2])}throw new Error("Invalid Parameter")}))},p.signatures.push({name:"domainname",min:"2",max:"4"}),p.functions.domaincode=function(n,t){return p.standardFunctionAsync(n,t,(async function(n,t,d){if(a(d,2,4),e(d[0]))return m(d[0],o(d[1]),d[2],void 0===d[3]?void 0:r(d[3]));if(i(d[0])){await d[0]._ensureLoaded();const n=c(o(d[1]),d[0],null,void 0===d[3]?void 0:r(d[3]));return f(n,d[2])}throw new Error("Invalid Parameter")}))},p.signatures.push({name:"domaincode",min:"2",max:"4"})),p.functions.text=function(n,e){return p.standardFunctionAsync(n,e,(function(n,e,t){if(a(t,1,2),!i(t[0]))return y(t[0],t[1]);{const a=l(t[1],"");if(""===a)return t[0].castToText();if("schema"===a.toLowerCase())return t[0].convertToText("schema",n.abortSignal);if("featureset"===a.toLowerCase())return t[0].convertToText("featureset",n.abortSignal)}}))},p.functions.gdbversion=function(n,t){return p.standardFunctionAsync(n,t,(async function(n,t,r){if(a(r,1,1),e(r[0]))return r[0].gdbVersion();if(i(r[0])){return(await r[0].load()).gdbVersion}throw new Error("Invalid Parameter")}))},p.functions.schema=function(t,r){return p.standardFunctionAsync(t,r,(async function(t,r,o){if(a(o,1,1),i(o[0]))return await o[0].load(),n.convertObjectToArcadeDictionary(o[0].schema());if(e(o[0])){const a=v(o[0]);return a?n.convertObjectToArcadeDictionary(a):null}throw new Error("Invalid Parameter")}))}}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.24/esri/copyright.txt for details.
4
4
  */
5
- import{version as n}from"../../kernel.js";import{cloneGeometry as t,convertSquareUnitsToCode as r,convertLinearUnitsToCode as e}from"../kernel.js";import{H as o,p as i,o as l,d as u,a as s,b as a,s as f,q as c,C as g,K as m,J as h,L as d,t as w,z as p}from"../../chunks/languageUtils.js";import{centroidPolyline as A,centroidMultiPoint as y,getMetersPerVerticalUnitForSR as E,segmentLength3d as I}from"./centroid.js";import{resolve as F}from"../../core/promiseUtils.js";import R from"../../geometry/Extent.js";import x from"../../geometry/Geometry.js";import{disjoint as b,intersects as N,touches as j,crosses as S,within as k,contains as M,overlaps as O,equals as P,relate as Z,intersect as z,union as L,difference as U,symmetricDifference as v,clip as C,cut as J,planarArea as q,geodesicArea as T,planarLength as W,geodesicLength as G,distance as H,densify as K,geodesicDensify as V,generalize as B,buffer as D,geodesicBuffer as Q,offset as X,rotate as Y,simplify as $,isSimple as _}from"../../geometry/geometryEngineAsync.js";import nn from"../../geometry/Multipoint.js";import tn from"../../geometry/Point.js";import rn from"../../geometry/Polygon.js";import en from"../../geometry/Polyline.js";import{fromJSON as on}from"../../geometry/support/jsonUtils.js";import{getMetersPerUnitForSR as ln}from"../../core/unitUtils.js";function un(t){return 0===n.indexOf("4.")?rn.fromExtent(t):new rn({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 sn(n){if(i(n,2,2),n[0]instanceof x&&n[1]instanceof x);else if(n[0]instanceof x&&null===n[1]);else if(n[1]instanceof x&&null===n[0]);else if(null!==n[0]||null!==n[1])throw new Error("Illegal Argument")}function an(n,t){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return F(0);let r=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){r=E(n.spatialReference)/ln(n.spatialReference)}let e=0;if("polyline"===n.type)for(const i of n.paths)for(let n=1;n<i.length;n++)e+=I(i[n],i[n-1],r);else if("polygon"===n.type)for(const i of n.rings){for(let n=1;n<i.length;n++)e+=I(i[n],i[n-1],r);(i[0][0]!==i[i.length-1][0]||i[0][1]!==i[i.length-1][1]||void 0!==i[0][2]&&i[0][2]!==i[i.length-1][2])&&(e+=I(i[0],i[i.length-1],r))}else"extent"===n.type&&(e+=2*I([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],r),e+=2*I([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],r),e*=2,e+=4*Math.abs(g(n.zmax,0)*r-g(n.zmin,0)*r));const o=new en({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,e]]});return W(o,t)}function fn(n){"async"===n.mode&&(n.functions.disjoint=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null===r[0]||null===r[1]||b(r[0],r[1])}))},n.functions.intersects=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null!==r[0]&&null!==r[1]&&N(r[0],r[1])}))},n.functions.touches=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null!==r[0]&&null!==r[1]&&j(r[0],r[1])}))},n.functions.crosses=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null!==r[0]&&null!==r[1]&&S(r[0],r[1])}))},n.functions.within=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null!==r[0]&&null!==r[1]&&k(r[0],r[1])}))},n.functions.contains=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null!==r[0]&&null!==r[1]&&M(r[0],r[1])}))},n.functions.overlaps=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null!==r[0]&&null!==r[1]&&O(r[0],r[1])}))},n.functions.equals=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return i(r,2,2),r[0]===r[1]||(r[0]instanceof x&&r[1]instanceof x?P(r[0],r[1]):!(!l(r[0])||!l(r[1]))&&r[0].getTime()===r[1].getTime())}))},n.functions.relate=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,3,3),r[0]instanceof x&&r[1]instanceof x)return Z(r[0],r[1],u(r[2]));if(r[0]instanceof x&&null===r[1])return!1;if(r[1]instanceof x&&null===r[0])return!1;if(null===r[0]&&null===r[1])return!1;throw new Error("Illegal Argument")}))},n.functions.intersection=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return sn(r=o(r)),null===r[0]||null===r[1]?null:z(r[0],r[1])}))},n.functions.union=function(r,e){return n.standardFunctionAsync(r,e,(function(n,e,i){const l=[];if(0===(i=o(i)).length)throw new Error("Function called with wrong number of Parameters");if(1===i.length)if(s(i[0])){const n=o(i[0]);for(let t=0;t<n.length;t++)if(null!==n[t]){if(!(n[t]instanceof x))throw new Error("Illegal Argument");l.push(n[t])}}else{if(!a(i[0])){if(i[0]instanceof x)return f(t(i[0]),r.spatialReference);if(null===i[0])return null;throw new Error("Illegal Argument")}{const n=o(i[0].toArray());for(let t=0;t<n.length;t++)if(null!==n[t]){if(!(n[t]instanceof x))throw new Error("Illegal Argument");l.push(n[t])}}}else for(let t=0;t<i.length;t++)if(null!==i[t]){if(!(i[t]instanceof x))throw new Error("Illegal Argument");l.push(i[t])}return 0===l.length?null:L(l)}))},n.functions.difference=function(r,e){return n.standardFunctionAsync(r,e,(function(n,r,e){return sn(e=o(e)),null!==e[0]&&null===e[1]?t(e[0]):null===e[0]?null:U(e[0],e[1])}))},n.functions.symmetricdifference=function(r,e){return n.standardFunctionAsync(r,e,(function(n,r,e){return sn(e=o(e)),null===e[0]&&null===e[1]?null:null===e[0]?t(e[1]):null===e[1]?t(e[0]):v(e[0],e[1])}))},n.functions.clip=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,2,2),!(r[1]instanceof R)&&null!==r[1])throw new Error("Illegal Argument");if(null===r[0])return null;if(!(r[0]instanceof x))throw new Error("Illegal Argument");return null===r[1]?null:C(r[0],r[1])}))},n.functions.cut=function(r,e){return n.standardFunctionAsync(r,e,(function(n,r,e){if(e=o(e),i(e,2,2),!(e[1]instanceof en)&&null!==e[1])throw new Error("Illegal Argument");if(null===e[0])return[];if(!(e[0]instanceof x))throw new Error("Illegal Argument");return null===e[1]?[t(e[0])]:J(e[0],e[1])}))},n.functions.area=function(t,e){return n.standardFunctionAsync(t,e,(function(n,e,l){if(i(l,1,2),null===(l=o(l))[0])return 0;if(c(l[0]))return l[0].sumArea(r(g(l[1],-1)),!1,t.abortSignal).then((n=>{if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}));if(s(l[0])||a(l[0])){const n=m(l[0],t.spatialReference);return null===n?0:q(n,r(g(l[1],-1)))}if(!(l[0]instanceof x))throw new Error("Illegal Argument");return q(l[0],r(g(l[1],-1)))}))},n.functions.areageodetic=function(t,e){return n.standardFunctionAsync(t,e,(function(n,e,l){if(i(l,1,2),null===(l=o(l))[0])return 0;if(c(l[0]))return l[0].sumArea(r(g(l[1],-1)),!0,t.abortSignal).then((n=>{if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}));if(s(l[0])||a(l[0])){const n=m(l[0],t.spatialReference);return null===n?0:T(n,r(g(l[1],-1)))}if(!(l[0]instanceof x))throw new Error("Illegal Argument");return T(l[0],r(g(l[1],-1)))}))},n.functions.length=function(t,r){return n.standardFunctionAsync(t,r,(function(n,r,l){if(i(l,1,2),null===(l=o(l))[0])return 0;if(c(l[0]))return l[0].sumLength(e(g(l[1],-1)),!1,t.abortSignal).then((n=>{if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}));if(s(l[0])||a(l[0])){const n=h(l[0],t.spatialReference);return null===n?0:W(n,e(g(l[1],-1)))}if(!(l[0]instanceof x))throw new Error("Illegal Argument");return W(l[0],e(g(l[1],-1)))}))},n.functions.length3d=function(t,r){return n.standardFunctionAsync(t,r,(function(n,r,l){if(i(l,1,2),null===(l=o(l))[0])return 0;if(s(l[0])||a(l[0])){const n=h(l[0],t.spatialReference);return null===n?0:!0===n.hasZ?an(n,e(g(l[1],-1))):W(n,e(g(l[1],-1)))}if(!(l[0]instanceof x))throw new Error("Illegal Argument");return!0===l[0].hasZ?an(l[0],e(g(l[1],-1))):W(l[0],e(g(l[1],-1)))}))},n.functions.lengthgeodetic=function(t,r){return n.standardFunctionAsync(t,r,(function(n,r,l){if(i(l,1,2),null===(l=o(l))[0])return 0;if(c(l[0]))return l[0].sumLength(e(g(l[1],-1)),!0,t.abortSignal).then((n=>{if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}));if(s(l[0])||a(l[0])){const n=h(l[0],t.spatialReference);return null===n?0:G(n,e(g(l[1],-1)))}if(!(l[0]instanceof x))throw new Error("Illegal Argument");return G(l[0],e(g(l[1],-1)))}))},n.functions.distance=function(t,r){return n.standardFunctionAsync(t,r,(function(n,r,l){l=o(l),i(l,2,3);let u=l[0];(s(l[0])||a(l[0]))&&(u=d(l[0],t.spatialReference));let f=l[1];if((s(l[1])||a(l[1]))&&(f=d(l[1],t.spatialReference)),!(u instanceof x))throw new Error("Illegal Argument");if(!(f instanceof x))throw new Error("Illegal Argument");return H(u,f,e(g(l[2],-1)))}))},n.functions.distancegeodetic=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){r=o(r),i(r,2,3);const l=r[0],u=r[1];if(!(l instanceof tn))throw new Error("Illegal Argument");if(!(u instanceof tn))throw new Error("Illegal Argument");const s=new en({paths:[],spatialReference:l.spatialReference});return s.addPath([l,u]),G(s,e(g(r[2],-1)))}))},n.functions.densify=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,2,3),null===r[0])return null;if(!(r[0]instanceof x))throw new Error("Illegal Argument");const l=w(r[1]);if(isNaN(l))throw new Error("Illegal Argument");if(l<=0)throw new Error("Illegal Argument");return r[0]instanceof rn||r[0]instanceof en?K(r[0],l,e(g(r[2],-1))):r[0]instanceof R?K(un(r[0]),l,e(g(r[2],-1))):r[0]}))},n.functions.densifygeodetic=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,2,3),null===r[0])return null;if(!(r[0]instanceof x))throw new Error("Illegal Argument");const l=w(r[1]);if(isNaN(l))throw new Error("Illegal Argument");if(l<=0)throw new Error("Illegal Argument");return r[0]instanceof rn||r[0]instanceof en?V(r[0],l,e(g(r[2],-1))):r[0]instanceof R?V(un(r[0]),l,e(g(r[2],-1))):r[0]}))},n.functions.generalize=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,2,4),null===r[0])return null;if(!(r[0]instanceof x))throw new Error("Illegal Argument");const l=w(r[1]);if(isNaN(l))throw new Error("Illegal Argument");return B(r[0],l,p(g(r[2],!0)),e(g(r[3],-1)))}))},n.functions.buffer=function(r,l){return n.standardFunctionAsync(r,l,(function(n,r,l){if(l=o(l),i(l,2,3),null===l[0])return null;if(!(l[0]instanceof x))throw new Error("Illegal Argument");const u=w(l[1]);if(isNaN(u))throw new Error("Illegal Argument");return 0===u?t(l[0]):D(l[0],u,e(g(l[2],-1)))}))},n.functions.buffergeodetic=function(r,l){return n.standardFunctionAsync(r,l,(function(n,r,l){if(l=o(l),i(l,2,3),null===l[0])return null;if(!(l[0]instanceof x))throw new Error("Illegal Argument");const u=w(l[1]);if(isNaN(u))throw new Error("Illegal Argument");return 0===u?t(l[0]):Q(l[0],u,e(g(l[2],-1)))}))},n.functions.offset=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,2,6),null===r[0])return null;if(!(r[0]instanceof rn||r[0]instanceof en))throw new Error("Illegal Argument");const l=w(r[1]);if(isNaN(l))throw new Error("Illegal Argument");const s=w(g(r[4],10));if(isNaN(s))throw new Error("Illegal Argument");const a=w(g(r[5],0));if(isNaN(a))throw new Error("Illegal Argument");return X(r[0],l,e(g(r[2],-1)),u(g(r[3],"round")).toLowerCase(),s,a)}))},n.functions.rotate=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){r=o(r),i(r,2,3);let e=r[0];if(null===e)return null;if(!(e instanceof x))throw new Error("Illegal Argument");e instanceof R&&(e=rn.fromExtent(e));const l=w(r[1]);if(isNaN(l))throw new Error("Illegal Argument");const u=g(r[2],null);if(null===u)return Y(e,l);if(u instanceof tn)return Y(e,l,u);throw new Error("Illegal Argument")}))},n.functions.centroid=function(r,e){return n.standardFunctionAsync(r,e,(function(n,e,l){if(l=o(l),i(l,1,1),null===l[0])return null;let u=l[0];if((s(l[0])||a(l[0]))&&(u=d(l[0],r.spatialReference)),null===u)return null;if(!(u instanceof x))throw new Error("Illegal Argument");return u instanceof tn?f(t(l[0]),r.spatialReference):u instanceof rn?u.centroid:u instanceof en?A(u):u instanceof nn?y(u):u instanceof R?u.center:null}))},n.functions.multiparttosinglepart=function(r,e){return n.standardFunctionAsync(r,e,(function(n,e,l){l=o(l),i(l,1,1);const u=[];if(null===l[0])return null;if(!(l[0]instanceof x))throw new Error("Illegal Argument");if(l[0]instanceof tn)return[f(t(l[0]),r.spatialReference)];if(l[0]instanceof R)return[f(t(l[0]),r.spatialReference)];return $(l[0]).then((n=>{if(n instanceof rn){const t=[],r=[];for(let e=0;e<n.rings.length;e++)if(n.isClockwise(n.rings[e])){const r=on({rings:[n.rings[e]],hasZ:!0===n.hasZ,hazM:!0===n.hasM,spatialReference:n.spatialReference.toJSON()});t.push(r)}else r.push({ring:n.rings[e],pt:n.getPoint(e,0)});for(let n=0;n<r.length;n++)for(let e=0;e<t.length;e++)if(t[e].contains(r[n].pt)){t[e].addRing(r[n].ring);break}return t}if(n instanceof en){const t=[];for(let r=0;r<n.paths.length;r++){const e=on({paths:[n.paths[r]],hasZ:!0===n.hasZ,hazM:!0===n.hasM,spatialReference:n.spatialReference.toJSON()});t.push(e)}return t}if(l[0]instanceof nn){const n=f(t(l[0]),r.spatialReference);for(let t=0;t<n.points.length;t++)u.push(n.getPoint(t));return u}return null}))}))},n.functions.issimple=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,1,1),null===r[0])return!0;if(!(r[0]instanceof x))throw new Error("Illegal Argument");return _(r[0])}))},n.functions.simplify=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=o(r),i(r,1,1),null===r[0])return null;if(!(r[0]instanceof x))throw new Error("Illegal Argument");return $(r[0])}))})}export{fn as registerFunctions};
5
+ import{version as n}from"../../kernel.js";import{cloneGeometry as t,convertSquareUnitsToCode as r,convertLinearUnitsToCode as e}from"../kernel.js";import{H as i,p as o,o as l,d as u,a,b as s,s as c,q as f,C as g,K as m,J as w,L as h,t as d,z as p}from"../../chunks/languageUtils.js";import{centroidPolyline as A,centroidMultiPoint as y,getMetersPerVerticalUnitForSR as E,segmentLength3d as I}from"./centroid.js";import F from"../../geometry/Extent.js";import R from"../../geometry/Geometry.js";import{disjoint as x,intersects as b,touches as N,crosses as j,within as S,contains as k,overlaps as M,equals as O,relate as P,intersect as Z,union as z,difference as L,symmetricDifference as v,clip as C,cut as J,planarArea as U,geodesicArea as q,planarLength as T,geodesicLength as W,distance as G,densify as H,geodesicDensify as K,generalize as V,buffer as B,geodesicBuffer as D,offset as Q,rotate as X,simplify as Y,isSimple as $}from"../../geometry/geometryEngineAsync.js";import _ from"../../geometry/Multipoint.js";import nn from"../../geometry/Point.js";import tn from"../../geometry/Polygon.js";import rn from"../../geometry/Polyline.js";import{fromJSON as en}from"../../geometry/support/jsonUtils.js";import{getMetersPerUnitForSR as on}from"../../core/unitUtils.js";function ln(t){return 0===n.indexOf("4.")?tn.fromExtent(t):new tn({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 un(n){if(o(n,2,2),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 Error("Illegal Argument")}async function an(n,t){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let r=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){r=E(n.spatialReference)/on(n.spatialReference)}let e=0;if("polyline"===n.type)for(const o of n.paths)for(let n=1;n<o.length;n++)e+=I(o[n],o[n-1],r);else if("polygon"===n.type)for(const o of n.rings){for(let n=1;n<o.length;n++)e+=I(o[n],o[n-1],r);(o[0][0]!==o[o.length-1][0]||o[0][1]!==o[o.length-1][1]||void 0!==o[0][2]&&o[0][2]!==o[o.length-1][2])&&(e+=I(o[0],o[o.length-1],r))}else"extent"===n.type&&(e+=2*I([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],r),e+=2*I([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],r),e*=2,e+=4*Math.abs(g(n.zmax,0)*r-g(n.zmin,0)*r));const i=new rn({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,e]]});return T(i,t)}function sn(n){"async"===n.mode&&(n.functions.disjoint=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null===r[0]||null===r[1]||x(r[0],r[1])}))},n.functions.intersects=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null!==r[0]&&null!==r[1]&&b(r[0],r[1])}))},n.functions.touches=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null!==r[0]&&null!==r[1]&&N(r[0],r[1])}))},n.functions.crosses=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null!==r[0]&&null!==r[1]&&j(r[0],r[1])}))},n.functions.within=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null!==r[0]&&null!==r[1]&&S(r[0],r[1])}))},n.functions.contains=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null!==r[0]&&null!==r[1]&&k(r[0],r[1])}))},n.functions.overlaps=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null!==r[0]&&null!==r[1]&&M(r[0],r[1])}))},n.functions.equals=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return o(r,2,2),r[0]===r[1]||(r[0]instanceof R&&r[1]instanceof R?O(r[0],r[1]):!(!l(r[0])||!l(r[1]))&&r[0].getTime()===r[1].getTime())}))},n.functions.relate=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,3,3),r[0]instanceof R&&r[1]instanceof R)return P(r[0],r[1],u(r[2]));if(r[0]instanceof R&&null===r[1])return!1;if(r[1]instanceof R&&null===r[0])return!1;if(null===r[0]&&null===r[1])return!1;throw new Error("Illegal Argument")}))},n.functions.intersection=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){return un(r=i(r)),null===r[0]||null===r[1]?null:Z(r[0],r[1])}))},n.functions.union=function(r,e){return n.standardFunctionAsync(r,e,(function(n,e,o){const l=[];if(0===(o=i(o)).length)throw new Error("Function called with wrong number of Parameters");if(1===o.length)if(a(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 Error("Illegal Argument");l.push(n[t])}}else{if(!s(o[0])){if(o[0]instanceof R)return c(t(o[0]),r.spatialReference);if(null===o[0])return null;throw new Error("Illegal Argument")}{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 Error("Illegal Argument");l.push(n[t])}}}else for(let t=0;t<o.length;t++)if(null!==o[t]){if(!(o[t]instanceof R))throw new Error("Illegal Argument");l.push(o[t])}return 0===l.length?null:z(l)}))},n.functions.difference=function(r,e){return n.standardFunctionAsync(r,e,(function(n,r,e){return un(e=i(e)),null!==e[0]&&null===e[1]?t(e[0]):null===e[0]?null:L(e[0],e[1])}))},n.functions.symmetricdifference=function(r,e){return n.standardFunctionAsync(r,e,(function(n,r,e){return un(e=i(e)),null===e[0]&&null===e[1]?null:null===e[0]?t(e[1]):null===e[1]?t(e[0]):v(e[0],e[1])}))},n.functions.clip=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,2,2),!(r[1]instanceof F)&&null!==r[1])throw new Error("Illegal Argument");if(null===r[0])return null;if(!(r[0]instanceof R))throw new Error("Illegal Argument");return null===r[1]?null:C(r[0],r[1])}))},n.functions.cut=function(r,e){return n.standardFunctionAsync(r,e,(function(n,r,e){if(e=i(e),o(e,2,2),!(e[1]instanceof rn)&&null!==e[1])throw new Error("Illegal Argument");if(null===e[0])return[];if(!(e[0]instanceof R))throw new Error("Illegal Argument");return null===e[1]?[t(e[0])]:J(e[0],e[1])}))},n.functions.area=function(t,e){return n.standardFunctionAsync(t,e,(async function(n,e,l){if(o(l,1,2),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumArea(r(g(l[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}if(a(l[0])||s(l[0])){const n=m(l[0],t.spatialReference);return null===n?0:U(n,r(g(l[1],-1)))}if(!(l[0]instanceof R))throw new Error("Illegal Argument");return U(l[0],r(g(l[1],-1)))}))},n.functions.areageodetic=function(t,e){return n.standardFunctionAsync(t,e,(async function(n,e,l){if(o(l,1,2),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumArea(r(g(l[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}if(a(l[0])||s(l[0])){const n=m(l[0],t.spatialReference);return null===n?0:q(n,r(g(l[1],-1)))}if(!(l[0]instanceof R))throw new Error("Illegal Argument");return q(l[0],r(g(l[1],-1)))}))},n.functions.length=function(t,r){return n.standardFunctionAsync(t,r,(async function(n,r,l){if(o(l,1,2),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumLength(e(g(l[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}if(a(l[0])||s(l[0])){const n=w(l[0],t.spatialReference);return null===n?0:T(n,e(g(l[1],-1)))}if(!(l[0]instanceof R))throw new Error("Illegal Argument");return T(l[0],e(g(l[1],-1)))}))},n.functions.length3d=function(t,r){return n.standardFunctionAsync(t,r,(function(n,r,l){if(o(l,1,2),null===(l=i(l))[0])return 0;if(a(l[0])||s(l[0])){const n=w(l[0],t.spatialReference);return null===n?0:!0===n.hasZ?an(n,e(g(l[1],-1))):T(n,e(g(l[1],-1)))}if(!(l[0]instanceof R))throw new Error("Illegal Argument");return!0===l[0].hasZ?an(l[0],e(g(l[1],-1))):T(l[0],e(g(l[1],-1)))}))},n.functions.lengthgeodetic=function(t,r){return n.standardFunctionAsync(t,r,(async function(n,r,l){if(o(l,1,2),null===(l=i(l))[0])return 0;if(f(l[0])){const n=await l[0].sumLength(e(g(l[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new Error("Operation has been cancelled.");return n}if(a(l[0])||s(l[0])){const n=w(l[0],t.spatialReference);return null===n?0:W(n,e(g(l[1],-1)))}if(!(l[0]instanceof R))throw new Error("Illegal Argument");return W(l[0],e(g(l[1],-1)))}))},n.functions.distance=function(t,r){return n.standardFunctionAsync(t,r,(function(n,r,l){l=i(l),o(l,2,3);let u=l[0];(a(l[0])||s(l[0]))&&(u=h(l[0],t.spatialReference));let c=l[1];if((a(l[1])||s(l[1]))&&(c=h(l[1],t.spatialReference)),!(u instanceof R))throw new Error("Illegal Argument");if(!(c instanceof R))throw new Error("Illegal Argument");return G(u,c,e(g(l[2],-1)))}))},n.functions.distancegeodetic=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){r=i(r),o(r,2,3);const l=r[0],u=r[1];if(!(l instanceof nn))throw new Error("Illegal Argument");if(!(u instanceof nn))throw new Error("Illegal Argument");const a=new rn({paths:[],spatialReference:l.spatialReference});return a.addPath([l,u]),W(a,e(g(r[2],-1)))}))},n.functions.densify=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,2,3),null===r[0])return null;if(!(r[0]instanceof R))throw new Error("Illegal Argument");const l=d(r[1]);if(isNaN(l))throw new Error("Illegal Argument");if(l<=0)throw new Error("Illegal Argument");return r[0]instanceof tn||r[0]instanceof rn?H(r[0],l,e(g(r[2],-1))):r[0]instanceof F?H(ln(r[0]),l,e(g(r[2],-1))):r[0]}))},n.functions.densifygeodetic=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,2,3),null===r[0])return null;if(!(r[0]instanceof R))throw new Error("Illegal Argument");const l=d(r[1]);if(isNaN(l))throw new Error("Illegal Argument");if(l<=0)throw new Error("Illegal Argument");return r[0]instanceof tn||r[0]instanceof rn?K(r[0],l,e(g(r[2],-1))):r[0]instanceof F?K(ln(r[0]),l,e(g(r[2],-1))):r[0]}))},n.functions.generalize=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,2,4),null===r[0])return null;if(!(r[0]instanceof R))throw new Error("Illegal Argument");const l=d(r[1]);if(isNaN(l))throw new Error("Illegal Argument");return V(r[0],l,p(g(r[2],!0)),e(g(r[3],-1)))}))},n.functions.buffer=function(r,l){return n.standardFunctionAsync(r,l,(function(n,r,l){if(l=i(l),o(l,2,3),null===l[0])return null;if(!(l[0]instanceof R))throw new Error("Illegal Argument");const u=d(l[1]);if(isNaN(u))throw new Error("Illegal Argument");return 0===u?t(l[0]):B(l[0],u,e(g(l[2],-1)))}))},n.functions.buffergeodetic=function(r,l){return n.standardFunctionAsync(r,l,(function(n,r,l){if(l=i(l),o(l,2,3),null===l[0])return null;if(!(l[0]instanceof R))throw new Error("Illegal Argument");const u=d(l[1]);if(isNaN(u))throw new Error("Illegal Argument");return 0===u?t(l[0]):D(l[0],u,e(g(l[2],-1)))}))},n.functions.offset=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,2,6),null===r[0])return null;if(!(r[0]instanceof tn||r[0]instanceof rn))throw new Error("Illegal Argument");const l=d(r[1]);if(isNaN(l))throw new Error("Illegal Argument");const a=d(g(r[4],10));if(isNaN(a))throw new Error("Illegal Argument");const s=d(g(r[5],0));if(isNaN(s))throw new Error("Illegal Argument");return Q(r[0],l,e(g(r[2],-1)),u(g(r[3],"round")).toLowerCase(),a,s)}))},n.functions.rotate=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){r=i(r),o(r,2,3);let e=r[0];if(null===e)return null;if(!(e instanceof R))throw new Error("Illegal Argument");e instanceof F&&(e=tn.fromExtent(e));const l=d(r[1]);if(isNaN(l))throw new Error("Illegal Argument");const u=g(r[2],null);if(null===u)return X(e,l);if(u instanceof nn)return X(e,l,u);throw new Error("Illegal Argument")}))},n.functions.centroid=function(r,e){return n.standardFunctionAsync(r,e,(function(n,e,l){if(l=i(l),o(l,1,1),null===l[0])return null;let u=l[0];if((a(l[0])||s(l[0]))&&(u=h(l[0],r.spatialReference)),null===u)return null;if(!(u instanceof R))throw new Error("Illegal Argument");return u instanceof nn?c(t(l[0]),r.spatialReference):u instanceof tn?u.centroid:u instanceof rn?A(u):u instanceof _?y(u):u instanceof F?u.center:null}))},n.functions.multiparttosinglepart=function(r,e){return n.standardFunctionAsync(r,e,(async function(n,e,l){l=i(l),o(l,1,1);const u=[];if(null===l[0])return null;if(!(l[0]instanceof R))throw new Error("Illegal Argument");if(l[0]instanceof nn)return[c(t(l[0]),r.spatialReference)];if(l[0]instanceof F)return[c(t(l[0]),r.spatialReference)];const a=await Y(l[0]);if(a instanceof tn){const n=[],t=[];for(let r=0;r<a.rings.length;r++)if(a.isClockwise(a.rings[r])){const t=en({rings:[a.rings[r]],hasZ:!0===a.hasZ,hazM:!0===a.hasM,spatialReference:a.spatialReference.toJSON()});n.push(t)}else t.push({ring:a.rings[r],pt:a.getPoint(r,0)});for(let r=0;r<t.length;r++)for(let e=0;e<n.length;e++)if(n[e].contains(t[r].pt)){n[e].addRing(t[r].ring);break}return n}if(a instanceof rn){const n=[];for(let t=0;t<a.paths.length;t++){const r=en({paths:[a.paths[t]],hasZ:!0===a.hasZ,hazM:!0===a.hasM,spatialReference:a.spatialReference.toJSON()});n.push(r)}return n}if(l[0]instanceof _){const n=c(t(l[0]),r.spatialReference);for(let t=0;t<n.points.length;t++)u.push(n.getPoint(t));return u}return null}))},n.functions.issimple=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,1,1),null===r[0])return!0;if(!(r[0]instanceof R))throw new Error("Illegal Argument");return $(r[0])}))},n.functions.simplify=function(t,r){return n.standardFunctionAsync(t,r,(function(n,t,r){if(r=i(r),o(r,1,1),null===r[0])return null;if(!(r[0]instanceof R))throw new Error("Illegal Argument");return Y(r[0])}))})}export{sn 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.24/esri/copyright.txt for details.
4
4
  */
5
- import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"../core/promiseUtils.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/maybe.js";import"../core/number.js";import"../geometry/support/coordsUtils.js";import"../intl/locale.js";import"./featureset/support/shared.js";export{I as ImplicitResult,a1 as ImplicitResultE,N as NativeFunction,a2 as NativeFunctionE,R as ReturnResult,a0 as ReturnResultE,S as SizzleFunction,a3 as SizzleFunctionE,F as absRound,L as autoCastArrayOfPointsToMultiPoint,K as autoCastArrayOfPointsToPolygon,J as autoCastArrayOfPointsToPolyline,H as autoCastFeatureToGeometry,h as binaryOperator,m as breakResult,w as castAsJson,x as castAsJsonAsync,n as continueResult,C as defaultUndefined,e as equalityTest,V as featureDomainCodeLookup,U as featureDomainValueLookup,T as featureFullDomain,P as featureSchema,Q as featureSubtypes,G as fixNullGeometry,s as fixSpatialReference,a5 as formatDate,a4 as formatNumber,O as generateUUID,Z as getDomain,$ as getDomainCode,_ as getDomainValue,g as greaterThanLessThan,a as isArray,i as isBoolean,o as isDate,k as isFeature,q as isFeatureSet,r as isFeatureSetCollection,c as isFunctionParameter,b as isImmutableArray,B as isInteger,j as isNumber,y as isSimpleType,f as isString,M as multiReplace,p as pcCheck,a6 as stableStringify,D as standardiseDateFormat,X as tick,z as toBoolean,A as toDate,E as toDateTime,t as toNumber,W as toNumberArray,d as toString,Y as toStringArray,u as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";
5
+ import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.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/maybe.js";import"../core/number.js";import"../geometry/support/coordsUtils.js";import"../intl/locale.js";import"./featureset/support/shared.js";export{I as ImplicitResult,a1 as ImplicitResultE,N as NativeFunction,a2 as NativeFunctionE,R as ReturnResult,a0 as ReturnResultE,S as SizzleFunction,a3 as SizzleFunctionE,F as absRound,L as autoCastArrayOfPointsToMultiPoint,K as autoCastArrayOfPointsToPolygon,J as autoCastArrayOfPointsToPolyline,H as autoCastFeatureToGeometry,h as binaryOperator,m as breakResult,w as castAsJson,x as castAsJsonAsync,n as continueResult,C as defaultUndefined,e as equalityTest,V as featureDomainCodeLookup,U as featureDomainValueLookup,T as featureFullDomain,P as featureSchema,Q as featureSubtypes,G as fixNullGeometry,s as fixSpatialReference,a5 as formatDate,a4 as formatNumber,O as generateUUID,Z as getDomain,$ as getDomainCode,_ as getDomainValue,g as greaterThanLessThan,a as isArray,i as isBoolean,o as isDate,k as isFeature,q as isFeatureSet,r as isFeatureSetCollection,c as isFunctionParameter,b as isImmutableArray,B as isInteger,j as isNumber,y as isSimpleType,f as isString,M as multiReplace,p as pcCheck,a6 as stableStringify,D as standardiseDateFormat,X as tick,z as toBoolean,A as toDate,E as toDateTime,t as toNumber,W as toNumberArray,d as toString,Y as toStringArray,u as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";
package/arcade/request.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../request.js";function n(n,o,r,t,s=null){if(null!==s)return s.getToken().then((s=>{if(n=n+="?token="+s,"get"===t.toLowerCase())return e(n,{responseType:"json",query:o});if(o)for(const e in o)n.includes("?")?n+="&":n+="?",n+=encodeURIComponent(e)+"="+encodeURIComponent(o[e]);return e(n,{method:"post",query:r,responseType:"json"})}));if("get"===t.toLowerCase())return e(n,{responseType:"json",query:o});if(o)for(const e in o)n.includes("?")?n+="&":n+="?",n+=encodeURIComponent(e)+"="+encodeURIComponent(o[e]);return e(n,{method:"post",responseType:"json",query:r})}export{n as serviceRequest};
5
+ import e from"../request.js";async function o(o,n,t,r,s=null){if(null!==s){if(o=o+="?token="+await s.getToken(),"get"===r.toLowerCase())return e(o,{responseType:"json",query:n});if(n)for(const e in n)o.includes("?")?o+="&":o+="?",o+=encodeURIComponent(e)+"="+encodeURIComponent(n[e]);return e(o,{method:"post",query:t,responseType:"json"})}if("get"===r.toLowerCase())return e(o,{responseType:"json",query:n});if(n)for(const e in n)o.includes("?")?o+="&":o+="?",o+=encodeURIComponent(e)+"="+encodeURIComponent(n[e]);return await e(o,{method:"post",responseType:"json",query:t})}export{o as serviceRequest};