@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.
- package/analysis/Analysis.d.ts +2 -3
- package/analysis/ElevationProfile/ElevationProfileLine.d.ts +1 -1
- package/analysis/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -3
- package/analysis/ElevationProfile/{elevationProfileLineTypes.d.ts → types.d.ts} +2 -2
- package/analysis/ElevationProfileAnalysis.d.ts +1 -1
- package/analysis/LengthDimension.d.ts +1 -1
- package/analysis/LineOfSightAnalysisObserver.d.ts +1 -1
- package/analysis/LineOfSightAnalysisTarget.d.ts +1 -1
- package/analysis/Slice/SliceAnalysisExcludedLayer.js +5 -0
- package/analysis/Slice/types.d.ts +4 -0
- package/analysis/SliceAnalysis.d.ts +1 -4
- package/analysis/SliceAnalysis.js +1 -1
- package/analysis/Viewshed.d.ts +1 -1
- package/analysis/VolumeMeasurementAnalysis.d.ts +1 -1
- package/analysis/VolumeMeasurementAnalysis.js +1 -1
- package/analysis/types.d.ts +22 -1
- package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +6 -0
- package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +4 -1
- package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +11 -1
- package/applications/KnowledgeStudio/layerInternalAccessUtils.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade.d.ts +27 -4
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02cd179176fee25d09a8.js +1 -0
- package/assets/esri/core/workers/chunks/0367a8580fede8f804f9.js +1 -0
- package/assets/esri/core/workers/chunks/0483a2cfdb8c7158e73a.js +1 -0
- package/assets/esri/core/workers/chunks/{73f9cbf0f919b6adc2d5.js → 05ab54b81c366e98138f.js} +1 -1
- package/assets/esri/core/workers/chunks/108a4ab28b6586e281d9.js +1 -0
- package/assets/esri/core/workers/chunks/14f4f5b7549cea7b5a6a.js +1 -0
- package/assets/esri/core/workers/chunks/1b475593c80d7bccdda5.js +1 -0
- package/assets/esri/core/workers/chunks/{de05c59da6d67716795d.js → 1c350a2c4014146dbcd9.js} +1 -1
- package/assets/esri/core/workers/chunks/{b2425f6af7df6902dfc4.js → 1e8ceed33a3657ac02b3.js} +1 -1
- package/assets/esri/core/workers/chunks/{2d61b6efa17e8c5832da.js → 21ebd234cf32ae52b3ea.js} +1 -1
- package/assets/esri/core/workers/chunks/27ec8688f72130239b98.js +1 -0
- package/assets/esri/core/workers/chunks/{087cf25ca211836a084a.js → 2a6231db5ee6cbfd59a5.js} +1 -1
- package/assets/esri/core/workers/chunks/2d8dca9a4a58469ddd05.js +1 -0
- package/assets/esri/core/workers/chunks/2e6bd743b88e83d43137.js +1 -0
- package/assets/esri/core/workers/chunks/2f6fa33692478e99d24b.js +1 -0
- package/assets/esri/core/workers/chunks/31eda00e6842005d0ec8.js +1 -0
- package/assets/esri/core/workers/chunks/{ce90e8489143228262e7.js → 33a13e80badd20ed8de2.js} +1 -1
- package/assets/esri/core/workers/chunks/{01d38a9ca9e88c38aab9.js → 34178ace79e8dea3567d.js} +1 -1
- package/assets/esri/core/workers/chunks/37a3e91791a18ed8b8da.js +1 -0
- package/assets/esri/core/workers/chunks/{47338472f5a8e004a671.js → 37e46461da3000949a26.js} +1 -1
- package/assets/esri/core/workers/chunks/{c531c0e3d420a1be0ad2.js → 3d1a5a3467f3a6585b3e.js} +1 -1
- package/assets/esri/core/workers/chunks/{be6a05d5375e80968877.js → 47e5149765beee46f208.js} +1 -1
- package/assets/esri/core/workers/chunks/{44fb1184eeed0636704a.js → 4b088260252787734c00.js} +1 -1
- package/assets/esri/core/workers/chunks/4cbe78d6a5ff617e15d6.js +1 -0
- package/assets/esri/core/workers/chunks/509065a27bd07bd32475.js +1 -0
- package/assets/esri/core/workers/chunks/{c09cba77ee60a3d765e2.js → 522a6787d9e0f520ac79.js} +1 -1
- package/assets/esri/core/workers/chunks/5686220aed9a74dbd2b1.js +1 -0
- package/assets/esri/core/workers/chunks/584c4602d97a008afb83.js +1 -0
- package/assets/esri/core/workers/chunks/{60954ab810dbbf36e5e1.js → 5a66b7f1f4da75da8e7f.js} +1 -1
- package/assets/esri/core/workers/chunks/{10094eb2b94e98dd4a8a.js → 5dc2f2e28c30386efadf.js} +1 -1
- package/assets/esri/core/workers/chunks/668a868fe2dcb6384ac9.js +1 -0
- package/assets/esri/core/workers/chunks/68cb43f2fa8cc826e99b.js +1 -0
- package/assets/esri/core/workers/chunks/68ee11589de0da7fed08.js +1 -0
- package/assets/esri/core/workers/chunks/{d42273394f575e71dd55.js → 73bee5659414b3687cfc.js} +1 -1
- package/assets/esri/core/workers/chunks/{090dad5579f0148d6486.js → 76dbaef0d0794913f36f.js} +1 -1
- package/assets/esri/core/workers/chunks/{09bd9bd37a339802907a.js → 7bf30c254228f9b7f224.js} +1 -1
- package/assets/esri/core/workers/chunks/7c5218eae13d3bd30598.js +1 -0
- package/assets/esri/core/workers/chunks/7fc09382f934e9223a9b.js +1 -0
- package/assets/esri/core/workers/chunks/{472d290f8eb1c1a85724.js → 8195310b4c53db902fc1.js} +1 -1
- package/assets/esri/core/workers/chunks/831b8282380844a7c4d5.js +1 -0
- package/assets/esri/core/workers/chunks/83c5dea24e36ac2e3497.js +1 -0
- package/assets/esri/core/workers/chunks/{49df576f0215618aa651.js → 84440efe2cc337dab81f.js} +1 -1
- package/assets/esri/core/workers/chunks/852007720e3bc29532db.js +1 -0
- package/assets/esri/core/workers/chunks/87c6470ee295d736b06d.js +1 -0
- package/assets/esri/core/workers/chunks/89853fccdf2bfcc290c0.js +1 -0
- package/assets/esri/core/workers/chunks/{1e152a34e368bd810a0f.js → 8d58e59ea13ecafdd45c.js} +1 -1
- package/assets/esri/core/workers/chunks/{a2442549c5daf3653eb4.js → 8d6641d0f7c93f83c414.js} +1 -1
- package/assets/esri/core/workers/chunks/8db723b8468e408dda46.js +1 -0
- package/assets/esri/core/workers/chunks/92a4f56232f81ca457fa.js +1 -0
- package/assets/esri/core/workers/chunks/{8a132d91077ecf849248.js → 92ef6071ea87b7f940e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{bb4aefaf9b0327dda738.js → 942c80c425b1f13cced5.js} +1 -1
- package/assets/esri/core/workers/chunks/980313a6c35e79812d17.js +1 -0
- package/assets/esri/core/workers/chunks/{e6bab7b739bfbb39f6cd.js → 988f5e003377d734d282.js} +1 -1
- package/assets/esri/core/workers/chunks/{7364fb5e99933533890d.js → 9ba8a2e1c0fb4e1efc7c.js} +1 -1
- package/assets/esri/core/workers/chunks/9c157c0eeadb824ad01e.js +1 -0
- package/assets/esri/core/workers/chunks/a39ac9127a215d14d412.js +1 -0
- package/assets/esri/core/workers/chunks/{63cf702cde83692126be.js → a6f29d1a6356e2de5a79.js} +1 -1
- package/assets/esri/core/workers/chunks/a94dd0f5839b6e2bb2d2.js +1 -0
- package/assets/esri/core/workers/chunks/ab0275669e28e7a34c38.js +1 -0
- package/assets/esri/core/workers/chunks/abc8015e13b1395b8d64.js +1 -0
- package/assets/esri/core/workers/chunks/abcee7cfd53cfe1d91e9.js +1 -0
- package/assets/esri/core/workers/chunks/acdbe0299024d58e1421.js +1 -0
- package/assets/esri/core/workers/chunks/{63c91421a71ae3b3599e.js → adff1791ae44631ad34a.js} +1 -1
- package/assets/esri/core/workers/chunks/{0eb6b9c638a5fcfe9bab.js → b4a59dd11d75df7bd510.js} +1 -1
- package/assets/esri/core/workers/chunks/{224f01b11fdba9250b1e.js → b64cfd86d9204be743c6.js} +1 -1
- package/assets/esri/core/workers/chunks/b7f2fb6684cf684b0bce.js +1 -0
- package/assets/esri/core/workers/chunks/b9f0d313f59fc7c43560.js +1 -0
- package/assets/esri/core/workers/chunks/bb5373ff7cdad7270095.js +1 -0
- package/assets/esri/core/workers/chunks/bb92a9daa0c5b019561f.js +1 -0
- package/assets/esri/core/workers/chunks/bbe2eaef7edfa33b6eea.js +1 -0
- package/assets/esri/core/workers/chunks/bddaa83fcb9fdb1e1856.js +1 -0
- package/assets/esri/core/workers/chunks/bfdf646d4c8f175a4236.js +1 -0
- package/assets/esri/core/workers/chunks/{0000781c850b1b4828b3.js → bfe052b386ec4874f350.js} +1 -1
- package/assets/esri/core/workers/chunks/{aa297e0931213341f51b.js → c3272b09bff886b08ce1.js} +1 -1
- package/assets/esri/core/workers/chunks/c38a07e936226b361b63.js +1 -0
- package/assets/esri/core/workers/chunks/{0d9904ba62558686c289.js → c743e561e7d73a100576.js} +1 -1
- package/assets/esri/core/workers/chunks/{b907d16e82ac908bb896.js → c96083838f919a8f64cd.js} +1 -1
- package/assets/esri/core/workers/chunks/{be80ed6e2955eabe912f.js → ca761dc5f45cafef313e.js} +1 -1
- package/assets/esri/core/workers/chunks/{8a6e50d95539b46f629c.js → cad1d7e5ce89f51b3ac9.js} +1 -1
- package/assets/esri/core/workers/chunks/{dbe55d4731227d6e9571.js → ccc743e41854eb225c23.js} +1 -1
- package/assets/esri/core/workers/chunks/cf3a9ead26629f3508b3.js +1 -0
- package/assets/esri/core/workers/chunks/{3a612f873e29348370b2.js → d129a5a34e9ad09bd39e.js} +1 -1
- package/assets/esri/core/workers/chunks/{461093ce28ceadd7853d.js → d14e75b160aa432233c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{e668ddc7332e5e560e78.js → d2abfcb0c8bf894c7f72.js} +1 -1
- package/assets/esri/core/workers/chunks/d749aa62ad694147aebe.js +1 -0
- package/assets/esri/core/workers/chunks/{f142c5cbdd16f1768275.js → d77f56576a49a998164a.js} +1 -1
- package/assets/esri/core/workers/chunks/{044a0ccd89741c1ae770.js → d79d29b52a65fb6bf94d.js} +1 -1
- package/assets/esri/core/workers/chunks/da7685ec2b6eaf00fd2d.js +1 -0
- package/assets/esri/core/workers/chunks/dae09fb8da0faa6dede4.js +1 -0
- package/assets/esri/core/workers/chunks/e16e88de4e93b0f48b2c.js +1 -0
- package/assets/esri/core/workers/chunks/e8bf362b2631f977b1cb.js +1 -0
- package/assets/esri/core/workers/chunks/ec5f83aa752c39a96609.js +1 -0
- package/assets/esri/core/workers/chunks/ed7e353e290b3a272457.js +1 -0
- package/assets/esri/core/workers/chunks/ef9a23d41acb5ad36426.js +1 -0
- package/assets/esri/core/workers/chunks/{33154a245eeca4ba38c6.js → f3437ae6bba846b524d3.js} +1 -1
- package/assets/esri/core/workers/chunks/{cfd2839e218610a222e5.js → f54ec21fa67db6fef5a6.js} +1 -1
- package/assets/esri/core/workers/chunks/{58242447b72cc60a5040.js → f91e63d7842c427c7f72.js} +1 -1
- package/assets/esri/core/workers/chunks/{914746077017fa50933f.js → fa0bbf0d7eadb924c473.js} +1 -1
- package/assets/esri/core/workers/chunks/fbd577f56529063ce491.js +1 -0
- package/assets/esri/core/workers/chunks/fe33b11ec3f58a0f541a.js +1 -0
- package/assets/esri/core/workers/chunks/fe5d2735f057c7789f4b.js +1 -0
- package/assets/esri/core/workers/chunks/ff7df6fb78fa2c0e9247.js +1 -0
- package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_en.json +1 -1
- package/chunks/bundle.js +1 -1
- package/config.js +1 -1
- package/core/memoryEstimations.js +1 -1
- package/core/promiseUtils.d.ts +1 -1
- package/core/units.d.ts +2 -0
- package/geometry/FlatGeometry.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/interfaces.d.ts +29 -31
- package/kernel.js +1 -1
- package/layers/FeatureLayer.d.ts +3 -3
- package/layers/GeoJSONLayer.d.ts +1 -1
- package/layers/ImageryTileLayer.d.ts +1 -1
- package/layers/OGCFeatureLayer.d.ts +1 -1
- package/layers/ParquetLayer.d.ts +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/SceneLayer.d.ts +1 -1
- package/layers/StreamLayer.d.ts +8 -7
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/WCSLayer.d.ts +1 -1
- package/layers/WFSLayer.d.ts +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +1 -1
- package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
- package/layers/graphics/FlatFeature.js +5 -0
- package/layers/graphics/FlatFeatureSet.js +5 -0
- package/layers/graphics/data/FlatFeatureStore.js +5 -0
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/data/flatFeatureQueryEngineAdapter.js +5 -0
- package/layers/graphics/data/optimizedFeatureQueryEngineAdapter.js +1 -1
- package/layers/graphics/featureConversionUtils.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +1 -1
- package/layers/mixins/ArcGISImageService.d.ts +1 -1
- package/layers/mixins/ImageryTileMixin.d.ts +1 -1
- package/layers/ogc/ogcFeatureUtils.d.ts +57 -0
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/ogc/types.d.ts +73 -0
- package/layers/raster/functions/creators/createDataManagementFunctions.d.ts +1 -1
- package/layers/raster/functions/creators/createSurfaceFunctions.d.ts +1 -1
- package/layers/support/FeatureReductionBinning.d.ts +1 -1
- package/layers/support/FeatureReductionCluster.d.ts +1 -1
- package/layers/support/StreamConnection.d.ts +37 -4
- package/layers/support/Sublayer.d.ts +1 -1
- package/layers/support/TrackPartInfo.d.ts +1 -1
- package/layers/support/fieldUtils.d.ts +1 -1
- package/layers/support/parquetUtils.js +1 -1
- package/libs/parquet/parquet.js +1 -1
- package/package.json +1 -1
- package/pointCloudRenderers.d.ts +1 -1
- package/portal/jsonTypes.d.ts +6 -0
- package/renderers/DictionaryRenderer.d.ts +2 -5
- package/renderers/PointCloudClassBreaksRenderer.d.ts +2 -1
- package/renderers/PointCloudRenderer.d.ts +3 -6
- package/renderers/PointCloudStretchRenderer.d.ts +2 -1
- package/renderers/PointCloudUniqueValueRenderer.d.ts +2 -1
- package/renderers/RasterShadedReliefRenderer.d.ts +2 -3
- package/renderers/RasterStretchRenderer.d.ts +1 -1
- package/renderers/Renderer.d.ts +2 -2
- package/renderers/VectorFieldRenderer.d.ts +4 -3
- package/renderers/support/AuthoringInfo.d.ts +2 -25
- package/renderers/support/AuthoringInfoVisualVariable.d.ts +2 -17
- package/renderers/support/RasterPresetRenderer.d.ts +1 -1
- package/renderers/support/RendererLegendOptions.d.ts +1 -4
- package/renderers/support/jsonUtils.d.ts +1 -1
- package/renderers/support/pointCloud/types.d.ts +10 -0
- package/renderers/support/raster/types.d.ts +54 -0
- package/renderers/support/types.d.ts +44 -0
- package/renderers/support/utils.d.ts +1 -1
- package/renderers/types.d.ts +16 -6
- package/renderers.d.ts +1 -1
- package/rest/knowledgeGraph/GraphObject.d.ts +1 -1
- package/rest/knowledgeGraph/GraphObject.js +1 -1
- package/smartMapping/labels/bins.d.ts +1 -1
- package/smartMapping/popup/clusters.d.ts +1 -1
- package/smartMapping/popup/templates.d.ts +1 -1
- package/smartMapping/raster/renderers/classBreaks.d.ts +1 -1
- package/smartMapping/raster/renderers/rgb.d.ts +1 -1
- package/smartMapping/raster/renderers/stretch.d.ts +1 -1
- package/smartMapping/raster/support/utils.d.ts +1 -1
- package/smartMapping/renderers/color.d.ts +1 -2
- package/smartMapping/renderers/pieChart.d.ts +1 -1
- package/smartMapping/renderers/predominance.d.ts +1 -1
- package/smartMapping/renderers/size.d.ts +1 -2
- package/smartMapping/renderers/support/rendererUtils.d.ts +1 -1
- package/smartMapping/renderers/univariateColorSize.d.ts +1 -1
- package/support/revision.js +1 -1
- package/unionTypes.d.ts +23 -7
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/TileContainer.js +1 -1
- package/views/2d/engine/webgl/WGLContainer.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/Technique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorkerProxy.d.ts +2 -2
- package/views/2d/layers/features/FeatureStoreQueryAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetSnapshotLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/ASourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/ParquetSourceChunk.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/2d/layers/features/support/Tile.js +1 -1
- package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
- package/views/2d/layers/graphics/GraphicContainer.js +1 -1
- package/views/2d/layers/support/DebouncedFeatureOverride.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.d.ts +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
- package/views/3d/layers/i3s/I3SQueryFeatureAdapter.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/BreakpointsOwner.d.ts +26 -21
- package/views/DOMContainer.d.ts +2 -1
- package/views/MapView.d.ts +3 -3
- package/views/SceneView.d.ts +3 -3
- package/views/View.d.ts +2 -2
- package/views/View2D.js +1 -1
- package/views/Viewport2DMixin.d.ts +3 -2
- package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +1 -1
- package/views/interactive/snapping/LineSnapper.js +1 -1
- package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/layers/BuildingSceneLayerView.d.ts +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.d.ts +2 -2
- package/widgets/Features/FeaturesViewModel.d.ts +1 -1
- package/widgets/Home/HomeViewModel.d.ts +1 -1
- package/widgets/Locate/LocateViewModel.d.ts +2 -2
- package/widgets/Slice/SliceViewModel.d.ts +2 -1
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
- package/widgets/types.d.ts +1 -1
- package/analysis/FeatureReference.d.ts +0 -19
- package/analysis/VolumeMeasurement/volumeMeasurementUtils.js +0 -5
- package/analysis/support/SliceAnalysisExcludedLayer.js +0 -5
- package/assets/esri/core/workers/chunks/00f044370bf3bb6b24d7.js +0 -1
- package/assets/esri/core/workers/chunks/0136cd1a5da204b6daeb.js +0 -1
- package/assets/esri/core/workers/chunks/097001462d93b78b64f4.js +0 -1
- package/assets/esri/core/workers/chunks/0fcb40204db8ee5571c3.js +0 -1
- package/assets/esri/core/workers/chunks/13167bdd486b41163147.js +0 -1
- package/assets/esri/core/workers/chunks/1363345f31f4f5051132.js +0 -1
- package/assets/esri/core/workers/chunks/13be94357dcf5afc4fcb.js +0 -1
- package/assets/esri/core/workers/chunks/1693f19f1c37e0a2087e.js +0 -1
- package/assets/esri/core/workers/chunks/18c4cd160a4052b05831.js +0 -1
- package/assets/esri/core/workers/chunks/18ce7b1559a45d017c45.js +0 -1
- package/assets/esri/core/workers/chunks/1dc3ab52fcde7bff0f23.js +0 -1
- package/assets/esri/core/workers/chunks/27794d48c04a5875fd22.js +0 -1
- package/assets/esri/core/workers/chunks/2a66841243975cac3e3c.js +0 -1
- package/assets/esri/core/workers/chunks/2c12848e4934e9bb2bd0.js +0 -1
- package/assets/esri/core/workers/chunks/311c4914a4f69f3c1525.js +0 -1
- package/assets/esri/core/workers/chunks/35cbc61a006351620ead.js +0 -1
- package/assets/esri/core/workers/chunks/36a04be40369111a633d.js +0 -1
- package/assets/esri/core/workers/chunks/3b5e71b156244789f624.js +0 -1
- package/assets/esri/core/workers/chunks/3dd0db77a05263000bd8.js +0 -1
- package/assets/esri/core/workers/chunks/5047acfd66539eefe353.js +0 -1
- package/assets/esri/core/workers/chunks/51fd6662245b920af652.js +0 -1
- package/assets/esri/core/workers/chunks/58419d362f24b35003c1.js +0 -1
- package/assets/esri/core/workers/chunks/58cf5b9a6aa685fc3367.js +0 -1
- package/assets/esri/core/workers/chunks/5ffeb8fb58d59bad68c3.js +0 -1
- package/assets/esri/core/workers/chunks/6d09965ab2bff9da88b6.js +0 -1
- package/assets/esri/core/workers/chunks/700122f775b98a7ed353.js +0 -1
- package/assets/esri/core/workers/chunks/7353d78feba7e6302b6e.js +0 -1
- package/assets/esri/core/workers/chunks/7737e69da604d2521da8.js +0 -1
- package/assets/esri/core/workers/chunks/7ba31425caa404f86424.js +0 -1
- package/assets/esri/core/workers/chunks/7cd0ab01933bfb2c6e43.js +0 -1
- package/assets/esri/core/workers/chunks/80c36f1786ae0be00962.js +0 -1
- package/assets/esri/core/workers/chunks/81c2cc77c275a5b555c0.js +0 -1
- package/assets/esri/core/workers/chunks/8892bf3d2367e35de001.js +0 -1
- package/assets/esri/core/workers/chunks/8d941204425571b656ec.js +0 -1
- package/assets/esri/core/workers/chunks/973bf2ed34d57f299472.js +0 -1
- package/assets/esri/core/workers/chunks/9b6e2099aabf67b9f9f2.js +0 -1
- package/assets/esri/core/workers/chunks/a6b1e3ec30f6d641aea9.js +0 -1
- package/assets/esri/core/workers/chunks/a8f7e44657083f6aa3fd.js +0 -1
- package/assets/esri/core/workers/chunks/b648a1e641cf5c772d67.js +0 -1
- package/assets/esri/core/workers/chunks/b91c13f44f4d1bac5799.js +0 -1
- package/assets/esri/core/workers/chunks/be6cc8a1485961f22372.js +0 -1
- package/assets/esri/core/workers/chunks/c91201b37d1cb3875fb4.js +0 -1
- package/assets/esri/core/workers/chunks/d22e0d733bfe821c0510.js +0 -1
- package/assets/esri/core/workers/chunks/d54988c21ea5667d00b7.js +0 -1
- package/assets/esri/core/workers/chunks/d62193323c67b379dee3.js +0 -1
- package/assets/esri/core/workers/chunks/d65ca3b8fccae8c3c3fa.js +0 -1
- package/assets/esri/core/workers/chunks/d8dc130ea559be1f68c6.js +0 -1
- package/assets/esri/core/workers/chunks/dcf6f7001f470f76bd3e.js +0 -1
- package/assets/esri/core/workers/chunks/e00d56ae5e68267fe269.js +0 -1
- package/assets/esri/core/workers/chunks/e2c7c269be93c552dc5b.js +0 -1
- package/assets/esri/core/workers/chunks/e4d593ddcbcf06010ab0.js +0 -1
- package/assets/esri/core/workers/chunks/f286f13686f003c5eec5.js +0 -1
- package/assets/esri/core/workers/chunks/fb6670a929b7333f1764.js +0 -1
- package/assets/esri/core/workers/chunks/fbdf553253cf8f22c022.js +0 -1
- package/assets/esri/core/workers/chunks/fc10c738bae304721ab2.js +0 -1
- package/assets/esri/core/workers/chunks/ff79c2cb28db7e0a1fc4.js +0 -1
- package/assets/esri/core/workers/chunks/ffdf1cbc1e54414d0f96.js +0 -1
- package/renderers/support/colorRampUtils.d.ts +0 -4
- package/renderers/support/pointCloudTypeUtils.d.ts +0 -6
- package/renderers/support/rasterRendererHelper.d.ts +0 -37
- package/renderers/support/rasterTypeUtils.d.ts +0 -9
- package/renderers/support/typeUtils.d.ts +0 -11
- /package/analysis/{dimensionUtils.d.ts → Dimension/types.d.ts} +0 -0
- /package/analysis/VolumeMeasurement/{volumeMeasurementUtils.d.ts → types.d.ts} +0 -0
package/analysis/Analysis.d.ts
CHANGED
|
@@ -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
|
|
6
|
+
export type ElevationProfileLineUnion = ElevationProfileLineGround | ElevationProfileLineInput | ElevationProfileLineQuery | ElevationProfileLineScene;
|
|
7
7
|
|
|
8
|
-
export type
|
|
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 "./
|
|
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 "./
|
|
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 "./
|
|
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};
|
|
@@ -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
|
|
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"./
|
|
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};
|
package/analysis/Viewshed.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Point from "../geometry/Point.js";
|
|
2
|
-
import type { FeatureReference } from "./
|
|
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
|
|
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};
|
package/analysis/types.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
364
|
-
|
|
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
|
|
405
|
-
|
|
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
|
|
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};
|