@arcgis/core 5.0.0-next.59 → 5.0.0-next.60

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 (347) hide show
  1. package/analysis/Analysis.d.ts +2 -3
  2. package/analysis/ElevationProfile/ElevationProfileLine.d.ts +1 -1
  3. package/analysis/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -3
  4. package/analysis/ElevationProfile/{elevationProfileLineTypes.d.ts → types.d.ts} +2 -2
  5. package/analysis/ElevationProfileAnalysis.d.ts +1 -1
  6. package/analysis/LengthDimension.d.ts +1 -1
  7. package/analysis/LineOfSightAnalysisObserver.d.ts +1 -1
  8. package/analysis/LineOfSightAnalysisTarget.d.ts +1 -1
  9. package/analysis/Slice/SliceAnalysisExcludedLayer.js +5 -0
  10. package/analysis/Slice/types.d.ts +4 -0
  11. package/analysis/SliceAnalysis.d.ts +1 -4
  12. package/analysis/SliceAnalysis.js +1 -1
  13. package/analysis/Viewshed.d.ts +1 -1
  14. package/analysis/VolumeMeasurementAnalysis.d.ts +1 -1
  15. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  16. package/analysis/types.d.ts +22 -1
  17. package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +6 -0
  18. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +4 -1
  19. package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +11 -1
  20. package/applications/KnowledgeStudio/layerInternalAccessUtils.js +1 -1
  21. package/arcade/functions/featuresetbase.js +1 -1
  22. package/arcade.d.ts +27 -4
  23. package/arcade.js +1 -1
  24. package/assets/esri/core/workers/RemoteClient.js +1 -1
  25. package/assets/esri/core/workers/chunks/02cd179176fee25d09a8.js +1 -0
  26. package/assets/esri/core/workers/chunks/0367a8580fede8f804f9.js +1 -0
  27. package/assets/esri/core/workers/chunks/0483a2cfdb8c7158e73a.js +1 -0
  28. package/assets/esri/core/workers/chunks/{73f9cbf0f919b6adc2d5.js → 05ab54b81c366e98138f.js} +1 -1
  29. package/assets/esri/core/workers/chunks/108a4ab28b6586e281d9.js +1 -0
  30. package/assets/esri/core/workers/chunks/14f4f5b7549cea7b5a6a.js +1 -0
  31. package/assets/esri/core/workers/chunks/1b475593c80d7bccdda5.js +1 -0
  32. package/assets/esri/core/workers/chunks/{de05c59da6d67716795d.js → 1c350a2c4014146dbcd9.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{b2425f6af7df6902dfc4.js → 1e8ceed33a3657ac02b3.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{2d61b6efa17e8c5832da.js → 21ebd234cf32ae52b3ea.js} +1 -1
  35. package/assets/esri/core/workers/chunks/27ec8688f72130239b98.js +1 -0
  36. package/assets/esri/core/workers/chunks/{087cf25ca211836a084a.js → 2a6231db5ee6cbfd59a5.js} +1 -1
  37. package/assets/esri/core/workers/chunks/2d8dca9a4a58469ddd05.js +1 -0
  38. package/assets/esri/core/workers/chunks/2e6bd743b88e83d43137.js +1 -0
  39. package/assets/esri/core/workers/chunks/2f6fa33692478e99d24b.js +1 -0
  40. package/assets/esri/core/workers/chunks/31eda00e6842005d0ec8.js +1 -0
  41. package/assets/esri/core/workers/chunks/{ce90e8489143228262e7.js → 33a13e80badd20ed8de2.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{01d38a9ca9e88c38aab9.js → 34178ace79e8dea3567d.js} +1 -1
  43. package/assets/esri/core/workers/chunks/37a3e91791a18ed8b8da.js +1 -0
  44. package/assets/esri/core/workers/chunks/{47338472f5a8e004a671.js → 37e46461da3000949a26.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{c531c0e3d420a1be0ad2.js → 3d1a5a3467f3a6585b3e.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{be6a05d5375e80968877.js → 47e5149765beee46f208.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{44fb1184eeed0636704a.js → 4b088260252787734c00.js} +1 -1
  48. package/assets/esri/core/workers/chunks/4cbe78d6a5ff617e15d6.js +1 -0
  49. package/assets/esri/core/workers/chunks/509065a27bd07bd32475.js +1 -0
  50. package/assets/esri/core/workers/chunks/{c09cba77ee60a3d765e2.js → 522a6787d9e0f520ac79.js} +1 -1
  51. package/assets/esri/core/workers/chunks/5686220aed9a74dbd2b1.js +1 -0
  52. package/assets/esri/core/workers/chunks/584c4602d97a008afb83.js +1 -0
  53. package/assets/esri/core/workers/chunks/{60954ab810dbbf36e5e1.js → 5a66b7f1f4da75da8e7f.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{10094eb2b94e98dd4a8a.js → 5dc2f2e28c30386efadf.js} +1 -1
  55. package/assets/esri/core/workers/chunks/668a868fe2dcb6384ac9.js +1 -0
  56. package/assets/esri/core/workers/chunks/68cb43f2fa8cc826e99b.js +1 -0
  57. package/assets/esri/core/workers/chunks/68ee11589de0da7fed08.js +1 -0
  58. package/assets/esri/core/workers/chunks/{d42273394f575e71dd55.js → 73bee5659414b3687cfc.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{090dad5579f0148d6486.js → 76dbaef0d0794913f36f.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{09bd9bd37a339802907a.js → 7bf30c254228f9b7f224.js} +1 -1
  61. package/assets/esri/core/workers/chunks/7c5218eae13d3bd30598.js +1 -0
  62. package/assets/esri/core/workers/chunks/7fc09382f934e9223a9b.js +1 -0
  63. package/assets/esri/core/workers/chunks/{472d290f8eb1c1a85724.js → 8195310b4c53db902fc1.js} +1 -1
  64. package/assets/esri/core/workers/chunks/831b8282380844a7c4d5.js +1 -0
  65. package/assets/esri/core/workers/chunks/83c5dea24e36ac2e3497.js +1 -0
  66. package/assets/esri/core/workers/chunks/{49df576f0215618aa651.js → 84440efe2cc337dab81f.js} +1 -1
  67. package/assets/esri/core/workers/chunks/852007720e3bc29532db.js +1 -0
  68. package/assets/esri/core/workers/chunks/87c6470ee295d736b06d.js +1 -0
  69. package/assets/esri/core/workers/chunks/89853fccdf2bfcc290c0.js +1 -0
  70. package/assets/esri/core/workers/chunks/{1e152a34e368bd810a0f.js → 8d58e59ea13ecafdd45c.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{a2442549c5daf3653eb4.js → 8d6641d0f7c93f83c414.js} +1 -1
  72. package/assets/esri/core/workers/chunks/8db723b8468e408dda46.js +1 -0
  73. package/assets/esri/core/workers/chunks/92a4f56232f81ca457fa.js +1 -0
  74. package/assets/esri/core/workers/chunks/{8a132d91077ecf849248.js → 92ef6071ea87b7f940e2.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{bb4aefaf9b0327dda738.js → 942c80c425b1f13cced5.js} +1 -1
  76. package/assets/esri/core/workers/chunks/980313a6c35e79812d17.js +1 -0
  77. package/assets/esri/core/workers/chunks/{e6bab7b739bfbb39f6cd.js → 988f5e003377d734d282.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{7364fb5e99933533890d.js → 9ba8a2e1c0fb4e1efc7c.js} +1 -1
  79. package/assets/esri/core/workers/chunks/9c157c0eeadb824ad01e.js +1 -0
  80. package/assets/esri/core/workers/chunks/a39ac9127a215d14d412.js +1 -0
  81. package/assets/esri/core/workers/chunks/{63cf702cde83692126be.js → a6f29d1a6356e2de5a79.js} +1 -1
  82. package/assets/esri/core/workers/chunks/a94dd0f5839b6e2bb2d2.js +1 -0
  83. package/assets/esri/core/workers/chunks/ab0275669e28e7a34c38.js +1 -0
  84. package/assets/esri/core/workers/chunks/abc8015e13b1395b8d64.js +1 -0
  85. package/assets/esri/core/workers/chunks/abcee7cfd53cfe1d91e9.js +1 -0
  86. package/assets/esri/core/workers/chunks/acdbe0299024d58e1421.js +1 -0
  87. package/assets/esri/core/workers/chunks/{63c91421a71ae3b3599e.js → adff1791ae44631ad34a.js} +1 -1
  88. package/assets/esri/core/workers/chunks/{0eb6b9c638a5fcfe9bab.js → b4a59dd11d75df7bd510.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{224f01b11fdba9250b1e.js → b64cfd86d9204be743c6.js} +1 -1
  90. package/assets/esri/core/workers/chunks/b7f2fb6684cf684b0bce.js +1 -0
  91. package/assets/esri/core/workers/chunks/b9f0d313f59fc7c43560.js +1 -0
  92. package/assets/esri/core/workers/chunks/bb5373ff7cdad7270095.js +1 -0
  93. package/assets/esri/core/workers/chunks/bb92a9daa0c5b019561f.js +1 -0
  94. package/assets/esri/core/workers/chunks/bbe2eaef7edfa33b6eea.js +1 -0
  95. package/assets/esri/core/workers/chunks/bddaa83fcb9fdb1e1856.js +1 -0
  96. package/assets/esri/core/workers/chunks/bfdf646d4c8f175a4236.js +1 -0
  97. package/assets/esri/core/workers/chunks/{0000781c850b1b4828b3.js → bfe052b386ec4874f350.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{aa297e0931213341f51b.js → c3272b09bff886b08ce1.js} +1 -1
  99. package/assets/esri/core/workers/chunks/c38a07e936226b361b63.js +1 -0
  100. package/assets/esri/core/workers/chunks/{0d9904ba62558686c289.js → c743e561e7d73a100576.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{b907d16e82ac908bb896.js → c96083838f919a8f64cd.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{be80ed6e2955eabe912f.js → ca761dc5f45cafef313e.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{8a6e50d95539b46f629c.js → cad1d7e5ce89f51b3ac9.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{dbe55d4731227d6e9571.js → ccc743e41854eb225c23.js} +1 -1
  105. package/assets/esri/core/workers/chunks/cf3a9ead26629f3508b3.js +1 -0
  106. package/assets/esri/core/workers/chunks/{3a612f873e29348370b2.js → d129a5a34e9ad09bd39e.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{461093ce28ceadd7853d.js → d14e75b160aa432233c6.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{e668ddc7332e5e560e78.js → d2abfcb0c8bf894c7f72.js} +1 -1
  109. package/assets/esri/core/workers/chunks/d749aa62ad694147aebe.js +1 -0
  110. package/assets/esri/core/workers/chunks/{f142c5cbdd16f1768275.js → d77f56576a49a998164a.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{044a0ccd89741c1ae770.js → d79d29b52a65fb6bf94d.js} +1 -1
  112. package/assets/esri/core/workers/chunks/da7685ec2b6eaf00fd2d.js +1 -0
  113. package/assets/esri/core/workers/chunks/dae09fb8da0faa6dede4.js +1 -0
  114. package/assets/esri/core/workers/chunks/e16e88de4e93b0f48b2c.js +1 -0
  115. package/assets/esri/core/workers/chunks/e8bf362b2631f977b1cb.js +1 -0
  116. package/assets/esri/core/workers/chunks/ec5f83aa752c39a96609.js +1 -0
  117. package/assets/esri/core/workers/chunks/ed7e353e290b3a272457.js +1 -0
  118. package/assets/esri/core/workers/chunks/ef9a23d41acb5ad36426.js +1 -0
  119. package/assets/esri/core/workers/chunks/{33154a245eeca4ba38c6.js → f3437ae6bba846b524d3.js} +1 -1
  120. package/assets/esri/core/workers/chunks/{cfd2839e218610a222e5.js → f54ec21fa67db6fef5a6.js} +1 -1
  121. package/assets/esri/core/workers/chunks/{58242447b72cc60a5040.js → f91e63d7842c427c7f72.js} +1 -1
  122. package/assets/esri/core/workers/chunks/{914746077017fa50933f.js → fa0bbf0d7eadb924c473.js} +1 -1
  123. package/assets/esri/core/workers/chunks/fbd577f56529063ce491.js +1 -0
  124. package/assets/esri/core/workers/chunks/fe33b11ec3f58a0f541a.js +1 -0
  125. package/assets/esri/core/workers/chunks/fe5d2735f057c7789f4b.js +1 -0
  126. package/assets/esri/core/workers/chunks/ff7df6fb78fa2c0e9247.js +1 -0
  127. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  128. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology.json +1 -1
  129. package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_en.json +1 -1
  130. package/chunks/bundle.js +1 -1
  131. package/config.js +1 -1
  132. package/core/memoryEstimations.js +1 -1
  133. package/core/promiseUtils.d.ts +1 -1
  134. package/core/units.d.ts +2 -0
  135. package/geometry/FlatGeometry.js +1 -1
  136. package/geometry/operators/support/jsonConverter.js +1 -1
  137. package/interfaces.d.ts +29 -31
  138. package/kernel.js +1 -1
  139. package/layers/FeatureLayer.d.ts +3 -3
  140. package/layers/GeoJSONLayer.d.ts +1 -1
  141. package/layers/ImageryTileLayer.d.ts +1 -1
  142. package/layers/OGCFeatureLayer.d.ts +1 -1
  143. package/layers/ParquetLayer.d.ts +1 -1
  144. package/layers/ParquetLayer.js +1 -1
  145. package/layers/SceneLayer.d.ts +1 -1
  146. package/layers/StreamLayer.d.ts +8 -7
  147. package/layers/VoxelWasmPerSceneView.js +1 -1
  148. package/layers/WCSLayer.d.ts +1 -1
  149. package/layers/WFSLayer.d.ts +1 -1
  150. package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +1 -1
  151. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  152. package/layers/graphics/FlatFeature.js +5 -0
  153. package/layers/graphics/FlatFeatureSet.js +5 -0
  154. package/layers/graphics/data/FlatFeatureStore.js +5 -0
  155. package/layers/graphics/data/QueryEngine.js +1 -1
  156. package/layers/graphics/data/QueryEngineResult.js +1 -1
  157. package/layers/graphics/data/flatFeatureQueryEngineAdapter.js +5 -0
  158. package/layers/graphics/data/optimizedFeatureQueryEngineAdapter.js +1 -1
  159. package/layers/graphics/featureConversionUtils.js +1 -1
  160. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  161. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  162. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +1 -1
  163. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  164. package/layers/mixins/ImageryTileMixin.d.ts +1 -1
  165. package/layers/ogc/ogcFeatureUtils.d.ts +57 -0
  166. package/layers/ogc/ogcFeatureUtils.js +1 -1
  167. package/layers/ogc/types.d.ts +73 -0
  168. package/layers/raster/functions/creators/createDataManagementFunctions.d.ts +1 -1
  169. package/layers/raster/functions/creators/createSurfaceFunctions.d.ts +1 -1
  170. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  171. package/layers/support/FeatureReductionCluster.d.ts +1 -1
  172. package/layers/support/StreamConnection.d.ts +37 -4
  173. package/layers/support/Sublayer.d.ts +1 -1
  174. package/layers/support/TrackPartInfo.d.ts +1 -1
  175. package/layers/support/fieldUtils.d.ts +1 -1
  176. package/layers/support/parquetUtils.js +1 -1
  177. package/libs/parquet/parquet.js +1 -1
  178. package/package.json +1 -1
  179. package/pointCloudRenderers.d.ts +1 -1
  180. package/portal/jsonTypes.d.ts +6 -0
  181. package/renderers/DictionaryRenderer.d.ts +2 -5
  182. package/renderers/PointCloudClassBreaksRenderer.d.ts +2 -1
  183. package/renderers/PointCloudRenderer.d.ts +3 -6
  184. package/renderers/PointCloudStretchRenderer.d.ts +2 -1
  185. package/renderers/PointCloudUniqueValueRenderer.d.ts +2 -1
  186. package/renderers/RasterShadedReliefRenderer.d.ts +2 -3
  187. package/renderers/RasterStretchRenderer.d.ts +1 -1
  188. package/renderers/Renderer.d.ts +2 -2
  189. package/renderers/VectorFieldRenderer.d.ts +4 -3
  190. package/renderers/support/AuthoringInfo.d.ts +2 -25
  191. package/renderers/support/AuthoringInfoVisualVariable.d.ts +2 -17
  192. package/renderers/support/RasterPresetRenderer.d.ts +1 -1
  193. package/renderers/support/RendererLegendOptions.d.ts +1 -4
  194. package/renderers/support/jsonUtils.d.ts +1 -1
  195. package/renderers/support/pointCloud/types.d.ts +10 -0
  196. package/renderers/support/raster/types.d.ts +54 -0
  197. package/renderers/support/types.d.ts +44 -0
  198. package/renderers/support/utils.d.ts +1 -1
  199. package/renderers/types.d.ts +16 -6
  200. package/renderers.d.ts +1 -1
  201. package/rest/knowledgeGraph/GraphObject.d.ts +1 -1
  202. package/rest/knowledgeGraph/GraphObject.js +1 -1
  203. package/smartMapping/labels/bins.d.ts +1 -1
  204. package/smartMapping/popup/clusters.d.ts +1 -1
  205. package/smartMapping/popup/templates.d.ts +1 -1
  206. package/smartMapping/raster/renderers/classBreaks.d.ts +1 -1
  207. package/smartMapping/raster/renderers/rgb.d.ts +1 -1
  208. package/smartMapping/raster/renderers/stretch.d.ts +1 -1
  209. package/smartMapping/raster/support/utils.d.ts +1 -1
  210. package/smartMapping/renderers/color.d.ts +1 -2
  211. package/smartMapping/renderers/pieChart.d.ts +1 -1
  212. package/smartMapping/renderers/predominance.d.ts +1 -1
  213. package/smartMapping/renderers/size.d.ts +1 -2
  214. package/smartMapping/renderers/support/rendererUtils.d.ts +1 -1
  215. package/smartMapping/renderers/univariateColorSize.d.ts +1 -1
  216. package/support/revision.js +1 -1
  217. package/unionTypes.d.ts +23 -7
  218. package/views/2d/engine/Stage.js +1 -1
  219. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  220. package/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js +1 -1
  221. package/views/2d/engine/webgl/Painter.js +1 -1
  222. package/views/2d/engine/webgl/TileContainer.js +1 -1
  223. package/views/2d/engine/webgl/WGLContainer.js +1 -1
  224. package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
  225. package/views/2d/engine/webgl/shaderGraph/techniques/Technique.js +1 -1
  226. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  227. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  228. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  229. package/views/2d/layers/features/FeaturePipelineWorkerProxy.d.ts +2 -2
  230. package/views/2d/layers/features/FeatureStoreQueryAdapter.js +1 -1
  231. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  232. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  233. package/views/2d/layers/features/sources/strategies/ParquetSnapshotLoadStrategy.js +1 -1
  234. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  235. package/views/2d/layers/features/sources/strategies/chunks/ASourceChunk.js +1 -1
  236. package/views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js +1 -1
  237. package/views/2d/layers/features/sources/strategies/chunks/ParquetSourceChunk.js +1 -1
  238. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  239. package/views/2d/layers/features/support/Tile.js +1 -1
  240. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  241. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  242. package/views/2d/layers/support/DebouncedFeatureOverride.js +1 -1
  243. package/views/2d/layers/support/DebugOverlay.js +1 -1
  244. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.d.ts +1 -1
  245. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  246. package/views/3d/environment/Fog.js +1 -1
  247. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  248. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  249. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  250. package/views/3d/layers/i3s/I3SQueryFeatureAdapter.js +1 -1
  251. package/views/3d/state/ViewStateManager.js +1 -1
  252. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  253. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  254. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  255. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  256. package/views/BreakpointsOwner.d.ts +26 -21
  257. package/views/DOMContainer.d.ts +2 -1
  258. package/views/MapView.d.ts +3 -3
  259. package/views/SceneView.d.ts +3 -3
  260. package/views/View.d.ts +2 -2
  261. package/views/View2D.js +1 -1
  262. package/views/Viewport2DMixin.d.ts +3 -2
  263. package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +1 -1
  264. package/views/interactive/snapping/LineSnapper.js +1 -1
  265. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  266. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  267. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  268. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  269. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
  270. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  271. package/views/layers/BuildingSceneLayerView.d.ts +1 -1
  272. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  273. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +2 -2
  274. package/widgets/Features/FeaturesViewModel.d.ts +1 -1
  275. package/widgets/Home/HomeViewModel.d.ts +1 -1
  276. package/widgets/Locate/LocateViewModel.d.ts +2 -2
  277. package/widgets/Slice/SliceViewModel.d.ts +2 -1
  278. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -1
  279. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  280. package/widgets/types.d.ts +1 -1
  281. package/analysis/FeatureReference.d.ts +0 -19
  282. package/analysis/VolumeMeasurement/volumeMeasurementUtils.js +0 -5
  283. package/analysis/support/SliceAnalysisExcludedLayer.js +0 -5
  284. package/assets/esri/core/workers/chunks/00f044370bf3bb6b24d7.js +0 -1
  285. package/assets/esri/core/workers/chunks/0136cd1a5da204b6daeb.js +0 -1
  286. package/assets/esri/core/workers/chunks/097001462d93b78b64f4.js +0 -1
  287. package/assets/esri/core/workers/chunks/0fcb40204db8ee5571c3.js +0 -1
  288. package/assets/esri/core/workers/chunks/13167bdd486b41163147.js +0 -1
  289. package/assets/esri/core/workers/chunks/1363345f31f4f5051132.js +0 -1
  290. package/assets/esri/core/workers/chunks/13be94357dcf5afc4fcb.js +0 -1
  291. package/assets/esri/core/workers/chunks/1693f19f1c37e0a2087e.js +0 -1
  292. package/assets/esri/core/workers/chunks/18c4cd160a4052b05831.js +0 -1
  293. package/assets/esri/core/workers/chunks/18ce7b1559a45d017c45.js +0 -1
  294. package/assets/esri/core/workers/chunks/1dc3ab52fcde7bff0f23.js +0 -1
  295. package/assets/esri/core/workers/chunks/27794d48c04a5875fd22.js +0 -1
  296. package/assets/esri/core/workers/chunks/2a66841243975cac3e3c.js +0 -1
  297. package/assets/esri/core/workers/chunks/2c12848e4934e9bb2bd0.js +0 -1
  298. package/assets/esri/core/workers/chunks/311c4914a4f69f3c1525.js +0 -1
  299. package/assets/esri/core/workers/chunks/35cbc61a006351620ead.js +0 -1
  300. package/assets/esri/core/workers/chunks/36a04be40369111a633d.js +0 -1
  301. package/assets/esri/core/workers/chunks/3b5e71b156244789f624.js +0 -1
  302. package/assets/esri/core/workers/chunks/3dd0db77a05263000bd8.js +0 -1
  303. package/assets/esri/core/workers/chunks/5047acfd66539eefe353.js +0 -1
  304. package/assets/esri/core/workers/chunks/51fd6662245b920af652.js +0 -1
  305. package/assets/esri/core/workers/chunks/58419d362f24b35003c1.js +0 -1
  306. package/assets/esri/core/workers/chunks/58cf5b9a6aa685fc3367.js +0 -1
  307. package/assets/esri/core/workers/chunks/5ffeb8fb58d59bad68c3.js +0 -1
  308. package/assets/esri/core/workers/chunks/6d09965ab2bff9da88b6.js +0 -1
  309. package/assets/esri/core/workers/chunks/700122f775b98a7ed353.js +0 -1
  310. package/assets/esri/core/workers/chunks/7353d78feba7e6302b6e.js +0 -1
  311. package/assets/esri/core/workers/chunks/7737e69da604d2521da8.js +0 -1
  312. package/assets/esri/core/workers/chunks/7ba31425caa404f86424.js +0 -1
  313. package/assets/esri/core/workers/chunks/7cd0ab01933bfb2c6e43.js +0 -1
  314. package/assets/esri/core/workers/chunks/80c36f1786ae0be00962.js +0 -1
  315. package/assets/esri/core/workers/chunks/81c2cc77c275a5b555c0.js +0 -1
  316. package/assets/esri/core/workers/chunks/8892bf3d2367e35de001.js +0 -1
  317. package/assets/esri/core/workers/chunks/8d941204425571b656ec.js +0 -1
  318. package/assets/esri/core/workers/chunks/973bf2ed34d57f299472.js +0 -1
  319. package/assets/esri/core/workers/chunks/9b6e2099aabf67b9f9f2.js +0 -1
  320. package/assets/esri/core/workers/chunks/a6b1e3ec30f6d641aea9.js +0 -1
  321. package/assets/esri/core/workers/chunks/a8f7e44657083f6aa3fd.js +0 -1
  322. package/assets/esri/core/workers/chunks/b648a1e641cf5c772d67.js +0 -1
  323. package/assets/esri/core/workers/chunks/b91c13f44f4d1bac5799.js +0 -1
  324. package/assets/esri/core/workers/chunks/be6cc8a1485961f22372.js +0 -1
  325. package/assets/esri/core/workers/chunks/c91201b37d1cb3875fb4.js +0 -1
  326. package/assets/esri/core/workers/chunks/d22e0d733bfe821c0510.js +0 -1
  327. package/assets/esri/core/workers/chunks/d54988c21ea5667d00b7.js +0 -1
  328. package/assets/esri/core/workers/chunks/d62193323c67b379dee3.js +0 -1
  329. package/assets/esri/core/workers/chunks/d65ca3b8fccae8c3c3fa.js +0 -1
  330. package/assets/esri/core/workers/chunks/d8dc130ea559be1f68c6.js +0 -1
  331. package/assets/esri/core/workers/chunks/dcf6f7001f470f76bd3e.js +0 -1
  332. package/assets/esri/core/workers/chunks/e00d56ae5e68267fe269.js +0 -1
  333. package/assets/esri/core/workers/chunks/e2c7c269be93c552dc5b.js +0 -1
  334. package/assets/esri/core/workers/chunks/e4d593ddcbcf06010ab0.js +0 -1
  335. package/assets/esri/core/workers/chunks/f286f13686f003c5eec5.js +0 -1
  336. package/assets/esri/core/workers/chunks/fb6670a929b7333f1764.js +0 -1
  337. package/assets/esri/core/workers/chunks/fbdf553253cf8f22c022.js +0 -1
  338. package/assets/esri/core/workers/chunks/fc10c738bae304721ab2.js +0 -1
  339. package/assets/esri/core/workers/chunks/ff79c2cb28db7e0a1fc4.js +0 -1
  340. package/assets/esri/core/workers/chunks/ffdf1cbc1e54414d0f96.js +0 -1
  341. package/renderers/support/colorRampUtils.d.ts +0 -4
  342. package/renderers/support/pointCloudTypeUtils.d.ts +0 -6
  343. package/renderers/support/rasterRendererHelper.d.ts +0 -37
  344. package/renderers/support/rasterTypeUtils.d.ts +0 -9
  345. package/renderers/support/typeUtils.d.ts +0 -11
  346. /package/analysis/{dimensionUtils.d.ts → Dimension/types.d.ts} +0 -0
  347. /package/analysis/VolumeMeasurement/{volumeMeasurementUtils.d.ts → types.d.ts} +0 -0
@@ -1,5 +1,6 @@
1
1
  import type AnalysisOriginWebScene from "./support/AnalysisOriginWebScene.js";
2
2
  import type Accessor from "../core/Accessor.js";
3
+ import type { AnalysisType } from "./types.js";
3
4
  import type { ClonableMixin, ClonableMixinProperties } from "../core/Clonable.js";
4
5
  import type { IdentifiableMixin, IdentifiableMixinProperties } from "../core/Identifiable.js";
5
6
  import type { JSONSupportMixin, JSONSupportMixinProperties } from "../core/JSONSupport.js";
@@ -39,6 +40,4 @@ export default abstract class Analysis extends AnalysisSuperclass {
39
40
  set origin(value: (AnalysisOriginWebSceneProperties & { type: "web-scene" }) | null | undefined);
40
41
  abstract readonly type: AnalysisType;
41
42
  }
42
- declare const AnalysisSuperclass: typeof Accessor & typeof IdentifiableMixin & typeof ClonableMixin & typeof JSONSupportMixin
43
-
44
- export type AnalysisType = "area-measurement" | "dimension" | "direct-line-measurement" | "distance-measurement" | "elevation-profile" | "line-of-sight" | "shadow-cast" | "slice" | "viewshed" | "volume-measurement";
43
+ declare const AnalysisSuperclass: typeof Accessor & typeof IdentifiableMixin & typeof ClonableMixin & typeof JSONSupportMixin
@@ -3,8 +3,8 @@ import type ElevationProfileLineChartOptions from "./ElevationProfileLineChartOp
3
3
  import type ElevationProfileLineViewOptions from "./ElevationProfileLineViewOptions.js";
4
4
  import type { ColorLike } from "../../Color.js";
5
5
  import type { ElevationProfileLineChartOptionsProperties } from "./ElevationProfileLineChartOptions.js";
6
- import type { ElevationProfileLineType } from "./elevationProfileLineTypes.js";
7
6
  import type { ElevationProfileLineViewOptionsProperties } from "./ElevationProfileLineViewOptions.js";
7
+ import type { ElevationProfileLineType } from "./types.js";
8
8
  import type { Clonable, ClonableMixinProperties } from "../../core/Clonable.js";
9
9
 
10
10
  export interface ElevationProfileLineProperties extends ClonableMixinProperties, Partial<Pick<ElevationProfileLine, "enabled" | "id" | "title">> {
@@ -114,6 +114,4 @@ export interface ElevationQuerySource {
114
114
  * @returns Resolves to an object with the sampled geometry, resolution information, and no data value.
115
115
  */
116
116
  queryElevation(geometry: QueryGeometry, options?: QueryOptions): Promise<ElevationQueryResult<Point | Polyline | Multipoint>>;
117
- }
118
-
119
- export type ElevationProfileLineQueryQueryElevation = ElevationQuerySource["queryElevation"];
117
+ }
@@ -3,6 +3,6 @@ import type ElevationProfileLineInput from "./ElevationProfileLineInput.js";
3
3
  import type ElevationProfileLineQuery from "./ElevationProfileLineQuery.js";
4
4
  import type ElevationProfileLineScene from "./ElevationProfileLineScene.js";
5
5
 
6
- export type ElevationProfileLineType = "ground" | "input" | "query" | "scene";
6
+ export type ElevationProfileLineUnion = ElevationProfileLineGround | ElevationProfileLineInput | ElevationProfileLineQuery | ElevationProfileLineScene;
7
7
 
8
- export type ElevationProfileLineUnion = ElevationProfileLineGround | ElevationProfileLineInput | ElevationProfileLineQuery | ElevationProfileLineScene;
8
+ export type ElevationProfileLineType = ElevationProfileLineUnion["type"];
@@ -7,8 +7,8 @@ import type Polyline from "../geometry/Polyline.js";
7
7
  import type ElevationInfo from "../symbols/support/ElevationInfo.js";
8
8
  import type { AnalysisProperties } from "./Analysis.js";
9
9
  import type { ElevationProfileDisplayUnitsProperties } from "./ElevationProfile/ElevationProfileDisplayUnits.js";
10
- import type { ElevationProfileLineUnion } from "./ElevationProfile/elevationProfileLineTypes.js";
11
10
  import type { ElevationProfileViewOptionsProperties } from "./ElevationProfile/ElevationProfileViewOptions.js";
11
+ import type { ElevationProfileLineUnion } from "./ElevationProfile/types.js";
12
12
  import type { ElevationInfoProperties } from "../symbols/support/ElevationInfo.js";
13
13
  import type { PolylineProperties } from "../geometry/Polyline.js";
14
14
  import type { ElevationProfileLineSceneProperties } from "./ElevationProfile/ElevationProfileLineScene.js";
@@ -1,5 +1,5 @@
1
1
  import type Point from "../geometry/Point.js";
2
- import type { LengthDimensionMeasureType } from "./dimensionUtils.js";
2
+ import type { LengthDimensionMeasureType } from "./Dimension/types.js";
3
3
  import type { Clonable, ClonableMixinProperties } from "../core/Clonable.js";
4
4
  import type { JSONSupportMixin, JSONSupportMixinProperties } from "../core/JSONSupport.js";
5
5
  import type { PointProperties } from "../geometry/Point.js";
@@ -1,7 +1,7 @@
1
1
  import type Accessor from "../core/Accessor.js";
2
2
  import type Point from "../geometry/Point.js";
3
3
  import type ElevationInfo from "../symbols/support/ElevationInfo.js";
4
- import type { FeatureReference } from "./FeatureReference.js";
4
+ import type { FeatureReference } from "./types.js";
5
5
  import type { ClonableMixin, ClonableMixinProperties } from "../core/Clonable.js";
6
6
  import type { JSONSupportMixin, JSONSupportMixinProperties } from "../core/JSONSupport.js";
7
7
  import type { PointProperties } from "../geometry/Point.js";
@@ -1,6 +1,6 @@
1
1
  import type Point from "../geometry/Point.js";
2
2
  import type ElevationInfo from "../symbols/support/ElevationInfo.js";
3
- import type { FeatureReference } from "./FeatureReference.js";
3
+ import type { FeatureReference } from "./types.js";
4
4
  import type { Clonable, ClonableMixinProperties } from "../core/Clonable.js";
5
5
  import type { JSONSupportMixin, JSONSupportMixinProperties } from "../core/JSONSupport.js";
6
6
  import type { PointProperties } from "../geometry/Point.js";
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ import{__decorate as e}from"tslib";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as o,subclass as t}from"../../core/accessorSupport/decorators.js";let i=class extends r{constructor(e){super(e),this.layerId=""}static fromLayer(e){return new this({layerId:"building-component"===e.type?e.layer.id:e.id,sublayerId:"building-component"===e.type?e.id:void 0})}};e([o({type:String,json:{write:{isRequired:!0}}})],i.prototype,"layerId",void 0),e([o({type:Number,json:{write:!0}})],i.prototype,"sublayerId",void 0),i=e([t("esri.analysis.Slice.SliceAnalysisExcludedLayer")],i);export{i as SliceAnalysisExcludedLayer};
@@ -0,0 +1,4 @@
1
+ import type Layer from "../../layers/Layer.js";
2
+ import type BuildingComponentSublayer from "../../layers/buildingSublayers/BuildingComponentSublayer.js";
3
+
4
+ export type SliceableLayer = Layer | BuildingComponentSublayer;
@@ -1,8 +1,7 @@
1
1
  import type Analysis from "./Analysis.js";
2
2
  import type SlicePlane from "./SlicePlane.js";
3
3
  import type Collection from "../core/Collection.js";
4
- import type Layer from "../layers/Layer.js";
5
- import type BuildingComponentSublayer from "../layers/buildingSublayers/BuildingComponentSublayer.js";
4
+ import type { SliceableLayer } from "./Slice/types.js";
6
5
  import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
7
6
  import type { SlicePlaneProperties } from "./SlicePlane.js";
8
7
  import type { AnalysisProperties } from "./Analysis.js";
@@ -21,8 +20,6 @@ export interface SliceAnalysisProperties extends AnalysisProperties, Partial<Pic
21
20
  shape?: (SlicePlaneProperties & { type?: "plane" }) | null;
22
21
  }
23
22
 
24
- export type SliceableLayer = Layer | BuildingComponentSublayer;
25
-
26
23
  /**
27
24
  * SliceAnalysis can be used to programmatically create a plane that slices through 3D features in a
28
25
  * 3D [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html).
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import r from"./Analysis.js";import t from"./SlicePlane.js";import{SliceAnalysisExcludedLayer as o}from"./support/SliceAnalysisExcludedLayer.js";import s from"../core/Collection.js";import{referenceSetter as l,castForReferenceSetter as a}from"../core/collectionUtils.js";import{equalsShallow as i}from"../core/lang.js";import{equalsMaybe as d}from"../core/maybe.js";import{property as c,subclass as n}from"../core/accessorSupport/decorators.js";import{writer as u}from"../core/accessorSupport/decorators/writer.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";let y=class extends r{constructor(e){super(e),this.type="slice",this.tiltEnabled=!1,this.shape=null,this.excludeGroundSurface=!1}get excludedLayers(){return this._get("excludedLayers")||new s}set excludedLayers(e){this._set("excludedLayers",l(e,this._get("excludedLayers")))}writeExcludedLayers(e,r,t,s){0!==e.length&&(r[t]=e.toArray().map(e=>o.fromLayer(e).toJSON(s)))}readExcludedLayers(e,r,t){const s=t?.initiator;s&&t?.hooks?.onAfterLoad(async()=>{for(const r of e){const{layerId:e,sublayerId:l}=o.fromJSON(r,t),a=s.allLayers.find(({id:r})=>r===e);if(a)if(null!=l&&"allSublayers"in a){await a.load();const e=a.allSublayers.find(({id:e})=>e===l);e&&"type"in e&&"building-component"===e.type&&this.excludedLayers.add(e)}else this.excludedLayers.add(a)}})}get valid(){return null!=this.shape?.position}equals(e){return this===e||super.equals(e)&&d(this.shape,e.shape)&&this.tiltEnabled===e.tiltEnabled&&i(this.excludedLayers.toArray(),e.excludedLayers.toArray())&&this.excludeGroundSurface===e.excludeGroundSurface}clear(){this.shape=null}};e([c({type:["slice"],json:{read:!1,write:{isRequired:!0}}})],y.prototype,"type",void 0),e([c({type:Boolean,nonNullable:!0,json:{write:!0,default:!1}})],y.prototype,"tiltEnabled",void 0),e([c({types:{key:"type",base:null,typeMap:{plane:t},defaultKeyValue:"plane"},json:{write:{isRequired:!0}}})],y.prototype,"shape",void 0),e([c({cast:a,clonable:e=>e.slice(),json:{type:[o],write:!0}})],y.prototype,"excludedLayers",null),e([u("excludedLayers")],y.prototype,"writeExcludedLayers",null),e([p("excludedLayers")],y.prototype,"readExcludedLayers",null),e([c({type:Boolean,nonNullable:!0,json:{write:!0}})],y.prototype,"excludeGroundSurface",void 0),e([c({readOnly:!0})],y.prototype,"valid",null),y=e([n("esri.analysis.SliceAnalysis")],y);const f=y;export{f as default};
5
+ import{__decorate as e}from"tslib";import r from"./Analysis.js";import t from"./SlicePlane.js";import{SliceAnalysisExcludedLayer as o}from"./Slice/SliceAnalysisExcludedLayer.js";import s from"../core/Collection.js";import{referenceSetter as l,castForReferenceSetter as a}from"../core/collectionUtils.js";import{equalsShallow as i}from"../core/lang.js";import{equalsMaybe as d}from"../core/maybe.js";import{property as c,subclass as n}from"../core/accessorSupport/decorators.js";import{writer as u}from"../core/accessorSupport/decorators/writer.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";let y=class extends r{constructor(e){super(e),this.type="slice",this.tiltEnabled=!1,this.shape=null,this.excludeGroundSurface=!1}get excludedLayers(){return this._get("excludedLayers")||new s}set excludedLayers(e){this._set("excludedLayers",l(e,this._get("excludedLayers")))}writeExcludedLayers(e,r,t,s){0!==e.length&&(r[t]=e.toArray().map(e=>o.fromLayer(e).toJSON(s)))}readExcludedLayers(e,r,t){const s=t?.initiator;s&&t?.hooks?.onAfterLoad(async()=>{for(const r of e){const{layerId:e,sublayerId:l}=o.fromJSON(r,t),a=s.allLayers.find(({id:r})=>r===e);if(a)if(null!=l&&"allSublayers"in a){await a.load();const e=a.allSublayers.find(({id:e})=>e===l);e&&"type"in e&&"building-component"===e.type&&this.excludedLayers.add(e)}else this.excludedLayers.add(a)}})}get valid(){return null!=this.shape?.position}equals(e){return this===e||super.equals(e)&&d(this.shape,e.shape)&&this.tiltEnabled===e.tiltEnabled&&i(this.excludedLayers.toArray(),e.excludedLayers.toArray())&&this.excludeGroundSurface===e.excludeGroundSurface}clear(){this.shape=null}};e([c({type:["slice"],json:{read:!1,write:{isRequired:!0}}})],y.prototype,"type",void 0),e([c({type:Boolean,nonNullable:!0,json:{write:!0,default:!1}})],y.prototype,"tiltEnabled",void 0),e([c({types:{key:"type",base:null,typeMap:{plane:t},defaultKeyValue:"plane"},json:{write:{isRequired:!0}}})],y.prototype,"shape",void 0),e([c({cast:a,clonable:e=>e.slice(),json:{type:[o],write:!0}})],y.prototype,"excludedLayers",null),e([u("excludedLayers")],y.prototype,"writeExcludedLayers",null),e([p("excludedLayers")],y.prototype,"readExcludedLayers",null),e([c({type:Boolean,nonNullable:!0,json:{write:!0}})],y.prototype,"excludeGroundSurface",void 0),e([c({readOnly:!0})],y.prototype,"valid",null),y=e([n("esri.analysis.SliceAnalysis")],y);const f=y;export{f as default};
@@ -1,5 +1,5 @@
1
1
  import type Point from "../geometry/Point.js";
2
- import type { FeatureReference } from "./FeatureReference.js";
2
+ import type { FeatureReference } from "./types.js";
3
3
  import type { Clonable, ClonableMixinProperties } from "../core/Clonable.js";
4
4
  import type { JSONSupportMixin, JSONSupportMixinProperties } from "../core/JSONSupport.js";
5
5
  import type { PointProperties } from "../geometry/Point.js";
@@ -4,10 +4,10 @@ import type VolumeMeasurementDisplayUnits from "./VolumeMeasurement/VolumeMeasur
4
4
  import type VolumeMeasurementInputUnits from "./VolumeMeasurement/VolumeMeasurementInputUnits.js";
5
5
  import type Polygon from "../geometry/Polygon.js";
6
6
  import type { AnalysisProperties } from "./Analysis.js";
7
+ import type { VolumeMeasureType } from "./VolumeMeasurement/types.js";
7
8
  import type { VolumeMeasurementCutFillOptionsProperties } from "./VolumeMeasurement/VolumeMeasurementCutFillOptions.js";
8
9
  import type { VolumeMeasurementDisplayUnitsProperties } from "./VolumeMeasurement/VolumeMeasurementDisplayUnits.js";
9
10
  import type { VolumeMeasurementInputUnitsProperties } from "./VolumeMeasurement/VolumeMeasurementInputUnits.js";
10
- import type { VolumeMeasureType } from "./VolumeMeasurement/volumeMeasurementUtils.js";
11
11
  import type { PolygonProperties } from "../geometry/Polygon.js";
12
12
 
13
13
  export interface VolumeMeasurementAnalysisProperties extends AnalysisProperties, Partial<Pick<VolumeMeasurementAnalysis, "measureType">> {
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"./Analysis.js";import{volumeMeasurementConfiguration as s}from"./VolumeMeasurement/volumeMeasurementConfiguration.js";import i from"./VolumeMeasurement/VolumeMeasurementCutFillOptions.js";import r from"./VolumeMeasurement/VolumeMeasurementDisplayUnits.js";import o from"./VolumeMeasurement/VolumeMeasurementInputUnits.js";import{volumeMeasureType as n}from"./VolumeMeasurement/volumeMeasurementUtils.js";import{equals as l}from"../core/arrayUtils.js";import{clamp as m}from"../core/mathUtils.js";import{equalsMaybe as a}from"../core/maybe.js";import{watch as u,syncAndInitial as p}from"../core/reactiveUtils.js";import{convertUnit as y}from"../core/units.js";import{property as c,subclass as h}from"../core/accessorSupport/decorators.js";import g from"../geometry/Polygon.js";import{i as f}from"../chunks/simplifyOperator.js";let v=class extends t{constructor(e){super(e),this.type="volume-measurement",this.measureType="cut-fill",this.cutFillOptions=new i,this.displayUnits=new r,this.inputUnits=new o,this._constrainTargetElevation=e=>{if(this.cutFillOptions.constrainTargetElevation!==this._constrainTargetElevation)return e;const t=y(e,this.inputUnits.elevation??"meters","meters"),{minTargetElevation:i,maxTargetElevation:r}=s;if(t<i||t>r){const e=m(t,i,r);return y(e,"meters",this.inputUnits.elevation??"meters")}return e}}initialize(){this.addHandles(u(()=>this.cutFillOptions,e=>e.constrainTargetElevation=this._constrainTargetElevation,p))}set geometry(e){null!=e?this._set("geometry",e.clone()):this._set("geometry",null)}get valid(){const{geometry:e}=this;if(1!==e?.rings.length)return!1;const t=e.rings[0],s=3+(t.length>0&&l(t[0],t[t.length-1])?1:0);if(t.length<s)return!1;if(!e.isClockwise(t)){const t=e.clone();return t.rings[0].reverse(),f(t)}return f(e)}clear(){this.geometry=null}equals(e){return this===e||super.equals(e)&&this.measureType===e.measureType&&a(this.geometry,e.geometry)&&this.displayUnits.equals(e.displayUnits)&&this.inputUnits.equals(e.inputUnits)&&this.cutFillOptions.equals(e.cutFillOptions)}};e([c({type:["volume-measurement"]})],v.prototype,"type",void 0),e([c({type:n,nonNullable:!0})],v.prototype,"measureType",void 0),e([c({type:g,value:null})],v.prototype,"geometry",null),e([c({type:i,nonNullable:!0})],v.prototype,"cutFillOptions",void 0),e([c({type:r,nonNullable:!0})],v.prototype,"displayUnits",void 0),e([c({type:o,nonNullable:!0})],v.prototype,"inputUnits",void 0),e([c({readOnly:!0})],v.prototype,"valid",null),v=e([h("esri.analysis.VolumeMeasurementAnalysis")],v);const d=v;export{d as default};
5
+ import{__decorate as t}from"tslib";import e from"./Analysis.js";import{volumeMeasurementConfiguration as s}from"./VolumeMeasurement/volumeMeasurementConfiguration.js";import i from"./VolumeMeasurement/VolumeMeasurementCutFillOptions.js";import o from"./VolumeMeasurement/VolumeMeasurementDisplayUnits.js";import r from"./VolumeMeasurement/VolumeMeasurementInputUnits.js";import{equals as n}from"../core/arrayUtils.js";import{clamp as l}from"../core/mathUtils.js";import{equalsMaybe as a}from"../core/maybe.js";import{watch as m,syncAndInitial as u}from"../core/reactiveUtils.js";import{convertUnit as p}from"../core/units.js";import{property as y,subclass as c}from"../core/accessorSupport/decorators.js";import h from"../geometry/Polygon.js";import{i as g}from"../chunks/simplifyOperator.js";let f=class extends e{constructor(t){super(t),this.type="volume-measurement",this.measureType="cut-fill",this.cutFillOptions=new i,this.displayUnits=new o,this.inputUnits=new r,this._constrainTargetElevation=t=>{if(this.cutFillOptions.constrainTargetElevation!==this._constrainTargetElevation)return t;const e=p(t,this.inputUnits.elevation??"meters","meters"),{minTargetElevation:i,maxTargetElevation:o}=s;if(e<i||e>o){const t=l(e,i,o);return p(t,"meters",this.inputUnits.elevation??"meters")}return t}}initialize(){this.addHandles(m(()=>this.cutFillOptions,t=>t.constrainTargetElevation=this._constrainTargetElevation,u))}set geometry(t){null!=t?this._set("geometry",t.clone()):this._set("geometry",null)}get valid(){const{geometry:t}=this;if(1!==t?.rings.length)return!1;const e=t.rings[0],s=3+(e.length>0&&n(e[0],e[e.length-1])?1:0);if(e.length<s)return!1;if(!t.isClockwise(e)){const e=t.clone();return e.rings[0].reverse(),g(e)}return g(t)}clear(){this.geometry=null}equals(t){return this===t||super.equals(t)&&this.measureType===t.measureType&&a(this.geometry,t.geometry)&&this.displayUnits.equals(t.displayUnits)&&this.inputUnits.equals(t.inputUnits)&&this.cutFillOptions.equals(t.cutFillOptions)}};t([y({type:["volume-measurement"]})],f.prototype,"type",void 0),t([y({type:["cut-fill","stockpile"],nonNullable:!0})],f.prototype,"measureType",void 0),t([y({type:h,value:null})],f.prototype,"geometry",null),t([y({type:i,nonNullable:!0})],f.prototype,"cutFillOptions",void 0),t([y({type:o,nonNullable:!0})],f.prototype,"displayUnits",void 0),t([y({type:r,nonNullable:!0})],f.prototype,"inputUnits",void 0),t([y({readOnly:!0})],f.prototype,"valid",null),f=t([c("esri.analysis.VolumeMeasurementAnalysis")],f);const v=f;export{v as default};
@@ -9,4 +9,25 @@ import type SliceAnalysis from "./SliceAnalysis.js";
9
9
  import type ViewshedAnalysis from "./ViewshedAnalysis.js";
10
10
  import type VolumeMeasurementAnalysis from "./VolumeMeasurementAnalysis.js";
11
11
 
12
- export type AnalysisUnion = AreaMeasurementAnalysis | DimensionAnalysis | DirectLineMeasurementAnalysis | DistanceMeasurementAnalysis | ElevationProfileAnalysis | LineOfSightAnalysis | ShadowCastAnalysis | SliceAnalysis | ViewshedAnalysis | VolumeMeasurementAnalysis;
12
+ export type AnalysisUnion = AreaMeasurementAnalysis | DimensionAnalysis | DirectLineMeasurementAnalysis | DistanceMeasurementAnalysis | ElevationProfileAnalysis | LineOfSightAnalysis | ShadowCastAnalysis | SliceAnalysis | ViewshedAnalysis | VolumeMeasurementAnalysis;
13
+
14
+ export type AnalysisType = AnalysisUnion["type"];
15
+
16
+ export interface FeatureReferenceLayer {
17
+ /** The layer id. */
18
+ id: string | number;
19
+ /** The object id field. */
20
+ objectIdField?: string | null;
21
+ }
22
+
23
+ /**
24
+ * A reference to a feature in a layer. The interface of a feature reference is compatible with a
25
+ * [Graphic](https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html), but contains only the minimal set of information required
26
+ * to reference a feature.
27
+ */
28
+ export interface FeatureReference {
29
+ /** Feature attributes. */
30
+ attributes: any;
31
+ /** Reference to a layer. */
32
+ layer?: FeatureReferenceLayer | null;
33
+ }
@@ -18,6 +18,7 @@ import type { Evented } from "../../core/Evented.js";
18
18
 
19
19
  /** @internal */
20
20
  export interface TypedSelectionToolbarViewModel extends Evented {
21
+ "@eventTypes": TypedSelectionToolbarViewModelEvents;
21
22
  activate: TypedSelectionToolbarViewModelActivate;
22
23
  cancel: () => void;
23
24
  destroy: () => void;
@@ -38,6 +39,11 @@ export interface SelectionOperationParameters {
38
39
  type?: "add" | "remove" | "replace";
39
40
  }
40
41
 
42
+ /** @internal */
43
+ export interface TypedSelectionToolbarViewModelEvents {
44
+ complete: TypedSelectionToolbarViewModelSelectionResultType;
45
+ }
46
+
41
47
  /** @internal */
42
48
  export interface TypedSelectionToolbarViewModelSelectionResultType {
43
49
  aborted: boolean;
@@ -51,7 +51,10 @@ export function getBindParametersFromCypherQuery(query: string): Promise<BindPar
51
51
  export function newLinkChartLayerWithOptimizedGeometry(properties?: LinkChartLayerWithOptimizedGeometryProperties): LinkChartLayer;
52
52
 
53
53
  /** @internal */
54
- export type LinkChartLayerWithOptimizedGeometryProperties = Omit<LinkChartLayerProperties, "initializationInclusionModeDefinition">;
54
+ export type LinkChartLayerWithOptimizedGeometryProperties = Omit<LinkChartLayerProperties, "initializationInclusionModeDefinition">
55
+ & {
56
+ initializationInclusionModeDefinition?: InclusionListDefinition;
57
+ };
55
58
 
56
59
  /**
57
60
  * Defines the sublayer structure and the named types that will be in the KnowledgeGraphLayer
@@ -57,4 +57,14 @@ export function kgSublayerToJSON(sublayer: KnowledgeGraphSublayer): any;
57
57
  export function originIdOfPropertyOnSublayer(sublayer: KnowledgeGraphSublayer, propertyName: string): OriginId;
58
58
 
59
59
  /** @internal */
60
- export type OriginId = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
60
+ export type OriginId = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
61
+
62
+ /**
63
+ * @param sublayer - The sublayer to get the privileges from.
64
+ * @internal
65
+ */
66
+ export function getKgSublayerPrivileges(sublayer: KnowledgeGraphSublayer): {
67
+ userHasEditingPrivileges: boolean;
68
+ userHasFullEditingPrivileges: boolean;
69
+ userHasUpdateItemPrivileges: boolean;
70
+ };
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- function n(n){return n.dataManager.inclusionModeDefinition}function i(n){n.dataManager.inclusionModeDefinition=null}function o(n,i){n.dataManager.inclusionModeDefinition=i}function t(n,i,o){n.read(i,{origin:o})}const a=n=>n.toJSON(),e=(n,i)=>n.originIdOf(i);export{o as addInclusionDefinitionToLayer,n as getInclusionDefinitionFromLayer,a as kgSublayerToJSON,e as originIdOfPropertyOnSublayer,t as readKnowledgeLayerJSON,i as removeInclusionDefinitionFromLayer};
5
+ function i(i){return i.dataManager.inclusionModeDefinition}function e(i){i.dataManager.inclusionModeDefinition=null}function n(i,e){i.dataManager.inclusionModeDefinition=e}function s(i,e,n){i.read(e,{origin:n})}const t=i=>i.toJSON(),a=(i,e)=>i.originIdOf(e),r=i=>({userHasEditingPrivileges:i.userHasEditingPrivileges,userHasFullEditingPrivileges:i.userHasFullEditingPrivileges,userHasUpdateItemPrivileges:i.userHasUpdateItemPrivileges});export{n as addInclusionDefinitionToLayer,i as getInclusionDefinitionFromLayer,r as getKgSublayerPrivileges,t as kgSublayerToJSON,a as originIdOfPropertyOnSublayer,s as readKnowledgeLayerJSON,e as removeInclusionDefinitionFromLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{Feature as s}from"../Feature.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as f,constructFeatureSet as d,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as m}from"../featureSetUtils.js";import p from"../ImmutableArray.js";import{B as y,g as w,f as h,m as I,s as g,P as F,K as b,e as T,l as D,J as x,H as E,k as N,j as A,i as v,r as S,N as j,$ as L}from"../../chunks/languageUtils.js";import{getPortal as C}from"../portalUtils.js";import{SqlExpressionAdapted as k,StringToCodeAdapted as Z,FieldRename as $,AdaptedFeatureSet as P,OriginalField as U}from"../featureset/actions/Adapted.js";import M from"../featureset/actions/AttributeFilter.js";import R from"../featureset/actions/GroupBy.js";import O from"../featureset/actions/OrderBy.js";import z from"../featureset/actions/Top.js";import W from"../featureset/sources/Empty.js";import H from"../featureset/sources/FeatureLayerMemory.js";import G from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as V,cloneField as B}from"../featureset/support/shared.js";import{isSingleField as _}from"../featureset/support/sqlUtils.js";import{calculateStat as K}from"./fieldStats.js";import{isPromiseLike as q}from"../../core/promiseUtils.js";import Q from"../../core/sql/WhereClause.js";import J from"../../layers/FeatureLayer.js";import Y from"../../layers/support/Field.js";import X from"../../portal/Portal.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return K("distinct",e[0],-1);if(A(e[0]))return K("distinct",e[0].toArray(),-1)}return K("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,s,l){const f=await t.getFeatureSetInfo();if(null===(f?.layerId??null))return null;if(!r.layerIdLookup.get(f.layerId))return null;const u=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),c=[];switch(i){case"connected":c.push("connectivity"),c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity"),c.push("junction-edge-midspan-connectivity"),c.push("junction-junction-connectivity");break;case"container":case"content":c.push("containment");break;case"structure":case"attached":c.push("attachment");break;case"junctionedge":c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity");break;case"midspan":c.push("junction-edge-midspan-connectivity");break;default:throw new o(s,"InvalidParameter",l)}let m=null,p=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(m=e.terminalId);null===m&&(p=!0)}const y=[];if(!p){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(f.layerId).sourceId,...m?{terminalId:m}:""}),o=await ee(u,new ne({types:c,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";y.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const w=new J({source:y,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new Y({name:"objectId",alias:"objectId",type:"oid"}),new Y({name:"globalId",alias:"globalId",type:"global-id"}),new Y({name:"percentAlong",alias:"percentAlong",type:"double"}),new Y({name:"side",alias:"side",type:"string"}),new Y({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new Y({name:"className",alias:"className",type:"string"})]});return d(w)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,async(e,r,s)=>{if(y(s,1,2,n,a),w(s[0]))return"Unknown";if(h(s[0]))return"Unknown";if(I(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?pe("unknown"):pe(s[0].dateFieldsTimeZone);if(!(s[1]instanceof i)||!1===s[1].hasField("type"))throw new o(n,"InvalidParameter",a);const e=s[1].field("type");if(!1===ie(e))throw new o(n,"InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return pe(s[0].preferredTimeZone);case"editfieldsinfo":return pe(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ie(s[1].field("fieldname")))return pe(s[0].fieldTimeZone(g(s[1].field("fieldname"))))}throw new o(n,"InvalidParameter",a)}const l=F(s[0],b(n));if(null===l)return null;const f=l.timeZone;return"system"===f?t.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,1,3,t,n);const r=a[0];if(T(r)){if(1===a.length)return r.toSQLWithKeyword();if(2===a.length)return r.changeTimeZone(g(a[1])).toSQLWithKeyword();throw new o(t,"InvalidParameter",n)}if(h(r))return r.toSQLWithKeyword();if(I(r)){if(3!==a.length)throw new o(t,"InvalidParameter",n);await r.load();const e=g(a[1]);if(h(a[2]))return a[2].toSQLWithKeyword();if(!1===T(a[2]))throw new o(t,"InvalidParameter",n);const i=r.fieldTimeZone(e);return null==i?a[2].toSQLWithKeyword():a[2].changeTimeZone(i).toSQLWithKeyword()}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetById(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const K=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,2,t,n),N(a[0])){const e=null==a[1]?"datasource":K.lookup(g(a[1]));return l(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,a,r)=>{if(y(r,2,5,t,i),null===r[0])throw new o(t,"PortalRequired",i);if(r[0]instanceof n){const e=g(r[1]),n=g(r[2]);let a=x(r[3],null);const s=E(x(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o(t,"InvalidParameter",i);let l;return l=t.services?.portal?t.services.portal:X.getDefault(),l=C(r[0],l),f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o(t,"PortalRequired",i);const s=g(r[0]),l=g(r[1]);let d=x(r[2],null);const u=E(x(r[3],!0));if(null===d&&(d=["*"]),!1===ae(d))throw new o(t,"InvalidParameter",i);return f(s,l,t.spatialReference,d,u,t.services?.portal??X.getDefault(),t.lrucache,t.interceptor)})},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetByName(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,t,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o(t,"InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),i=le(e,"layerdefinition");if(null!==i){s.layerDefinition.geometryType=le(i,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(i,"globalidfield",""),s.layerDefinition.objectIdField=le(i,"objectidfield",""),s.layerDefinition.typeIdField=le(i,"typeidfield",""),s.layerDefinition.hasZ=!0===le(i,"hasz",!1),s.layerDefinition.hasM=!0===le(i,"hasm",!1);const t=le(i,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const n=[];for(const e of le(i,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};n.push(t)}s.layerDefinition.fields=n;const a=le(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const i=le(e,"spatialreference");i&&(s.layerDefinition.spatialReference=de(i));const a=[],r=le(e,"fields",null);if(!ae(r))throw new o(t,"InvalidParameter",n);for(const e of r){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};a.push(t)}s.layerDefinition.fields=a;const l={};for(const e of a)l[e.name.toLowerCase()]=e.name;let f=le(e,"features",null);if(ae(f))for(const e of f){const t={},n=le(e,"attributes",{});for(const e in n)t[l[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else f=null,s.featureSet.features=f}}}if(!1===me(s))throw new o(t,"InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),H.create(s,t.spatialReference)})},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,async(i,a,r)=>{if(y(r,2,2,t,n),ae(r[0])||A(r[0])){const e=[];let i,a=r[0];if(a instanceof p&&(a=a.toArray()),!v(r[1]))throw new o(t,"InvalidParameter",n);i=r[1].createFunction(t);for(const t of a){const n=i(t);q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(I(r[0])){const n=await r[0].load(),i=Q.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new M({parentfeatureset:r[0],whereclause:i})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=new G(a[1]);return new O({parentfeatureset:a[0],orderbyclause:e})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0]))return new z({parentfeatureset:a[0],topnum:a[1]});if(ae(a[0]))return S(a[1])>=a[0].length?a[0].slice():a[0].slice(0,S(a[1]));if(A(a[0]))return S(a[1])>=a[0].length()?a[0].slice():a[0].slice(0,S(a[1]));throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,1,t,n),I(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=s.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null})},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{y(r,1,2,t,n);const s={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(s.minsize=S(r[1].field("minsize"))),r[1].hasField("metadata")&&(s.returnMetadata=E(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=S(r[1].field("maxsize"))),r[1].hasField("types")){const e=j(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o(t,"InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!V(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,t,n);const r=a[0],s=g(a[1]);let l=x(a[2],null);const f=E(x(a[3],!0));if(null===l&&(l=["*"]),!1===ae(l))throw new o(t,"InvalidParameter",n);if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!V(m))return null;p=d(m,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}p=await p.load();const w=p.relationshipMetadata().filter(e=>e.name===s);if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(p,w[0],r.field(p.objectIdField),p.spatialReference,l,f,t.lrucache,t.interceptor);let h=p.serviceUrl();if(!h)return null;h=h.endsWith("/")?h+w[0].relatedTableId.toString():h+"/"+w[0].relatedTableId.toString();const F=await c(h,p.spatialReference,l,f,t.lrucache,t.interceptor);await F.load();let b=F.relationshipMetadata();if(b=b.filter(e=>e.id===w[0].id),!1===r.hasField(w[0].keyField)||null===r.field(w[0].keyField)){const e=await p.getFeatureByObjectId(r.field(p.objectIdField),[w[0].keyField]);if(e){const t=Q.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[w[0].keyField]},new M({parentfeatureset:F,whereclause:t})}return new W({parentfeatureset:F})}const T=Q.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return T.parameters={id:r.field(w[0].keyField)},new M({parentfeatureset:F,whereclause:T})})},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,3,t,n);const s=a[0],l=r(g(x(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);let u=s._layer;if(u instanceof J&&(u=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)),null===u)return null;if(!1===I(u))return null;await u.load();const c=u.serviceUrl(),p=await m(c,t.spatialReference,!0);if(p.unVersion>=8)return await ye(u,s,l,f,p,t,n);const w=p.associations;let h=null,F=null,b=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of p.terminals)e.terminalName===f&&(F=e.terminalId);null===F&&(b=!0)}const T=w.getFieldsIndex(),D=T.get("TOGLOBALID").name,E=T.get("FROMGLOBALID").name,A=T.get("TOTERMINALID").name,v=T.get("FROMTERMINALID").name,S=T.get("FROMNETWORKSOURCEID").name,j=T.get("TONETWORKSOURCEID").name,C=T.get("ASSOCIATIONTYPE").name,M=T.get("ISCONTENTVISIBLE").name,R=T.get("OBJECTID").name;for(const t of u.fields)if("global-id"===t.type){h=s.field(t.name);break}let O=null,z=new k(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new k(new Y({name:"side",alias:"side",type:"string"}),Q.create("''",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));const H="globalid",G="globalId",V={};for(const t in p.lkp)V[t]=p.lkp[t].sourceId;const _=new Z(new Y({name:"classname",alias:"classname",type:"string"}),null,V);let K="";switch(l){case"midspan":{K=`((${D}='${h}') OR ( ${E}='${h}')) AND (${C} IN (5))`,_.codefield=Q.create(`CASE WHEN (${D}='${h}') THEN ${S} ELSE ${j} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const e=B(P.findField(w.fields,E));e.name=H,e.alias=H,O=new k(e,Q.create(`CASE WHEN (${E}='${h}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),z=p.unVersion>=4?new U(P.findField(w.fields,T.get("PERCENTALONG").name)):new k(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{K=`((${D}='${h}') OR ( ${E}='${h}')) AND (${C} IN (4,6))`,_.codefield=Q.create(`CASE WHEN (${D}='${h}') THEN ${S} ELSE ${j} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const e=B(P.findField(w.fields,E));e.name=H,e.alias=H,O=new k(e,Q.create(`CASE WHEN (${E}='${h}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new k(new Y({name:"side",alias:"side",type:"string"}),Q.create(`CASE WHEN (${C}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${D}='@T'`,t=`${E}='@T'`;null!==F&&(e+=` AND ${A}=@A`,t+=` AND ${v}=@A`),K="(("+e+") OR ("+t+"))",K=L(K,"@T",h??""),e=L(e,"@T",h??""),null!==F&&(e=L(e,"@A",F.toString()),K=L(K,"@A",F.toString())),_.codefield=Q.create("CASE WHEN "+e+` THEN ${S} ELSE ${j} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const n=B(P.findField(w.fields,E));n.name=H,n.alias=H,O=new k(n,Q.create("CASE WHEN "+e+` THEN ${E} ELSE ${D} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"container":K=`${D}='${h}' AND ${C} = 2`,null!==F&&(K+=` AND ${A} = `+F.toString()),_.codefield=S,K="( "+K+" )",O=new $(P.findField(w.fields,E),H,H);break;case"content":K=`(${E}='${h}' AND ${C} = 2)`,null!==F&&(K+=` AND ${v} = `+F.toString()),_.codefield=j,K="( "+K+" )",O=new $(P.findField(w.fields,D),H,H);break;case"structure":K=`(${D}='${h}' AND ${C} = 3)`,null!==F&&(K+=` AND ${A} = `+F.toString()),_.codefield=S,K="( "+K+" )",O=new $(P.findField(w.fields,E),H,G);break;case"attached":K=`(${E}='${h}' AND ${C} = 3)`,null!==F&&(K+=` AND ${v} = `+F.toString()),_.codefield=j,K="( "+K+" )",O=new $(P.findField(w.fields,D),H,G);break;default:throw new o(t,"InvalidParameter",n)}b&&(K="1 <> 1");return new P({parentfeatureset:w,adaptedFields:[new U(P.findField(w.fields,R)),new U(P.findField(w.fields,M)),O,W,_,z],extraFilter:K?Q.create(K,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}):null})})},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(y(s,3,3,t,n),!I(s[0]))throw new o(t,"InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ie(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ae(s[1]))c=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);c=s[1].toArray()}for(const e of c)if(ie(e)){const t=Q.create(g(e),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),n=!0===_(t)?g(e):"%%%%FIELDNAME";f.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(u=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",a=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(u=!0),!i)throw new o(t,"InvalidParameter",n);f.push({name:i,expression:Q.create(a||i,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],ie(s[2]))c.push(s[2]);else if(ae(s[2]))c=s[2];else if(A(s[2]))c=s[2].toArray();else{if(!(s[2]instanceof i))throw new o(t,"InvalidParameter",n);c.push(s[2])}for(const e of c){if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"",a=e.hasField("statistic")?e.field("statistic"):"",r=e.hasField("expression")?e.field("expression"):"";if(!(i&&a&&ie(a)&&r))throw new o(t,"InvalidParameter",n);d.push({name:i,statistic:a,expression:Q.create(r,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of f)se(n.expression,e,t);for(const n of d)se(n.expression,e,t);return new R({parentfeatureset:s[0],groupbyfields:f,statsfields:d})})},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(I(s[0])){y(s,2,2,t,n);const a=await s[0].load(),r=[];let l=[];if(ie(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ae(s[1]))l=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);l=s[1].toArray()}let f=!1;for(const e of l)if(ie(e)){const t=Q.create(g(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===_(t)?g(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(f=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",s=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(f=!0),!i)throw new o(t,"InvalidParameter",n);r.push({name:i,expression:Q.create(s||i,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of a.fields)e[n.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 n of r)se(n.expression,e,t);return new R({parentfeatureset:s[0],groupbyfields:r,statsfields:[]})}return oe(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{if(y(r,1,1,t,n),!I(r[0]))return null;const o=await r[0].getFeatureSetInfo();return o?i.convertObjectToArcadeDictionary({layerId:o.layerId,layerName:o.layerName,itemId:o.itemId,serviceLayerUrl:o.serviceLayerUrl,webMapLayerId:o.webMapLayerId??null,webMapLayerTitle:o.webMapLayerTitle??null,className:null,objectClassId:null},b(t),!1,!1):null})},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=await a[0].load(),i=a[1];if(!re(i))throw new o(t,"InvalidParameter",n);if(e.subtypeField){const t=Q.create(`${e.subtypeField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new M({parentfeatureset:a[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o(t,"FeatureSetDoesNotHaveSubtypes",n);const r=Q.create(`${e.typeIdField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new M({parentfeatureset:a[0],whereclause:r})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
5
+ import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{Feature as s}from"../Feature.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as f,constructFeatureSet as d,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as m}from"../featureSetUtils.js";import p from"../ImmutableArray.js";import{B as y,g as w,f as h,m as I,s as g,P as F,K as b,e as T,l as D,J as x,H as E,k as N,j as A,i as v,r as S,N as j,$ as L}from"../../chunks/languageUtils.js";import{getPortal as C}from"../portalUtils.js";import{SqlExpressionAdapted as k,StringToCodeAdapted as Z,FieldRename as $,AdaptedFeatureSet as P,OriginalField as U}from"../featureset/actions/Adapted.js";import M from"../featureset/actions/AttributeFilter.js";import R from"../featureset/actions/GroupBy.js";import O from"../featureset/actions/OrderBy.js";import z from"../featureset/actions/Top.js";import W from"../featureset/sources/Empty.js";import H from"../featureset/sources/FeatureLayerMemory.js";import G from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as V,cloneField as B}from"../featureset/support/shared.js";import{isSingleField as _}from"../featureset/support/sqlUtils.js";import{calculateStat as K}from"./fieldStats.js";import{isPromiseLike as q}from"../../core/promiseUtils.js";import Q from"../../core/sql/WhereClause.js";import J from"../../layers/FeatureLayer.js";import Y from"../../layers/support/Field.js";import X from"../../portal/Portal.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return K("distinct",e[0],-1);if(A(e[0]))return K("distinct",e[0].toArray(),-1)}return K("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,s,l){const f=await t.getFeatureSetInfo();if(null===(f?.layerId??null))return null;if(!r.layerIdLookup.get(f.layerId))return null;const u=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),c=[];switch(i){case"connected":c.push("connectivity"),c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity"),c.push("junction-edge-midspan-connectivity"),c.push("junction-junction-connectivity");break;case"container":case"content":c.push("containment");break;case"structure":case"attached":c.push("attachment");break;case"junctionedge":c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity");break;case"midspan":c.push("junction-edge-midspan-connectivity");break;default:throw new o(s,"InvalidParameter",l)}let m=null,p=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(m=e.terminalId);null===m&&(p=!0)}const y=[];if(!p){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(f.layerId).sourceId,...m?{terminalId:m}:""}),o=await ee(u,new ne({types:c,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";y.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const w=new J({source:y,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new Y({name:"objectId",alias:"objectId",type:"oid"}),new Y({name:"globalId",alias:"globalId",type:"global-id"}),new Y({name:"percentAlong",alias:"percentAlong",type:"double"}),new Y({name:"side",alias:"side",type:"string"}),new Y({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new Y({name:"className",alias:"className",type:"string"})]});return d(w)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,async(e,r,s)=>{if(y(s,1,2,n,a),w(s[0]))return"Unknown";if(h(s[0]))return"Unknown";if(I(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?pe("unknown"):pe(s[0].dateFieldsTimeZone);if(!(s[1]instanceof i)||!1===s[1].hasField("type"))throw new o(n,"InvalidParameter",a);const e=s[1].field("type");if(!1===ie(e))throw new o(n,"InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return pe(s[0].preferredTimeZone);case"editfieldsinfo":return pe(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ie(s[1].field("fieldname")))return pe(s[0].fieldTimeZone(g(s[1].field("fieldname"))))}throw new o(n,"InvalidParameter",a)}const l=F(s[0],b(n));if(null===l)return null;const f=l.timeZone;return"system"===f?t.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,1,3,t,n);const r=a[0];if(T(r)){if(1===a.length)return r.toSQLWithKeyword();if(2===a.length)return r.changeTimeZone(g(a[1])).toSQLWithKeyword();throw new o(t,"InvalidParameter",n)}if(h(r))return r.toSQLWithKeyword();if(I(r)){if(3!==a.length)throw new o(t,"InvalidParameter",n);await r.load();const e=g(a[1]);if(h(a[2]))return a[2].toSQLWithKeyword();if(!1===T(a[2]))throw new o(t,"InvalidParameter",n);const i=r.fieldTimeZone(e);return null==i?a[2].toSQLWithKeyword():a[2].changeTimeZone(i).toSQLWithKeyword()}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetById(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const K=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,2,t,n),N(a[0])){const e=null==a[1]?"datasource":K.lookup(g(a[1]));return l(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,a,r)=>{if(y(r,2,5,t,i),null===r[0])throw new o(t,"PortalRequired",i);if(r[0]instanceof n){const e=g(r[1]),n=g(r[2]);let a=x(r[3],null);const s=E(x(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o(t,"InvalidParameter",i);let l;return l=t.services?.portal?t.services.portal:X.getDefault(),l=C(r[0],l),f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o(t,"PortalRequired",i);const s=g(r[0]),l=g(r[1]);let d=x(r[2],null);const u=E(x(r[3],!0));if(null===d&&(d=["*"]),!1===ae(d))throw new o(t,"InvalidParameter",i);return f(s,l,t.spatialReference,d,u,t.services?.portal??X.getDefault(),t.lrucache,t.interceptor)})},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetByName(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,t,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o(t,"InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),i=le(e,"layerdefinition");if(null!==i){s.layerDefinition.geometryType=le(i,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(i,"globalidfield",""),s.layerDefinition.objectIdField=le(i,"objectidfield",""),s.layerDefinition.typeIdField=le(i,"typeidfield",""),s.layerDefinition.hasZ=!0===le(i,"hasz",!1),s.layerDefinition.hasM=!0===le(i,"hasm",!1);const t=le(i,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const n=[];for(const e of le(i,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};n.push(t)}s.layerDefinition.fields=n;const a=le(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const i=le(e,"spatialreference");i&&(s.layerDefinition.spatialReference=de(i));const a=[],r=le(e,"fields",null);if(!ae(r))throw new o(t,"InvalidParameter",n);for(const e of r){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};a.push(t)}s.layerDefinition.fields=a;const l={};for(const e of a)l[e.name.toLowerCase()]=e.name;let f=le(e,"features",null);if(ae(f))for(const e of f){const t={},n=le(e,"attributes",{});for(const e in n)t[l[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else f=null,s.featureSet.features=f}}}if(!1===me(s))throw new o(t,"InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),H.create(s,t.spatialReference)})},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,async(i,a,r)=>{if(y(r,2,2,t,n),ae(r[0])||A(r[0])){const e=[];let i,a=r[0];if(a instanceof p&&(a=a.toArray()),!v(r[1]))throw new o(t,"InvalidParameter",n);i=r[1].createFunction(t);for(const t of a){const n=i(t);q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(I(r[0])){const n=await r[0].load(),i=Q.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new M({parentfeatureset:r[0],whereclause:i})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=new G(a[1]);return new O({parentfeatureset:a[0],orderbyclause:e})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0]))return new z({parentfeatureset:a[0],topnum:a[1]});if(ae(a[0]))return S(a[1])>=a[0].length?a[0].slice():a[0].slice(0,S(a[1]));if(A(a[0]))return S(a[1])>=a[0].length()?a[0].slice():a[0].slice(0,S(a[1]));throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,1,t,n),I(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=s.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null})},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{y(r,1,2,t,n);const s={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(s.minsize=S(r[1].field("minsize"))),r[1].hasField("metadata")&&(s.returnMetadata=E(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=S(r[1].field("maxsize"))),r[1].hasField("types")){const e=j(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o(t,"InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!V(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,t,n);const r=a[0],s=g(a[1]);let l=x(a[2],null);const f=E(x(a[3],!0));if(null===l&&(l=["*"]),!1===ae(l))throw new o(t,"InvalidParameter",n);if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!V(m))return null;p=d(m,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}p=await p.load();const w=p.relationshipMetadata().filter(e=>e.name===s);if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(p,w[0],r.field(p.objectIdField),p.spatialReference,l,f,t.lrucache,t.interceptor);let h=p.serviceUrl();if(!h)return null;h=h.endsWith("/")?h+w[0].relatedTableId.toString():h+"/"+w[0].relatedTableId.toString();const F=await c(h,p.spatialReference,l,f,t.lrucache,t.interceptor);await F.load();let b=F.relationshipMetadata();if(b=b.filter(e=>e.id===w[0].id),!1===r.hasField(w[0].keyField)||null===r.field(w[0].keyField)){const e=await p.getFeatureByObjectId(r.field(p.objectIdField),[w[0].keyField]);if(e){const t=Q.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[w[0].keyField]},new M({parentfeatureset:F,whereclause:t})}return new W({parentfeatureset:F})}const T=Q.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return T.parameters={id:r.field(w[0].keyField)},new M({parentfeatureset:F,whereclause:T})})},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,3,t,n);const s=a[0],l=r(g(x(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const u=s._layer;let c;if(I(u))c=u;else{if(null==u||!V(u))return null;c=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}await c.load();const p=c.serviceUrl(),w=await m(p,t.spatialReference,!0);if(w.unVersion>=8)return await ye(c,s,l,f,w,t,n);const h=w.associations;if(null==h)return null;let F=null,b=null,T=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of w.terminals)e.terminalName===f&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),E=D.get("TOGLOBALID").name,A=D.get("FROMGLOBALID").name,v=D.get("TOTERMINALID").name,S=D.get("FROMTERMINALID").name,j=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,M=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){F=s.field(t.name);break}let z=null,W=new k(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new Y({name:"side",alias:"side",type:"string"}),Q.create("''",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));const G="globalid",_="globalId",K={};for(const t in w.lkp)K[t]=w.lkp[t].sourceId;const q=new Z(new Y({name:"classname",alias:"classname",type:"string"}),null,K);let J="";switch(l){case"midspan":{J=`((${E}='${F}') OR ( ${A}='${F}')) AND (${M} IN (5))`,q.codefield=Q.create(`CASE WHEN (${E}='${F}') THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(P.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,Q.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=w.unVersion>=4?new U(P.findField(h.fields,D.get("PERCENTALONG").name)):new k(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{J=`((${E}='${F}') OR ( ${A}='${F}')) AND (${M} IN (4,6))`,q.codefield=Q.create(`CASE WHEN (${E}='${F}') THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(P.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,Q.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new Y({name:"side",alias:"side",type:"string"}),Q.create(`CASE WHEN (${M}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${E}='@T'`,t=`${A}='@T'`;null!==b&&(e+=` AND ${v}=@A`,t+=` AND ${S}=@A`),J="(("+e+") OR ("+t+"))",J=L(J,"@T",F??""),e=L(e,"@T",F??""),null!==b&&(e=L(e,"@A",b.toString()),J=L(J,"@A",b.toString())),q.codefield=Q.create("CASE WHEN "+e+` THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=B(P.findField(h.fields,A));n.name=G,n.alias=G,z=new k(n,Q.create("CASE WHEN "+e+` THEN ${A} ELSE ${E} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":J=`${E}='${F}' AND ${M} = 2`,null!==b&&(J+=` AND ${v} = `+b.toString()),q.codefield=j,J="( "+J+" )",z=new $(P.findField(h.fields,A),G,G);break;case"content":J=`(${A}='${F}' AND ${M} = 2)`,null!==b&&(J+=` AND ${S} = `+b.toString()),q.codefield=C,J="( "+J+" )",z=new $(P.findField(h.fields,E),G,G);break;case"structure":J=`(${E}='${F}' AND ${M} = 3)`,null!==b&&(J+=` AND ${v} = `+b.toString()),q.codefield=j,J="( "+J+" )",z=new $(P.findField(h.fields,A),G,_);break;case"attached":J=`(${A}='${F}' AND ${M} = 3)`,null!==b&&(J+=` AND ${S} = `+b.toString()),q.codefield=C,J="( "+J+" )",z=new $(P.findField(h.fields,E),G,_);break;default:throw new o(t,"InvalidParameter",n)}T&&(J="1 <> 1");return new P({parentfeatureset:h,adaptedFields:[new U(P.findField(h.fields,O)),new U(P.findField(h.fields,R)),z,H,q,W],extraFilter:J?Q.create(J,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}):null})})},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(y(s,3,3,t,n),!I(s[0]))throw new o(t,"InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ie(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ae(s[1]))c=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);c=s[1].toArray()}for(const e of c)if(ie(e)){const t=Q.create(g(e),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),n=!0===_(t)?g(e):"%%%%FIELDNAME";f.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(u=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",a=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(u=!0),!i)throw new o(t,"InvalidParameter",n);f.push({name:i,expression:Q.create(a||i,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],ie(s[2]))c.push(s[2]);else if(ae(s[2]))c=s[2];else if(A(s[2]))c=s[2].toArray();else{if(!(s[2]instanceof i))throw new o(t,"InvalidParameter",n);c.push(s[2])}for(const e of c){if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"",a=e.hasField("statistic")?e.field("statistic"):"",r=e.hasField("expression")?e.field("expression"):"";if(!(i&&a&&ie(a)&&r))throw new o(t,"InvalidParameter",n);d.push({name:i,statistic:a,expression:Q.create(r,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of f)se(n.expression,e,t);for(const n of d)se(n.expression,e,t);return new R({parentfeatureset:s[0],groupbyfields:f,statsfields:d})})},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(I(s[0])){y(s,2,2,t,n);const a=await s[0].load(),r=[];let l=[];if(ie(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ae(s[1]))l=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);l=s[1].toArray()}let f=!1;for(const e of l)if(ie(e)){const t=Q.create(g(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===_(t)?g(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(f=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",s=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(f=!0),!i)throw new o(t,"InvalidParameter",n);r.push({name:i,expression:Q.create(s||i,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of a.fields)e[n.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 n of r)se(n.expression,e,t);return new R({parentfeatureset:s[0],groupbyfields:r,statsfields:[]})}return oe(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{if(y(r,1,1,t,n),!I(r[0]))return null;const o=await r[0].getFeatureSetInfo();return o?i.convertObjectToArcadeDictionary({layerId:o.layerId,layerName:o.layerName,itemId:o.itemId,serviceLayerUrl:o.serviceLayerUrl,webMapLayerId:o.webMapLayerId??null,webMapLayerTitle:o.webMapLayerTitle??null,className:null,objectClassId:null},b(t),!1,!1):null})},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=await a[0].load(),i=a[1];if(!re(i))throw new o(t,"InvalidParameter",n);if(e.subtypeField){const t=Q.create(`${e.subtypeField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new M({parentfeatureset:a[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o(t,"FeatureSetDoesNotHaveSubtypes",n);const r=Q.create(`${e.typeIdField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new M({parentfeatureset:a[0],whereclause:r})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
package/arcade.d.ts CHANGED
@@ -160,6 +160,17 @@ export function createArcadeProfile(profileName: ProfileName | "feature-reductio
160
160
  */
161
161
  export function createArcadeExecutor(script: string, profile: Profile, options?: ExecutorOptions): Promise<ArcadeExecutor>;
162
162
 
163
+ /** @see [createArcadeCache()](https://developers.arcgis.com/javascript/latest/api-reference/esri-arcade.html#createArcadeCache) */
164
+ export interface ArcadeCache {
165
+ clear(): void;
166
+ }
167
+
168
+ /**
169
+ * @see [ExecuteContext#cache](https://developers.arcgis.com/javascript/latest/api-reference/esri-arcade.html#ExecuteContext)
170
+ * @see [ExecutorOptions#cache](https://developers.arcgis.com/javascript/latest/api-reference/esri-arcade.html#ExecutorOptions)
171
+ */
172
+ export function createArcadeCache(): ArcadeCache;
173
+
163
174
  export type ProfileName = "aggregate-field" | "form-constraint" | "feature-z" | "field-calculation" | "form-calculation" | "labeling" | "popup" | "popup-element" | "popup-feature-reduction" | "popup-element-feature-reduction" | "visualization" | "popup-voxel" | "popup-element-voxel" | "popup-imagery" | "popup-element-imagery";
164
175
 
165
176
  /**
@@ -360,8 +371,14 @@ export type ProfileVariableInstances = Record<string, ProfileVariableInstance>;
360
371
  * });
361
372
  */
362
373
  export interface ExecuteContext {
363
- /** _Since 4.33_ */
364
- lruCache?: any;
374
+ /** _Since 5.0_ */
375
+ cache?: ArcadeCache;
376
+ /**
377
+ * _Since 4.33_
378
+ *
379
+ * @deprecated since 5.0. Use `cache`.
380
+ */
381
+ lruCache?: ArcadeCache;
365
382
  /**
366
383
  * _Since 4.33_ Required for expressions that use the
367
384
  * `GetUser()` Arcade function.
@@ -401,8 +418,14 @@ export interface ArcadeServices {
401
418
  }
402
419
 
403
420
  export interface ExecutorOptions {
404
- /** _Since 4.33_ */
405
- lruCache?: any;
421
+ /** _Since 5.0_ */
422
+ cache?: ArcadeCache;
423
+ /**
424
+ * _Since 4.33_
425
+ *
426
+ * @deprecated since 5.0. Use `cache`.
427
+ */
428
+ lruCache?: ArcadeCache;
406
429
  /**
407
430
  * _Since 4.33_ Required for expressions that use the
408
431
  * `GetUser()` Arcade function.
package/arcade.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/5.0/esri/copyright.txt for details.
4
4
  */
5
- import e from"./Graphic.js";import{ArcadeDate as t}from"./arcade/ArcadeDate.js";import{toSymbolId as r}from"./arcade/arcadeEnvironment.js";import a from"./arcade/ImmutableArray.js";import"./core/has.js";import{deprecated as n}from"./core/deprecate.js";import o from"./core/Error.js";import{clone as c}from"./core/lang.js";import i from"./core/Logger.js";import{DateOnly as s}from"./core/sql/DateOnly.js";import{TimeOnly as p}from"./core/sql/TimeOnly.js";import l from"./layers/FeatureLayer.js";import u from"./portal/Portal.js";import m from"./rest/support/FeatureSet.js";import{loadArcade as y}from"./support/loadArcade.js";let f=null;function d(e,t,r,n={}){const o=t.elementType,c="value",i="array"===o.type?[{name:c,type:o.type,elementType:o.elementType}]:"dictionary"===o.type?[{name:c,type:o.type,properties:o.properties}]:[{name:c,type:o.type}];return new a(e.map(e=>{const t={};return S(t,i,{[c]:e},r,n),t[c]}))}function b(e,t,r={}){const a=e instanceof m?new l({source:e.features,geometryType:e.geometryType,fields:e.fields,spatialReference:e.spatialReference}):e;return t.constructFeatureSet(a,r.spatialReference,null,!0,r.lruCache,r.interceptor)}function v(e,t,r={}){const{spatialReference:a,interceptor:n,lruCache:o}=r;return"string"==typeof e?t.createFeatureSetCollectionFromService(e,a,o,n):t.createFeatureSetCollectionFromMap(e,a,o,n)}function g(e,t,r,a={}){const n=Object.create(null);return S(n,t.properties,e,r,a),new f.Dictionary(n)}function w(e){if(null==e)return null;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e))return new a(e.map(e=>w(e)));if("object"==typeof e){const t=Object.create(null);for(const r of Object.entries(e))t[r[0]]=w(r[1]);return new f.Dictionary(t)}throw new Error(`Unsupported json value: ${e}`)}function S(e,r,a,n,o={}){const c={};for(const t of Object.keys(a))c[t.toLowerCase()]=a[t];for(const i of r){const r=i.name.toLowerCase();if(o.variablesPreProcessed)e[r]=c[r];else switch(i.type){case"array":{const t=c[r];e[r]=null==t?null:d(t,i,n,o);break}case"feature":{const t=c[r];e[r]=null==t?null:f.Feature.createFromGraphic(t,o?.timeZone);break}case"featureSet":{const t=c[r];e[r]=null==t?null:n?b(t,n,o):null;break}case"featureSetCollection":{const t=c[r];e[r]=null==t?null:n?v(t,n,o):null;break}case"dictionary":{const t=c[r];e[r]=null==t?null:g(t,i,n,o);break}case"date":{const a=c[r];e[r]=a?a instanceof t?a:o?.timeZone?t.dateJSAndZoneToArcadeDate(a,o?.timeZone):t.dateJSToArcadeDate(a):null;break}case"dateOnly":{const t=c[r];e[r]=t?t instanceof s?t:s.fromReader(t):null;break}case"time":{const t=c[r];e[r]=t?t instanceof p?t:p.fromReader(t):null;break}case"knowledgeGraph":case"geometry":case"boolean":case"text":case"number":e[r]=c[r];break;case"voxel":{const t=c[r];e[r]=null==t?null:new f.Voxel(t,o?.timeZone);break}case"pixel":{const t=c[r];e[r]=null==t?null:f.Pixel.fromImageryGraphic(t,o?.timeZone);break}case"json":e[r]=w(c[r])}}}function $(e,t){for(const r of e)t.push(r),"dictionary"===r.type&&$(r.properties,t);return t}function h(e,t,r,a,n){const{spatialReference:o,interceptor:c,lruCache:i,console:s,abortSignal:p,timeZone:l,services:m={portal:u.getDefault()},track:y}=r,f={vars:{},spatialReference:o,interceptor:c,timeZone:l,lrucache:i,useAsync:n,services:m,console:s,abortSignal:p,track:y};return t?(S(f.vars,e.variables,t,a,r),f):f}function x(t,r){switch(r.getArcadeType(t)){case"number":case"text":case"boolean":case"point":case"polygon":case"polyline":case"multipoint":case"extent":return t;case"date":return t.toJSDate();case"time":case"dateOnly":return t.toString();case"feature":{const r=(t.type,t),a="geometry"in r?r.geometry():null,n="readAttributes"in r?r.readAttributes():r.attributes;return new e({geometry:a,attributes:n})}case"dictionary":{const e=t,a=e.attributes,n={};for(const t of Object.keys(a))n[t]=x(e.field(t),r);return n}case"array":return("toArray"in t?t.toArray():t).map(e=>x(e,r))}return t}const j={variables:[{name:"$feature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$userInput",type:"geometry"},{name:"$graph",type:"knowledgeGraph"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},C={variables:[{name:"$feature",type:"feature"},{name:"$aggregatedFeatures",type:"featureSet"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},A={variables:[{name:"$voxel",type:"voxel"}]},k={variables:[{name:"$pixel",type:"pixel"},{name:"$imageCollectionItem",type:"feature"},{name:"$userInput",type:"geometry"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},I=new Map([["aggregate-field",{variables:[{name:"$feature",type:"feature"}]}],["form-constraint",{variables:[{name:"$feature",type:"feature"}]}],["feature-z",{variables:[{name:"$feature",type:"feature"}]}],["field-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$datastore",type:"featureSetCollection"}]}],["form-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$originalFeature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$featureSet",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$editContext",type:"dictionary",properties:[{name:"editType",type:"text"}]}]}],["labeling",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup",j],["popup-element",j],["popup-feature-reduction",C],["popup-element-feature-reduction",C],["visualization",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup-voxel",A],["popup-element-voxel",A],["popup-imagery",k],["popup-element-imagery",k]]);function O(e){"feature-reduction-popup"===e?(n(i.getLogger("esri.arcade"),'profile name: "feature-reduction-popup"',{replacement:'"popup-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-feature-reduction"):"feature-reduction-popup-element"===e&&(n(i.getLogger("esri.arcade"),'profile name: "feature-reduction-popup-element"',{replacement:'"popup-element-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-element-feature-reduction");const t=I.get(e);if(!t){const t=Array.from(I.keys()).map(e=>`'${e}'`).join(", ");throw new o("createArcadeProfile:invalid-profile-name",`Invalid profile name '${e}'. You must specify one of the following values: ${t}`)}return c(t)}async function T(e,t,a={}){f||(f=await y());const{arcade:n,arcadeUtils:c,batchExec:{createBatchExecutor:i},aiServices:{BatchTranslationServiceFactory:s,PortalTranslationService:p}}=f,{loadScriptDependencies:l,referencesMember:m,scriptIsAsync:d}=n,b=$(t.variables,[]).filter(e=>"featureSet"===e.type||"featureSetCollection"===e.type).map(e=>r(e.name)),v=n.parseScript(e,b);if(!v)throw new o("arcade:invalid-script","Unable to create SyntaxTree");const g=c.extractFieldNames(v),w=n.scriptTouchesGeometry(v),S=t.variables.map(e=>r(e.name)).filter(e=>m(v,e)),j=d(v,b);await l(v,j,b);const C=n.compileScript(v,{vars:Object.fromEntries(S.map(e=>[e,!0])),useAsync:j}),{lruCache:A,services:k}=a,I=n.featureSetUtils(),O=(e,r={})=>{if(j)throw new o("arcade:invalid-execution-mode","Cannot execute the script in synchronous mode");const a={...k,...r.services},n={lruCache:A,...r,services:a},i=C(h(t,e,n,I,j));return r.rawOutput?i:x(i,c)},T=async(e,r={})=>{const a={...k,...r.services},n={lruCache:A,...r,services:a},o=await C(h(t,e,n,I,j));return r.rawOutput?o:x(o,c)},F=async(e,r,a={})=>{const n=[],o=i(e,async(e,o)=>{const i=r(e);try{const e={...l,translation:m.create(o)},r={lruCache:A,...a,services:e},s=await C(h(t,i,r,I,j)),p=a.rawOutput?s:x(s,c);n.push({id:o.id,result:{status:"fulfilled",value:p}})}catch(s){throw n.push({id:o.id,result:{status:"rejected",reason:s}}),s}},a.maxConcurrency??64,a.abortSignal),l={...k,...a.services},m=new s(o,l.translation??new p(l.portal??u.getDefault(),a.console));return await o.run(),n.sort(({id:e},{id:t})=>e-t).map(({result:e})=>e)};return{execute:O,executeAsync:T,executeAsyncBatch:F,isAsync:j,variablesUsed:S,fieldsUsed:g,geometryUsed:w,syntaxTree:v}}export{T as createArcadeExecutor,O as createArcadeProfile};
5
+ import e from"./Graphic.js";import{ArcadeDate as t}from"./arcade/ArcadeDate.js";import{toSymbolId as r}from"./arcade/arcadeEnvironment.js";import a from"./arcade/ImmutableArray.js";import n from"./arcade/featureset/support/RecentlyUsedCache.js";import"./core/has.js";import{deprecated as o,deprecatedProperty as c}from"./core/deprecate.js";import i from"./core/Error.js";import{clone as s}from"./core/lang.js";import p from"./core/Logger.js";import{DateOnly as u}from"./core/sql/DateOnly.js";import{TimeOnly as l}from"./core/sql/TimeOnly.js";import m from"./layers/FeatureLayer.js";import y from"./portal/Portal.js";import f from"./rest/support/FeatureSet.js";import{loadArcade as d}from"./support/loadArcade.js";let b=null;function v(e,t,r,n={}){const o=t.elementType,c="value",i="array"===o.type?[{name:c,type:o.type,elementType:o.elementType}]:"dictionary"===o.type?[{name:c,type:o.type,properties:o.properties}]:[{name:c,type:o.type}];return new a(e.map(e=>{const t={};return $(t,i,{[c]:e},r,n),t[c]}))}function h(e,t,r={}){const a=e instanceof f?new m({source:e.features,geometryType:e.geometryType,fields:e.fields,spatialReference:e.spatialReference}):e;return t.constructFeatureSet(a,r.spatialReference,null,!0,D(r.cache),r.interceptor)}function g(e,t,r={}){const{spatialReference:a,interceptor:n,cache:o}=r;return"string"==typeof e?t.createFeatureSetCollectionFromService(e,a,D(o),n):t.createFeatureSetCollectionFromMap(e,a,D(o),n)}function w(e,t,r,a={}){const n=Object.create(null);return $(n,t.properties,e,r,a),new b.Dictionary(n)}function S(e){if(null==e)return null;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e;if(Array.isArray(e))return new a(e.map(e=>S(e)));if("object"==typeof e){const t=Object.create(null);for(const r of Object.entries(e))t[r[0]]=S(r[1]);return new b.Dictionary(t)}throw new Error(`Unsupported json value: ${e}`)}function $(e,r,a,n,o={}){const c={};for(const t of Object.keys(a))c[t.toLowerCase()]=a[t];for(const i of r){const r=i.name.toLowerCase();if(o.variablesPreProcessed)e[r]=c[r];else switch(i.type){case"array":{const t=c[r];e[r]=null==t?null:v(t,i,n,o);break}case"feature":{const t=c[r];e[r]=null==t?null:b.Feature.createFromGraphic(t,o?.timeZone);break}case"featureSet":{const t=c[r];e[r]=null==t?null:n?h(t,n,o):null;break}case"featureSetCollection":{const t=c[r];e[r]=null==t?null:n?g(t,n,o):null;break}case"dictionary":{const t=c[r];e[r]=null==t?null:w(t,i,n,o);break}case"date":{const a=c[r];e[r]=a?a instanceof t?a:o?.timeZone?t.dateJSAndZoneToArcadeDate(a,o?.timeZone):t.dateJSToArcadeDate(a):null;break}case"dateOnly":{const t=c[r];e[r]=t?t instanceof u?t:u.fromReader(t):null;break}case"time":{const t=c[r];e[r]=t?t instanceof l?t:l.fromReader(t):null;break}case"knowledgeGraph":case"geometry":case"boolean":case"text":case"number":e[r]=c[r];break;case"voxel":{const t=c[r];e[r]=null==t?null:new b.Voxel(t,o?.timeZone);break}case"pixel":{const t=c[r];e[r]=null==t?null:b.Pixel.fromImageryGraphic(t,o?.timeZone);break}case"json":e[r]=S(c[r])}}}function x(e,t){for(const r of e)t.push(r),"dictionary"===r.type&&x(r.properties,t);return t}function j(e,t,r,a,n){null!=r.lruCache&&c(p.getLogger("esri.arcade"),"ExecuteContext#lruCache",{replacement:"ExecuteContext#cache",warnOnce:!0,version:"5.0"});const o={vars:{},spatialReference:r.spatialReference,interceptor:r.interceptor,timeZone:r.timeZone,lrucache:D(r.cache),useAsync:n,services:r.services,console:r.console,abortSignal:r.abortSignal,track:r.track};return t?($(o.vars,e.variables,t,a,r),o):o}function C(t,r){switch(r.getArcadeType(t)){case"number":case"text":case"boolean":case"point":case"polygon":case"polyline":case"multipoint":case"extent":return t;case"date":return t.toJSDate();case"time":case"dateOnly":return t.toString();case"feature":{const r=(t.type,t),a="geometry"in r?r.geometry():null,n="readAttributes"in r?r.readAttributes():r.attributes;return new e({geometry:a,attributes:n})}case"dictionary":{const e=t,a=e.attributes,n={};for(const t of Object.keys(a))n[t]=C(e.field(t),r);return n}case"array":return("toArray"in t?t.toArray():t).map(e=>C(e,r))}return t}const A={variables:[{name:"$feature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$userInput",type:"geometry"},{name:"$graph",type:"knowledgeGraph"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},O={variables:[{name:"$feature",type:"feature"},{name:"$aggregatedFeatures",type:"featureSet"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},k={variables:[{name:"$voxel",type:"voxel"}]},I={variables:[{name:"$pixel",type:"pixel"},{name:"$imageCollectionItem",type:"feature"},{name:"$userInput",type:"geometry"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]},E=new Map([["aggregate-field",{variables:[{name:"$feature",type:"feature"}]}],["form-constraint",{variables:[{name:"$feature",type:"feature"}]}],["feature-z",{variables:[{name:"$feature",type:"feature"}]}],["field-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$datastore",type:"featureSetCollection"}]}],["form-calculation",{variables:[{name:"$feature",type:"feature"},{name:"$originalFeature",type:"feature"},{name:"$layer",type:"featureSet"},{name:"$featureSet",type:"featureSet"},{name:"$datastore",type:"featureSetCollection"},{name:"$map",type:"featureSetCollection"},{name:"$editContext",type:"dictionary",properties:[{name:"editType",type:"text"}]}]}],["labeling",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup",A],["popup-element",A],["popup-feature-reduction",O],["popup-element-feature-reduction",O],["visualization",{variables:[{name:"$feature",type:"feature"},{name:"$view",type:"dictionary",properties:[{name:"scale",type:"number"},{name:"timeProperties",type:"dictionary",properties:[{name:"currentStart",type:"date"},{name:"currentEnd",type:"date"},{name:"startIncluded",type:"boolean"},{name:"endIncluded",type:"boolean"}]}]}]}],["popup-voxel",k],["popup-element-voxel",k],["popup-imagery",I],["popup-element-imagery",I]]);function T(e){"feature-reduction-popup"===e?(o(p.getLogger("esri.arcade"),'profile name: "feature-reduction-popup"',{replacement:'"popup-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-feature-reduction"):"feature-reduction-popup-element"===e&&(o(p.getLogger("esri.arcade"),'profile name: "feature-reduction-popup-element"',{replacement:'"popup-element-feature-reduction"',version:"4.32",warnOnce:!0}),e="popup-element-feature-reduction");const t=E.get(e);if(!t){const t=Array.from(E.keys()).map(e=>`'${e}'`).join(", ");throw new i("createArcadeProfile:invalid-profile-name",`Invalid profile name '${e}'. You must specify one of the following values: ${t}`)}return s(t)}async function F(e,t,a={}){b||(b=await d());const{arcade:n,arcadeUtils:o,batchExec:{createBatchExecutor:s},aiServices:{BatchTranslationServiceFactory:u,PortalTranslationService:l}}=b,{loadScriptDependencies:m,referencesMember:f,scriptIsAsync:v}=n,h=x(t.variables,[]).filter(e=>"featureSet"===e.type||"featureSetCollection"===e.type).map(e=>r(e.name)),g=n.parseScript(e,h);if(!g)throw new i("arcade:invalid-script","Unable to create SyntaxTree");const w=o.extractFieldNames(g),S=n.scriptTouchesGeometry(g),$=t.variables.map(e=>r(e.name)).filter(e=>f(g,e)),A=v(g,h);await m(g,A,h);const O=n.compileScript(g,{vars:Object.fromEntries($.map(e=>[e,!0])),useAsync:A}),k=a.services,I=a.cache??a.lruCache;null!=a.lruCache&&c(p.getLogger("esri.arcade"),"ExecutorOptions#lruCache",{replacement:"ExecutorOptions#cache",warnOnce:!0,version:"5.0"});const E=n.featureSetUtils(),T=(e,r={})=>{if(A)throw new i("arcade:invalid-execution-mode","Cannot execute the script in synchronous mode");const a={...k,...r.services},n=r.cache??r.lruCache??I,c={...r,cache:n,services:a},s=O(j(t,e,c,E,A));return r.rawOutput?s:C(s,o)},F=async(e,r={})=>{const a={...k,...r.services},n=r.cache??r.lruCache??I,c={...r,cache:n,services:a},i=await O(j(t,e,c,E,A));return r.rawOutput?i:C(i,o)},P=async(e,r,a={})=>{const n=[],c=a.cache??a.lruCache??I,i=s(e,async(e,i)=>{const s=r(e);try{const e={...p,translation:m.create(i)},r={...a,cache:c,services:e},u=await O(j(t,s,r,E,A)),l=a.rawOutput?u:C(u,o);n.push({id:i.id,result:{status:"fulfilled",value:l}})}catch(u){throw n.push({id:i.id,result:{status:"rejected",reason:u}}),u}},a.maxConcurrency??64,a.abortSignal),p={...k,...a.services},m=new u(i,p.translation??new l(p.portal??y.getDefault(),a.console));return await i.run(),n.sort(({id:e},{id:t})=>e-t).map(({result:e})=>e)};return{execute:T,executeAsync:F,executeAsyncBatch:P,isAsync:A,variablesUsed:$,fieldsUsed:w,geometryUsed:S,syntaxTree:g}}function P(){return new n}function D(e){if(null!=e&&!(e instanceof n))throw new Error("Use createArcadeCache() to construct a cache instance or provide null/undefined.");return e}export{P as createArcadeCache,F as createArcadeExecutor,T as createArcadeProfile};