@arcgis/core 4.24.0-next.20220509 → 4.24.0-next.20220512
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/AggregateGraphic.js +1 -1
- package/analysis/Analysis.js +1 -1
- package/analysis/DimensioningAnalysis.js +1 -1
- package/analysis/LengthDimension.d.ts +4 -0
- package/analysis/LengthDimension.js +5 -0
- package/analysis/dimensionUtils.js +5 -0
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/arcade.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/credentials.js +1 -1
- package/arcade/featureSetCollection.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/actions/AttributeFilter.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/actions/Top.js +1 -1
- package/arcade/featureset/sources/Empty.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/FeatureSetIterator.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/featureset/support/stats.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade/request.js +1 -1
- package/assets/components/assets/icon/compactness16.json +1 -0
- package/assets/components/assets/icon/compactness24.json +1 -0
- package/assets/components/assets/icon/compactness32.json +1 -0
- package/assets/components/assets/icon/configure16.json +1 -0
- package/assets/components/assets/icon/configure24.json +1 -0
- package/assets/components/assets/icon/configure32.json +1 -0
- package/assets/components/assets/icon/debugScript16.json +1 -0
- package/assets/components/assets/icon/debugScript24.json +1 -0
- package/assets/components/assets/icon/debugScript32.json +1 -0
- package/assets/components/assets/icon/dissolveFeatures16.json +1 -0
- package/assets/components/assets/icon/dissolveFeatures24.json +1 -0
- package/assets/components/assets/icon/dissolveFeatures32.json +1 -0
- package/assets/components/assets/icon/distanceType16.json +1 -0
- package/assets/components/assets/icon/distanceType24.json +1 -0
- package/assets/components/assets/icon/distanceType32.json +1 -0
- package/assets/components/assets/icon/gridDiamond16.json +1 -0
- package/assets/components/assets/icon/gridDiamond24.json +1 -0
- package/assets/components/assets/icon/gridDiamond32.json +1 -0
- package/assets/components/assets/icon/gridHexagon16.json +1 -0
- package/assets/components/assets/icon/gridHexagon24.json +1 -0
- package/assets/components/assets/icon/gridHexagon32.json +1 -0
- package/assets/components/assets/icon/gridTriangle16.json +1 -0
- package/assets/components/assets/icon/gridTriangle24.json +1 -0
- package/assets/components/assets/icon/gridTriangle32.json +1 -0
- package/assets/components/assets/icon/insets16.json +1 -0
- package/assets/components/assets/icon/insets24.json +1 -0
- package/assets/components/assets/icon/insets32.json +1 -0
- package/assets/components/assets/icon/maximumTerritoryDistance16.json +1 -0
- package/assets/components/assets/icon/maximumTerritoryDistance24.json +1 -0
- package/assets/components/assets/icon/maximumTerritoryDistance32.json +1 -0
- package/assets/components/assets/icon/minDistanceBetweenCenters16.json +1 -0
- package/assets/components/assets/icon/minDistanceBetweenCenters24.json +1 -0
- package/assets/components/assets/icon/minDistanceBetweenCenters32.json +1 -0
- package/assets/components/assets/icon/numberOfTerritories16.json +1 -0
- package/assets/components/assets/icon/numberOfTerritories24.json +1 -0
- package/assets/components/assets/icon/numberOfTerritories32.json +1 -0
- package/assets/components/assets/icon/overlapFeatures16.json +1 -0
- package/assets/components/assets/icon/overlapFeatures24.json +1 -0
- package/assets/components/assets/icon/overlapFeatures32.json +1 -0
- package/assets/components/assets/icon/profileVariables16.json +1 -0
- package/assets/components/assets/icon/profileVariables24.json +1 -0
- package/assets/components/assets/icon/profileVariables32.json +1 -0
- package/assets/components/assets/icon/rasterAnalysis16.json +1 -0
- package/assets/components/assets/icon/rasterAnalysis24.json +1 -0
- package/assets/components/assets/icon/rasterAnalysis32.json +1 -0
- package/assets/components/assets/icon/recurrence16.json +1 -0
- package/assets/components/assets/icon/recurrence24.json +1 -0
- package/assets/components/assets/icon/recurrence32.json +1 -0
- package/assets/components/assets/icon/splitFeatures16.json +1 -0
- package/assets/components/assets/icon/splitFeatures24.json +1 -0
- package/assets/components/assets/icon/splitFeatures32.json +1 -0
- package/assets/components/assets/icon/territoryBufferDistance16.json +1 -0
- package/assets/components/assets/icon/territoryBufferDistance24.json +1 -0
- package/assets/components/assets/icon/territoryBufferDistance32.json +1 -0
- package/assets/components/assets/icon/testData16.json +1 -0
- package/assets/components/assets/icon/testData24.json +1 -0
- package/assets/components/assets/icon/testData32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/07eda3e958d29f86b37e.js +1 -0
- package/assets/esri/core/workers/chunks/0a6977144ea1abf96fbf.js +1 -0
- package/assets/esri/core/workers/chunks/0ecaa28b8bff1d779d66.js +1 -0
- package/assets/esri/core/workers/chunks/13387f56acbc3291561a.js +1 -0
- package/assets/esri/core/workers/chunks/16c4e0a32d50d4db984d.js +1 -0
- package/assets/esri/core/workers/chunks/{adae54f116f311d72d97.js → 1aba8c73c62a64e0658c.js} +1 -1
- package/assets/esri/core/workers/chunks/{076d1b1101b59af0d389.js → 1c010202b4c7e1d15f23.js} +1 -1
- package/assets/esri/core/workers/chunks/1d109cd048170e2d529a.js +1 -0
- package/assets/esri/core/workers/chunks/26827ec144676e6385f8.js +1 -0
- package/assets/esri/core/workers/chunks/366e5c1abd1ab6d3e548.js +1 -0
- package/assets/esri/core/workers/chunks/3e94e35f44aadbb332ff.js +1 -0
- package/assets/esri/core/workers/chunks/46411f32b29a0e783105.js +1 -0
- package/assets/esri/core/workers/chunks/4d1c87e3e0a02efcc082.js +1 -0
- package/assets/esri/core/workers/chunks/5210f0b42dba27945226.js +1 -0
- package/assets/esri/core/workers/chunks/5e46e60fab93ad034d3a.js +1 -0
- package/assets/esri/core/workers/chunks/6281b15009712a5dee3c.js +1 -0
- package/assets/esri/core/workers/chunks/66f627d68dbb0fdb725f.js +1 -0
- package/assets/esri/core/workers/chunks/672da24bbf86718bf48d.js +1 -0
- package/assets/esri/core/workers/chunks/{b85218d44c6094b7e5e6.js → 6d7e2a23a0a5dd9ded1d.js} +1 -1
- package/assets/esri/core/workers/chunks/70b6356357e7640c4e8b.js +1 -0
- package/assets/esri/core/workers/chunks/733625d85602127d62cd.js +1 -0
- package/assets/esri/core/workers/chunks/7391422fc51acb96a25d.js +1 -0
- package/assets/esri/core/workers/chunks/7574316b3af61c389e8f.js +1 -0
- package/assets/esri/core/workers/chunks/7cf3cff7b28ff007dbad.js +1 -0
- package/assets/esri/core/workers/chunks/7e5c22b5a32ac74b1b6e.js +1 -0
- package/assets/esri/core/workers/chunks/7ea06c86adfc827fda08.js +1 -0
- package/assets/esri/core/workers/chunks/8102bb78fe96e6197e4e.js +1 -0
- package/assets/esri/core/workers/chunks/{98607a0da63626cc4614.js → 82bc24bdc9c6ebaf58c0.js} +1 -1
- package/assets/esri/core/workers/chunks/8965ab74e03506e3475e.js +1 -0
- package/assets/esri/core/workers/chunks/{5405f478af3563580926.js → 8b497d9c37a8f577a467.js} +1 -1
- package/assets/esri/core/workers/chunks/919d0d8b1c2176760973.js +1 -0
- package/assets/esri/core/workers/chunks/{1eecae5227318f491263.js → 9f4d892abf55e8625bc9.js} +3 -3
- package/assets/esri/core/workers/chunks/aa49841b14c6e6df2a07.js +1 -0
- package/assets/esri/core/workers/chunks/ab2a0480dc2b608deda3.js +1 -0
- package/assets/esri/core/workers/chunks/ab97a35f7a7d5cf1da19.js +2 -0
- package/assets/esri/core/workers/chunks/{31df729c17470245288c.js.LICENSE.txt → ab97a35f7a7d5cf1da19.js.LICENSE.txt} +2 -2
- package/assets/esri/core/workers/chunks/ae554c88e862a5761f2e.js +1 -0
- package/assets/esri/core/workers/chunks/ae5ce55cd1a32525f101.js +1 -0
- package/assets/esri/core/workers/chunks/b4f171db73355c6f766e.js +1 -0
- package/assets/esri/core/workers/chunks/b597c04a4abb98e29d1c.js +1 -0
- package/assets/esri/core/workers/chunks/b78c3e9d31c4a562cdf0.js +1 -0
- package/assets/esri/core/workers/chunks/be4bf1e4cbe2a593f8b3.js +1 -0
- package/assets/esri/core/workers/chunks/c3e7290fb128d4fefd44.js +1 -0
- package/assets/esri/core/workers/chunks/c40d9caf5189be2c698e.js +1 -0
- package/assets/esri/core/workers/chunks/c66ac36da6392b6bf331.js +1 -0
- package/assets/esri/core/workers/chunks/d16b328d32a6ddc2fdb9.js +1 -0
- package/assets/esri/core/workers/chunks/d63f736b3560c577a8a4.js +1 -0
- package/assets/esri/core/workers/chunks/d869dabe937d3b60504e.js +1 -0
- package/assets/esri/core/workers/chunks/d94c5f36d52cf71f0bb9.js +1 -0
- package/assets/esri/core/workers/chunks/dd6c9a114ad38cf622ba.js +1 -0
- package/assets/esri/core/workers/chunks/e51f0e71f2a55af604d3.js +1 -0
- package/assets/esri/core/workers/chunks/e6b0f74226b9394bfa7a.js +1 -0
- package/assets/esri/core/workers/chunks/eb3855d3753d6b8334bd.js +1 -0
- package/assets/esri/core/workers/chunks/{7c290763920f52a1f504.js → eeed138930a4a805691d.js} +1 -1
- package/assets/esri/themes/base/widgets/_Editor.scss +3 -2
- package/assets/esri/themes/base/widgets/_Tooltip.scss +1 -0
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -2
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip.json +1 -0
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_en.json +1 -0
- package/chunks/BlendLayers.glsl.js +6 -6
- package/chunks/EdgeShader.glsl.js +3 -4
- package/chunks/arcade.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/core/sql/StandardizedFunctions.js +1 -1
- package/geohash/GeohashTree.js +1 -1
- package/geometry/support/contains.js +1 -1
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/geometry/support/intersects.js +1 -1
- package/geometry/support/intersectsBase.js +1 -1
- package/geometry/support/normalizeUtilsCommon.js +1 -1
- package/geometry/support/spatialReferenceUtils.js +1 -1
- package/interfaces.d.ts +1148 -67
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/MediaLayer.d.ts +4 -0
- package/layers/MediaLayer.js +5 -0
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/VoxelLayer.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +5 -0
- package/layers/WFSLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/graphics/OptimizedGeometry.js +1 -1
- package/layers/graphics/data/BoundsStore.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/save/featureLayerUtils.js +1 -1
- package/layers/support/AggregateField.d.ts +4 -0
- package/layers/support/AggregateField.js +1 -1
- package/layers/support/CornersGeoreference.d.ts +4 -0
- package/layers/support/CornersGeoreference.js +5 -0
- package/layers/support/ExtentAndRotationGeoreference.d.ts +4 -0
- package/layers/support/ExtentAndRotationGeoreference.js +5 -0
- package/layers/support/FeatureReduction.js +1 -1
- package/layers/support/FeatureReductionBinning.d.ts +4 -0
- package/layers/support/FeatureReductionBinning.js +5 -0
- package/layers/support/GeoreferenceBase.js +5 -0
- package/layers/support/ImageElement.d.ts +4 -0
- package/layers/support/ImageElement.js +5 -0
- package/layers/support/LocalMediaElementSource.d.ts +4 -0
- package/layers/support/LocalMediaElementSource.js +5 -0
- package/layers/support/MediaElementBase.d.ts +4 -0
- package/layers/support/MediaElementBase.js +5 -0
- package/layers/support/OutStatistic.d.ts +4 -0
- package/layers/support/RouteStopSymbols.d.ts +4 -0
- package/layers/support/RouteSymbols.d.ts +4 -0
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/VoxelFormat.d.ts +4 -0
- package/layers/support/VoxelStyle.d.ts +4 -0
- package/layers/support/VoxelVariable.d.ts +4 -0
- package/layers/support/VoxelVolume.d.ts +4 -0
- package/layers/support/VoxelVolumeStyle.d.ts +4 -0
- package/layers/support/arcgisLayerUrl.js +1 -1
- package/layers/support/featureReductionUtils.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/rasterFormats/Lerc.js +1 -1
- package/layers/support/rasterFormats/TiffDecoder.js +1 -1
- package/package.json +4 -4
- package/portal/support/portalItemUtils.js +1 -1
- package/renderers/PieChartRenderer.d.ts +4 -0
- package/renderers/PieChartRenderer.js +5 -0
- package/renderers/Renderer.js +1 -1
- package/renderers/support/AuthoringInfo.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/clickToleranceUtils.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/renderers/support/types.js +1 -1
- package/renderers/support/utils.js +1 -1
- package/renderers.js +1 -1
- package/request.js +1 -1
- package/rest/imageService/fetchRasterInfo.js +5 -0
- package/rest/imageService/getCatalogItemRasterInfo.js +5 -0
- package/rest/print.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/requestUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/Font.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/CurveHelper.js +1 -1
- package/symbols/cim/ExpandedCIM.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/placements/PlacementInsidePolygon.js +1 -1
- package/symbols/support/textUtils.js +1 -1
- package/views/2d/engine/brushes.js +1 -1
- package/views/2d/engine/vectorTiles/GlyphSource.js +1 -1
- package/views/2d/engine/vectorTiles/style/Filter.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
- package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/Overlay.js +5 -0
- package/views/2d/engine/webgl/OverlayContainer.js +5 -0
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/Utils.js +1 -1
- package/views/2d/engine/webgl/brushes/BrushOverlay.js +5 -0
- package/views/2d/engine/webgl/brushes/WGLBrushPieChart.js +5 -0
- package/views/2d/engine/webgl/brushes/WGLGeometryBrush.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js +1 -1
- package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
- package/views/2d/engine/webgl/color.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/enums.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLBaseFillTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLBaseLineTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLDynamicFillTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLFillTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLMarkerTemplate.js +1 -1
- package/views/2d/engine/webgl/shaders/OverlayPrograms.js +5 -0
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/techniques/dotDensity/TechniqueDotDensity.js +1 -1
- package/views/2d/engine/webgl/techniques/pieChart/TechniquePieChart.js +5 -0
- package/views/2d/engine/webgl/techniques/utils.js +1 -1
- package/views/2d/engine/webgl/util/Matcher.js +1 -1
- package/views/2d/layerViewModuleImportUtils.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +5 -0
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureStore2D.js +1 -1
- package/views/2d/layers/features/Pipeline.js +1 -1
- package/views/2d/layers/features/Store2D.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/sources/GeoEventSource.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/BinStore.js +5 -0
- package/views/2d/layers/features/support/ClusterStore.js +1 -1
- package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
- package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/2d/layers/support/clusterUtils.js +1 -1
- package/views/2d/magnifier/MagnifierView2D.js +1 -1
- package/views/2d/navigation/actions/Pinch.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/3d/analysis/AnalysisView3D.js +1 -1
- package/views/3d/analysis/Dimensioning/DimensioningTool.js +1 -1
- package/views/3d/analysis/Dimensioning/DimensioningVisualization.js +1 -1
- package/views/3d/analysis/Dimensioning/LengthDimensionSubTool.js +5 -0
- package/views/3d/analysis/Dimensioning/LengthDimensionVisualization.js +5 -0
- package/views/3d/analysis/Dimensioning/settings.js +5 -0
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/environment/SnowyWeather.d.ts +4 -0
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
- package/views/3d/layerViewModuleImportUtils.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +5 -0
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/i3s/IDBCache.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +37 -31
- package/views/DOMContainer.js +1 -1
- package/views/GroundView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/View.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/GraphicManipulator.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/SceneSnappingEngine.js +5 -0
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/snappingFactory.js +5 -0
- package/views/interactive/tooltip/DrawPointTooltipInfo.js +5 -0
- package/views/interactive/tooltip/DrawPolygonTooltipInfo.js +5 -0
- package/views/interactive/tooltip/DrawPolylineTooltipInfo.js +5 -0
- package/views/interactive/tooltip/Tooltip.js +1 -1
- package/views/interactive/tooltip/content/TooltipContent.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPoint.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateVertex.js +1 -1
- package/views/interactive/tooltip/support/measurements.js +5 -0
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/layers/GroupLayerView.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/webscene/Slide.js +1 -1
- package/widgets/Attribution/AttributionViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Feature/FeatureAttachments.js +1 -1
- package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureExpression.js +1 -1
- package/widgets/Feature/FeatureFields.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/FeatureForm/InputFieldGroup.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTable/Grid/Column.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +11 -11
- package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
- package/widgets/LayerList/LayerListViewModel.js +1 -1
- package/widgets/LayerList/ListItem.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend.js +1 -1
- package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
- package/widgets/Measurement.js +1 -1
- package/widgets/NavigationToggle/NavigationToggleViewModel.js +1 -1
- package/widgets/Popup/PopupViewModel.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/TableList/ListItem.js +1 -1
- package/widgets/Weather/LabeledSlider.js +1 -1
- package/widgets/Weather/VisibleElements.js +5 -0
- package/widgets/Weather/css.js +1 -1
- package/widgets/Weather.js +1 -1
- package/widgets/support/AnalysisViewModel.js +1 -1
- package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
- package/analysis/LinearDimension.d.ts +0 -4
- package/analysis/LinearDimension.js +0 -5
- package/assets/esri/core/workers/chunks/0018053ac16a09feba70.js +0 -1
- package/assets/esri/core/workers/chunks/042938ca73f0b9e5a7e2.js +0 -1
- package/assets/esri/core/workers/chunks/048645611caa28dca7cd.js +0 -1
- package/assets/esri/core/workers/chunks/0b72d123386dc4ec7538.js +0 -1
- package/assets/esri/core/workers/chunks/13b04d5bf348ab5054c2.js +0 -1
- package/assets/esri/core/workers/chunks/215007e7c44811d90777.js +0 -1
- package/assets/esri/core/workers/chunks/31df729c17470245288c.js +0 -2
- package/assets/esri/core/workers/chunks/36272141b3c33cb19026.js +0 -1
- package/assets/esri/core/workers/chunks/36c8e8de9c3f67d32572.js +0 -1
- package/assets/esri/core/workers/chunks/37c428489c59df4b597b.js +0 -1
- package/assets/esri/core/workers/chunks/493169fd978fd543ef3b.js +0 -1
- package/assets/esri/core/workers/chunks/4f378ad6f4299183df85.js +0 -1
- package/assets/esri/core/workers/chunks/58e4c6ce1580427e7b55.js +0 -1
- package/assets/esri/core/workers/chunks/66cd99e91dad60c5274c.js +0 -1
- package/assets/esri/core/workers/chunks/69a20e4d9e28c3e599fc.js +0 -1
- package/assets/esri/core/workers/chunks/6c5441da675a8af35be2.js +0 -1
- package/assets/esri/core/workers/chunks/6ea16f6a0df946de480b.js +0 -1
- package/assets/esri/core/workers/chunks/7dfd70f4fa1096e56641.js +0 -1
- package/assets/esri/core/workers/chunks/875f26ee040f3d75c0db.js +0 -1
- package/assets/esri/core/workers/chunks/88193e61072d7bf957f5.js +0 -1
- package/assets/esri/core/workers/chunks/89acd5f888d6b8df4aad.js +0 -1
- package/assets/esri/core/workers/chunks/8ccbde593c86c872e525.js +0 -1
- package/assets/esri/core/workers/chunks/9c6be39f1f21ab8b1c2d.js +0 -1
- package/assets/esri/core/workers/chunks/a73795cce722ba15b3da.js +0 -1
- package/assets/esri/core/workers/chunks/a8ed1a938dc164b401d9.js +0 -1
- package/assets/esri/core/workers/chunks/a9a73bc4875a5aeaf1b9.js +0 -1
- package/assets/esri/core/workers/chunks/adcc5bce6c0971c1b592.js +0 -1
- package/assets/esri/core/workers/chunks/afddfe620e6539991e6b.js +0 -1
- package/assets/esri/core/workers/chunks/b340c9bdabdb37995c8f.js +0 -1
- package/assets/esri/core/workers/chunks/b4c23630d6c85f7b59c0.js +0 -1
- package/assets/esri/core/workers/chunks/b50ae3dc7e43ff452568.js +0 -1
- package/assets/esri/core/workers/chunks/b5b7bcbc19b3430903ee.js +0 -1
- package/assets/esri/core/workers/chunks/c180c40838246985479d.js +0 -1
- package/assets/esri/core/workers/chunks/caed2365bd296fcc8a75.js +0 -1
- package/assets/esri/core/workers/chunks/cf47b605c31063e88357.js +0 -1
- package/assets/esri/core/workers/chunks/cfbb332d144e65a4a55d.js +0 -1
- package/assets/esri/core/workers/chunks/d5c5b9f7f5401f36a3a5.js +0 -1
- package/assets/esri/core/workers/chunks/d85b5b73a151c6fbb658.js +0 -1
- package/assets/esri/core/workers/chunks/da6261673c3e1537b6a6.js +0 -1
- package/assets/esri/core/workers/chunks/dafe120243db6648a4ab.js +0 -1
- package/assets/esri/core/workers/chunks/db6c5b3b4efe8d804f9c.js +0 -1
- package/assets/esri/core/workers/chunks/dfb6a28039e5d5ce6fd4.js +0 -1
- package/assets/esri/core/workers/chunks/e2ca546b42239a13bc9b.js +0 -1
- package/assets/esri/core/workers/chunks/ec6d138e8183e193f977.js +0 -1
- package/assets/esri/core/workers/chunks/ed4519ac9533a4d340f1.js +0 -1
- package/assets/esri/core/workers/chunks/f55cbaf5a1d6ee6ac171.js +0 -1
- package/assets/esri/core/workers/chunks/f7e0bb11ba3677069c94.js +0 -1
- package/layers/GeoreferencedImageLayer.d.ts +0 -4
- package/layers/GeoreferencedImageLayer.js +0 -5
- package/layers/VoxelWasmManager.js +0 -5
- package/layers/VoxelWasmPerScene.js +0 -5
- package/views/3d/analysis/Dimensioning/LinearDimensionSubTool.js +0 -5
- package/views/3d/analysis/Dimensioning/LinearDimensionVisualization.js +0 -5
package/AggregateGraphic.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"./chunks/tslib.es6.js";import r from"./Graphic.js";import{property as t}from"./core/accessorSupport/decorators/property.js";import"./core/arrayUtils.js";import"./core/has.js";import"./core/accessorSupport/ensureType.js";import{subclass as o}from"./core/accessorSupport/decorators/subclass.js";let p=class extends r{constructor(){super(...arguments),this.isAggregate=!0}getEffectivePopupTemplate(e=!1){if(this.popupTemplate)return this.popupTemplate;const r=this.sourceLayer&&this.sourceLayer.featureReduction;return r&&"popupTemplate"in r&&r.popupEnabled?r.popupTemplate:null}getObjectId(){return this.objectId}};e([t({type:Boolean})],p.prototype,"isAggregate",void 0),e([t({type:Number,json:{read:!0}})],p.prototype,"objectId",void 0),p=e([o("esri.AggregateGraphic")],p);const s=p;export{s as default};
|
|
5
|
+
import{_ as e}from"./chunks/tslib.es6.js";import r from"./Graphic.js";import{property as t}from"./core/accessorSupport/decorators/property.js";import"./core/arrayUtils.js";import"./core/has.js";import"./core/accessorSupport/ensureType.js";import{subclass as o}from"./core/accessorSupport/decorators/subclass.js";let p=class extends r{constructor(){super(...arguments),this.isAggregate=!0}getEffectivePopupTemplate(e=!1){if(this.popupTemplate)return this.popupTemplate;const r=this.sourceLayer&&this.sourceLayer.featureReduction;return r&&"popupTemplate"in r&&r.popupEnabled?r.popupTemplate:null}getObjectId(){return this.objectId}};e([t({type:Boolean})],p.prototype,"isAggregate",void 0),e([t({type:[String,Number],json:{read:!0}})],p.prototype,"objectId",void 0),p=e([o("esri.AggregateGraphic")],p);const s=p;export{s as default};
|
package/analysis/Analysis.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as
|
|
5
|
+
import{_ as r}from"../chunks/tslib.es6.js";import o from"../core/Accessor.js";import{ClonableMixin as t}from"../core/Clonable.js";import{IdentifiableMixin as e}from"../core/Identifiable.js";import{isSome as s}from"../core/maybe.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";let n=0,a=class extends(t(e(o))){constructor(r){super(r),this.id=`${Date.now().toString(16)}-analysis-${n++}`,this.title=null,this.parent=null}get isEditable(){return this.requiredPropertiesForEditing.every(s)}};r([i({type:String,constructOnly:!0,clonable:!1})],a.prototype,"id",void 0),r([i({type:String})],a.prototype,"title",void 0),r([i({constructOnly:!0})],a.prototype,"type",void 0),r([i({clonable:!1})],a.prototype,"parent",void 0),r([i({readOnly:!0})],a.prototype,"extent",void 0),r([i({readOnly:!0})],a.prototype,"isEditable",null),r([i({readOnly:!0})],a.prototype,"requiredPropertiesForEditing",void 0),r([i({readOnly:!0})],a.prototype,"nonEditableMessage",void 0),a=r([p("esri.analysis.Analysis")],a);const l=a;export{l as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import t from"./Analysis.js";import s from"./LengthDimension.js";import o from"../core/Collection.js";import{castForReferenceSetter as n,referenceSetter as i}from"../core/collectionUtils.js";import{isNone as r,isSome as p}from"../core/maybe.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";const a=o.ofType(s);let d=class extends t{constructor(e){super(e),this.type="dimensioning",this.nonEditableMessage="Assign start and end points to all dimensions to allow editing."}get dimensions(){return this._get("dimensions")||new a}set dimensions(e){this._set("dimensions",i(e,this.dimensions,a))}get extent(){return this.dimensions.reduce(((e,t)=>r(e)?p(t.extent)?t.extent.clone():null:p(t.extent)?e.union(t.extent):e),null)}get requiredPropertiesForEditing(){return this.dimensions.reduce(((e,t)=>(e.push(t.startPoint,t.endPoint),e)),[])}};e([l({type:["dimensioning"]})],d.prototype,"type",void 0),e([l({cast:n,type:a,nonNullable:!0})],d.prototype,"dimensions",null),e([l({readOnly:!0})],d.prototype,"extent",null),e([l({readOnly:!0})],d.prototype,"requiredPropertiesForEditing",null),e([l({readOnly:!0})],d.prototype,"nonEditableMessage",void 0),d=e([m("esri.analysis.DimensioningAnalysis")],d);const c=d;export{c as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import"../geometry.js";import{lengthDimensionAxes as o}from"./dimensionUtils.js";import{Clonable as r}from"../core/Clonable.js";import{isNone as e,isSome as s}from"../core/maybe.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import p from"../geometry/Extent.js";import m from"../geometry/Point.js";let l=class extends r{constructor(t){super(t),this.type="length",this.startPoint=null,this.endPoint=null,this.axis="horizontal",this.offset=0}get extent(){if(e(this.startPoint))return null;const t=p.fromPoint(this.startPoint);return s(this.endPoint)&&t.union(p.fromPoint(this.endPoint)),t}};t([i({type:["length"]})],l.prototype,"type",void 0),t([i({type:m})],l.prototype,"startPoint",void 0),t([i({type:m})],l.prototype,"endPoint",void 0),t([i({type:o,nonNullable:!0})],l.prototype,"axis",void 0),t([i({type:Number,nonNullable:!0})],l.prototype,"offset",void 0),t([i({readOnly:!0})],l.prototype,"extent",null),l=t([n("esri.analysis.LengthDimension")],l);const a=l;export{a as default};
|
package/arcade/Dictionary.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"./ImmutableArray.js";import{i as s,j as i,f as r,u as e,w as n,x as
|
|
5
|
+
import t from"./ImmutableArray.js";import{i as s,j as i,f as r,u as e,w as n,x as a,y as o,t as u,z as c,d as l,o as f,A as h,a as b}from"../chunks/languageUtils.js";import y from"../geometry/Geometry.js";function m(t,e=!1){if(null==t)return null;if(i(t))return u(t);if(s(t))return c(t);if(r(t))return l(t);if(f(t))return h(t);if(b(t)){const s=[];for(const i of t)s.push(m(i,e));return s}const n=new d;n.immutable=!1;for(const s of Object.keys(t)){const i=t[s];void 0!==i&&n.setField(s,m(i,e))}return n.immutable=e,n}class d{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof d?t.attributes:null==t?{}:t}field(t){const s=t.toLowerCase(),i=this.attributes[t];if(void 0!==i)return i;for(const r in this.attributes)if(r.toLowerCase()===s)return this.attributes[r];throw new Error("Field not Found : "+t)}setField(t,s){if(this.immutable)throw new Error("Dictionary is Immutable");const i=t.toLowerCase();if(void 0===this.attributes[t]){for(const t in this.attributes)if(t.toLowerCase()===i)return void(this.attributes[t]=s);this.attributes[t]=s}else this.attributes[t]=s}hasField(t){const s=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===s)return!0;return!1}keys(){let t=[];for(const s in this.attributes)t.push(s);return t=t.sort(),t}castToText(){let n="";for(const a in this.attributes){""!==n&&(n+=",");const o=this.attributes[a];null==o?n+=JSON.stringify(a)+":null":s(o)||i(o)||r(o)?n+=JSON.stringify(a)+":"+JSON.stringify(o):o instanceof y||o instanceof t||o instanceof Array?n+=JSON.stringify(a)+":"+e(o):o instanceof Date?n+=JSON.stringify(a)+":"+JSON.stringify(o):null!==o&&"object"==typeof o&&void 0!==o.castToText&&(n+=JSON.stringify(a)+":"+o.castToText())}return"{"+n+"}"}static convertObjectToArcadeDictionary(t,s=!0){const i=new d;i.immutable=!1;for(const r in t){const s=t[r];void 0!==s&&i.setField(r.toString(),m(s))}return i.immutable=s,i}static convertJsonToArcade(t,s=!1){return m(t,s)}castAsJson(t=null){const s={};for(let i in this.attributes){const r=this.attributes[i];void 0!==r&&(t?.keyTranslate&&(i=t.keyTranslate(i)),s[i]=n(r,t))}return s}async castDictionaryValueAsJsonAsync(t,s,i,r=null,e){const n=await a(i,r,e);return t[s]=n,n}async castAsJsonAsync(t=null,s=null){const i={},r=[];for(let e in this.attributes){const a=this.attributes[e];s?.keyTranslate&&(e=s.keyTranslate(e)),void 0!==a&&(o(a)||a instanceof y||a instanceof Date?i[e]=n(a,s):r.push(this.castDictionaryValueAsJsonAsync(i,e,a,t,s)))}return r.length>0&&await Promise.all(r),i}}export{d as default};
|
package/arcade/Feature.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"./Dictionary.js";import e from"./ImmutableArray.js";import{i,j as s,f as r,u as a,y as o,o as n,w as l}from"../chunks/languageUtils.js";import
|
|
5
|
+
import t from"./Dictionary.js";import e from"./ImmutableArray.js";import{i,j as s,f as r,u as a,y as o,o as n,w as l}from"../chunks/languageUtils.js";import u from"../geometry/Geometry.js";import h from"../geometry/Point.js";import{fromJSON as f}from"../geometry/support/jsonUtils.js";import{convertToGeometry as y}from"../layers/graphics/featureConversionUtils.js";import{isSome as c,unwrap as m}from"../core/maybe.js";class d{constructor(){this.arcadeDeclaredClass="esri.arcade.Feature",this._optimizedGeomDefinition=null,this._geometry=null,this.attributes=null,this._layer=null,this._datesfixed=!0,this.immutable=!0,this._datefields=null,this.immutable=!0}static createFromGraphic(t){const e=new d;return e._geometry=c(t.geometry)?t.geometry:null,void 0===t.attributes||null===t.attributes?e.attributes={}:e.attributes=t.attributes,t._sourceLayer?(e._layer=t._sourceLayer,e._datesfixed=!1):t._layer?(e._layer=t._layer,e._datesfixed=!1):t.layer&&"fields"in t.layer?(e._layer=t.layer,e._datesfixed=!1):t.sourceLayer&&"fields"in t.sourceLayer&&(e._layer=t.sourceLayer,e._datesfixed=!1),e}static createFromArcadeFeature(t){const e=new d;return e._datesfixed=t._datesfixed,e.attributes=t.attributes,e._geometry=t._geometry,e._optimizedGeomDefinition=t._optimizedGeomDefinition,t._layer&&(e._layer=t._layer),e}static createFromOptimisedFeature(t,e,i){const s=new d;return s._geometry=t.geometry?{geometry:t.geometry}:null,s._optimizedGeomDefinition=i,s.attributes=t.attributes||{},s._layer=e,s._datesfixed=!1,s}static createFromArcadeDictionary(e){const i=new d;return i.attributes=e.field("attributes"),null!==i.attributes&&i.attributes instanceof t?(i.attributes=i.attributes.attributes,null===i.attributes&&(i.attributes={})):i.attributes={},i._geometry=e.field("geometry"),null!==i._geometry&&(i._geometry instanceof t?i._geometry=d.parseGeometryFromDictionary(i._geometry):i._geometry instanceof u||(i._geometry=null)),i}static createFromGraphicLikeObject(t,e,i=null){const s=new d;return null===e&&(e={}),s.attributes=e,s._geometry=c(t)?t:null,s._layer=i,s._layer&&(s._datesfixed=!1),s}repurposeFromGraphicLikeObject(t,e,i=null){null===e&&(e={}),this.attributes=e,this._geometry=t||null,this._layer=i,this._layer?this._datesfixed=!1:this._datesfixed=!0}castToText(){let t="";!1===this._datesfixed&&this._fixDates();for(const o in this.attributes){""!==t&&(t+=",");const n=this.attributes[o];null==n?t+=JSON.stringify(o)+":null":i(n)||s(n)||r(n)?t+=JSON.stringify(o)+":"+JSON.stringify(n):n instanceof u||n instanceof e||n instanceof Array?t+=JSON.stringify(o)+":"+a(n):n instanceof Date?t+=JSON.stringify(o)+":"+JSON.stringify(n):null!==n&&"object"==typeof n&&void 0!==n.castToText&&(t+=JSON.stringify(o)+":"+n.castToText())}return'{"geometry":'+(null===this.geometry()?"null":a(this.geometry()))+',"attributes":{'+t+"}}"}_fixDates(){if(null!==this._datefields)return this._datefields.length>0&&this._fixDateFields(this._datefields),void(this._datesfixed=!0);const t=[];for(let e=0;e<this._layer.fields.length;e++){const i=this._layer.fields[e];"date"!==i.type&&"esriFieldTypeDate"!==i.type||t.push(i.name)}this._datefields=t,t.length>0&&this._fixDateFields(t),this._datesfixed=!0}_fixDateFields(t){this.attributes={...this.attributes};for(let e=0;e<t.length;e++){let i=this.attributes[t[e]];if(null===i);else if(void 0===i){for(const s in this.attributes)if(s.toLowerCase()===t[e].toLowerCase()){i=this.attributes[s],null!==i&&(i instanceof Date||(this.attributes[s]=new Date(i)));break}}else i instanceof Date||(this.attributes[t[e]]=new Date(i))}}geometry(){return null===this._geometry||this._geometry instanceof u||(this._optimizedGeomDefinition?(this._geometry=m(f(y(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM))),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=m(f(this._geometry))),this._geometry}field(t){!1===this._datesfixed&&this._fixDates();const e=this.attributes[t];if(void 0!==e)return e;const i=t.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===i)return this.attributes[s];if(this._hasFieldDefinition(i))return null;throw new Error("Field not Found : "+t)}_hasFieldDefinition(t){if(null===this._layer)return!1;for(let e=0;e<this._layer.fields.length;e++){if(this._layer.fields[e].name.toLowerCase()===t)return!0}return!1}setField(t,e){if(this.immutable)throw new Error("Feature is Immutable");if(!1===o(e))throw new Error("Illegal Value Assignment to Feature");const i=t.toLowerCase();if(void 0===this.attributes[t]){for(const t in this.attributes)if(t.toLowerCase()===i)return void(this.attributes[t]=e);this.attributes[t]=e}else this.attributes[t]=e}hasField(t){const e=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===e)return!0;return!!this._hasFieldDefinition(e)}keys(){let t=[];const e={};for(const i in this.attributes)t.push(i),e[i.toLowerCase()]=1;if(null!==this._layer)for(let i=0;i<this._layer.fields.length;i++){const s=this._layer.fields[i];1!==e[s.name.toLowerCase()]&&t.push(s.name)}return t=t.sort(),t}static parseGeometryFromDictionary(t){const e=d._convertDictionaryToJson(t,!0);return void 0!==e.hasm&&(e.hasM=e.hasm,delete e.hasm),void 0!==e.hasz&&(e.hasZ=e.hasz,delete e.hasz),void 0!==e.spatialreference&&(e.spatialReference=e.spatialreference,delete e.spatialreference),void 0!==e.rings&&(e.rings=this._fixPathArrays(e.rings,!0===e.hasZ,!0===e.hasZ)),void 0!==e.paths&&(e.paths=this._fixPathArrays(e.paths,!0===e.hasZ,!0===e.hasM)),void 0!==e.points&&(e.points=this._fixPointArrays(e.points,!0===e.hasZ,!0===e.hasM)),f(e)}static _fixPathArrays(t,i,s){const r=[];if(t instanceof Array)for(let e=0;e<t.length;e++)r.push(this._fixPointArrays(t[e],i,s));else if(t instanceof e)for(let e=0;e<t.length();e++)r.push(this._fixPointArrays(t.get(e),i,s));return r}static _fixPointArrays(t,i,s){const r=[];if(t instanceof Array)for(let a=0;a<t.length;a++){const o=t[a];o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}else if(t instanceof e)for(let a=0;a<t.length();a++){const o=t.get(a);o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}return r}static _convertDictionaryToJson(e,i=!1){const s={};for(const r in e.attributes){let a=e.attributes[r];a instanceof t&&(a=d._convertDictionaryToJson(a)),i?s[r.toLowerCase()]=a:s[r]=a}return s}static parseAttributesFromDictionary(t){const e={};for(const i in t.attributes){const s=t.attributes[i];if(!o(s))throw new Error("Illegal Argument");e[i]=s}return e}static fromJson(t){let e=null;null!==t.geometry&&void 0!==t.geometry&&(e=f(t.geometry));const a={};if(null!==t.attributes&&void 0!==t.attributes)for(const o in t.attributes){const e=t.attributes[o];if(null===e)a[o]=e;else{if(!(r(e)||s(e)||i(e)||n(e)))throw new Error("Illegal Argument");a[o]=e}}return d.createFromGraphicLikeObject(e,a,null)}fullSchema(){return this._layer}gdbVersion(){if(null===this._layer)return"";const t=this._layer.gdbVersion;return void 0===t?"":""===t&&this._layer.capabilities&&this._layer.capabilities.isVersioned?"SDE.DEFAULT":t}castAsJson(t){const e={attributes:{},geometry:!0===t?.keepGeometryType?this.geometry():this.geometry().toJSON()};for(const i in this.attributes){const s=this.attributes[i];void 0!==s&&(e.attributes[i]=l(s,t))}return e}async castAsJsonAsync(t=null,e){return this.castAsJson(e)}}export{d as default};
|
package/arcade/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/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"./arcadeCompiler.js";import"./arcadeRuntime.js";import"./parser.js";import"./treeAnalysis.js";import"../core/has.js";
|
|
5
|
+
import"./arcadeCompiler.js";import"./arcadeRuntime.js";import"./parser.js";import"./treeAnalysis.js";import"../core/has.js";export{c as compileScript,q as enableAsyncSupport,t as enableAsyncSupportImpl,d as enableFeatureSetSupport,y as enableFeatureSetSupportImpl,b as enableGeometrySupport,o as enableGeometrySupportImpl,e as executeScript,i as extend,a as extractExpectedFieldLiterals,n as extractFieldLiterals,f as featureSetUtils,w as isAsyncEnabled,u as isFeatureSetSupportEnabled,x as isGeometryEnabled,l as loadScriptDependencies,k as parseAndExecuteScript,p as parseScript,m as referencesFunction,r as referencesMember,j as scriptCheck,A as scriptIsAsync,s as scriptTouchesGeometry,z as scriptUsesFeatureSet,g as scriptUsesGeometryEngine,v as validateScript}from"../chunks/arcade.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import c from"./ImmutablePointArray.js";import{p as i,i as s,e as l,N as u,d as f,n as h,v as p,m as d,a as m,f as g,b as y,k as E,q as w,j as v,R as N,c as I,t as b,I as S,g as T,h as R,o as O,r as A,s as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as F,findFieldLiterals as M,validateScript as x,referencesMember as P,referencesFunction as D,findFunctionCalls as k}from"./treeAnalysis.js";import{reduceArrayWithPromises as j}from"./featureset/support/shared.js";import{A as L}from"../chunks/array.js";import{registerFunctions as _}from"./functions/date.js";import{registerFunctions as V}from"./functions/geomasync.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{create as q,all as H,reject as Z,resolve as W}from"../core/promiseUtils.js";import K from"../geometry/Extent.js";import X from"../geometry/Geometry.js";import J from"../geometry/Multipoint.js";import Q from"../geometry/Point.js";import $ from"../geometry/Polygon.js";import ee from"../geometry/Polyline.js";import te from"../geometry/SpatialReference.js";function re(e){return e&&"function"==typeof e.then}const ne=100;function oe(e){return e instanceof Error?Z(e):Z(new Error(e))}function ae(e){return W(e)}function ce(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(le(e,t.arguments[n]));return H(r)}function ie(e,t,r){return q(((n,o)=>{if(!0===t.preparsed)return n(r(e,null,t.arguments));ce(e,t).then((a=>{try{n(r(e,t,a))}catch(c){o(c)}}),o)}))}function se(e,t,r){try{if(!0===t.preparsed){const n=r(e,null,t.arguments);return re(n)?n:W(n)}return ce(e,t).then((n=>{try{const o=r(e,t,n);return re(o)?o:W(o)}catch(o){return oe(o)}}))}catch(n){return oe(n)}}function le(e,t,r){try{if(t.breakpoint&&!0!==r){return t.breakpoint().then((()=>le(e,t,!0)))}switch(t.type){case"VariableDeclarator":return xe(e,t);case"VariableDeclaration":return Me(e,t,0);case"BlockStatement":return Ae(e,t);case"FunctionDeclaration":return Fe(e,t);case"ReturnStatement":return Ce(e,t);case"IfStatement":return Oe(e,t);case"ExpressionStatement":return Re(e,t);case"UpdateExpression":return be(e,t);case"AssignmentExpression":return Te(e,t);case"ForStatement":return me(e,t);case"ForInStatement":return Ie(e,t);case"BreakStatement":return W(d);case"EmptyStatement":return W(p);case"ContinueStatement":return W(h);case"TemplateElement":return Ge(e,t);case"TemplateLiteral":return ze(e,t);case"Identifier":return Be(e,t);case"MemberExpression":return ke(e,t);case"Literal":return ae(t.value);case"CallExpression":return Ye(e,t);case"UnaryExpression":return je(e,t);case"BinaryExpression":return _e(e,t);case"LogicalExpression":return Ve(e,t);case"ArrayExpression":return Le(e,t);case"ObjectExpression":return ue(e,t);case"Property":return fe(e,t);default:return oe(C(t,"RUNTIME","UNREOGNISED"))}}catch(n){return oe(n)}}function ue(e,t){try{const n=[];for(let r=0;r<t.properties.length;r++)n.push(le(e,t.properties[r]));return H(n).then((e=>q((t=>{const n={};for(let r=0;r<e.length;r++){const t=e[r];if(I(t.value))throw new Error("Illegal Argument");if(!1===g(t.key))throw new Error("Illegal Argument");t.value===p?n[t.key.toString()]=null:n[t.key.toString()]=t.value}const o=new r(n);o.immutable=!1,t(o)}))))}catch(n){return oe(n)}}function fe(e,t){try{return le(e,t.value).then((r=>q((n=>{"Identifier"===t.key.type?n({key:t.key.name,value:r}):le(e,t.key).then((e=>{n({key:e,value:r})}))}))))}catch(r){return Z(r)}}function he(e,t,r){try{return le(e,t.body).then((n=>{try{return r.lastAction=n,r.lastAction===d||r.lastAction instanceof N?(r.testResult=!1,W(r)):null!==t.update?le(e,t.update).then((()=>W(r))):W(r)}catch(o){return Z(o)}}))}catch(n){return Z(n)}}function pe(e,t,r){try{return null!==t.test?le(e,t.test).then((n=>{try{return!0===e.abortSignal.aborted?Z(new Error("Cancelled")):(r.testResult=n,!1===r.testResult?W(r):!0!==r.testResult?Z(new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))):he(e,t,r))}catch(o){return Z(o)}})):he(e,t,r)}catch(n){return Z(n)}}function de(e,t,r,n,o,a){try{pe(e,t,r).then((()=>{try{!0===r.testResult?++a>ne?(a=0,setTimeout((()=>{de(e,t,r,n,o,a)}),0)):de(e,t,r,n,o,a):r.lastAction instanceof N?n(r.lastAction):n(p)}catch(c){o(c)}}),(e=>{o(e)}))}catch(c){o(c)}}function me(e,t){try{return null!==t.init?le(e,t.init).then((()=>q(((r,n)=>{de(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):q(((r,n)=>{de(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Z(r)}}function ge(e,t,r,n,o,a,c,i,s,l){try{if(n<=a)return void i(p);o.value="k"===c?r[a]:a,le(e,t.body).then((u=>{try{u instanceof N?i(u):u===d?i(p):++l>ne?(l=0,setTimeout((()=>{ge(e,t,r,n,o,a+1,c,i,s,l)}),0)):ge(e,t,r,n,o,a+1,c,i,s,l)}catch(f){s(f)}}),(e=>{s(e)}))}catch(u){s(u)}}function ye(e,t,r,n,o,a,c,i,s){try{if(r.length()<=o)return void c(p);n.value="k"===a?r.get(o):o,le(e,t.body).then((l=>{l instanceof N?c(l):l===d?c(p):++s>ne?(s=0,setTimeout((()=>{ye(e,t,r,n,o+1,a,c,i,s)}),0)):ye(e,t,r,n,o+1,a,c,i,s)}),(e=>{i(e)}))}catch(l){i(l)}}function Ee(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ge(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(c){n.reject(c)}}function we(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ye(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(c){n.reject(c)}}function ve(e,t,r,n,o){try{Ee(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function Ne(e,t,r,o,a,c,i,s){try{e.next().then((l=>{try{if(null===l)c(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;le(t,r.body).then((n=>{try{n===d?c(p):n instanceof N?c(n):++s>ne?(s=0,setTimeout((()=>{Ne(e,t,r,o,a,c,i,s)}),0)):Ne(e,t,r,o,a,c,i,s)}catch(l){i(l)}}),(e=>{i(e)}))}}catch(u){i(u)}}),(e=>{i(e)}))}catch(l){i(l)}}function Ie(e,t){return q(((n,o)=>{le(e,t.right).then((a=>{try{let c=null;c="VariableDeclaration"===t.left.type?le(e,t.left):W(),c.then((()=>{try{let c="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(c=e.name)}else"Identifier"===t.left.type&&(c=t.left.name);if(!c)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));c=c.toLowerCase();let i=null;if(null!==e.localScope&&void 0!==e.localScope[c]&&(i=e.localScope[c]),null===i&&void 0!==e.globalScope[c]&&(i=e.globalScope[c]),null===i)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||g(a)?Ee(e,t,a,{reject:o,resolve:n},i):y(a)?we(e,t,a,{reject:o,resolve:n},i):a instanceof r||E(a)?ve(e,t,a,{reject:o,resolve:n},i):w(a)?Ne(a.iterator(e.abortSignal),e,t,a,i,(e=>{n(e)}),(e=>{o(e)}),0):Ee(e,t,[],{reject:o,resolve:n},i)}catch(c){o(c)}}),o)}catch(c){o(c)}}),o)}))}function be(e,t){try{const n=t.argument;if("MemberExpression"===n.type){const o={t:null};return le(e,n.object).then((t=>{let r=null;return o.t=t,!0===n.computed?r=le(e,n.property):"Identifier"===n.property.type&&(r=W(n.property.name)),r})).then((e=>q((n=>{const a=o.t;let c;if(m(a)){if(!v(e))throw new Error("Invalid Parameter");if(e<0&&(e=a.length+e),e<0||e>=a.length)throw new Error("Assignment outside of array bounds");c=b(a[e]),a[e]="++"===t.operator?c+1:c-1}else if(a instanceof r){if(!1===g(e))throw new Error("Dictionary accessor must be a string");if(!0!==a.hasField(e))throw new Error("Invalid Parameter");c=b(a.field(e)),a.setField(e,"++"===t.operator?c+1:c-1)}else{if(!E(a))throw y(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===g(e))throw new Error("Feature accessor must be a string");if(!0!==a.hasField(e))throw new Error("Invalid Parameter");c=b(a.field(e)),a.setField(e,"++"===t.operator?c+1:c-1)}!1===t.prefix?n(c):n("++"===t.operator?c+1:c-1)}))))}return q(((r,n)=>{const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;return null!==e.localScope&&void 0!==e.localScope[o]?(a=b(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},void(!1===t.prefix?r(a):r("++"===t.operator?a+1:a-1))):void 0!==e.globalScope[o]?(a=b(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},void(!1===t.prefix?r(a):r("++"===t.operator?a+1:a-1))):void n(new Error("Variable not recognised"))}))}catch(n){return Z(n)}}function Se(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return b(r)/b(e);case"*=":return b(r)*b(e);case"-=":return b(r)-b(e);case"+=":return g(r)||g(e)?f(r)+f(e):b(r)+b(e);case"%=":return b(r)%b(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function Te(e,t){return q(((n,o)=>{const a=t.left;if("MemberExpression"===a.type)le(e,t.right).then((c=>{try{le(e,a.object).then((i=>{try{let s=null;if(!0===a.computed)s=le(e,a.property);else{if("Identifier"!==a.property.type)throw new Error("Expected computed or identifier for assignemnt target");s=W(a.property.name)}s.then((e=>{try{if(m(i)){if(!v(e))throw new Error("Invalid Parameter");if(e<0&&(e=i.length+e),e<0||e>i.length)throw new Error("Assignment outside of array bounds");if(e===i.length){if("="!==t.operator)throw new Error("Invalid Parameter");i[e]=Se(c,t.operator,i[e],t)}else i[e]=Se(c,t.operator,i[e],t)}else if(i instanceof r){if(!1===g(e))throw new Error("Dictionary accessor must be a string");if(!0===i.hasField(e))i.setField(e,Se(c,t.operator,i.field(e),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");i.setField(e,Se(c,t.operator,null,t))}}else{if(!E(i))throw y(i)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===g(e))throw new Error("Feature accessor must be a string");if(!0===i.hasField(e))i.setField(e,Se(c,t.operator,i.field(e),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");i.setField(e,Se(c,t.operator,null,t))}}n(p)}catch(a){o(a)}}),o)}catch(s){o(s)}}),o)}catch(i){o(i)}}),o);else{const r=a.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r])return void le(e,t.right).then((a=>{try{e.localScope[r]={value:Se(a,t.operator,e.localScope[r].value,t),valueset:!0,node:t.right},n(p)}catch(c){o(c)}}),o);void 0!==e.globalScope[r]?le(e,t.right).then((a=>{try{e.globalScope[r]={value:Se(a,t.operator,e.globalScope[r].value,t),valueset:!0,node:t.right},n(p)}catch(c){o(c)}}),o):o(new Error("Cannot assign undeclared variable"))}}))}function Re(e,t){try{return"AssignmentExpression"===t.expression.type?le(e,t.expression):(t.expression.type,le(e,t.expression).then((e=>q((t=>{t(e===p?p:new S(e))})))))}catch(r){return Z(r)}}function Oe(e,t){return q(((r,n)=>{"AssignmentExpression"!==t.test.type&&"UpdateExpression"!==t.test.type?le(e,t.test).then((o=>{try{!0===o?le(e,t.consequent).then(r,n):!1===o?null!==t.alternate?le(e,t.alternate).then(r,n):r(p):n(new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION")))}catch(a){n(a)}}),n):n(new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION")))}))}function Ae(e,t){try{return Ue(e,t,0)}catch(r){return oe(r)}}function Ue(e,t,r){try{return r>=t.body.length?W(p):q(((n,o)=>{le(e,t.body[r]).then((a=>{try{a instanceof N||a===d||a===h||r===t.body.length-1?n(a):Ue(e,t,r+1).then(n,o)}catch(c){o(c)}}),o)}))}catch(n){return oe(n)}}function Ce(e,t){return q(((r,n)=>{null===t.argument?r(new N(p)):le(e,t.argument).then((e=>{try{r(new N(e))}catch(t){n(t)}}),n)}))}function Fe(e,t){try{const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},W(p)}catch(r){return oe(r)}}function Me(e,t,r){return q(((n,o)=>{r>=t.declarations.length?n(p):le(e,t.declarations[r]).then((()=>{r===t.declarations.length-1?n(p):Me(e,t,r+1).then((()=>{n(p)}),o)}),o)}))}function xe(e,t){try{let r=null;return r=null===t.init?W(null):le(e,t.init),null!==e.localScope?r.then((r=>q((n=>{if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const o=t.id.name.toLowerCase();e.localScope[o]={value:r,valueset:!0,node:t.init},n(p)})))):r.then((r=>q((n=>{if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const o=t.id.name.toLowerCase();r===p&&(r=null),e.globalScope[o]={value:r,valueset:!0,node:t.init},n(p)}))))}catch(r){return oe(r)}}let Pe=0;function De(e,t,n,o){let i;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(Pe++,e.spatialReference._arcadeCacheId=Pe,t=Pe)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":i=e.cache._arcadeCacheId,void 0===i&&(Pe++,i=Pe,e.cache._arcadeCacheId=i);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,i);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":i=e.cache._arcadeCacheId,void 0===i&&(Pe++,i=Pe,e.cache._arcadeCacheId=i);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,i);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":i=e.cache._arcadeCacheId,void 0===i&&(Pe++,i=Pe,e.cache._arcadeCacheId=i);return new c(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,i,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}function ke(e,t){try{return le(e,t.object).then((n=>{try{return null===n?Z(new Error(C(t,"RUNTIME","NOTFOUND"))):!1===t.computed?"Identifier"===t.property.type?n instanceof r||E(n)?W(n.field(t.property.name)):n instanceof X?W(De(n,t.property.name,e,t)):Z(new Error(C(t,"RUNTIME","INVALIDTYPE"))):Z(new Error(C(t,"RUNTIME","INVALIDTYPE"))):le(e,t.property).then((o=>q(((a,c)=>{if(n instanceof r||E(n))g(o)?a(n.field(o)):c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(n instanceof X)g(o)?a(De(n,o,e,t)):c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(m(n))if(v(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));a(n[o])}else c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(y(n))if(v(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));a(n.get(o))}else c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else if(g(n))if(v(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));a(n[o])}else c(new Error(C(t,"RUNTIME","INVALIDTYPE")));else c(new Error(C(t,"RUNTIME","INVALIDTYPE")))}))))}catch(o){return oe(o)}}))}catch(n){return oe(n)}}function je(e,t){try{return le(e,t.argument).then((e=>q(((r,n)=>{s(e)&&"!"===t.operator?r(!e):"-"===t.operator?r(-1*b(e)):"+"===t.operator?r(1*b(e)):"~"===t.operator?r(~b(e)):n(new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR")))}))))}catch(r){return oe(r)}}function Le(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++)r.push(le(e,t.elements[n]));return H(r).then((e=>q(((r,n)=>{for(let o=0;o<e.length;o++){if(I(e[o]))return void n(new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL")));e[o]===p&&(e[o]=null)}r(e)}))))}catch(r){return oe(r)}}function _e(e,t){try{return H([le(e,t.left),le(e,t.right)]).then((e=>q(((r,n)=>{const o=e[0],a=e[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":r(R(b(o),b(a),t.operator));case"==":r(l(o,a));break;case"!=":r(!l(o,a));break;case"<":case">":case"<=":case">=":r(T(o,a,t.operator));break;case"+":g(o)||g(a)?r(f(o)+f(a)):r(b(o)+b(a));break;case"-":r(b(o)-b(a));break;case"*":r(b(o)*b(a));break;case"/":r(b(o)/b(a));break;case"%":r(b(o)%b(a));break;default:n(new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED")))}}))))}catch(r){return oe(r)}}function Ve(e,t){return q(((r,n)=>{"AssignmentExpression"!==t.left.type&&"UpdateExpression"!==t.left.type?"AssignmentExpression"!==t.right.type&&"UpdateExpression"!==t.right.type?le(e,t.left).then((o=>{try{if(!s(o))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":!0===o?r(o):le(e,t.right).then((e=>{try{if(!s(e))throw new Error(C(t,"RUNTIME","ONLYORORAND"));r(e)}catch(o){n(o)}}),n);break;case"&&":!1===o?r(o):le(e,t.right).then((e=>{try{if(!s(e))throw new Error(C(t,"RUNTIME","ONLYORORAND"));r(e)}catch(o){n(o)}}),n);break;default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}catch(a){n(a)}}),n):n(new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"))):n(new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION")))}))}function Be(e,t){return q(((r,n)=>{const o=t.name.toLowerCase();if(null===e.localScope||void 0===e.localScope[o])if(void 0===e.globalScope[o])n(new Error(C(t,"RUNTIME","VARIABLENOTFOUND")));else{const t=e.globalScope[o];!0===t.valueset?r(t.value):null!==t.d?t.d.then(r,n):(t.d=le(e,t.node),t.d.then((e=>{try{t.value=e,t.valueset=!0,r(e)}catch(o){n(o)}}),n))}else{const t=e.localScope[o];!0===t.valueset?r(t.value):null!==t.d?t.d.then(r,n):(t.d=le(e,t.node),t.d.then((e=>{try{t.value=e,t.valueset=!0,r(e)}catch(o){n(o)}}),n))}}))}function Ye(e,t){try{if("Identifier"!==t.callee.type)return oe(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];return r.value instanceof u?r.value.fn(e,t):r.value instanceof o?et(e,t,r.value.definition):oe(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];return r.value instanceof u?r.value.fn(e,t):r.value instanceof o?et(e,t,r.value.definition):oe(C(t,"RUNTIME","NOTAFUNCTION"))}return oe(C(t,"RUNTIME","NOTFOUND"))}catch(r){return oe(r)}}function Ge(e,t){return W(t.value?t.value.cooked:"")}function ze(e,t){return q((r=>{const n=[];j(t.expressions,((t,r,o,a)=>le(e,r).then((e=>{n[o]=f(e)})))).then((()=>{let e="",o=0;for(const r of t.quasis)if(e+=r.value?r.value.cooked:"",!1===r.tail){e+=n[o]?n[o]:"",o++}r(e)}))}))}const qe={};function He(n){return null===n?"":m(n)||y(n)?"Array":O(n)?"Date":g(n)?"String":s(n)?"Boolean":v(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Q?"Point":n instanceof $?"Polygon":n instanceof ee?"Polyline":n instanceof J?"Multipoint":n instanceof K?"Extent":I(n)?"Function":w(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Ze(e,t,r,n){return q(((o,a)=>{le(e,t.arguments[r]).then((c=>{try{if(l(c,n))return void le(e,t.arguments[r+1]).then(o,a);{const c=t.arguments.length-r;return 1===c?void le(e,t.arguments[r]).then(o,a):(2===c&&o(null),3===c?void le(e,t.arguments[r+2]).then(o,a):void Ze(e,t,r+2,n).then(o,a))}}catch(i){a(i)}}),a)}))}function We(e,t,r,n){return q(((o,a)=>{if(!0===n)le(e,t.arguments[r+1]).then(o,a);else{3===t.arguments.length-r?le(e,t.arguments[r+2]).then(o,a):le(e,t.arguments[r+2]).then((n=>{try{if(!1===s(n))return void a(new Error("WHEN needs boolean test conditions"));We(e,t,r+2,n).then(o,a)}catch(c){a(c)}}))}}))}function Ke(e,t){try{const r=e.length,n=Math.floor(r/2);return 0===r?W([]):1===r?W([e[0]]):q(((o,a)=>{const c=[Ke(e.slice(0,n),t),Ke(e.slice(n,r),t)];H(c).then((e=>{try{Xe(e[0],e[1],t,[]).then(o,a)}catch(r){a(r)}}),a)}))}catch(r){return oe(r)}}function Xe(e,t,r,n){return q(((o,a)=>{const c=n;e.length>0||t.length>0?e.length>0&&t.length>0?r(e[0],t[0]).then((i=>{try{isNaN(i)&&(i=1),i<=0?(c.push(e[0]),e=e.slice(1)):(c.push(t[0]),t=t.slice(1)),Xe(e,t,r,n).then(o,a)}catch(s){a(s)}}),a):e.length>0?(c.push(e[0]),Xe(e=e.slice(1),t,r,n).then(o,a)):t.length>0&&(c.push(t[0]),t=t.slice(1),Xe(e,t,r,n).then(o,a)):o(n)}))}function Je(e,t){const r=e.length,n=Math.floor(r/2);return t||(t=function(e,t){return e<t?-1:e===t?0:1}),0===r?[]:1===r?[e[0]]:Qe(Je(e.slice(0,n),t),Je(e.slice(n,r),t),t)}function Qe(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=1),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}function $e(e,t,r){try{const n=e.body;if(r.length!==e.params.length)return oe(new Error("Invalid Parameter calls to function."));for(let o=0;o<r.length;o++){const n=e.params[o];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[o],valueset:!0,node:null})}return le(t,n).then((e=>q(((t,r)=>{e instanceof N?t(e.value):e!==d?e!==h?t(e instanceof S?e.value:e):r(new Error("Cannot Continue from a Function")):r(new Error("Cannot Break from a Function"))}))))}catch(n){return Z(n)}}function et(e,t,r){return se(e,t,(function(t,n,o){const a={spatialReference:e.spatialReference,services:e.services,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:e.depthCounter+1};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return $e(r,a,o)}))}function tt(e){const t=function(){const t={abortSignal:e.context.abortSignal,spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,services:e.context.services,localScope:{},globalScope:e.context.globalScope,depthCounter:e.context.depthCounter+1};if(t.depthCounter>64)throw new Error("Exceeded maximum function depth");return $e(e.definition,t,arguments)};return t}_(qe,ie),z(qe,ie),Y(qe,ie),B(qe,ie),G(qe,ie),V({functions:qe,compiled:!1,signatures:null,failDefferred:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ie,standardFunctionAsync:se}),qe.typeof=function(e,t){return ie(e,t,(function(e,t,r){i(r,1,1);const n=He(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},qe.iif=function(e,t){return q(((r,n)=>{i(null===t.arguments?[]:t.arguments,3,3),le(e,t.arguments[0]).then((o=>{try{if(!1===s(o))return void n(new Error("IF Function must have a boolean test condition"));H([le(e,t.arguments[1]),le(e,t.arguments[2])]).then((e=>{r(o?e[0]:e[1])}),n)}catch(a){n(a)}}),n)}))},qe.decode=function(e,t){return q(((r,n)=>{t.arguments.length<2?n(new Error("Missing Parameters")):2!==t.arguments.length?(t.arguments.length-1)%2!=0?le(e,t.arguments[0]).then((o=>{try{Ze(e,t,1,o).then(r,n)}catch(a){n(a)}}),n):n(new Error("Must have a default value result.")):le(e,t.arguments[1]).then(r,n)}))},qe.when=function(e,t){try{return t.arguments.length<3?oe("Missing Parameters"):t.arguments.length%2==0?oe("Must have a default value result."):le(e,t.arguments[0]).then((r=>q(((n,o)=>{if(!1===s(r))return void o(new Error("WHEN needs boolean test conditions"));We(e,t,0,r).then(n,o)}))))}catch(r){return oe(r)}},qe.sort=function(e,t){return se(e,t,(function(e,t,r){i(r,1,2);let n=r[0];if(y(n)&&(n=n.toArray()),!1===m(n))return oe(Error("Illegal Argument"));if(r.length>1){if(!1===I(r[1]))return oe(Error("Illegal Argument"));return Ke(n,tt(r[1]))}{let e=n;if(0===e.length)return W([]);const t={};for(let n=0;n<e.length;n++){const r=He(e[n]);""!==r&&(t[r]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return W(e.slice(0));let r=0,o="";for(const n in t)r++,o=n;return r>1||"String"===o?e=Je(e,(function(e,t){if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=f(e),n=f(t);return r<n?-1:r===n?0:1})):"Number"===o?e=Je(e,(function(e,t){return e-t})):"Boolean"===o?e=Je(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===o&&(e=Je(e,(function(e,t){return t-e}))),W(e)}}))};const rt={failDefferred:oe,resolveDeffered:ae,fixSpatialReference:U,parseArguments:ce,standardFunction:ie,standardFunctionAsync:se,evaluateIdentifier:Be,arcadeCustomFunction:tt};for(const dt in qe)qe[dt]={value:new u(qe[dt]),valueset:!0,node:null};const nt=function(){};function ot(e,t){const o=new nt;null==e&&(e={}),null==t&&(t={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const r in t)o[r]={value:new u(t[r]),native:!0,valueset:!0,node:null};for(const r in e)e[r]&&"esri.Graphic"===e[r].declaredClass?o[r]={value:n.createFromGraphic(e[r]),valueset:!0,node:null}:o[r]={value:e[r],valueset:!0,node:null};return o}function at(e){console.log(e)}nt.prototype=qe,nt.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},nt.prototype.pi={value:Math.PI,valueset:!0,node:null};const ct=rt;function it(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ie,standardFunctionAsync:se,failDefferred:oe,evaluateIdentifier:Be,arcadeCustomFunctionHandler:tt};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)qe[r]={value:new u(t.functions[r]),valueset:!0,node:null},nt.prototype[r]=qe[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}function st(e,t){let r=t.spatialReference;null==r&&(r=new te({wkid:102100}));const n=ot(t.vars,t.customfunctions);return le({spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:at,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1},e.body[0].body).then((e=>q(((t,r)=>{e instanceof N&&(e=e.value),e instanceof S&&(e=e.value),e===p&&(e=null),e!==d?e!==h?e instanceof u||e instanceof o?r(new Error("Cannot return FUNCTION")):t(e):r(new Error("Cannot return CONTINUE")):r(new Error("Cannot return BREAK"))}))))}function lt(e,t){return M(e)}function ut(e,t){return x(e,t,"full")}function ft(e,t){return P(e,t)}function ht(e,t){return D(e,t)}function pt(e){return k(e)}it([L]);export{st as executeScript,it as extend,lt as extractFieldLiterals,pt as findFunctionCalls,ct as functionHelper,ht as referencesFunction,ft as referencesMember,ut as validateScript};
|
|
5
|
+
import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as c,e as l,N as u,n as f,v as p,m as w,c as h,f as d,a as m,b as g,k as E,q as y,j as N,t as v,I,R as T,d as S,g as b,h as R,o as O,r as A,s as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as F,findFieldLiterals as M,validateScript as x,referencesMember as P,referencesFunction as D,findFunctionCalls as j}from"./treeAnalysis.js";import{A as L}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as _}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as B}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import z from"../geometry/Extent.js";import q from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import Z from"../geometry/Point.js";import W from"../geometry/Polygon.js";import K from"../geometry/Polyline.js";import X from"../geometry/SpatialReference.js";function J(e){return e&&"function"==typeof e.then}const Q=100;async function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(await re(e,t.arguments[n]));return r}async function ee(e,t,r){if(!0===t.preparsed)return r(e,null,t.arguments);return r(e,t,await $(e,t))}async function te(e,t,r){if(!0===t.preparsed){const n=r(e,null,t.arguments);return J(n),n}const n=r(e,t,await $(e,t));return J(n),n}async function re(e,t,r){if(t.breakpoint&&!0!==r){const r=t.breakpoint();return await r,re(e,t,!0)}switch(t.type){case"VariableDeclarator":return Re(e,t);case"VariableDeclaration":return be(e,t,0);case"BlockStatement":return ve(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return Te(e,t);case"IfStatement":return Ne(e,t);case"ExpressionStatement":return ye(e,t);case"UpdateExpression":return me(e,t);case"AssignmentExpression":return Ee(e,t);case"ForStatement":return ce(e,t);case"ForInStatement":return de(e,t);case"BreakStatement":return w;case"EmptyStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return je(e,t);case"TemplateLiteral":return Le(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Ue(e,t);case"Literal":return t.value;case"CallExpression":return De(e,t);case"UnaryExpression":return Ce(e,t);case"BinaryExpression":return Me(e,t);case"LogicalExpression":return xe(e,t);case"ArrayExpression":return Fe(e,t);case"ObjectExpression":return ne(e,t);case"Property":return oe(e,t);default:throw new Error(C(t,"RUNTIME","UNREOGNISED"))}}async function ne(e,t){const n=[];for(let r=0;r<t.properties.length;r++)n[r]=await re(e,t.properties[r]);const o={};for(let r=0;r<n.length;r++){const e=n[r];if(h(e.value))throw new Error("Illegal Argument");if(!1===d(e.key))throw new Error("Illegal Argument");e.value===p?o[e.key.toString()]=null:o[e.key.toString()]=e.value}const a=new r(o);return a.immutable=!1,a}async function oe(e,t){const r=await re(e,t.value);if("Identifier"===t.key.type)return{key:t.key.name,value:r};return{key:await re(e,t.key),value:r}}async function ae(e,t,r){const n=await re(e,t.body);return r.lastAction=n,r.lastAction===w||r.lastAction instanceof T?(r.testResult=!1,r):null!==t.update?(await re(e,t.update),r):r}async function ie(e,t,r){if(null!==t.test){const n=await re(e,t.test);if(!0===e.abortSignal.aborted)throw new Error("Cancelled");if(r.testResult=n,!1===r.testResult)return r;if(!0!==r.testResult)throw new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"));return ae(e,t,r)}return ae(e,t,r)}function se(e,t,r,n,o,a){try{ie(e,t,r).then((()=>{try{!0===r.testResult?++a>Q?(a=0,setTimeout((()=>{se(e,t,r,n,o,a)}),0)):se(e,t,r,n,o,a):r.lastAction instanceof T?n(r.lastAction):n(p)}catch(i){o(i)}}),(e=>{o(e)}))}catch(i){o(i)}}function ce(e,t){try{return null!==t.init?re(e,t.init).then((()=>new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Promise.reject(r)}}function le(e,t,r,n,o,a,i,s,c,l){try{if(n<=a)return void s(p);o.value="k"===i?r[a]:a,re(e,t.body).then((u=>{try{u instanceof T?s(u):u===w?s(p):++l>Q?(l=0,setTimeout((()=>{le(e,t,r,n,o,a+1,i,s,c,l)}),0)):le(e,t,r,n,o,a+1,i,s,c,l)}catch(f){c(f)}}),(e=>{c(e)}))}catch(u){c(u)}}function ue(e,t,r,n,o,a,i,s,c){try{if(r.length()<=o)return void i(p);n.value="k"===a?r.get(o):o,re(e,t.body).then((l=>{l instanceof T?i(l):l===w?i(p):++c>Q?(c=0,setTimeout((()=>{ue(e,t,r,n,o+1,a,i,s,c)}),0)):ue(e,t,r,n,o+1,a,i,s,c)}),(e=>{s(e)}))}catch(l){s(l)}}function fe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);le(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function pe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ue(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function we(e,t,r,n,o){try{fe(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function he(e,t,r,o,a,i,s,c){try{e.next().then((l=>{try{if(null===l)i(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;re(t,r.body).then((n=>{try{n===w?i(p):n instanceof T?i(n):++c>Q?(c=0,setTimeout((()=>{he(e,t,r,o,a,i,s,c)}),0)):he(e,t,r,o,a,i,s,c)}catch(l){s(l)}}),(e=>{s(e)}))}}catch(u){s(u)}}),(e=>{s(e)}))}catch(l){s(l)}}async function de(e,t){return new Promise(((n,o)=>{re(e,t.right).then((a=>{try{let i=null;i="VariableDeclaration"===t.left.type?re(e,t.left):Promise.resolve(),i.then((()=>{try{let i="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(i=e.name)}else"Identifier"===t.left.type&&(i=t.left.name);if(!i)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));i=i.toLowerCase();let s=null;if(null!==e.localScope&&void 0!==e.localScope[i]&&(s=e.localScope[i]),null===s&&void 0!==e.globalScope[i]&&(s=e.globalScope[i]),null===s)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||d(a)?fe(e,t,a,{reject:o,resolve:n},s):g(a)?pe(e,t,a,{reject:o,resolve:n},s):a instanceof r||E(a)?we(e,t,a,{reject:o,resolve:n},s):y(a)?he(a.iterator(e.abortSignal),e,t,a,s,(e=>{n(e)}),(e=>{o(e)}),0):fe(e,t,[],{reject:o,resolve:n},s)}catch(i){o(i)}}),o)}catch(i){o(i)}}),o)}))}async function me(e,t){const n=t.argument;if("MemberExpression"===n.type){const o={t:null},a=await re(e,n.object);let i=null;o.t=a,!0===n.computed?i=await re(e,n.property):"Identifier"===n.property.type&&(i=n.property.name);const s=o.t;let c;if(m(s)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=s.length+i),i<0||i>=s.length)throw new Error("Assignment outside of array bounds");c=v(s[i]),s[i]="++"===t.operator?c+1:c-1}else if(s instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}else{if(!E(s))throw g(s)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}return!1===t.prefix?c:"++"===t.operator?c+1:c-1}const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;if(null!==e.localScope&&void 0!==e.localScope[o])return a=v(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;if(void 0!==e.globalScope[o])return a=v(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;throw new Error("Variable not recognised")}function ge(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return v(r)/v(e);case"*=":return v(r)*v(e);case"-=":return v(r)-v(e);case"+=":return d(r)||d(e)?S(r)+S(e):v(r)+v(e);case"%=":return v(r)%v(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const o=await re(e,t.right),a=await re(e,n.object);let i=null;if(!0===n.computed)i=await re(e,n.property);else{if("Identifier"!==n.property.type)throw new Error("Expected computed or identifier for assignemnt target");i=n.property.name}if(m(a)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=a.length+i),i<0||i>a.length)throw new Error("Assignment outside of array bounds");if(i===a.length){if("="!==t.operator)throw new Error("Invalid Parameter");a[i]=ge(o,t.operator,a[i],t)}else a[i]=ge(o,t.operator,a[i],t)}else if(a instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}else{if(!E(a))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}return p}const o=n.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[o]){const r=await re(e,t.right);return e.localScope[o]={value:ge(r,t.operator,e.localScope[o].value,t),valueset:!0,node:t.right},p}if(void 0!==e.globalScope[o]){const r=await re(e,t.right);return e.globalScope[o]={value:ge(r,t.operator,e.globalScope[o].value,t),valueset:!0,node:t.right},p}throw new Error("Cannot assign undeclared variable")}async function ye(e,t){if("AssignmentExpression"===t.expression.type)return re(e,t.expression);if("CallExpression"===t.expression.type){const r=await re(e,t.expression);return r===p?p:new I(r)}const r=await re(e,t.expression);return r===p?p:new I(r)}async function Ne(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.test);if(!0===r)return re(e,t.consequent);if(!1===r)return null!==t.alternate?re(e,t.alternate):p;throw new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}async function ve(e,t){return Ie(e,t,0)}async function Ie(e,t,r){if(r>=t.body.length)return p;const n=await re(e,t.body[r]);return n instanceof T||n===w||n===f||r===t.body.length-1?n:Ie(e,t,r+1)}async function Te(e,t){if(null===t.argument)return new T(p);const r=await re(e,t.argument);return new T(r)}async function Se(e,t){const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},p}async function be(e,t,r){return r>=t.declarations.length?p:(await re(e,t.declarations[r]),r===t.declarations.length-1||await be(e,t,r+1),p)}async function Re(e,t){let r=null;if(r=null===t.init?null:await re(e,t.init),null!==e.localScope){if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return e.localScope[n]={value:r,valueset:!0,node:t.init},p}if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return r===p&&(r=null),e.globalScope[n]={value:r,valueset:!0,node:t.init},p}let Oe=0;function Ae(e,t,n,o){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(Oe++,e.spatialReference._arcadeCacheId=Oe,t=Oe)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}async function Ue(e,t){const n=await re(e,t.object);if(null===n)throw new Error(C(t,"RUNTIME","NOTFOUND"));if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof r||E(n))return n.field(t.property.name);if(n instanceof q)return Ae(n,t.property.name,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}let o=await re(e,t.property);if(n instanceof r||E(n)){if(d(o))return n.field(o);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(n instanceof q){if(d(o))return Ae(n,o,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(d(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}async function Ce(e,t){const r=await re(e,t.argument);if(c(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}async function Fe(e,t){const r=[];for(let n=0;n<t.elements.length;n++)r.push(await re(e,t.elements[n]));for(let n=0;n<r.length;n++){if(h(r[n]))throw new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));r[n]===p&&(r[n]=null)}return r}async function Me(e,t){const r=[];r[0]=await re(e,t.left),r[1]=await re(e,t.right);const n=r[0],o=r[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(v(n),v(o),t.operator);case"==":return l(n,o);case"!=":return!l(n,o);case"<":case">":case"<=":case">=":return b(n,o,t.operator);case"+":return d(n)||d(o)?S(n)+S(o):v(n)+v(o);case"-":return v(n)-v(o);case"*":return v(n)*v(o);case"/":return v(n)/v(o);case"%":return v(n)%v(o);default:throw new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function xe(e,t){if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.left);let n=null;if(!c(r))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":if(!0===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));case"&&":if(!1===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}async function Pe(e,t){const r=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}throw new Error(C(t,"RUNTIME","VARIABLENOTFOUND"))}async function De(e,t){if("Identifier"!==t.callee.type)throw new Error(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(t,"RUNTIME","NOTFOUND"))}async function je(e,t){return t.value?t.value.cooked:""}async function Le(e,t){const r=[];for(let a=0;a<t.expressions.length;a++){const n=await re(e,t.expressions[a]);r[a]=S(n)}let n="",o=0;for(const a of t.quasis)if(n+=a.value?a.value.cooked:"",!1===a.tail){n+=r[o]?r[o]:"",o++}return n}const ke={};function _e(n){return null===n?"":m(n)||g(n)?"Array":O(n)?"Date":d(n)?"String":c(n)?"Boolean":N(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Z?"Point":n instanceof W?"Polygon":n instanceof K?"Polyline":n instanceof H?"Multipoint":n instanceof z?"Extent":h(n)?"Function":y(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}async function Ve(e,t,r,n){const o=await re(e,t.arguments[r]);if(l(o,n))return re(e,t.arguments[r+1]);const a=t.arguments.length-r;return 1===a?re(e,t.arguments[r]):2===a?null:3===a?re(e,t.arguments[r+2]):Ve(e,t,r+2,n)}async function Ye(e,t,r,n){if(!0===n)return re(e,t.arguments[r+1]);if(3===t.arguments.length-r)return re(e,t.arguments[r+2]);const o=await re(e,t.arguments[r+2]);if(!1===c(o))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,r+2,o)}async function Be(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[Be(e.slice(0,n),t),Be(e.slice(n,r),t)],a=await Promise.all(o);return Ge(a[0],a[1],t,[])}async function Ge(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ge(e,t,r,n)}return e.length>0?(o.push(e[0]),Ge(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ge(e,t=t.slice(1),r,n)):void 0}function ze(e,t){const r=e.length,n=Math.floor(r/2);return t||(t=function(e,t){return e<t?-1:e===t?0:1}),0===r?[]:1===r?[e[0]]:qe(ze(e.slice(0,n),t),ze(e.slice(n,r),t),t)}function qe(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=1),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function He(e,t,r){const n=e.body;if(r.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<r.length;a++){const n=e.params[a];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[a],valueset:!0,node:null})}const o=await re(t,n);if(o instanceof T)return o.value;if(o===w)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof I?o.value:o}function Ze(e,t,r){return te(e,t,(function(t,n,o){const a={spatialReference:e.spatialReference,services:e.services,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:e.depthCounter+1};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(r,a,o)}))}function We(e){const t=function(){const t={abortSignal:e.context.abortSignal,spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,services:e.context.services,localScope:{},globalScope:e.context.globalScope,depthCounter:e.context.depthCounter+1};if(t.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(e.definition,t,arguments)};return t}k(ke,ee),G(ke,ee),Y(ke,ee),V(ke,ee),B(ke,ee),_({functions:ke,compiled:!1,signatures:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ee,standardFunctionAsync:te}),ke.typeof=function(e,t){return ee(e,t,(function(e,t,r){s(r,1,1);const n=_e(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},ke.iif=async function(e,t){s(null===t.arguments?[]:t.arguments,3,3);const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("IF Function must have a boolean test condition");const n=[];return n[0]=await re(e,t.arguments[1]),n[1]=await re(e,t.arguments[2]),r?n[0]:n[1]},ke.decode=async function(e,t){if(t.arguments.length<2)throw new Error("Missing Parameters");if(2===t.arguments.length)return re(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new Error("Must have a default value result.");return Ve(e,t,1,await re(e,t.arguments[0]))},ke.when=async function(e,t){if(t.arguments.length<3)throw new Error("Missing Parameters");if(t.arguments.length%2==0)throw new Error("Must have a default value result.");const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,0,r)},ke.sort=function(e,t){return te(e,t,(async function(e,t,r){s(r,1,2);let n=r[0];if(g(n)&&(n=n.toArray()),!1===m(n))throw new Error("Illegal Argument");if(r.length>1){if(!1===h(r[1]))throw new Error("Illegal Argument");return Be(n,We(r[1]))}let o=n;if(0===o.length)return[];const a={};for(let s=0;s<o.length;s++){const e=_e(o[s]);""!==e&&(a[e]=!0)}if(!0===a.Array||!0===a.Dictionary||!0===a.Feature||!0===a.Point||!0===a.Polygon||!0===a.Polyline||!0===a.Multipoint||!0===a.Extent||!0===a.Function)return o.slice(0);let i=0,c="";for(const s in a)i++,c=s;return i>1||"String"===c?o=ze(o,(function(e,t){if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=S(e),n=S(t);return r<n?-1:r===n?0:1})):"Number"===c?o=ze(o,(function(e,t){return e-t})):"Boolean"===c?o=ze(o,(function(e,t){return e===t?0:t?-1:1})):"Date"===c&&(o=ze(o,(function(e,t){return t-e}))),o}))};const Ke={fixSpatialReference:U,parseArguments:$,standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunction:We};for(const st in ke)ke[st]={value:new u(ke[st]),valueset:!0,node:null};const Xe=function(){};function Je(e,t){const o=new Xe;null==e&&(e={}),null==t&&(t={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const r in t)o[r]={value:new u(t[r]),native:!0,valueset:!0,node:null};for(const r in e)e[r]&&"esri.Graphic"===e[r].declaredClass?o[r]={value:n.createFromGraphic(e[r]),valueset:!0,node:null}:o[r]={value:e[r],valueset:!0,node:null};return o}function Qe(e){console.log(e)}Xe.prototype=ke,Xe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Xe.prototype.pi={value:Math.PI,valueset:!0,node:null};const $e=Ke;function et(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunctionHandler:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)ke[r]={value:new u(t.functions[r]),valueset:!0,node:null},Xe.prototype[r]=ke[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}async function tt(e,t){let r=t.spatialReference;null==r&&(r=new X({wkid:102100}));const n=Je(t.vars,t.customfunctions),a={spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1};let i=await re(a,e.body[0].body);if(i instanceof T&&(i=i.value),i instanceof I&&(i=i.value),i===p&&(i=null),i===w)throw new Error("Cannot return BREAK");if(i===f)throw new Error("Cannot return CONTINUE");if(i instanceof u)throw new Error("Cannot return FUNCTION");if(i instanceof o)throw new Error("Cannot return FUNCTION");return i}function rt(e,t){return M(e)}function nt(e,t){return x(e,t,"full")}function ot(e,t){return P(e,t)}function at(e,t){return D(e,t)}function it(e){return j(e)}et([L]);export{tt as executeScript,et as extend,rt as extractFieldLiterals,it as findFunctionCalls,$e as functionHelper,at as referencesFunction,ot as referencesMember,nt as validateScript};
|
package/arcade/arcadeCompiler.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./ArcadePortal.js";import t from"./Attachment.js";import n from"./Dictionary.js";import r from"./Feature.js";import o from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{p as l,i as s,e as i,N as c,a as u,t as p,b as f,c as m,v as h,d as g,f as y,g as d,h as S,j as w,k as b,S as E,l as v,m as N,n as M,o as I,q as O,r as x,s as T,R as _,I as C}from"../chunks/languageUtils.js";import{addFunctionDeclaration as R,findFieldLiterals as A,findExpectedFieldLiterals as U,validateScript as F,referencesMember as k,referencesFunction as P,nodeErrorMessage as j}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/geomsync.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{create as q,isPromiseLike as J,resolve as Z,all as H,reject as W}from"../core/promiseUtils.js";import K from"../geometry/Extent.js";import X from"../geometry/Geometry.js";import Q from"../geometry/Multipoint.js";import $ from"../geometry/Point.js";import ee from"../geometry/Polygon.js";import te from"../geometry/Polyline.js";import ne from"../geometry/SpatialReference.js";function re(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(le(e,t.arguments[r]));return n}function oe(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function ae(e){return e instanceof Error?W(e):W(new Error(e))}function le(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return be(e,t);case"VariableDeclaration":return we(e,t);case"BlockStatement":return ye(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return de(e,t);case"IfStatement":return ge(e,t);case"ExpressionStatement":return me(e,t);case"AssignmentExpression":return fe(e,t);case"UpdateExpression":return pe(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Oe(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ue(e,t);case"ForInStatement":return ce(e,t);case"Identifier":return _e(e,t);case"MemberExpression":return Ne(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"ThisExpression":case"ConditionalExpression":case"Array":throw new Error(j(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return Ce(e,t);case"UnaryExpression":return Me(e,t);case"BinaryExpression":return xe(e,t);case"LogicalExpression":return Te(e,t);case"ArrayExpression":return Ie(e,t);case"ObjectExpression":return se(e,t);case"Property":return ie(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(n){throw n}}function se(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];r>0&&(n+=","),n+="lang.strCheck("+("Identifier"===o.key.type?"'"+o.key.name+"'":le(e,o.key))+",'ObjectExpression'),lang.aCheck("+le(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function ie(e,t){throw new Error("Should not get here")}function ce(e,t){const n=Be(e),r=Be(e),o=Be(e);let a="var "+n+" = "+le(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=le(e,t.left));let l="VariableDeclaration"===t.left.type?t.left.declarations[0].id.name:t.left.name;l=l.toLowerCase();let s="";return null!==e.localScope&&(void 0!==e.localScope[l]?s="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(s="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===s&&(void 0!==e.globalScope[l]?s="gscope['"+l+"']":void 0!==e.globalScope._SymbolsMap[l]&&(s="gscope['"+e.globalScope._SymbolsMap[l]+"']")),a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {",a+="var "+r+"="+n+".length; \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=le(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+n+")) {",a+="var "+r+"="+n+".length(); \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=le(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || ( "+n+" instanceof lang.Feature)) {",a+="var "+r+"="+n+".keys(); \n",a+="for(var "+o+"=0; "+o+"<"+r+".length; "+o+"++) {\n",a+=s+"="+r+"["+o+"];\n",a+=le(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {",a+="var "+r+"="+n+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+"); "+o+"!=null; "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+")) {\n",a+=s+"="+o+";\n",a+=le(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ue(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&(n+=le(e,t.init)+"; ");const r=Be(e),o=Be(e);return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+le(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+le(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); }\n"),n+=le(e,t.body),null!==t.update&&(n+="\n "+le(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function pe(e,t){let n=null,r="";if("MemberExpression"===t.argument.type)return n=le(e,t.argument.object),r=!0===t.argument.computed?le(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+n+","+r+",'"+t.operator+"',"+t.prefix+")";if(n=t.argument.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[n])return"lang.update(lscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[n])return"lang.update(lscope, '"+e.localScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[n])return"lang.update(gscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[n])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")";throw new Error("Variable not recognised")}function fe(e,t){const n=le(e,t.right);let r=null,o="";if("MemberExpression"===t.left.type)return r=le(e,t.left.object),o=!0===t.left.computed?le(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+r+","+o+",'"+t.operator+"',"+n+")";if(r=t.left.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+r+"'])";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[r]+"'])"}if(void 0!==e.globalScope[r])return"gscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+r+"'])";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[r]+"'])";throw new Error("Variable not recognised")}function me(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+le(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+le(e,t.expression)+"; ")}function he(e,t){return"BlockStatement"===t.type?le(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?le(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+le(e,t)+"; ":"ExpressionStatement"===t.type?le(e,t):"ObjectExpression"===t.type?"lastStatement = "+le(e,t)+"; ":le(e,t)+"; "}function ge(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(j(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const n=le(e,t.test),r=Be(e);let o="var "+r+" = "+n+";\n if ("+r+" === true) {\n"+he(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+r+"===false) { \n"+he(e,t.alternate)+"}\n":o+="else if ("+r+"===false) { \n lastStatement = lc.voidOperation;\n }\n",o+="else { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); \n}\n",o}function ye(e,t){let n="";for(let r=0;r<t.body.length;r++)"ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=le(e,t.body[r])+"; \n":"UpdateExpression"===t.body[r].type||"ObjectExpression"===t.body[r].type?n+="lastStatement = "+le(e,t.body[r])+"; \n":n+=le(e,t.body[r])+" \n";return n}function de(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+le(e,t.argument)}function Se(e,t){const n=t.id.name.toLowerCase(),r={isAsync:e.isAsync,spatialReference:e.spatialReference,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter+1,globalScope:e.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");let o="new lc.SizzleFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let a=0;a<t.params.length;a++){const n=t.params[a].name.toLowerCase(),l=Le(e);r.localScope._SymbolsMap[n]=l,r.mangleMap[n]=l,o+="lscope['"+l+"']=arguments["+a.toString()+"];\n"}if(!0===e.isAsync?(o+="return lang.__awaiter(this, void 0, void 0, function* () {\n",o+=ye(r,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=ye(r,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"),void 0!==e.globalScope[n])return"gscope['"+n+"']="+o;if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']="+o;{const t=Le(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+o}}function we(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(le(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function be(e,t){let n=null===t.init?null:le(e,t.init);n===h&&(n=null);const r=t.id.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']="+n+"; ";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']="+n+"; ";{const t=Le(e);return e.localScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"lscope['"+t+"']="+n+"; "}}if(void 0!==e.globalScope[r])return"gscope['"+r+"']="+n+"; ";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']="+n+"; ";{const t=Le(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+n+"; "}}let Ee=0;function ve(e,t,r){let l;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let n=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(n=!1),n&&(Ee++,e.spatialReference._arcadeCacheId=Ee,t=Ee)}const r=new n({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(r._arcadeCacheId="SPREF"+t.toString()),r}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const n=e[t];return void 0!==n?n:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":l=e.cache._arcadeCacheId,void 0===l&&(Ee++,l=Ee,e.cache._arcadeCacheId=l);return new o(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":l=e.cache._arcadeCacheId,void 0===l&&(Ee++,l=Ee,e.cache._arcadeCacheId=l);return new o(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":l=e.cache._arcadeCacheId,void 0===l&&(Ee++,l=Ee,e.cache._arcadeCacheId=l);return new a(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,l,1);case"type":return"Multipoint"}}throw new Error(j(r,"RUNTIME","PROPERTYNOTFOUND"))}function Ne(e,t){try{let n;return n=!0===t.computed?le(e,t.property):"'"+t.property.name+"'","lang.member("+le(e,t.object)+","+n+")"}catch(n){throw n}}function Me(e,t){try{return"lang.unary("+le(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function Ie(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(le(e,t.elements[r])):n.push("lang.aCheck("+le(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Oe(e,t){try{const n=[];let r=0;for(const o of t.quasis)n.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(n.push(t.expressions[r]?"lang.castString(lang.aCheck("+le(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function xe(e,t){try{return"lang.binary("+le(e,t.left)+","+le(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Te(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(j(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(j(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+le(e,t.left)+") "+t.operator+" lang.logicalCheck("+le(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(n){throw n}}function _e(e,t){try{const n=t.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']"}if(void 0!==e.globalScope[n])return"gscope['"+n+"']";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']";throw new Error(j(t,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Ce(e,t){try{if("Identifier"!==t.callee.type)throw new Error(j(t,"RUNTIME","ONLYNODESSUPPORTED"));const n=t.callee.name.toLowerCase();let r="";if(null!==e.localScope&&(void 0!==e.localScope[n]?r="lscope['"+n+"']":void 0!==e.localScope._SymbolsMap[n]&&(r="lscope['"+e.localScope._SymbolsMap[n]+"']")),""===r&&(void 0!==e.globalScope[n]?r="gscope['"+n+"']":void 0!==e.globalScope._SymbolsMap[n]&&(r="gscope['"+e.globalScope._SymbolsMap[n]+"']")),""!==r){let n="[";for(let r=0;r<t.arguments.length;r++)r>0&&(n+=", "),n+=le(e,t.arguments[r]);return n+="]",e.isAsync?"(yield lang.callfunc("+r+","+n+",runtimeCtx) )":"lang.callfunc("+r+","+n+",runtimeCtx)"}throw new Error(j(t,"RUNTIME","NOTFOUND"))}catch(n){throw n}}const Re={};function Ae(r){return null===r?"":u(r)||f(r)?"Array":I(r)?"Date":y(r)?"String":s(r)?"Boolean":w(r)?"Number":r instanceof t?"Attachment":r instanceof e?"Portal":r instanceof n?"Dictionary":b(r)?"Feature":r instanceof $?"Point":r instanceof ee?"Polygon":r instanceof te?"Polyline":r instanceof Q?"Multipoint":r instanceof K?"Extent":m(r)?"Function":O(r)?"FeatureSet":x(r)?"FeatureSetCollection":r===h?"":"number"==typeof r&&isNaN(r)?"Number":"Unrecognised Type"}function Ue(e,t,n,r){try{const o=t[n];if(i(o,r))return t[n+1];{const o=t.length-n;return 1===o?t[n]:2===o?null:3===o?t[n+2]:Ue(e,t,n+2,r)}}catch(o){throw o}}function Fe(e,t,n,r){try{if(!0===r)return t[n+1];if(3===t.length-n)return t[n+2];{const r=t[n+2];if(!1===s(r))throw new Error("WHEN needs boolean test conditions");return Fe(e,t,n+2,r)}}catch(o){throw o}}function ke(e,t){const n=e.length,r=Math.floor(n/2);return 0===n?[]:1===n?[e[0]]:Pe(ke(e.slice(0,r),t),ke(e.slice(r,n),t),t)}function Pe(e,t,n){const r=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=n(e[0],t[0]);isNaN(o)&&(o=0),o<=0?(r.push(e[0]),e=e.slice(1)):(r.push(t[0]),t=t.slice(1))}else e.length>0?(r.push(e[0]),e=e.slice(1)):t.length>0&&(r.push(t[0]),t=t.slice(1));return r}function je(e,t){try{const n=e.length,r=Math.floor(n/2);if(0===n)return Z([]);if(1===n)return Z([e[0]]);const o=[je(e.slice(0,r),t),je(e.slice(r,n),t)];return H(o).then((e=>De(e[0],e[1],t,[])))}catch(n){return W(n)}}function De(e,t,n,r){return q(((o,a)=>{const l=r;e.length>0||t.length>0?e.length>0&&t.length>0?n(e[0],t[0]).then((s=>{try{isNaN(s)&&(s=1),s<=0?(l.push(e[0]),e=e.slice(1)):(l.push(t[0]),t=t.slice(1)),De(e,t,n,r).then((e=>{o(e)}),a)}catch(i){a(i)}}),a):e.length>0?(l.push(e[0]),De(e=e.slice(1),t,n,r).then((e=>{o(e)}),a)):t.length>0&&(l.push(t[0]),t=t.slice(1),De(e,t,n,r).then((e=>{o(e)}),a)):o(r)}))}function Le(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Be(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Re,oe),z(Re,oe),V(Re,oe),B(Re,oe),G(Re,oe),Re.typeof=function(e,t){return oe(e,t,(function(e,t,n){l(n,1,1);const r=Ae(n[0]);if("Unrecognised Type"===r)throw new Error("Unrecognised Type");return r}))},Re.iif=function(e,t){try{return oe(e,t,(function(e,t,n){if(l(n,3,3),!1===s(n[0]))throw new Error("IF Function must have a boolean test condition");return n[0]?n[1]:n[2]}))}catch(n){throw n}},Re.decode=function(e,t){try{return oe(e,t,(function(t,n,r){if(r.length<2)throw new Error("Missing Parameters");if(2===r.length)return r[1];{if((r.length-1)%2==0)throw new Error("Must have a default value result.");const t=r[0];return Ue(e,r,1,t)}}))}catch(n){throw n}},Re.when=function(e,t){try{return oe(e,t,(function(t,n,r){if(r.length<3)throw new Error("Missing Parameters");if(r.length%2==0)throw new Error("Must have a default value result.");const o=r[0];if(!1===s(o))throw new Error("WHEN needs boolean test conditions");return Fe(e,r,0,o)}))}catch(n){throw n}},Re.top=function(e,t){return oe(e,t,(function(e,t,n){if(l(n,2,2),u(n[0]))return p(n[1])>=n[0].length?n[0].slice(0):n[0].slice(0,p(n[1]));if(f(n[0]))return p(n[1])>=n[0].length()?n[0].slice(0):n[0].slice(0,p(n[1]));throw new Error("Top cannot accept this parameter type")}))},Re.first=function(e,t){return oe(e,t,(function(e,t,n){return l(n,1,1),u(n[0])?0===n[0].length?null:n[0][0]:f(n[0])?0===n[0].length()?null:n[0].get(0):null}))},Re.sort=function(e,t){return oe(e,t,(function(t,n,r){l(r,1,2);let o=r[0];if(f(o)&&(o=o.toArray()),!1===u(o))throw new Error("Illegal Argument");if(r.length>1){if(!1===m(r[1]))throw new Error("Illegal Argument");let n=o;const a=function(e,n){return nt.callfunc(r[1],[e,n],t)};return e.isAsync?je(n,a):(n=ke(n,(function(e,t){return a(e,t)})),n)}{let e=o;if(0===e.length)return[];const t={};for(let o=0;o<e.length;o++){const n=Ae(e[o]);""!==n&&(t[n]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return e.slice(0);let n=0,r="";for(const o in t)n++,r=o;return e=n>1||"String"===r?ke(e,(function(e,t){if(null==e||e===h)return null==t||t===h?0:1;if(null==t||t===h)return-1;const n=g(e),r=g(t);return n<r?-1:n===r?0:1})):"Number"===r?ke(e,(function(e,t){return e-t})):"Boolean"===r?ke(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===r?ke(e,(function(e,t){return t-e})):e.slice(0),e}}))};const Ye={};for(const lt in Re)Ye[lt]=new c(Re[lt]);Y(Re,oe);for(const lt in Re)Re[lt]=new c(Re[lt]);const Ve=function(){};Ve.prototype=Re;const Ge=function(){};function ze(e,t,n){const r={};e||(e={}),n||(n={}),r._SymbolsMap={},r.textformatting=1,r.infinity=1,r.pi=1;for(const o in t)r[o]=1;for(const o in n)r[o]=1;for(const o in e)r[o]=1;return r}function qe(e,t,o){const a=o?new Ge:new Ve;e||(e={}),t||(t={});const l=new n({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});l.immutable=!1,a._SymbolsMap={textformatting:1,infinity:1,pi:1},a.textformatting=l,a.infinity=Number.POSITIVE_INFINITY,a.pi=Math.PI;for(const n in t)a[n]=t[n],a._SymbolsMap[n]=1;for(const n in e)a._SymbolsMap[n]=1,e[n]&&"esri.Graphic"===e[n].declaredClass?a[n]=r.createFromGraphic(e[n]):a[n]=e[n];return a}Ge.prototype=Ye;const Je={fixSpatialReference:T,parseArguments:re,standardFunction:oe};function Ze(e,t){const n={mode:t,compiled:!0,functions:{},signatures:[],failDefferred:ae,standardFunction:oe,standardFunctionAsync:oe,evaluateIdentifier:et};for(let r=0;r<e.length;r++)e[r].registerFunctions(n);if("sync"===t){for(const e in n.functions)Re[e]=new c(n.functions[e]),Ve.prototype[e]=Re[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"sync")}else{for(const e in n.functions)Ye[e]=new c(n.functions[e]),Ge.prototype[e]=Ye[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"async")}}function He(e,t){return e(t)}function We(e,t){return A(e)}function Ke(e){return U(e)}function Xe(e,t){return F(e,t,"sync")}function Qe(e,t){return k(e,t)}function $e(e,t){return P(e,t)}function et(e,t){const n=t.name;if("_SymbolsMap"===n)throw"Illegal";if(e.localStack.length>0){if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n];const t=e.mangleMap[n];if(void 0!==t&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t]}if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.globalScope[n])return e.globalScope[n];if(1===e.globalScope._SymbolsMap[n])return e.globalScope[n];const r=e.mangleMap[n];return void 0!==r?e.globalScope[r]:void 0}Ze([D],"sync"),Ze([D],"async");let tt=0;const nt={error(e,t,n){throw new Error(j(e,t,n))},__awaiter:(e,t,n,r)=>q(((n,o)=>{function a(e){try{s(r.next(e))}catch(t){o(t)}}function l(e){try{s(r.throw(e))}catch(t){o(t)}}function s(e){e.done?n(e.value):e.value&&e.value.then?e.value.then(a,l):(tt++,tt%100==0?setTimeout((()=>{tt=0,a(e.value)}),0):a(e.value))}s((r=r.apply(e,t||[])).next())})),functionDepthchecker:(e,t)=>function(){if(t.depthCounter++,t.localStack.push([]),t.depthCounter>64)throw new Error("Exceeded maximum function depth");const n=e.apply(this,arguments);return J(n)?n.then((e=>(t.depthCounter--,t.localStack.length=t.localStack.length-1,e))):(t.depthCounter--,t.localStack.length=t.localStack.length-1,n)},castString:e=>g(e),aCheck(e,t){if(m(e))throw new Error(j({type:t},"RUNTIME","FUNCTIONCONTEXTILLEGAL"));return e===h?null:e},Dictionary:n,Feature:r,dictionary(e){const t={};for(let n=0;n<e.length;n+=2){if(m(e[n+1]))throw new Error("Illegal Argument");if(!1===y(e[n]))throw new Error("Illegal Argument");e[n+1]===h?t[e[n].toString()]=null:t[e[n].toString()]=e[n+1]}const r=new n(t);return r.immutable=!1,r},strCheck(e){if(!1===y(e))throw new Error("Illegal Argument");return e},unary(e,t){if(s(e)){if("!"===t)return!e;if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}return e},logical(e,t,n){if(s(e)&&s(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return S(p(e),p(t),n);case"==":case"=":return i(e,t);case"!=":return!i(e,t);case"<":case">":case"<=":case">=":return d(e,t,n);case"+":return y(e)||y(t)?g(e)+g(t):p(e)+p(t);case"-":return p(e)-p(t);case"*":return p(e)*p(t);case"/":return p(e)/p(t);case"%":return p(e)%p(t);default:throw new Error(j({type:"BinaryExpression",operator:n,left:e,right:t},"RUNTIME","OPERATORNOTRECOGNISED"))}},assign(e,t,n){switch(t){case"=":return e===h?null:e;case"/=":return p(n)/p(e);case"*=":return p(n)*p(e);case"-=":return p(n)-p(e);case"+=":return y(n)||y(e)?g(n)+g(e):p(n)+p(e);case"%=":return p(n)%p(e);default:throw new Error(j({type:"AssignmentExpression",operator:t,left:null,right:null},"RUNTIME","OPERATORNOTRECOGNISED"))}},update(e,t,n,r){const o=p(e[t]);return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},graphicToFeature:(e,t)=>null===e?null:r.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(e,t,r,o){let a;if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new Error("Assignment outside of array bounds");a=p(e[t]),e[t]="++"===r?a+1:a-1}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}return!1===o?a:"++"===r?a+1:a-1},assignmember(e,t,r,o){if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>e.length)throw new Error("Assignment outside of array bounds");if(t===e.length){if("="!==r)throw new Error("Invalid Parameter");e[t]=this.assign(o,r,e[t])}else e[t]=this.assign(o,r,e[t])}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}},member(e,t){if(null===e){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof n||b(e)){if(y(t))return e.field(t);throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof X){if(y(t))return ve(e,t,"MemberExpression");throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(u(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(y(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(f(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length()+t),t>=e.length()||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))},callfunc(e,t,n){return e instanceof c?e.fn(n,{arguments:t,preparsed:!0}):e instanceof E?e.fn.apply(this,t):e.apply(this,t)}};function rt(e){console.log(e)}function ot(e,t=null,n=!1){null===t&&(t={vars:{},customfunctions:{}});const r={isAsync:n,globalScope:ze(t.vars,n?Ye:Re,t.customfunctions),localScope:null,mangleMap:{},console:rt,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=le(r,e.body[0].body);""===o&&(o="lc.voidOperation; ");let a="";a=n?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+o+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+o+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const l={lc:v,lang:nt,mangles:r.mangleMap,postProcess(e){if(e instanceof _&&(e=e.value),e instanceof C&&(e=e.value),e===h&&(e=null),e===N)throw new Error("Cannot return BREAK");if(e===M)throw new Error("Cannot return CONTINUE");if(m(e))throw new Error("Cannot return FUNCTION");return e},prepare(e,t){let n=e.spatialReference;null==n&&(n=new ne({wkid:102100}));const r=qe(e.vars,e.customfunctions,t);return{localStack:[],isAsync:t,mangleMap:this.mangles,spatialReference:n,globalScope:r,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:rt,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}function at(){return import("./functions/geomasync.js").then((e=>(Ze([e],"async"),!0)))}export{ot as compileScript,at as enableAsyncSupport,He as executeScript,Ze as extend,Ke as extractExpectedFieldLiterals,We as extractFieldLiterals,Je as functionHelper,$e as referencesFunction,Qe as referencesMember,Xe as validateScript};
|
|
5
|
+
import e from"./ArcadePortal.js";import t from"./Attachment.js";import n from"./Dictionary.js";import r from"./Feature.js";import o from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{p as l,i as s,e as i,N as c,a as u,t as p,b as f,c as m,v as g,d as h,f as y,g as d,h as S,j as w,k as b,S as E,l as v,m as N,n as M,o as I,q as O,r as x,s as T,R as _,I as C}from"../chunks/languageUtils.js";import{addFunctionDeclaration as R,findFieldLiterals as A,findExpectedFieldLiterals as U,validateScript as F,referencesMember as P,referencesFunction as k,nodeErrorMessage as j}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/geomsync.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{isPromiseLike as q}from"../core/promiseUtils.js";import J from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import W from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import Q from"../geometry/SpatialReference.js";function $(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(te(e,t.arguments[r]));return n}function ee(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function te(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return he(e,t);case"VariableDeclaration":return ge(e,t);case"BlockStatement":return pe(e,t);case"FunctionDeclaration":return me(e,t);case"ReturnStatement":return fe(e,t);case"IfStatement":return ue(e,t);case"ExpressionStatement":return ie(e,t);case"AssignmentExpression":return se(e,t);case"UpdateExpression":return le(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Ee(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ae(e,t);case"ForInStatement":return oe(e,t);case"Identifier":return Me(e,t);case"MemberExpression":return Se(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"ThisExpression":case"ConditionalExpression":case"Array":throw new Error(j(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return Ie(e,t);case"UnaryExpression":return we(e,t);case"BinaryExpression":return ve(e,t);case"LogicalExpression":return Ne(e,t);case"ArrayExpression":return be(e,t);case"ObjectExpression":return ne(e,t);case"Property":return re(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(n){throw n}}function ne(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];r>0&&(n+=","),n+="lang.strCheck("+("Identifier"===o.key.type?"'"+o.key.name+"'":te(e,o.key))+",'ObjectExpression'),lang.aCheck("+te(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function re(e,t){throw new Error("Should not get here")}function oe(e,t){const n=Pe(e),r=Pe(e),o=Pe(e);let a="var "+n+" = "+te(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=te(e,t.left));let l="VariableDeclaration"===t.left.type?t.left.declarations[0].id.name:t.left.name;l=l.toLowerCase();let s="";return null!==e.localScope&&(void 0!==e.localScope[l]?s="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(s="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===s&&(void 0!==e.globalScope[l]?s="gscope['"+l+"']":void 0!==e.globalScope._SymbolsMap[l]&&(s="gscope['"+e.globalScope._SymbolsMap[l]+"']")),a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {",a+="var "+r+"="+n+".length; \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+n+")) {",a+="var "+r+"="+n+".length(); \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || ( "+n+" instanceof lang.Feature)) {",a+="var "+r+"="+n+".keys(); \n",a+="for(var "+o+"=0; "+o+"<"+r+".length; "+o+"++) {\n",a+=s+"="+r+"["+o+"];\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {",a+="var "+r+"="+n+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+"); "+o+"!=null; "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+")) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ae(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&(n+=te(e,t.init)+"; ");const r=Pe(e),o=Pe(e);return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+te(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+te(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); }\n"),n+=te(e,t.body),null!==t.update&&(n+="\n "+te(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function le(e,t){let n=null,r="";if("MemberExpression"===t.argument.type)return n=te(e,t.argument.object),r=!0===t.argument.computed?te(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+n+","+r+",'"+t.operator+"',"+t.prefix+")";if(n=t.argument.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[n])return"lang.update(lscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[n])return"lang.update(lscope, '"+e.localScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[n])return"lang.update(gscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[n])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")";throw new Error("Variable not recognised")}function se(e,t){const n=te(e,t.right);let r=null,o="";if("MemberExpression"===t.left.type)return r=te(e,t.left.object),o=!0===t.left.computed?te(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+r+","+o+",'"+t.operator+"',"+n+")";if(r=t.left.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+r+"'])";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[r]+"'])"}if(void 0!==e.globalScope[r])return"gscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+r+"'])";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[r]+"'])";throw new Error("Variable not recognised")}function ie(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+te(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+te(e,t.expression)+"; ")}function ce(e,t){return"BlockStatement"===t.type?te(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?te(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+te(e,t)+"; ":"ExpressionStatement"===t.type?te(e,t):"ObjectExpression"===t.type?"lastStatement = "+te(e,t)+"; ":te(e,t)+"; "}function ue(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(j(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const n=te(e,t.test),r=Pe(e);let o="var "+r+" = "+n+";\n if ("+r+" === true) {\n"+ce(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+r+"===false) { \n"+ce(e,t.alternate)+"}\n":o+="else if ("+r+"===false) { \n lastStatement = lc.voidOperation;\n }\n",o+="else { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); \n}\n",o}function pe(e,t){let n="";for(let r=0;r<t.body.length;r++)"ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=te(e,t.body[r])+"; \n":"UpdateExpression"===t.body[r].type||"ObjectExpression"===t.body[r].type?n+="lastStatement = "+te(e,t.body[r])+"; \n":n+=te(e,t.body[r])+" \n";return n}function fe(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+te(e,t.argument)}function me(e,t){const n=t.id.name.toLowerCase(),r={isAsync:e.isAsync,spatialReference:e.spatialReference,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter+1,globalScope:e.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");let o="new lc.SizzleFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let a=0;a<t.params.length;a++){const n=t.params[a].name.toLowerCase(),l=Fe(e);r.localScope._SymbolsMap[n]=l,r.mangleMap[n]=l,o+="lscope['"+l+"']=arguments["+a.toString()+"];\n"}if(!0===e.isAsync?(o+="return lang.__awaiter(this, void 0, void 0, function* () {\n",o+=pe(r,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=pe(r,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"),void 0!==e.globalScope[n])return"gscope['"+n+"']="+o;if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']="+o;{const t=Fe(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+o}}function ge(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(te(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function he(e,t){let n=null===t.init?null:te(e,t.init);n===g&&(n=null);const r=t.id.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']="+n+"; ";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.localScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"lscope['"+t+"']="+n+"; "}}if(void 0!==e.globalScope[r])return"gscope['"+r+"']="+n+"; ";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+n+"; "}}let ye=0;function de(e,t,r){let l;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let n=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(n=!1),n&&(ye++,e.spatialReference._arcadeCacheId=ye,t=ye)}const r=new n({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(r._arcadeCacheId="SPREF"+t.toString()),r}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const n=e[t];return void 0!==n?n:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new a(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,l,1);case"type":return"Multipoint"}}throw new Error(j(r,"RUNTIME","PROPERTYNOTFOUND"))}function Se(e,t){try{let n;return n=!0===t.computed?te(e,t.property):"'"+t.property.name+"'","lang.member("+te(e,t.object)+","+n+")"}catch(n){throw n}}function we(e,t){try{return"lang.unary("+te(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function be(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(te(e,t.elements[r])):n.push("lang.aCheck("+te(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Ee(e,t){try{const n=[];let r=0;for(const o of t.quasis)n.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(n.push(t.expressions[r]?"lang.castString(lang.aCheck("+te(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function ve(e,t){try{return"lang.binary("+te(e,t.left)+","+te(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Ne(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(j(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(j(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+te(e,t.left)+") "+t.operator+" lang.logicalCheck("+te(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(n){throw n}}function Me(e,t){try{const n=t.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']"}if(void 0!==e.globalScope[n])return"gscope['"+n+"']";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']";throw new Error(j(t,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Ie(e,t){try{if("Identifier"!==t.callee.type)throw new Error(j(t,"RUNTIME","ONLYNODESSUPPORTED"));const n=t.callee.name.toLowerCase();let r="";if(null!==e.localScope&&(void 0!==e.localScope[n]?r="lscope['"+n+"']":void 0!==e.localScope._SymbolsMap[n]&&(r="lscope['"+e.localScope._SymbolsMap[n]+"']")),""===r&&(void 0!==e.globalScope[n]?r="gscope['"+n+"']":void 0!==e.globalScope._SymbolsMap[n]&&(r="gscope['"+e.globalScope._SymbolsMap[n]+"']")),""!==r){let n="[";for(let r=0;r<t.arguments.length;r++)r>0&&(n+=", "),n+=te(e,t.arguments[r]);return n+="]",e.isAsync?"(yield lang.callfunc("+r+","+n+",runtimeCtx) )":"lang.callfunc("+r+","+n+",runtimeCtx)"}throw new Error(j(t,"RUNTIME","NOTFOUND"))}catch(n){throw n}}const Oe={};function xe(r){return null===r?"":u(r)||f(r)?"Array":I(r)?"Date":y(r)?"String":s(r)?"Boolean":w(r)?"Number":r instanceof t?"Attachment":r instanceof e?"Portal":r instanceof n?"Dictionary":b(r)?"Feature":r instanceof W?"Point":r instanceof K?"Polygon":r instanceof X?"Polyline":r instanceof H?"Multipoint":r instanceof J?"Extent":m(r)?"Function":O(r)?"FeatureSet":x(r)?"FeatureSetCollection":r===g?"":"number"==typeof r&&isNaN(r)?"Number":"Unrecognised Type"}function Te(e,t,n,r){try{const o=t[n];if(i(o,r))return t[n+1];{const o=t.length-n;return 1===o?t[n]:2===o?null:3===o?t[n+2]:Te(e,t,n+2,r)}}catch(o){throw o}}function _e(e,t,n,r){try{if(!0===r)return t[n+1];if(3===t.length-n)return t[n+2];{const r=t[n+2];if(!1===s(r))throw new Error("WHEN needs boolean test conditions");return _e(e,t,n+2,r)}}catch(o){throw o}}function Ce(e,t){const n=e.length,r=Math.floor(n/2);return 0===n?[]:1===n?[e[0]]:Re(Ce(e.slice(0,r),t),Ce(e.slice(r,n),t),t)}function Re(e,t,n){const r=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=n(e[0],t[0]);isNaN(o)&&(o=0),o<=0?(r.push(e[0]),e=e.slice(1)):(r.push(t[0]),t=t.slice(1))}else e.length>0?(r.push(e[0]),e=e.slice(1)):t.length>0&&(r.push(t[0]),t=t.slice(1));return r}async function Ae(e,t){const n=e.length,r=Math.floor(n/2);if(0===n)return[];if(1===n)return[e[0]];const o=[Ae(e.slice(0,r),t),Ae(e.slice(r,n),t)],a=await Promise.all(o);return Ue(a[0],a[1],t,[])}async function Ue(e,t,n,r){const o=r;if(!(e.length>0||t.length>0))return r;if(e.length>0&&t.length>0){let a=await n(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ue(e,t,n,r)}return e.length>0?(o.push(e[0]),Ue(e=e.slice(1),t,n,r)):t.length>0?(o.push(t[0]),Ue(e,t=t.slice(1),n,r)):void 0}function Fe(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Pe(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Oe,ee),z(Oe,ee),V(Oe,ee),B(Oe,ee),G(Oe,ee),Oe.typeof=function(e,t){return ee(e,t,(function(e,t,n){l(n,1,1);const r=xe(n[0]);if("Unrecognised Type"===r)throw new Error("Unrecognised Type");return r}))},Oe.iif=function(e,t){try{return ee(e,t,(function(e,t,n){if(l(n,3,3),!1===s(n[0]))throw new Error("IF Function must have a boolean test condition");return n[0]?n[1]:n[2]}))}catch(n){throw n}},Oe.decode=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<2)throw new Error("Missing Parameters");if(2===r.length)return r[1];{if((r.length-1)%2==0)throw new Error("Must have a default value result.");const t=r[0];return Te(e,r,1,t)}}))}catch(n){throw n}},Oe.when=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<3)throw new Error("Missing Parameters");if(r.length%2==0)throw new Error("Must have a default value result.");const o=r[0];if(!1===s(o))throw new Error("WHEN needs boolean test conditions");return _e(e,r,0,o)}))}catch(n){throw n}},Oe.top=function(e,t){return ee(e,t,(function(e,t,n){if(l(n,2,2),u(n[0]))return p(n[1])>=n[0].length?n[0].slice(0):n[0].slice(0,p(n[1]));if(f(n[0]))return p(n[1])>=n[0].length()?n[0].slice(0):n[0].slice(0,p(n[1]));throw new Error("Top cannot accept this parameter type")}))},Oe.first=function(e,t){return ee(e,t,(function(e,t,n){return l(n,1,1),u(n[0])?0===n[0].length?null:n[0][0]:f(n[0])?0===n[0].length()?null:n[0].get(0):null}))},Oe.sort=function(e,t){return ee(e,t,(function(t,n,r){l(r,1,2);let o=r[0];if(f(o)&&(o=o.toArray()),!1===u(o))throw new Error("Illegal Argument");if(r.length>1){if(!1===m(r[1]))throw new Error("Illegal Argument");let n=o;const a=function(e,n){return Xe.callfunc(r[1],[e,n],t)};return e.isAsync?Ae(n,a):(n=Ce(n,(function(e,t){return a(e,t)})),n)}{let e=o;if(0===e.length)return[];const t={};for(let o=0;o<e.length;o++){const n=xe(e[o]);""!==n&&(t[n]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return e.slice(0);let n=0,r="";for(const o in t)n++,r=o;return e=n>1||"String"===r?Ce(e,(function(e,t){if(null==e||e===g)return null==t||t===g?0:1;if(null==t||t===g)return-1;const n=h(e),r=h(t);return n<r?-1:n===r?0:1})):"Number"===r?Ce(e,(function(e,t){return e-t})):"Boolean"===r?Ce(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===r?Ce(e,(function(e,t){return t-e})):e.slice(0),e}}))};const ke={};for(const tt in Oe)ke[tt]=new c(Oe[tt]);Y(Oe,ee);for(const tt in Oe)Oe[tt]=new c(Oe[tt]);const je=function(){};je.prototype=Oe;const De=function(){};function Le(e,t,n){const r={};e||(e={}),n||(n={}),r._SymbolsMap={},r.textformatting=1,r.infinity=1,r.pi=1;for(const o in t)r[o]=1;for(const o in n)r[o]=1;for(const o in e)r[o]=1;return r}function Be(e,t,o){const a=o?new De:new je;e||(e={}),t||(t={});const l=new n({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});l.immutable=!1,a._SymbolsMap={textformatting:1,infinity:1,pi:1},a.textformatting=l,a.infinity=Number.POSITIVE_INFINITY,a.pi=Math.PI;for(const n in t)a[n]=t[n],a._SymbolsMap[n]=1;for(const n in e)a._SymbolsMap[n]=1,e[n]&&"esri.Graphic"===e[n].declaredClass?a[n]=r.createFromGraphic(e[n]):a[n]=e[n];return a}De.prototype=ke;const Ye={fixSpatialReference:T,parseArguments:$,standardFunction:ee};function Ve(e,t){const n={mode:t,compiled:!0,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:ee,evaluateIdentifier:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(n);if("sync"===t){for(const e in n.functions)Oe[e]=new c(n.functions[e]),je.prototype[e]=Oe[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"sync")}else{for(const e in n.functions)ke[e]=new c(n.functions[e]),De.prototype[e]=ke[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"async")}}function Ge(e,t){return e(t)}function ze(e,t){return A(e)}function qe(e){return U(e)}function Je(e,t){return F(e,t,"sync")}function Ze(e,t){return P(e,t)}function He(e,t){return k(e,t)}function We(e,t){const n=t.name;if("_SymbolsMap"===n)throw new Error("Illegal");if(e.localStack.length>0){if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n];const t=e.mangleMap[n];if(void 0!==t&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t]}if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.globalScope[n])return e.globalScope[n];if(1===e.globalScope._SymbolsMap[n])return e.globalScope[n];const r=e.mangleMap[n];return void 0!==r?e.globalScope[r]:void 0}Ve([D],"sync"),Ve([D],"async");let Ke=0;const Xe={error(e,t,n){throw new Error(j(e,t,n))},__awaiter:(e,t,n,r)=>new Promise(((n,o)=>{function a(e){try{s(r.next(e))}catch(t){o(t)}}function l(e){try{s(r.throw(e))}catch(t){o(t)}}function s(e){e.done?n(e.value):e.value&&e.value.then?e.value.then(a,l):(Ke++,Ke%100==0?setTimeout((()=>{Ke=0,a(e.value)}),0):a(e.value))}s((r=r.apply(e,t||[])).next())})),functionDepthchecker:(e,t)=>function(){if(t.depthCounter++,t.localStack.push([]),t.depthCounter>64)throw new Error("Exceeded maximum function depth");const n=e.apply(this,arguments);return q(n)?n.then((e=>(t.depthCounter--,t.localStack.length=t.localStack.length-1,e))):(t.depthCounter--,t.localStack.length=t.localStack.length-1,n)},castString:e=>h(e),aCheck(e,t){if(m(e))throw new Error(j({type:t},"RUNTIME","FUNCTIONCONTEXTILLEGAL"));return e===g?null:e},Dictionary:n,Feature:r,dictionary(e){const t={};for(let n=0;n<e.length;n+=2){if(m(e[n+1]))throw new Error("Illegal Argument");if(!1===y(e[n]))throw new Error("Illegal Argument");e[n+1]===g?t[e[n].toString()]=null:t[e[n].toString()]=e[n+1]}const r=new n(t);return r.immutable=!1,r},strCheck(e){if(!1===y(e))throw new Error("Illegal Argument");return e},unary(e,t){if(s(e)){if("!"===t)return!e;if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}return e},logical(e,t,n){if(s(e)&&s(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return S(p(e),p(t),n);case"==":case"=":return i(e,t);case"!=":return!i(e,t);case"<":case">":case"<=":case">=":return d(e,t,n);case"+":return y(e)||y(t)?h(e)+h(t):p(e)+p(t);case"-":return p(e)-p(t);case"*":return p(e)*p(t);case"/":return p(e)/p(t);case"%":return p(e)%p(t);default:throw new Error(j({type:"BinaryExpression",operator:n,left:e,right:t},"RUNTIME","OPERATORNOTRECOGNISED"))}},assign(e,t,n){switch(t){case"=":return e===g?null:e;case"/=":return p(n)/p(e);case"*=":return p(n)*p(e);case"-=":return p(n)-p(e);case"+=":return y(n)||y(e)?h(n)+h(e):p(n)+p(e);case"%=":return p(n)%p(e);default:throw new Error(j({type:"AssignmentExpression",operator:t,left:null,right:null},"RUNTIME","OPERATORNOTRECOGNISED"))}},update(e,t,n,r){const o=p(e[t]);return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},graphicToFeature:(e,t)=>null===e?null:r.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(e,t,r,o){let a;if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new Error("Assignment outside of array bounds");a=p(e[t]),e[t]="++"===r?a+1:a-1}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}return!1===o?a:"++"===r?a+1:a-1},assignmember(e,t,r,o){if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>e.length)throw new Error("Assignment outside of array bounds");if(t===e.length){if("="!==r)throw new Error("Invalid Parameter");e[t]=this.assign(o,r,e[t])}else e[t]=this.assign(o,r,e[t])}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}},member(e,t){if(null===e){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof n||b(e)){if(y(t))return e.field(t);throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof Z){if(y(t))return de(e,t,"MemberExpression");throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(u(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(y(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(f(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length()+t),t>=e.length()||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))},callfunc(e,t,n){return e instanceof c?e.fn(n,{arguments:t,preparsed:!0}):e instanceof E?e.fn.apply(this,t):e.apply(this,t)}};function Qe(e){console.log(e)}function $e(e,t=null,n=!1){null===t&&(t={vars:{},customfunctions:{}});const r={isAsync:n,globalScope:Le(t.vars,n?ke:Oe,t.customfunctions),localScope:null,mangleMap:{},console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=te(r,e.body[0].body);""===o&&(o="lc.voidOperation; ");let a="";a=n?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+o+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+o+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const l={lc:v,lang:Xe,mangles:r.mangleMap,postProcess(e){if(e instanceof _&&(e=e.value),e instanceof C&&(e=e.value),e===g&&(e=null),e===N)throw new Error("Cannot return BREAK");if(e===M)throw new Error("Cannot return CONTINUE");if(m(e))throw new Error("Cannot return FUNCTION");return e},prepare(e,t){let n=e.spatialReference;null==n&&(n=new Q({wkid:102100}));const r=Be(e.vars,e.customfunctions,t);return{localStack:[],isAsync:t,mangleMap:this.mangles,spatialReference:n,globalScope:r,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Qe,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}async function et(){return Ve([await import("./functions/geomasync.js")],"async"),!0}export{$e as compileScript,et as enableAsyncSupport,Ge as executeScript,Ve as extend,qe as extractExpectedFieldLiterals,ze as extractFieldLiterals,Ye as functionHelper,He as referencesFunction,Ze as referencesMember,Je as validateScript};
|
package/arcade/credentials.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
class e{constructor(){this._username="",this._password="",this._token=null}static fromUserName(s,t){const n=new e;return n._username=s,n._password=t,n._token=null,n}static fromArcadeDictionary(s){const t=new e;return s.hasField("username")&&(t._username=s.field("username")),s.hasField("password")&&(t._password=s.field("password")),s.hasField("token")&&(t._token=s.field("token")),t}static fromToken(s){const t=new e;return t._token=s,t}get username(){return this._username}get password(){return this._password}async getToken(){return null===this._token?"No Token Provided":this._token}}export{e as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
class e{constructor(){this.declaredRootClass="esri.arcade.featureSetCollection",this._layerById={},this._layerByName={}}add(e,t,a){this._layerById[t]=a,this._layerByName[e]=a}async featureSetByName(e,t=!0,a=["*"]){return void 0===this._layerByName[e]?null:this._layerByName[e]}async featureSetById(e,t=!0,a=["*"]){return void 0===this._layerById[e]?null:this._layerById[e]}castToText(){return"object, FeatureSetCollection"}}export{e as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{id as e}from"../kernel.js";import t from"../request.js";import r from"./featureSetCollection.js";import n from"./featureset/actions/AttributeFilter.js";import a from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import l from"./featureset/actions/Top.js";import o from"./featureset/sources/FeatureLayerDynamic.js";import u from"./featureset/sources/FeatureLayerMemory.js";import c from"./featureset/sources/FeatureLayerRelated.js";import d from"./featureset/support/cache.js";import m from"./featureset/support/FeatureSet.js";import{extractServiceUrl as f}from"./featureset/support/shared.js";import{resolve as h,reject as p,create as y}from"../core/promiseUtils.js";import{WhereClause as L}from"../core/sql/WhereClause.js";import _ from"../layers/FeatureLayer.js";import I from"../portal/Portal.js";import S from"../portal/PortalItem.js";function N(){null===d.applicationCache&&(d.applicationCache=new d)}function F(e,t){if(d.applicationCache){const r=d.applicationCache.getLayerInfo(e);if(r)return r.then((r=>h(new _({url:e,outFields:t,sourceJSON:r}))));const n=new _({url:e,outFields:t});let a=y(((e,t)=>{n.load().then((()=>{e(n.sourceJSON)}),(e=>{t(e)}))}));return d.applicationCache&&(d.applicationCache.setLayerInfo(e,a),a=a.catch((t=>{throw d.applicationCache.clearLayerInfo(e),t}))),a.then((()=>h(n)))}return h(new _({url:e,outFields:t}))}function T(e,t,r,n,a,s=null){return F(e,["*"]).then((e=>h(g(e,t,r,n,a,s))))}function g(e,t=null,r=null,n=!0,a=null,s=null){return!0===e._hasMemorySource()?new u({layer:e,spatialReference:t,outFields:r,includeGeometry:n,lrucache:a,interceptor:s}):new o({layer:e,spatialReference:t,outFields:r,includeGeometry:n,lrucache:a,interceptor:s})}function A(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}let r=t(e,{responseType:"json",query:{f:"json"}}).then((e=>{if(e.data){const t=e.data;return h(t)}return h(null)}));return null!==d.applicationCache&&(d.applicationCache.setLayerInfo(e,r),r=r.catch((t=>{throw d.applicationCache.clearLayerInfo(e),t}))),r}function C(e,r){const n="QUERYDATAELEMTS:"+r.toString()+":"+e;if(null!==d.applicationCache){const e=d.applicationCache.getLayerInfo(n);if(null!==e)return e}let a=t(e+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([r.toString()]),f:"json"}}).then((e=>{if(e.data){const t=e.data;if(t.layerDataElements&&t.layerDataElements[0])return t.layerDataElements[0]}throw new Error("Not Found")}));return null!==d.applicationCache&&(d.applicationCache.setLayerInfo(n,a),a=a.catch((e=>{throw d.applicationCache.clearLayerInfo(n),e}))),a}function k(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}let r=t(e,{responseType:"json",query:{f:"json"}}).then((e=>{if(e.data){const t=e.data;return t.layers||(t.layers=[]),t.tables||(t.tables=[]),h(t)}return h({layers:[],tables:[]})}));return null!==d.applicationCache&&(d.applicationCache.setLayerInfo(e,r),r=r.catch((t=>{throw d.applicationCache.clearLayerInfo(e),t}))),r}function j(e,t){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null};return k(e).then((n=>{if(r.metadata=n,n.controllerDatasetLayers&&void 0!==n.controllerDatasetLayers.utilityNetworkLayerId&&null!==n.controllerDatasetLayers.utilityNetworkLayerId){if(n.layers)for(const e of n.layers)r.layerNameLkp[e.id]=e.name;if(n.tables)for(const e of n.tables)r.layerNameLkp[e.id]=e.name;const a=n.controllerDatasetLayers.utilityNetworkLayerId;return r.networkId=a,C(e,a).then((n=>{if(n){r.queryelem=n,r.queryelem&&r.queryelem.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources?e.edgeSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]?r.layerNameLkp[t.layerId]:null};e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources?e.junctionSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]?r.layerNameLkp[t.layerId]:null};e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});return A(e+"/"+a).then((n=>{if(n.systemLayers&&void 0!==n.systemLayers.associationsTableId&&null!==n.systemLayers.associationsTableId){const a=[];return r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),T(e+"/"+n.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null).then((e=>e.load())).then((e=>r.unVersion>=4?(e=e.filter(L.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62,63)",e.getFieldsIndex()))).load():e)).then((e=>({lkp:r.lkp,associations:e,unVersion:r.unVersion,terminals:r.terminals})))}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[]}}))}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[]}}))}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[]}}))}function w(e,t,r,n=null,a=null,s=!0,i=null,l=null){let o=e.serviceUrl();return o?(o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString(),T(o,n,a,s,i,l).then((o=>new c({layer:e,relatedLayer:o,relationship:t,objectId:r,spatialReference:n,outFields:a,includeGeometry:s,lrucache:i,interceptor:l})))):null}n.registerAction(),a.registerAction(),s.registerAction(),i.registerAction(),l.registerAction();class O extends r{constructor(e,t=null,r=null,n=null){super(),this._map=e,this._overridespref=t,this.lrucache=r,this.interceptor=n,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,r=null){const n=g(e,this._overridespref,null===r?["*"]:r,t,this.lrucache,this.interceptor);return this._instantLayers.push({featureset:n,opitem:e,includeGeometry:t,outFields:JSON.stringify(r)}),n}featureSetByName(e,t=!0,r=null){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return this._map.load().then((()=>{try{return this.featureSetByName(e,t,r)}catch(n){return p(n)}}));null===r&&(r=["*"]),r=(r=r.slice(0)).sort();const n=JSON.stringify(r);for(let s=0;s<this._instantLayers.length;s++){const r=this._instantLayers[s];if(r.opitem.title===e&&r.includeGeometry===t&&r.outFields===n)return this.resolvePromise(this._instantLayers[s].featureset)}const a=this._map.allLayers.find((t=>t instanceof _&&t.title===e));if(a)return this.resolvePromise(this._makeAndAddFeatureSet(a,t,r));if(this._map.tables){const n=this._map.tables.find((t=>!!(t.title&&t.title===e||t.title&&t.title===e)));if(n){if(n instanceof _)return this.resolvePromise(this._makeAndAddFeatureSet(n,t,r));if(n._materializedTable);else{const e=n.outFields?n:{...n,outFields:["*"]};n._materializedTable=new _(e)}return n._materializedTable.load().then((()=>this.resolvePromise(this._makeAndAddFeatureSet(n._materializedTable,t,r))))}}return this.resolvePromise(null)}featureSetById(e,t=!0,r=["*"]){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return this._map.load().then((()=>{try{return this.featureSetById(e,t,r)}catch(n){return p(n)}}));null===r&&(r=["*"]),r=(r=r.slice(0)).sort();const n=JSON.stringify(r);for(let s=0;s<this._instantLayers.length;s++){const r=this._instantLayers[s];if(r.opitem.id===e&&r.includeGeometry===t&&r.outFields===n)return this.resolvePromise(this._instantLayers[s].featureset)}const a=this._map.allLayers.find((t=>t instanceof _&&t.id===e));if(a)return this.resolvePromise(this._makeAndAddFeatureSet(a,t,r));if(this._map.tables){const n=this._map.tables.find((t=>t.id===e));if(n){if(n instanceof _)return this.resolvePromise(this._makeAndAddFeatureSet(n,t,r));if(n._materializedTable);else{const e={...n,outFields:["*"]};n._materializedTable=new _(e)}return n._materializedTable.load().then((()=>this.resolvePromise(this._makeAndAddFeatureSet(n._materializedTable,t,r))))}}return this.resolvePromise(null)}}class v extends r{constructor(e,t=null,r=null,n=null){super(),this._url=e,this._overridespref=t,this.lrucache=r,this.interceptor=n,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,r=null){const n=g(e,this._overridespref,null===r?["*"]:r,t,this.lrucache);return this._instantLayers.push({featureset:n,opitem:e,includeGeometry:t,outFields:JSON.stringify(r)}),n}_loadMetaData(){return k(this._url).then((e=>(this.metadata=e,e)))}load(){return this._loadMetaData()}clone(){return new v(this._url,this._overridespref,this.lrucache,this.interceptor)}featureSetByName(e,t=!0,r=null){null===r&&(r=["*"]),r=(r=r.slice(0)).sort();const n=JSON.stringify(r);for(let a=0;a<this._instantLayers.length;a++){const r=this._instantLayers[a];if(r.opitem.title===e&&r.includeGeometry===t&&r.outFields===n)return this.resolvePromise(this._instantLayers[a].featureset)}return this._loadMetaData().then((n=>{let a=null;for(const t of n.layers?n.layers:[])t.name===e&&(a=t);if(!a)for(const t of n.tables?n.tables:[])t.name===e&&(a=t);return a?F(this._url+"/"+a.id,["*"]).then((e=>this._makeAndAddFeatureSet(e,t,r))):this.resolvePromise(null)}))}featureSetById(e,t=!0,r=["*"]){null===r&&(r=["*"]),r=(r=r.slice(0)).sort();const n=JSON.stringify(r);e=null!=e?e.toString():"";for(let a=0;a<this._instantLayers.length;a++){const r=this._instantLayers[a];if(r.opitem.id===e&&r.includeGeometry===t&&r.outFields===n)return this.resolvePromise(this._instantLayers[a].featureset)}return this._loadMetaData().then((n=>{let a=null;for(const t of n.layers?n.layers:[])null!==t.id&&void 0!==t.id&&t.id.toString()===e&&(a=t);if(!a)for(const t of n.tables?n.tables:[])null!==t.id&&void 0!==t.id&&t.id.toString()===e&&(a=t);return a?F(this._url+"/"+a.id,["*"]).then((e=>this._makeAndAddFeatureSet(e,t,r))):this.resolvePromise(null)}))}}function E(e,t,r=null,n=null){return new O(e,t,r,n)}function b(e,t,r=null,n=null){return new v(e,t,r,n)}function D(e,t){if(null===e)return t;return new I({url:e.field("url")})}function q(r,n,a){return e.findCredential(r.restUrl)?"loaded"===r.loadStatus&&""===n&&r.user&&r.user.sourceJSON&&!1===a?h(r.user.sourceJSON):""===n?t(r.restUrl+"/community/self",{responseType:"json",query:{f:"json",...!1===a?{}:{returnUserLicenseTypeExtensions:!0}}}).then((e=>{if(e.data){const t=e.data;if(t&&t.username)return h(t)}return h(null)})):t(r.restUrl+"/community/users/"+n,{responseType:"json",query:{f:"json"}}).then((e=>{if(e.data){const t=e.data;return t.error?null:h(t)}return h(null)})):h(null)}function P(e,t,r,n,a){if(null===e)return null;if(e instanceof _){switch(t){case"datasource":return g(e,a,e.outFields,!0,r,n).getDataSourceFeatureSet();case"parent":case"root":return g(e,a,e.outFields,!0,r,n)}return null}if(e instanceof m)switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}function G(e,t,r,n,a,s,i,l=null){if(d.applicationCache){const o=d.applicationCache.getLayerInfo(e+":"+s.url);if(o)return o.then((e=>{try{const s=new _({url:f(e.url)+"/"+t,outFields:["*"]});return h(g(s,r,n,a,i,l))}catch(s){return p(s)}}),(e=>p(e)))}return y(((o,u)=>{const c=new S({id:e,portal:s}).load();d.applicationCache&&d.applicationCache.setLayerInfo(e+":"+s.url,c),c.then((e=>{try{const s=new _({url:f(e.url)+"/"+t,outFields:["*"]});o(g(s,r,n,a,i,l))}catch(s){u(s)}}),(t=>{d.applicationCache&&d.applicationCache.clearLayerInfo(e+":"+s.url),u(t)}))}))}export{j as constructAssociationMetaDataFeatureSetFromUrl,g as constructFeatureSet,G as constructFeatureSetFromPortalItem,w as constructFeatureSetFromRelationship,T as constructFeatureSetFromUrl,P as convertToFeatureSet,E as createFeatureSetCollectionFromMap,b as createFeatureSetCollectionFromService,D as getPortal,N as initialiseMetaDataCache,q as lookupUser};
|
|
5
|
+
import{id as e}from"../kernel.js";import t from"../request.js";import a from"./featureSetCollection.js";import r from"./featureset/actions/AttributeFilter.js";import n from"./featureset/actions/GroupBy.js";import i from"./featureset/actions/OrderBy.js";import s from"./featureset/actions/SpatialFilter.js";import l from"./featureset/actions/Top.js";import o from"./featureset/sources/FeatureLayerDynamic.js";import u from"./featureset/sources/FeatureLayerMemory.js";import c from"./featureset/sources/FeatureLayerRelated.js";import d from"./featureset/support/cache.js";import f from"./featureset/support/FeatureSet.js";import{extractServiceUrl as m}from"./featureset/support/shared.js";import{WhereClause as y}from"../core/sql/WhereClause.js";import p from"../layers/FeatureLayer.js";import h from"../portal/Portal.js";import L from"../portal/PortalItem.js";function _(){null===d.applicationCache&&(d.applicationCache=new d)}async function w(e,t){if(d.applicationCache){const r=d.applicationCache.getLayerInfo(e);if(r){const a=await r;return new p({url:e,outFields:t,sourceJSON:a})}const n=new p({url:e,outFields:t}),i=(async()=>(await n.load(),n.sourceJSON))();if(d.applicationCache){d.applicationCache.setLayerInfo(e,i);try{return await i,n}catch(a){throw d.applicationCache.clearLayerInfo(e),a}}return await i,n}return new p({url:e,outFields:t})}async function I(e,t,a,r,n,i=null){return S(await w(e,["*"]),t,a,r,n,i)}function S(e,t=null,a=null,r=!0,n=null,i=null){return!0===e._hasMemorySource()?new u({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i}):new o({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i})}async function N(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}const a=(async()=>{const a=await t(e,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(e,a);try{return await a}catch(r){throw d.applicationCache.clearLayerInfo(e),r}}return a}async function F(e,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+e;if(null!==d.applicationCache){const e=d.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await t(e+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements&&e.layerDataElements[0])return e.layerDataElements[0]}throw new Error("Not Found")})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(r,n);try{return await n}catch(i){throw d.applicationCache.clearLayerInfo(r),i}}return n}async function T(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}const a=(async()=>{const a=await t(e,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(e,a);try{return await a}catch(r){throw d.applicationCache.clearLayerInfo(e),r}}return a}async function g(e,t){const a={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null},r=await T(e);if(a.metadata=r,r.controllerDatasetLayers&&void 0!==r.controllerDatasetLayers.utilityNetworkLayerId&&null!==r.controllerDatasetLayers.utilityNetworkLayerId){if(r.layers)for(const e of r.layers)a.layerNameLkp[e.id]=e.name;if(r.tables)for(const e of r.tables)a.layerNameLkp[e.id]=e.name;const n=r.controllerDatasetLayers.utilityNetworkLayerId;a.networkId=n;const i=await F(e,n);if(i){a.queryelem=i,a.queryelem&&a.queryelem.dataElement&&void 0!==a.queryelem.dataElement.schemaGeneration&&(a.unVersion=a.queryelem.dataElement.schemaGeneration),a.lkp={},a.queryelem.dataElement.domainNetworks||(a.queryelem.dataElement.domainNetworks=[]);for(const e of a.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources?e.edgeSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]?a.layerNameLkp[t.layerId]:null};e.className&&(a.lkp[e.className]=e)}for(const t of e.junctionSources?e.junctionSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]?a.layerNameLkp[t.layerId]:null};e.className&&(a.lkp[e.className]=e)}}if(a.queryelem.dataElement.terminalConfigurations)for(const e of a.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)a.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const r=await N(e+"/"+n);if(r.systemLayers&&void 0!==r.systemLayers.associationsTableId&&null!==r.systemLayers.associationsTableId){const n=[];a.unVersion>=4&&(n.push("STATUS"),n.push("PERCENTALONG"));let i=await I(e+"/"+r.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...n],!1,null,null);return await i.load(),a.unVersion>=4&&(i=i.filter(y.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62,63)",i.getFieldsIndex())),await i.load()),{lkp:a.lkp,associations:i,unVersion:a.unVersion,terminals:a.terminals}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}async function A(e,t,a,r=null,n=null,i=!0,s=null,l=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await I(o,r,n,i,s,l);return new c({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:i,lrucache:s,interceptor:l})}r.registerAction(),n.registerAction(),i.registerAction(),s.registerAction(),l.registerAction();class C extends a{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overridespref=t,this.lrucache=a,this.interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=S(e,this._overridespref,null===a?["*"]:a,t,this.lrucache,this.interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>t instanceof p&&t.title===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>!!(t.title&&t.title===e||t.title&&t.title===e)));if(r){if(r instanceof p)return this._makeAndAddFeatureSet(r,t,a);if(r._materializedTable);else{const e=r.outFields?r:{...r,outFields:["*"]};r._materializedTable=new p(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}async featureSetById(e,t=!0,a=["*"]){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>t instanceof p&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.id===e));if(r){if(r instanceof p)return this._makeAndAddFeatureSet(r,t,a);if(r._materializedTable);else{const e={...r,outFields:["*"]};r._materializedTable=new p(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}}class k extends a{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overridespref=t,this.lrucache=a,this.interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=S(e,this._overridespref,null===a?["*"]:a,t,this.lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await T(this._url);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new k(this._url,this._overridespref,this.lrucache,this.interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let i=null;for(const s of n.layers?n.layers:[])s.name===e&&(i=s);if(!i)for(const s of n.tables?n.tables:[])s.name===e&&(i=s);if(i){const e=await w(this._url+"/"+i.id,["*"]);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let i=null;for(const s of n.layers?n.layers:[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(i=s);if(!i)for(const s of n.tables?n.tables:[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(i=s);if(i){const e=await w(this._url+"/"+i.id,["*"]);return this._makeAndAddFeatureSet(e,t,a)}return null}}function j(e,t,a=null,r=null){return new C(e,t,a,r)}function O(e,t,a=null,r=null){return new k(e,t,a,r)}function E(e,t){if(null===e)return t;return new h({url:e.field("url")})}async function b(a,r,n){if(!e.findCredential(a.restUrl))return null;if("loaded"===a.loadStatus&&""===r&&a.user&&a.user.sourceJSON&&!1===n)return a.user.sourceJSON;if(""===r){const e=await t(a.restUrl+"/community/self",{responseType:"json",query:{f:"json",...!1===n?{}:{returnUserLicenseTypeExtensions:!0}}});if(e.data){const t=e.data;if(t&&t.username)return t}return null}const i=await t(a.restUrl+"/community/users/"+r,{responseType:"json",query:{f:"json"}});if(i.data){const e=i.data;return e.error?null:e}return null}function D(e,t,a,r,n){if(null===e)return null;if(e instanceof p){switch(t){case"datasource":return S(e,n,e.outFields,!0,a,r).getDataSourceFeatureSet();case"parent":case"root":return S(e,n,e.outFields,!0,a,r)}return null}if(e instanceof f)switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}async function q(e,t,a,r,n,i,s,l=null){if(d.applicationCache){const o=d.applicationCache.getLayerInfo(e+":"+i.url);if(o){const e=await o;return S(new p({url:m(e.url)+"/"+t,outFields:["*"]}),a,r,n,s,l)}}const o=new L({id:e,portal:i}).load();d.applicationCache&&d.applicationCache.setLayerInfo(e+":"+i.url,o);try{const e=await o;return S(new p({url:m(e.url)+"/"+t,outFields:["*"]}),a,r,n,s,l)}catch(u){throw d.applicationCache&&d.applicationCache.clearLayerInfo(e+":"+i.url),u}}export{g as constructAssociationMetaDataFeatureSetFromUrl,S as constructFeatureSet,q as constructFeatureSetFromPortalItem,A as constructFeatureSetFromRelationship,I as constructFeatureSetFromUrl,D as convertToFeatureSet,j as createFeatureSetCollectionFromMap,O as createFeatureSetCollectionFromService,E as getPortal,_ as initialiseMetaDataCache,b as lookupUser};
|