@arcgis/core 4.34.0-next.35 → 4.34.0-next.37
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/AttributeBinsGraphic.js +1 -1
- package/Basemap.js +1 -1
- package/Camera.js +1 -1
- package/CameraLayout.js +1 -1
- package/Graphic.js +1 -1
- package/Ground.js +1 -1
- package/Map.js +1 -1
- package/PopupTemplate.js +1 -1
- package/WebDocument2D.js +1 -1
- package/WebScene.js +1 -1
- package/analysis/Analysis.js +1 -1
- package/analysis/DimensionSimpleStyle.js +1 -1
- package/analysis/ElevationProfileAnalysis.d.ts +4 -0
- package/analysis/ElevationProfileAnalysis.js +5 -0
- package/analysis/ElevationProfileLine.d.ts +4 -0
- package/analysis/ElevationProfileLine.js +5 -0
- package/analysis/ElevationProfileLineChartOptions.d.ts +4 -0
- package/analysis/ElevationProfileLineChartOptions.js +5 -0
- package/analysis/ElevationProfileLineGround.d.ts +4 -0
- package/analysis/ElevationProfileLineGround.js +5 -0
- package/analysis/ElevationProfileLineInput.d.ts +4 -0
- package/analysis/ElevationProfileLineInput.js +5 -0
- package/analysis/ElevationProfileLineQuery.d.ts +4 -0
- package/analysis/ElevationProfileLineQuery.js +5 -0
- package/analysis/ElevationProfileLineScene.d.ts +4 -0
- package/analysis/ElevationProfileLineScene.js +5 -0
- package/analysis/ElevationProfileLineViewOptions.d.ts +4 -0
- package/analysis/ElevationProfileLineViewOptions.js +5 -0
- package/analysis/ElevationProfileUnits.d.ts +4 -0
- package/analysis/ElevationProfileUnits.js +5 -0
- package/analysis/LengthDimension.js +1 -1
- package/analysis/LineOfSightAnalysisObserver.js +1 -1
- package/analysis/LineOfSightAnalysisTarget.js +1 -1
- package/analysis/SlicePlane.js +1 -1
- package/analysis/Viewshed.js +1 -1
- package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
- package/analysis/support/AnalysisOriginWebScene.js +1 -1
- package/analysis/support/elevationProfileLineTypes.js +5 -0
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/compilerUtils.js +5 -0
- package/arcade/containerUtils.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02435c653064f879f547.js +1 -0
- package/assets/esri/core/workers/chunks/040a233ce6fbcc061cdb.js +1 -0
- package/assets/esri/core/workers/chunks/{4930bf8f57f481f3a4a3.js → 053086e0a043b00f1cca.js} +1 -1
- package/assets/esri/core/workers/chunks/05d6ccca0cf38c012873.js +1 -0
- package/assets/esri/core/workers/chunks/06bd2f5358c6b85d5420.js +1 -0
- package/assets/esri/core/workers/chunks/0801f9dde41ec5f36cca.js +1 -0
- package/assets/esri/core/workers/chunks/08b4a4c9f3d6478df40a.js +1 -0
- package/assets/esri/core/workers/chunks/0906f977d50b1c5d6ed5.js +1 -0
- package/assets/esri/core/workers/chunks/170fa807b71babedd185.js +1 -0
- package/assets/esri/core/workers/chunks/183130521210c855c565.js +1 -0
- package/assets/esri/core/workers/chunks/{ce8f0ed9179c0d314df8.js → 1a5ddb6d36249fe09cc8.js} +1 -1
- package/assets/esri/core/workers/chunks/1c87ed3a5960f8f06fc8.js +1 -0
- package/assets/esri/core/workers/chunks/1c8dbdb833a66f7183fc.js +1 -0
- package/assets/esri/core/workers/chunks/2177c0ef06c8e7e3e28e.js +1 -0
- package/assets/esri/core/workers/chunks/{a82d7e2eecfe654a65de.js → 21ea48186d01bf459ef6.js} +1 -1
- package/assets/esri/core/workers/chunks/23e0fd2d921f74834b12.js +1 -0
- package/assets/esri/core/workers/chunks/2b9c403f4b20b8f62804.js +1 -0
- package/assets/esri/core/workers/chunks/2d7bbd001b64138db3c1.js +1 -0
- package/assets/esri/core/workers/chunks/2f52a57e8c05a3ca1de8.js +1 -0
- package/assets/esri/core/workers/chunks/307df66d00ba5f88780d.js +1 -0
- package/assets/esri/core/workers/chunks/33aafaabea07b4f80209.js +1 -0
- package/assets/esri/core/workers/chunks/{55a763662bad03ae6bae.js → 36d15d1dd19417b37d2f.js} +1 -1
- package/assets/esri/core/workers/chunks/{ddaaff5d6036a5eed50f.js → 44116cf0bd4d6a127c96.js} +1 -1
- package/assets/esri/core/workers/chunks/{d6b2ab614f308db50c4a.js → 47cdd5a6351e0db3b2e9.js} +10 -10
- package/assets/esri/core/workers/chunks/4c54239974a5847b8fdd.js +1 -0
- package/assets/esri/core/workers/chunks/4c7162883b228db563c6.js +1 -0
- package/assets/esri/core/workers/chunks/4c77102f083198ae2a6a.js +1 -0
- package/assets/esri/core/workers/chunks/4d2dcd667b30a98dd341.js +1 -0
- package/assets/esri/core/workers/chunks/4ff7c8420c77256f595a.js +1 -0
- package/assets/esri/core/workers/chunks/{82c10f2418e2f754388c.js → 50f56b417992eb30243e.js} +1 -1
- package/assets/esri/core/workers/chunks/5228f535719f5fc38b28.js +1 -0
- package/assets/esri/core/workers/chunks/{bd6c6acf23db2a2e8ef8.js → 53e166944a42af027345.js} +1 -1
- package/assets/esri/core/workers/chunks/54a686643e1ec1ea00ac.js +1 -0
- package/assets/esri/core/workers/chunks/568f49f9e50c505b2736.js +1 -0
- package/assets/esri/core/workers/chunks/56aafa6f8862629070d8.js +1 -0
- package/assets/esri/core/workers/chunks/5c5509147bda78ce338a.js +1 -0
- package/assets/esri/core/workers/chunks/{9742804f8ee350bf8052.js → 5c5678b15b59f9964bf0.js} +1 -1
- package/assets/esri/core/workers/chunks/5cdeb6dc72f452d6d1bc.js +1 -0
- package/assets/esri/core/workers/chunks/5d4e74eb4c659e8f42d6.js +1 -0
- package/assets/esri/core/workers/chunks/{b89aacec211c66e3a011.js → 5d8c64693830506c8776.js} +1 -1
- package/assets/esri/core/workers/chunks/5fac0b2a5aa33e8a3a84.js +1 -0
- package/assets/esri/core/workers/chunks/64553b5eae4edc7f46dc.js +1 -0
- package/assets/esri/core/workers/chunks/67627b1965b27b2f1857.js +1 -0
- package/assets/esri/core/workers/chunks/{0e7e4426daba4a008849.js → 68edbc3b124eb8e28dd6.js} +1 -1
- package/assets/esri/core/workers/chunks/69dc5a7abc1fda2474ad.js +1 -0
- package/assets/esri/core/workers/chunks/{d6eff6cc30acdca04835.js → 6c167daf115cd6abb3e5.js} +1 -1
- package/assets/esri/core/workers/chunks/6f122e4a2a1f913523b4.js +1 -0
- package/assets/esri/core/workers/chunks/{1dc410bc070cabb7198d.js → 72e0fda211d980572292.js} +1 -1
- package/assets/esri/core/workers/chunks/761dab8780495286ec4e.js +1 -0
- package/assets/esri/core/workers/chunks/7641e24ffa0215d51c34.js +1 -0
- package/assets/esri/core/workers/chunks/7e9d5beca1991c961ed8.js +1 -0
- package/assets/esri/core/workers/chunks/826e4bf6374f324d7f19.js +1 -0
- package/assets/esri/core/workers/chunks/{69d44e08861fb8cdd954.js → 82de1b50ae286f1e6c44.js} +1 -1
- package/assets/esri/core/workers/chunks/860bd6d6f0c74ca301a4.js +1 -0
- package/assets/esri/core/workers/chunks/8e7dced4a8d089185c3a.js +1 -0
- package/assets/esri/core/workers/chunks/{7d25f57299c642e727a6.js → 938baf4f99332dfdf29d.js} +1 -1
- package/assets/esri/core/workers/chunks/{0ec7b5f1a614a86ad3db.js → 948ecf0bfbc886ec3b52.js} +1 -1
- package/assets/esri/core/workers/chunks/9a4d0006c118ae5b45c0.js +1 -0
- package/assets/esri/core/workers/chunks/a1591d7f82e06cab5de4.js +1 -0
- package/assets/esri/core/workers/chunks/a44f17397d8589433dae.js +1 -0
- package/assets/esri/core/workers/chunks/a76792c4edd1d688fba2.js +1 -0
- package/assets/esri/core/workers/chunks/ada46055fafb8ae21dbe.js +1 -0
- package/assets/esri/core/workers/chunks/ae667084cb6a08b97c37.js +1 -0
- package/assets/esri/core/workers/chunks/{7b1d14a921d30c95d68b.js → afb51b8562f8cb29b97e.js} +1 -1
- package/assets/esri/core/workers/chunks/{b00ad853fa4826d0ceb3.js → b12c44faa1efa60067b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{c9fe9792312f0161ef5a.js → b1b6300451cc4ccefd46.js} +1 -1
- package/assets/esri/core/workers/chunks/b2f2c1108fb7cbdd1a68.js +1 -0
- package/assets/esri/core/workers/chunks/{37bfc1a771792b6697fd.js → b3466edccd553ae0a5d0.js} +2 -2
- package/assets/esri/core/workers/chunks/b45dbbeae54cea2bbc10.js +1 -0
- package/assets/esri/core/workers/chunks/b49b73e2d0d643dfa351.js +1 -0
- package/assets/esri/core/workers/chunks/b810e2f87c9c59ae04b1.js +1 -0
- package/assets/esri/core/workers/chunks/{20a96c17d1a117dfdf77.js → b8c1a08020d44ee03a17.js} +1 -1
- package/assets/esri/core/workers/chunks/bb0c5275e51d170ac795.js +1 -0
- package/assets/esri/core/workers/chunks/{7a4730c1e6a5355b7a05.js → bb1213adeb05d89fbfdb.js} +1 -1
- package/assets/esri/core/workers/chunks/bd1ba44362b967977003.js +1 -0
- package/assets/esri/core/workers/chunks/c18ac2018aea6ba97eec.js +1 -0
- package/assets/esri/core/workers/chunks/c3d3e55abf01dae271fb.js +1 -0
- package/assets/esri/core/workers/chunks/c5c9f0c8da5f7bf41728.js +1 -0
- package/assets/esri/core/workers/chunks/{4784af2b04fafacfcc1b.js → c6077a893d5b5c34a46c.js} +1 -1
- package/assets/esri/core/workers/chunks/c78d98ab82f31ddda362.js +1 -0
- package/assets/esri/core/workers/chunks/ca5f63c0297612059486.js +1 -0
- package/assets/esri/core/workers/chunks/cab294fd04f2a5eda81d.js +1 -0
- package/assets/esri/core/workers/chunks/cca36750c86352c6d1f9.js +1 -0
- package/assets/esri/core/workers/chunks/ccf3f29d0b1bde90c3cf.js +1 -0
- package/assets/esri/core/workers/chunks/cd9e6b86ab0103044370.js +1 -0
- package/assets/esri/core/workers/chunks/ce211163d078d3d742ce.js +1 -0
- package/assets/esri/core/workers/chunks/{0ca8d6516323fc28dd58.js → cf1f8fd1d62be0e02e10.js} +1 -1
- package/assets/esri/core/workers/chunks/d16484b389d56a43d204.js +1 -0
- package/assets/esri/core/workers/chunks/d54e18e0f30734610f35.js +1 -0
- package/assets/esri/core/workers/chunks/d7ec905d87a19a1061e7.js +1 -0
- package/assets/esri/core/workers/chunks/{e9a366c225b0687293e3.js → d80e26a1f4a61b1c4cf9.js} +1 -1
- package/assets/esri/core/workers/chunks/{eec36628e638e244f452.js → ddeaf688d72b2873c4ac.js} +1 -1
- package/assets/esri/core/workers/chunks/debd832b6c2c0b2ea362.js +1 -0
- package/assets/esri/core/workers/chunks/dfa3ad5d750d7b143a06.js +1 -0
- package/assets/esri/core/workers/chunks/dfc5936fbbd26f27a92a.js +1 -0
- package/assets/esri/core/workers/chunks/e01fa6389bd0b1ae51a5.js +1 -0
- package/assets/esri/core/workers/chunks/e4d08a85d158c705aa3d.js +1 -0
- package/assets/esri/core/workers/chunks/e59fdb8f625e9080f097.js +1 -0
- package/assets/esri/core/workers/chunks/ed1cd90e899dc9c15ee3.js +1 -0
- package/assets/esri/core/workers/chunks/ee28cd411a93245fb90c.js +1 -0
- package/assets/esri/core/workers/chunks/{41071e672dcddec47492.js → f4e9640306f64b1af7a3.js} +1 -1
- package/assets/esri/core/workers/chunks/f5bb7c90f48cae594bc3.js +1 -0
- package/assets/esri/core/workers/chunks/f79c9b37f2842ed88a9b.js +1 -0
- package/assets/esri/core/workers/chunks/f88fe2e8fbc763bdc940.js +1 -0
- package/assets/esri/core/workers/chunks/faa0cfee8c1de9b5b78c.js +1 -0
- package/assets/esri/core/workers/chunks/fae53d825dd9fef0426c.js +1 -0
- package/chunks/TimeInterval.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/copyright.txt +27 -0
- package/core/Clonable.d.ts +1 -1
- package/core/Clonable.js +1 -1
- package/core/Collection.js +1 -1
- package/core/Evented.d.ts +1 -1
- package/core/Evented.js +1 -1
- package/core/Identifiable.d.ts +1 -1
- package/core/Identifiable.js +1 -1
- package/core/Loadable.d.ts +1 -1
- package/core/Loadable.js +1 -1
- package/core/accessorSupport/ensureType.js +1 -1
- package/core/loadAll.js +1 -1
- package/editing/sharedTemplates/SharedTemplate.js +1 -1
- package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
- package/effects/FocusArea.js +1 -1
- package/effects/FocusAreaOutline.js +1 -1
- package/effects/FocusAreas.js +1 -1
- package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
- package/form/elements/inputs/attachments/Input.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/support/DoubleArray.js +1 -1
- package/geometry/support/MeshComponent.js +1 -1
- package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
- package/geometry/support/MeshLocalVertexSpace.js +1 -1
- package/geometry/support/MeshMaterial.js +1 -1
- package/geometry/support/MeshTexture.js +1 -1
- package/geometry/support/MeshTextureTransform.js +1 -1
- package/geometry/support/MeshTransform.js +1 -1
- package/geometry/support/MeshVertexAttributes.js +1 -1
- package/geometry/support/meshUtils/Metadata.js +1 -1
- package/graphic/GeoRSSGraphicOrigin.d.ts +4 -0
- package/graphic/GeoRSSGraphicOrigin.js +5 -0
- package/graphic/GraphicOrigin.js +1 -1
- package/graphic/KnowledgeGraphGraphicOrigin.d.ts +4 -0
- package/graphic/KnowledgeGraphGraphicOrigin.js +5 -0
- package/graphic/MapImageGraphicOrigin.d.ts +4 -0
- package/graphic/MapImageGraphicOrigin.js +5 -0
- package/graphic/MapNotesGraphicOrigin.d.ts +4 -0
- package/graphic/MapNotesGraphicOrigin.js +5 -0
- package/graphic/OrientedImageryGraphicOrigin.d.ts +4 -0
- package/graphic/OrientedImageryGraphicOrigin.js +5 -0
- package/graphic/ParquetGraphicOrigin.d.ts +4 -0
- package/graphic/ParquetGraphicOrigin.js +5 -0
- package/graphic/SubtypeGroupGraphicOrigin.d.ts +4 -0
- package/graphic/SubtypeGroupGraphicOrigin.js +5 -0
- package/graphic/TileGraphicOrigin.d.ts +4 -0
- package/graphic/TileGraphicOrigin.js +5 -0
- package/graphic/graphicOrigins.d.ts +8 -0
- package/graphic/graphicOrigins.js +1 -1
- package/{views/3d/terrain/RenderOrder.js → graphic/isGeoRSSGraphicOrigin.js} +1 -0
- package/graphic/isKnowledgeGraphGraphicOrigin.js +5 -0
- package/graphic/isMapImageGraphicOrigin.js +5 -0
- package/graphic/isMapNotesGraphicOrigin.js +5 -0
- package/graphic/isOrientedImageryGraphicOrigin.js +5 -0
- package/graphic/isParquetGraphicOrigin.js +5 -0
- package/graphic/isSubtypeGroupGraphicOrigin.js +5 -0
- package/graphic/isTileGraphicOrigin.js +5 -0
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +899 -50
- package/kernel.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/ImageryLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/Layer.js +1 -1
- package/layers/MapNotesLayer.js +1 -1
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/WCSLayer.js +1 -1
- package/layers/WFSLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/buildingSublayers/BuildingSublayer.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/data/FeatureStore.js +1 -1
- package/layers/graphics/sources/CSVSource.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/GeoJSONSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/WFSSource.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
- package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/support/BuildingSummaryStatistics.js +1 -1
- package/layers/support/ControlPointsGeoreference.js +1 -1
- package/layers/support/DisplayFilter.js +1 -1
- package/layers/support/DisplayFilterInfo.js +1 -1
- package/layers/support/EditFieldsInfo.js +1 -1
- package/layers/support/ExpressionInfo.js +1 -1
- package/layers/support/FeatureIndex.js +1 -1
- package/layers/support/FeatureTemplate.js +1 -1
- package/layers/support/FeatureType.js +1 -1
- package/layers/support/GeometryFieldsInfo.js +1 -1
- package/layers/support/GeoreferenceBase.js +1 -1
- package/layers/support/KMLSublayer.js +1 -1
- package/layers/support/LayerContingentValuesCache.js +1 -1
- package/layers/support/LocalMediaElementSource.js +1 -1
- package/layers/support/MediaElementBase.js +1 -1
- package/layers/support/PlaybackInfo.js +1 -1
- package/layers/support/PromiseQueue.js +1 -1
- package/layers/support/Relationship.js +1 -1
- package/layers/support/StreamConnection.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/Subtype.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/TelemetryData.js +1 -1
- package/layers/support/TelemetryDisplay.js +1 -1
- package/layers/support/TimeInfo.js +1 -1
- package/layers/support/TrackInfo.js +1 -1
- package/layers/support/TrackPartInfo.js +1 -1
- package/layers/support/VideoFrame.js +1 -1
- package/layers/support/VideoTimeExtent.js +1 -1
- package/layers/support/WMSSublayer.js +1 -1
- package/layers/voxel/VoxelColorStop.js +1 -1
- package/layers/voxel/VoxelDynamicSection.js +1 -1
- package/layers/voxel/VoxelIsosurface.js +1 -1
- package/layers/voxel/VoxelOpacityStop.js +1 -1
- package/layers/voxel/VoxelRangeFilter.js +1 -1
- package/layers/voxel/VoxelSection.js +1 -1
- package/layers/voxel/VoxelSlice.js +1 -1
- package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
- package/layers/voxel/VoxelUniqueValue.js +1 -1
- package/linkChart/ChronologicalLayoutSettings.js +1 -1
- package/linkChart/LayoutSettings.js +1 -1
- package/linkChart/LinkChartProperties.js +1 -1
- package/linkChart/NonspatialDataDisplay.js +1 -1
- package/linkChart/OrganicLayoutSettings.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/RulesTable.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/networks/support/NetworkSystemLayers.js +1 -1
- package/networks/support/UtilityNetworkLookupHelper.js +1 -1
- package/package.json +1 -1
- package/popup/content/AttachmentsContent.js +1 -1
- package/popup/content/RelationshipContent.js +1 -1
- package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
- package/popup/support/AttachmentsOrderByInfo.js +1 -1
- package/popup/support/FieldInfoFormat.js +1 -1
- package/popup/support/UtilityNetworkAssociationType.js +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/renderers/PieChartRenderer.js +1 -1
- package/renderers/support/HeatmapLegendOptions.js +1 -1
- package/renderers/support/OthersCategory.js +1 -1
- package/renderers/support/RasterPresetRenderer.js +1 -1
- package/renderers/support/RendererLegendOptions.js +1 -1
- package/renderers/support/UniqueValue.js +1 -1
- package/renderers/support/UniqueValueClass.js +1 -1
- package/renderers/support/UniqueValueGroup.js +1 -1
- package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
- package/rest/featureService/FeatureService.js +1 -1
- package/rest/support/AttributeBinsFeatureSet.js +1 -1
- package/rest/support/AttributeBinsGrouping.js +1 -1
- package/rest/support/AttributeBinsQuery.js +1 -1
- package/rest/support/BinParametersBase.js +1 -1
- package/rest/support/ClosestFacilityParameters.js +1 -1
- package/rest/support/DataLayer.js +1 -1
- package/rest/support/DateBinTimeInterval.js +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/FindImagesParameters.js +1 -1
- package/rest/support/FullTextSearch.js +1 -1
- package/rest/support/ImageBoundaryParameters.js +1 -1
- package/rest/support/ImageGPSInfoParameters.js +1 -1
- package/rest/support/ImageToMapMultirayParameters.js +1 -1
- package/rest/support/ImageToMapParameters.js +1 -1
- package/rest/support/ImageUrlParameters.js +1 -1
- package/rest/support/ImageVolumeParameters.js +1 -1
- package/rest/support/MapToImageParameters.js +1 -1
- package/rest/support/NetworkUrl.js +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/RouteParameters.js +1 -1
- package/rest/support/ServiceAreaParameters.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/rest/support/TravelMode.js +1 -1
- package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/LayerAdapter.js +1 -1
- package/support/actions/ActionBase.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/LineStyleMarker3D.js +1 -1
- package/symbols/PathSymbol3DLayer.js +1 -1
- package/symbols/support/ElevationInfo.js +1 -1
- package/symbols/support/Symbol3DTextBackground.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/tables/elements/AttributeTableAttachmentElement.js +1 -1
- package/tables/elements/AttributeTableFieldElement.js +1 -1
- package/tables/elements/AttributeTableGroupElement.js +1 -1
- package/tables/elements/AttributeTableRelationshipElement.js +1 -1
- package/tables/support/FieldOrder.js +1 -1
- package/undoredo/support/Services.js +1 -1
- package/versionManagement/VersionManagementService.js +1 -1
- package/versionManagement/VersioningState.js +1 -1
- package/views/2d/constraints/GeometryConstraint.js +1 -1
- package/views/2d/constraints/RotationConstraint.js +1 -1
- package/views/2d/constraints/ZoomConstraint.js +1 -1
- package/views/2d/engine/DisplayObject.js +1 -1
- package/views/2d/engine/ManagedCanvas.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLCircleMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLFillMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLLineMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLSymbolMaterial.js +1 -1
- package/views/2d/engine/webgl/Profiler.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
- package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
- package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
- package/views/2d/layers/features/support/TileStore.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
- package/views/3d/FocusAreasView.js +1 -1
- package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +4 -0
- package/views/3d/analysis/ElevationProfileAnalysisView3D.js +5 -0
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/analysis/Slice/SliceController.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/constraints/AltitudeConstraint.js +1 -1
- package/views/3d/constraints/ClipDistanceConstraint.js +1 -1
- package/views/3d/constraints/Constraints.js +1 -1
- package/views/3d/constraints/TiltConstraint.js +1 -1
- package/views/3d/environment/Clouds.js +1 -1
- package/views/3d/environment/CloudsRenderer.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/SunLighting.js +1 -1
- package/views/3d/environment/VirtualLighting.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatedObject3DMediaElement.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
- package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
- package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
- package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
- package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/layers/BuildingSublayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/GraphicsView3DDummyLayer.js +5 -0
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/ElevationQuery.js +1 -1
- package/views/3d/layers/graphics/GraphicState.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/LabelDeconflictor.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/StreamController.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
- package/views/3d/layers/i3s/I3SAsyncElevationUpdater.js +1 -1
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SFrameTask.js +1 -1
- package/views/3d/layers/i3s/I3SGraphicsMap.js +1 -1
- package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
- package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/support/CombinedElevationProvider.js +1 -1
- package/views/3d/support/EventedSet.js +1 -1
- package/views/3d/support/GraphicsMap.js +1 -1
- package/views/3d/support/LimitGraphicsMap.js +1 -1
- package/views/3d/support/StreamDataLoader.js +1 -1
- package/views/3d/support/flow/geometryUtils.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/pointsOfInterest/SurfaceGeometryUpdates.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/tileUtils.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/Texture.js +1 -1
- package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
- package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
- package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/SelectionManager.js +1 -1
- package/views/Theme.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/View.js +1 -1
- package/views/analysis/ElevationProfileResult.d.ts +4 -0
- package/views/analysis/ElevationProfileResult.js +5 -0
- package/views/draw/DrawAction.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawManipulator.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/GraphicManipulator.js +1 -1
- package/views/interactive/InteractiveToolBase.js +1 -1
- package/views/interactive/Tooltip.js +1 -1
- package/views/interactive/editGeometry/EditGeometry.js +1 -1
- package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/support/GroundViewElevationSampler.js +1 -1
- package/views/support/ScheduledQueueProcessor.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/ui/UI.js +1 -1
- package/webdoc/GeotriggersInfo.js +1 -1
- package/webdoc/IPSInfo.js +1 -1
- package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
- package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
- package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
- package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
- package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
- package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
- package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
- package/webdoc/ips/AppleIPSProperties.js +1 -1
- package/webdoc/ips/Configuration.js +1 -1
- package/webdoc/ips/GNSSProperties.js +1 -1
- package/webdoc/ips/PathSnappingProperties.js +1 -1
- package/webdoc/ips/PositioningService.js +1 -1
- package/webdoc/ips/SmoothingProperties.js +1 -1
- package/webmap/Bookmark.js +1 -1
- package/webmap/InitialViewProperties.js +1 -1
- package/webscene/InitialViewProperties.js +1 -1
- package/webscene/Presentation.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/SlideLegendInfo.js +1 -1
- package/webscene/support/Description.js +1 -1
- package/webscene/support/FeatureReference.js +1 -1
- package/webscene/support/FeatureReferenceId.js +1 -1
- package/webscene/support/LayerReference.js +1 -1
- package/webscene/support/SlideElements.js +1 -1
- package/webscene/support/SlideEnvironment.js +1 -1
- package/webscene/support/SlideGround.js +1 -1
- package/webscene/support/SlidePopupInfo.js +1 -1
- package/webscene/support/SlideVisibleLayer.js +1 -1
- package/webscene/support/Title.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/templates/ElementTemplateBase.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/CatalogLayerList/CatalogLayerListViewModel.js +1 -1
- package/widgets/CatalogLayerList.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/Workflow.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLine.d.ts +2 -2
- package/widgets/ElevationProfile/ElevationProfileLine.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +2 -2
- package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +2 -2
- package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +2 -2
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/FeatureTemplates/TemplateItemGroup.js +1 -1
- package/widgets/Home/HomeViewModel.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/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationAction.js +1 -1
- package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Search/SearchSource.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/support/OperationHandle.js +1 -1
- package/widgets/TableList/ListItem.js +1 -1
- package/widgets/TableList/ListItemPanel.js +1 -1
- package/widgets/TableList/TableListViewModel.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/ValuePicker/ValuePickerViewModel.js +1 -1
- package/widgets/Widget.js +1 -1
- package/widgets/support/AnchorElementViewModel.js +1 -1
- package/widgets/support/GeolocationPositioning.js +1 -1
- package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/00870a35b254295bc408.js +0 -1
- package/assets/esri/core/workers/chunks/017adbbb77c9c9b4d49f.js +0 -1
- package/assets/esri/core/workers/chunks/038bd2fec9a91b5a949d.js +0 -1
- package/assets/esri/core/workers/chunks/086f3bc5938bf9a37274.js +0 -1
- package/assets/esri/core/workers/chunks/093de3942e1ead231990.js +0 -1
- package/assets/esri/core/workers/chunks/0997e09fe5b0aba1f804.js +0 -1
- package/assets/esri/core/workers/chunks/0f6207d84d15484a3181.js +0 -1
- package/assets/esri/core/workers/chunks/125fdea50620d4db2678.js +0 -1
- package/assets/esri/core/workers/chunks/15a5a89cd228a9364332.js +0 -1
- package/assets/esri/core/workers/chunks/173c5b8fa1ac7aa6e072.js +0 -1
- package/assets/esri/core/workers/chunks/20aed6e1d9b6bf06a398.js +0 -1
- package/assets/esri/core/workers/chunks/21246dfe99a4c5906f71.js +0 -1
- package/assets/esri/core/workers/chunks/221748295a5ec633177e.js +0 -1
- package/assets/esri/core/workers/chunks/2a695b50a384c45ace9a.js +0 -1
- package/assets/esri/core/workers/chunks/2ad63b8d6986ac21c398.js +0 -1
- package/assets/esri/core/workers/chunks/2de11a8e5d426c381991.js +0 -1
- package/assets/esri/core/workers/chunks/2df9bfddc737d89c94b8.js +0 -1
- package/assets/esri/core/workers/chunks/34ddb8da5c5c8533bd71.js +0 -1
- package/assets/esri/core/workers/chunks/3a7e43675163f7bed6ac.js +0 -1
- package/assets/esri/core/workers/chunks/3cd1ab26396052f17832.js +0 -1
- package/assets/esri/core/workers/chunks/40b0c5368b8322498189.js +0 -1
- package/assets/esri/core/workers/chunks/427deb82fae9c500b375.js +0 -1
- package/assets/esri/core/workers/chunks/4433c195c62a59739c06.js +0 -1
- package/assets/esri/core/workers/chunks/4ac6bf9ff1cfbde87c7b.js +0 -1
- package/assets/esri/core/workers/chunks/4b9003ddfe61dc3729f4.js +0 -1
- package/assets/esri/core/workers/chunks/4bb6148df66e62a5fcf0.js +0 -1
- package/assets/esri/core/workers/chunks/50f58b2a933b56effd70.js +0 -1
- package/assets/esri/core/workers/chunks/528212fb0474bdb2ec92.js +0 -1
- package/assets/esri/core/workers/chunks/5dba8c0c957becedf7f7.js +0 -1
- package/assets/esri/core/workers/chunks/6000a302369799ea42a6.js +0 -1
- package/assets/esri/core/workers/chunks/61aed9a292c981921869.js +0 -1
- package/assets/esri/core/workers/chunks/646227b500b92999f2c8.js +0 -1
- package/assets/esri/core/workers/chunks/674970c539d336a93ba1.js +0 -1
- package/assets/esri/core/workers/chunks/6aeff5908c41600a5dfc.js +0 -1
- package/assets/esri/core/workers/chunks/6c72e2c09ed62cb2fd79.js +0 -1
- package/assets/esri/core/workers/chunks/7099ff8dc699fedea931.js +0 -1
- package/assets/esri/core/workers/chunks/752eabfbed7b8b65cf3f.js +0 -1
- package/assets/esri/core/workers/chunks/773feb0e0fad26df57ef.js +0 -1
- package/assets/esri/core/workers/chunks/7848ea5ca13ec350779a.js +0 -1
- package/assets/esri/core/workers/chunks/7a4ec66a577f7f7996c5.js +0 -1
- package/assets/esri/core/workers/chunks/831d58235b8b9eb4cdc8.js +0 -1
- package/assets/esri/core/workers/chunks/90a0c1c5c851cc9b6d6d.js +0 -1
- package/assets/esri/core/workers/chunks/91d48c32bf11ad1405c8.js +0 -1
- package/assets/esri/core/workers/chunks/9228f760129e48585b54.js +0 -1
- package/assets/esri/core/workers/chunks/969a9edba4be8dcbcedd.js +0 -1
- package/assets/esri/core/workers/chunks/9a54c96b48e94d816881.js +0 -1
- package/assets/esri/core/workers/chunks/aa12ba96fb8c91105473.js +0 -1
- package/assets/esri/core/workers/chunks/aaf696a1026de569c82d.js +0 -1
- package/assets/esri/core/workers/chunks/acb95ae6203f708d71b4.js +0 -1
- package/assets/esri/core/workers/chunks/b28855db6a30d4d4f348.js +0 -1
- package/assets/esri/core/workers/chunks/b4bbd38df56e57783cc0.js +0 -1
- package/assets/esri/core/workers/chunks/ba29c535128c4e8ae2d3.js +0 -1
- package/assets/esri/core/workers/chunks/c038472cb7f60af9426e.js +0 -1
- package/assets/esri/core/workers/chunks/c0718a0461839be41a2a.js +0 -1
- package/assets/esri/core/workers/chunks/c0aee315b6218d6456cd.js +0 -1
- package/assets/esri/core/workers/chunks/c0ec1600a86bb9a848d4.js +0 -1
- package/assets/esri/core/workers/chunks/c1e5e2a6e7e2d7a1d63c.js +0 -1
- package/assets/esri/core/workers/chunks/c30adbead0ba4722acf9.js +0 -1
- package/assets/esri/core/workers/chunks/c9b11c7170c99f9e0e93.js +0 -1
- package/assets/esri/core/workers/chunks/ca88859fc69fcb4568c0.js +0 -1
- package/assets/esri/core/workers/chunks/cc3ca1729af33688c1e3.js +0 -1
- package/assets/esri/core/workers/chunks/cde79c3644166d4798a8.js +0 -1
- package/assets/esri/core/workers/chunks/d092a4b8fe3d37a6333d.js +0 -1
- package/assets/esri/core/workers/chunks/d6a188a7d55db69ba30b.js +0 -1
- package/assets/esri/core/workers/chunks/d7172dc531b4548a8c60.js +0 -1
- package/assets/esri/core/workers/chunks/d88935ae5669d14c5b29.js +0 -1
- package/assets/esri/core/workers/chunks/d9045b964f536695840b.js +0 -1
- package/assets/esri/core/workers/chunks/dde6000aa2f69f6ecad0.js +0 -1
- package/assets/esri/core/workers/chunks/e18bb372457cedbf4f8c.js +0 -1
- package/assets/esri/core/workers/chunks/e82b1f91465d569012c4.js +0 -1
- package/assets/esri/core/workers/chunks/e892ed8b0b990d7eba28.js +0 -1
- package/assets/esri/core/workers/chunks/ed05399f9a07fea66685.js +0 -1
- package/assets/esri/core/workers/chunks/efec0f496491a0647051.js +0 -1
- package/assets/esri/core/workers/chunks/f01a939af200616eb169.js +0 -1
- package/assets/esri/core/workers/chunks/f19426eb53d8430ded51.js +0 -1
- package/assets/esri/core/workers/chunks/f255b2232f6f049d462d.js +0 -1
- package/assets/esri/core/workers/chunks/f3358b19af0f03f16543.js +0 -1
- package/assets/esri/core/workers/chunks/f4c38a9c01c29b5a6244.js +0 -1
- package/assets/esri/core/workers/chunks/f6c1854f36b029fa6c37.js +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{__decorate as o}from"tslib";import{Clonable as t}from"../core/Clonable.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";let s=class extends t{constructor(o){super(o),this.distance=null,this.elevation=null}equals(o){return this===o||this.distance===o.distance&&this.elevation===o.elevation}};o([e()],s.prototype,"distance",void 0),o([e()],s.prototype,"elevation",void 0),s=o([r("esri.analysis.ElevationProfileUnits")],s);const i=s;export{i 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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as t}from"tslib";import{lengthDimensionMeasureType as o}from"./dimensionUtils.js";import e
|
|
5
|
+
import{__decorate as t}from"tslib";import{lengthDimensionMeasureType as o}from"./dimensionUtils.js";import{Clonable as e}from"../core/Clonable.js";import{cyclicalDegrees as r}from"../core/Cyclical.js";import i from"../core/JSONSupport.js";import{equalsMaybe as s}from"../core/maybe.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as l}from"../core/accessorSupport/ensureType.js";import m from"../geometry/Point.js";let u=class extends(i.JSONSupportMixin(e)){constructor(t){super(t),this.type="length",this.startPoint=null,this.endPoint=null,this.measureType="direct",this.offset=0,this.orientation=0}get valid(){return null!=this.startPoint&&null!=this.endPoint}equals(t){return this===t||s(this.startPoint,t.startPoint)&&s(this.endPoint,t.endPoint)&&this.measureType===t.measureType&&this.offset===t.offset&&this.orientation===t.orientation}};t([n({type:["length"],json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),t([n({type:m,json:{write:{isRequired:!0}}})],u.prototype,"startPoint",void 0),t([n({type:m,json:{write:{isRequired:!0}}})],u.prototype,"endPoint",void 0),t([n({type:o,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"measureType",void 0),t([n({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"offset",void 0),t([n({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),p(t=>r.normalize(l(t),0,!0))],u.prototype,"orientation",void 0),t([n({readOnly:!0})],u.prototype,"valid",null),u=t([a("esri.analysis.LengthDimension")],u);export{u 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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as o}from"tslib";import{featureReferenceEquals as r,featureReferenceProperty as e}from"./featureReferenceUtils.js";import t from"../core/Accessor.js";import s
|
|
5
|
+
import{__decorate as o}from"tslib";import{featureReferenceEquals as r,featureReferenceProperty as e}from"./featureReferenceUtils.js";import t from"../core/Accessor.js";import{ClonableMixin as s}from"../core/Clonable.js";import i from"../core/JSONSupport.js";import{equalsMaybe as p}from"../core/maybe.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{persistable as m}from"../core/accessorSupport/decorators/persistable.js";import c from"../geometry/Point.js";import f from"../symbols/support/ElevationInfo.js";let l=class extends(i.JSONSupportMixin(s(t))){constructor(o){super(o),this.position=null,this.elevationInfo=null,this.feature=null}equals(o){return p(this.position,o.position)&&p(this.elevationInfo,o.elevationInfo)&&r(this.feature,o.feature)}};o([n({type:c,json:{write:{isRequired:!0}}})],l.prototype,"position",void 0),o([n({type:f}),m()],l.prototype,"elevationInfo",void 0),o([n(e)],l.prototype,"feature",void 0),l=o([a("esri.analysis.LineOfSightAnalysisObserver")],l);const u=l;export{u 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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as o}from"tslib";import{featureReferenceEquals as r,featureReferenceProperty as e}from"./featureReferenceUtils.js";import t
|
|
5
|
+
import{__decorate as o}from"tslib";import{featureReferenceEquals as r,featureReferenceProperty as e}from"./featureReferenceUtils.js";import{Clonable as t}from"../core/Clonable.js";import s from"../core/JSONSupport.js";import{equalsMaybe as i}from"../core/maybe.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import{persistable as a}from"../core/accessorSupport/decorators/persistable.js";import m from"../geometry/Point.js";import c from"../symbols/support/ElevationInfo.js";let l=class extends(s.JSONSupportMixin(t)){constructor(o){super(o),this.position=null,this.elevationInfo=null,this.feature=null}equals(o){return i(this.position,o.position)&&i(this.elevationInfo,o.elevationInfo)&&r(this.feature,o.feature)}};o([p({type:m,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}}),a()],l.prototype,"position",void 0),o([p({type:c}),a()],l.prototype,"elevationInfo",void 0),o([p(e)],l.prototype,"feature",void 0),l=o([n("esri.analysis.LineOfSightAnalysisTarget")],l);export{l as default};
|
package/analysis/SlicePlane.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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import o
|
|
5
|
+
import{__decorate as e}from"tslib";import{ClonableMixin as o}from"../core/Clonable.js";import{cyclicalDegrees as t}from"../core/Cyclical.js";import r from"../core/JSONSupport.js";import{equalsMaybe as i}from"../core/maybe.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import{cast as p}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as a}from"../core/accessorSupport/ensureType.js";import m from"../geometry/Point.js";let l=class extends(o(r)){constructor(e){super(e),this.type="plane",this.position=null,this.heading=0,this.tilt=0,this.width=10,this.height=10}equals(e){return this.heading===e.heading&&this.tilt===e.tilt&&this.width===e.width&&this.height===e.height&&i(this.position,e.position)}};e([s({type:["plane"],readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],l.prototype,"type",void 0),e([s({type:m,json:{write:{isRequired:!0}}})],l.prototype,"position",void 0),e([s({type:Number,nonNullable:!0,range:{min:0,max:360},json:{write:{isRequired:!0}}}),p(e=>t.normalize(a(e),0,!0))],l.prototype,"heading",void 0),e([s({type:Number,nonNullable:!0,range:{min:0,max:360},json:{write:{isRequired:!0}}}),p(e=>t.normalize(a(e),0,!0))],l.prototype,"tilt",void 0),e([s({type:Number,nonNullable:!0,range:{min:0},json:{write:{isRequired:!0}}})],l.prototype,"width",void 0),e([s({type:Number,nonNullable:!0,range:{min:0},json:{write:{isRequired:!0}}})],l.prototype,"height",void 0),l=e([n("esri.analysis.SlicePlane")],l);const c=l;export{c as default};
|
package/analysis/Viewshed.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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{featureReferenceEquals as r,featureReferenceProperty as i}from"./featureReferenceUtils.js";import o
|
|
5
|
+
import{__decorate as e}from"tslib";import{featureReferenceEquals as r,featureReferenceProperty as i}from"./featureReferenceUtils.js";import{Clonable as o}from"../core/Clonable.js";import{cyclicalDegrees as t}from"../core/Cyclical.js";import s from"../core/JSONSupport.js";import{equalsMaybe as a}from"../core/maybe.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import{ensureNumber as m}from"../core/accessorSupport/ensureType.js";import u from"../geometry/Point.js";let c=class extends(s.JSONSupportMixin(o)){constructor(e){super(e),this.observer=null,this.farDistance=1e3,this.heading=0,this.tilt=90,this.horizontalFieldOfView=45,this.verticalFieldOfView=45,this.feature=null}get valid(){return null!=this.observer&&this.farDistance>0}equals(e){return a(this.observer,e.observer)&&this.farDistance===e.farDistance&&this.heading===e.heading&&this.tilt===e.tilt&&this.horizontalFieldOfView===e.horizontalFieldOfView&&this.verticalFieldOfView===e.verticalFieldOfView&&r(this.feature,e.feature)}};e([l({type:u,json:{write:{isRequired:!0}}})],c.prototype,"observer",void 0),e([l({type:Number,nonNullable:!0,range:{min:0},json:{write:{isRequired:!0}}})],c.prototype,"farDistance",void 0),e([l({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),n(e=>t.normalize(m(e),void 0,!0))],c.prototype,"heading",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:180},json:{write:{isRequired:!0}}})],c.prototype,"tilt",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:360},json:{write:{isRequired:!0}}})],c.prototype,"horizontalFieldOfView",void 0),e([l({type:Number,nonNullable:!0,range:{min:0,max:180},json:{write:{isRequired:!0}}})],c.prototype,"verticalFieldOfView",void 0),e([l(i)],c.prototype,"feature",void 0),e([l({readOnly:!0,json:{read:!1}})],c.prototype,"valid",null),c=e([p("esri.analysis.Viewshed")],c);export{c 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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as o}from"tslib";import r
|
|
5
|
+
import{__decorate as o}from"tslib";import{Clonable as r}from"../../core/Clonable.js";import t from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(t.JSONSupportMixin(r)){constructor(o){super(o),this.targetElevation=null}};o([e({type:Number})],p.prototype,"targetElevation",void 0),p=o([s("esri.analysis.VolumeMeasurement.CutFillOptions")],p);const i=p;export{i 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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as r}from"tslib";import o
|
|
5
|
+
import{__decorate as r}from"tslib";import{Clonable as o}from"../../core/Clonable.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";let t=class extends o{constructor(r){super(r),this.type="web-scene"}equals(r){return this.type===r.type}};r([s()],t.prototype,"type",void 0),t=r([e("esri.analysis.support.AnalysisOriginWebScene")],t);const p=t;export{p 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.34/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import e from"../ElevationProfileLine.js";import o from"../ElevationProfileLineGround.js";import r from"../ElevationProfileLineInput.js";import i from"../ElevationProfileLineQuery.js";import n from"../ElevationProfileLineScene.js";import t from"../../core/Collection.js";const l={base:e,key:"type",typeMap:{ground:o,input:r,query:i,scene:n},errorContext:"elevation-profile-line"},p=t.ofType(l);export{p as ElevationProfileLineCollection,l as elevationProfileLineTypes};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{neverAbortedSignal as e,toSymbolId as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{getNestedOptionalValue as o,geometryMember as a,getGeometryKeys as i}from"./containerUtils.js";import l from"./Dictionary.js";import{ArcadeExecutionError as s,ensureArcadeExecutionError as c}from"./executionError.js";import u from"./Feature.js";import{NativeFunction as f,ScopeMarshalledFunction as p,ArcadeFunction as w,wrapModuleScopedResponse as d}from"./FunctionWrapper.js";import{R as h,I as g,A as m,i as y,q as b,r as v,v as S,B as x,u as F,w as I,x as k,y as M,z as O,s as j,j as R,k as C,m as A,h as N}from"../chunks/languageUtils.js";import{addFunctionDeclaration as E}from"./treeAnalysis.js";import{A as B}from"../chunks/aiServices.js";import{A as D}from"../chunks/array.js";import{registerFunctions as K}from"./functions/date.js";import{registerFunctions as U}from"./functions/feature.js";import{registerFunctions as Z}from"./functions/geomasync.js";import{registerFunctions as G}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/maths.js";import{registerFunctions as q}from"./functions/stats.js";import{registerFunctions as P}from"./functions/string.js";import{registerFunctions as W}from"./functions/track.js";import"../core/has.js";import z from"../geometry/Geometry.js";import V from"../geometry/SpatialReference.js";import{isGraphic as T,isBoolean as _,isString as Y,isArray as H,isNumber as J}from"../support/guards.js";async function Q(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await re(e,t.arguments[r]));return n}async function X(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await Q(e,t))}class $ extends w{constructor(e,t){super(),this.definition=null,this.context=null,this.definition=e,this.context=t}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,timeZone:this.context.timeZone??null,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,services:this.context.services,abortSignal:this.context.abortSignal,localScope:{},depthCounter:{depth:e.depthCounter+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new s(e,"MaximumCallDepth",null);return ee(this.definition,n,t,null)}}call(e,t){return ne(e,t,(n,r,o)=>{const a={spatialReference:e.spatialReference,services:e.services,console:e.console,libraryResolver:e.libraryResolver,exports:e.exports,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(a.depthCounter.depth>64)throw new s(e,"MaximumCallDepth",t);return ee(this.definition,a,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const l={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:{},track:e.track};return i=i.map(t=>!y(t)||t instanceof p?t:d(t,e,r)),d(await ee(this.definition,l,i,t),n,r)})}}async function ee(e,n,r,o){const a=e.body;if(r.length!==e.params.length)throw new s(n,"WrongNumberOfParameters",null);for(let l=0;l<r.length;l++){const o=e.params[l];"Identifier"===o.type&&null!=n.localScope&&(n.localScope[t(o)]={value:r[l]})}const i=await oe(n,a);if(i instanceof h)return i.value;if(i===b)throw new s(n,"UnexpectedToken",o);if(i===v)throw new s(n,"UnexpectedToken",o);return i instanceof g?i.value:i}class te extends n{constructor(e){super(),this.source=e}global(e){const n=this.executingContext.globalScope[t(e)];if(y(n.value)&&!(n.value instanceof p)){const r=new p;return r.fn=n.value,r.parameterEvaluator=ne,r.context=this.executingContext,this.executingContext.globalScope[t(e)]={value:r},r}return n.value}setGlobal(e,n){if(y(n))throw new s(null,"AssignModuleFunction",null);this.executingContext.globalScope[t(e)]={value:n}}hasGlobal(e){return void 0===this.executingContext.exports[e]&&(e=t(e)),void 0!==this.executingContext.exports[e]}async loadModule(t){const n=t.spatialReference??V.WebMercator;this.moduleScope=Ve(null,null,t.timeZone),this.executingContext={spatialReference:n,services:t.services,libraryResolver:new r(t.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},abortSignal:t.abortSignal??e,globalScope:this.moduleScope,console:t.console??Te,lrucache:t.lrucache,timeZone:t.timeZone??null,interceptor:t.interceptor,localScope:null,depthCounter:{depth:1},track:null},await ve(this.executingContext,this.source.syntax)}}async function ne(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await Q(e,t))}async function re(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await he(e,t);case"AssignmentExpression":return await me(e,t);case"TemplateLiteral":return await De(e,t);case"Identifier":return Ee(e,t);case"MemberExpression":return await je(e,t);case"Literal":return t.value;case"CallExpression":return await Be(e,t);case"UnaryExpression":return await Re(e,t);case"BinaryExpression":return await Ae(e,t);case"LogicalExpression":return await Ne(e,t);case"ArrayExpression":return await Ce(e,t);case"ObjectExpression":return await ae(e,t);default:throw new s(e,"Unrecognized",t)}}catch(n){throw c(e,t,n)}}async function oe(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await Ie(e,t);case"ExportNamedDeclaration":return await ke(e,t);case"VariableDeclaration":return await Me(e,t,0);case"BlockStatement":return await ve(e,t);case"FunctionDeclaration":return await Fe(e,t);case"ReturnStatement":return await xe(e,t);case"IfStatement":return await be(e,t);case"ExpressionStatement":return await ye(e,t);case"ForStatement":return await le(e,t);case"WhileStatement":return await ie(e,t);case"ForInStatement":return await we(e,t);case"ForOfStatement":return await de(e,t);case"BreakStatement":return b;case"EmptyStatement":return S;case"ContinueStatement":return v;default:throw new s(e,"Unrecognized",t)}}catch(n){throw c(e,t,n)}}async function ae(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await re(e,r.value),a="Identifier"===r.key.type?r.key.name:await re(e,r.key);n[i]={key:a,value:o}}const r=Object.create(null),o=new Map;for(let i=0;i<n.length;i++){const a=n[i];if(y(a.value))throw new s(e,"NoFunctionInDictionary",t);if(!1===Y(a.key))throw new s(e,"KeyMustBeString",t);let l=a.key.toString();const c=l.toLowerCase();o.has(c)?l=o.get(c):o.set(c,l),a.value===S?r[l]=null:r[l]=a.value}const a=new l(r);return a.immutable=!1,a}async function ie(e,t){let n=await re(e,t.test);if(!1===n)return S;if(!0!==n)throw new s(e,"BooleanConditionRequired",t);for(;!0===n;){const r=await oe(e,t.body);if(r===b)break;if(r instanceof h)return r;if(n=await re(e,t.test),!0!==n&&!1!==n)throw new s(e,"BooleanConditionRequired",t)}return S}async function le(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await oe(e,t.init):await re(e,t.init));;){if(null!==t.test){const n=await re(e,t.test);if(!0===e.abortSignal?.aborted)throw new s(e,"Cancelled",t);if(!1===n)break;if(!0!==n)throw new s(e,"BooleanConditionRequired",t)}const n=await oe(e,t.body);if(n===b)break;if(n instanceof h)return n;null!==t.update&&await re(e,t.update)}return S}catch(n){throw n}}async function se(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new s(e,"OutOfBounds",t);r.value=n[i]}else r.value=i;const a=await oe(e,t.body);if(a===b)break;if(a instanceof h)return a}return S}async function ce(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.value="k"===o?n.get(i):i;const a=await oe(e,t.body);if(a===b)break;if(a instanceof h)return a}return S}async function ue(e,t,n,r){const o=n.iterator(e.abortSignal);let a;for(;null!=(a=await o.next());){const o=u.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone);o._underlyingGraphic=a,r.value=o;const i=await oe(e,t.body);if(i===b)break;if(i instanceof h)return i}return S}async function fe(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.value=l.containerEntry(o,a);const i=await oe(e,t.body);if(i===b)break;if(i instanceof h)return i}return S}async function pe(e,t,n,r){for(const o of i(n)){const i=a(n,o,e,t,1);r.value=l.containerEntry(o,i);const s=await oe(e,t.body);if(s===b)break;if(s instanceof h)return s}return S}async function we(e,n){const r=await re(e,n.right);"VariableDeclaration"===n.left.type&&await oe(e,n.left);const o=t("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let a=null;if(null!=e.localScope&&void 0!==e.localScope[o]&&(a=e.localScope[o]),null===a&&void 0!==e.globalScope[o]){const t=e.globalScope[o].value;a=e.globalScope[o]={value:t}}if(null===a)throw new s(e,"InvalidIdentifier",n);return H(r)||Y(r)?await se(e,n,r,a):R(r)?await ce(e,n,r,a):r instanceof l||j(r)?await se(e,n,r.keys(),a,"k"):A(r)?await ue(e,n,r,a):N(r)?await se(e,n,i(r),a,"k"):S}async function de(e,n){const r=await re(e,n.right);"VariableDeclaration"===n.left.type&&await oe(e,n.left);const o=t("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let a=null;if(null!=e.localScope&&void 0!==e.localScope[o]&&(a=e.localScope[o]),null===a&&void 0!==e.globalScope[o]){const t=e.globalScope[o].value;a=e.globalScope[o]={value:t}}if(null===a)throw new s(e,"InvalidIdentifier",n);return H(r)||Y(r)?await se(e,n,r,a,"k"):R(r)?await ce(e,n,r,a,"k"):r instanceof l||j(r)?await fe(e,n,r,a):A(r)?await ue(e,n,r,a):N(r)?await pe(e,n,r,a):S}async function he(e,n){const r=n.argument;if("CallExpression"===r.type)throw new s(e,"NeverReach",n);if("MemberExpression"===r.type){const t=await re(e,r.object);let o,a;if(!0===r.computed)o=await re(e,r.property);else{if("Identifier"!==r.property.type)throw new s(e,"Unrecognized",n);o=r.property.name}if(H(t)){if(!J(o))throw new s(e,"ArrayAccessMustBeNumber",n);if(o<0&&(o=t.length+o),o<0||o>=t.length)throw new s(e,"OutOfBounds",n);a=F(t[o]),t[o]="++"===n.operator?a+1:a-1}else if(t instanceof l){if(!1===Y(o))throw new s(e,"KeyAccessorMustBeString",n);if(!0!==t.hasField(o))throw new s(e,"FieldNotFound",n,{key:o});a=F(t.field(o)),t.setField(o,"++"===n.operator?a+1:a-1)}else if(t instanceof te){if(!1===Y(o))throw new s(e,"ModuleAccessorMustBeString",n);if(!0!==t.hasGlobal(o))throw new s(e,"ModuleExportNotFound",n);a=F(t.global(o)),t.setGlobal(o,"++"===n.operator?a+1:a-1)}else{if(!C(t))throw R(t)?new s(e,"Immutable",n):new s(e,"InvalidParameter",n);if(!1===Y(o))throw new s(e,"KeyAccessorMustBeString",n);if(!0!==t.hasField(o))throw new s(e,"FieldNotFound",n,{key:o});a=F(t.field(o)),t.setField(o,"++"===n.operator?a+1:a-1)}return!1===n.prefix?a:"++"===n.operator?a+1:a-1}const o=t(r);let a;if(null!=e.localScope&&void 0!==e.localScope[o])return a=F(e.localScope[o].value),e.localScope[o]={value:"++"===n.operator?a+1:a-1},!1===n.prefix?a:"++"===n.operator?a+1:a-1;if(void 0!==e.globalScope[o])return a=F(e.globalScope[o].value),e.globalScope[o]={value:"++"===n.operator?a+1:a-1},!1===n.prefix?a:"++"===n.operator?a+1:a-1;throw new s(e,"InvalidIdentifier",n)}function ge(e,t,n,r,o){switch(t){case"=":return e===S?null:e;case"/=":return F(n)/F(e);case"*=":return F(n)*F(e);case"-=":return F(n)-F(e);case"+=":return Y(n)||Y(e)?I(n)+I(e):F(n)+F(e);case"%=":return F(n)%F(e);default:throw new s(o,"UnsupportedOperator",r)}}async function me(e,n){const r=n.left;if("MemberExpression"===r.type){const t=await re(e,r.object);let o;if(!0===r.computed)o=await re(e,r.property);else{if("Identifier"!==r.property.type)throw new s(e,"InvalidIdentifier",n);o=r.property.name}const a=await re(e,n.right);if(H(t)){if(!J(o))throw new s(e,"ArrayAccessMustBeNumber",n);if(o<0&&(o=t.length+o),o<0||o>t.length)throw new s(e,"OutOfBounds",n);if(o===t.length){if("="!==n.operator)throw new s(e,"OutOfBounds",n);t[o]=ge(a,n.operator,t[o],n,e)}else t[o]=ge(a,n.operator,t[o],n,e)}else if(t instanceof l){if(!1===Y(o))throw new s(e,"KeyAccessorMustBeString",n);if(!0===t.hasField(o))t.setField(o,ge(a,n.operator,t.field(o),n,e));else{if("="!==n.operator)throw new s(e,"FieldNotFound",n,{key:o});t.setField(o,ge(a,n.operator,null,n,e))}}else if(t instanceof te){if(!1===Y(o))throw new s(e,"KeyAccessorMustBeString",n);if(!0!==t.hasGlobal(o))throw new s(e,"ModuleExportNotFound",n);t.setGlobal(o,ge(a,n.operator,t.global(o),n,e))}else{if(!C(t))throw R(t)?new s(e,"Immutable",n):new s(e,"InvalidParameter",n);if(!1===Y(o))throw new s(e,"KeyAccessorMustBeString",n);if(!0===t.hasField(o))t.setField(o,ge(a,n.operator,t.field(o),n,e));else{if("="!==n.operator)throw new s(e,"FieldNotFound",n,{key:o});t.setField(o,ge(a,n.operator,null,n,e))}}return S}const o=t(r);if(null!=e.localScope&&void 0!==e.localScope[o]){const t=await re(e,n.right);return e.localScope[o]={value:ge(t,n.operator,e.localScope[o].value,n,e)},S}if(void 0!==e.globalScope[o]){const t=await re(e,n.right);return e.globalScope[o]={value:ge(t,n.operator,e.globalScope[o].value,n,e)},S}throw new s(e,"InvalidIdentifier",n)}async function ye(e,t){const n=await re(e,t.expression);return n===S?S:new g(n)}async function be(e,t){const n=await re(e,t.test);if(!0===n)return oe(e,t.consequent);if(!1===n)return null!==t.alternate?oe(e,t.alternate):S;throw new s(e,"BooleanConditionRequired",t)}async function ve(e,t){return Se(e,t,0)}async function Se(e,t,n){if(n>=t.body.length)return S;const r=await oe(e,t.body[n]);return r instanceof h||r===b||r===v||n===t.body.length-1?r:Se(e,t,n+1)}async function xe(e,t){if(null===t.argument)return new h(S);const n=await re(e,t.argument);return new h(n)}async function Fe(e,n){const r=t(n.id);return e.globalScope[r]={value:new $(n,e)},S}async function Ie(e,n){const r=t(n.specifiers[0].local),o=e.libraryResolver.loadLibrary(r);let a;return e.libraryResolver._moduleSingletons?.has(o.uri)?a=e.libraryResolver._moduleSingletons.get(o.uri):(a=new te(o),await a.loadModule(e),e.libraryResolver._moduleSingletons?.set(o.uri,a)),e.globalScope[r]={value:a},S}async function ke(e,n){if(await oe(e,n.declaration),"FunctionDeclaration"===n.declaration.type)e.exports[t(n.declaration.id)]="function";else if("VariableDeclaration"===n.declaration.type)for(const r of n.declaration.declarations)e.exports[t(r.id)]="variable";return S}async function Me(e,t,n){return n>=t.declarations.length?S:(await Oe(e,t.declarations[n]),n===t.declarations.length-1||await Me(e,t,n+1),S)}async function Oe(e,n){let r=null;if(r=null===n.init?null:await re(e,n.init),null!==e.localScope){if(r===S&&(r=null),"Identifier"!==n.id.type)throw new s(e,"InvalidIdentifier",n);const o=t(n.id);return void(null!=e.localScope&&(e.localScope[o]={value:r}))}if("Identifier"!==n.id.type)throw new s(e,"InvalidIdentifier",n);const o=t(n.id);r===S&&(r=null),e.globalScope[o]={value:r}}async function je(e,t){const n=await re(e,t.object);if(null===n)throw new s(e,"MemberOfNull",t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof l||j(n))return n.field(t.property.name);if(n instanceof z)return a(n,t.property.name,e,t);if(n instanceof te){if(!n.hasGlobal(t.property.name))throw new s(e,"InvalidIdentifier",t);return n.global(t.property.name)}throw new s(e,"InvalidMemberAccessKey",t)}throw new s(e,"InvalidMemberAccessKey",t)}let r=await re(e,t.property);if(n instanceof l||j(n)){if(Y(r))return n.field(r);throw new s(e,"InvalidMemberAccessKey",t)}if(n instanceof te){if(Y(r))return n.global(r);throw new s(e,"InvalidMemberAccessKey",t)}if(n instanceof z){if(Y(r))return a(n,r,e,t);throw new s(e,"InvalidMemberAccessKey",t)}if(H(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,"OutOfBounds",t);return n[r]}throw new s(e,"InvalidMemberAccessKey",t)}if(R(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new s(e,"OutOfBounds",t);return n.get(r)}throw new s(e,"InvalidMemberAccessKey",t)}if(Y(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,"OutOfBounds",t);return n[r]}throw new s(e,"InvalidMemberAccessKey",t)}throw new s(e,"InvalidMemberAccessKey",t)}async function Re(e,t){const n=await re(e,t.argument);if(_(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*F(n);if("+"===t.operator)return 1*F(n);if("~"===t.operator)return~F(n);throw new s(e,"UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*F(n);if("+"===t.operator)return 1*F(n);if("~"===t.operator)return~F(n);throw new s(e,"UnsupportUnaryOperator",t)}async function Ce(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await re(e,t.elements[r]));for(let r=0;r<n.length;r++){if(y(n[r]))throw new s(e,"NoFunctionInArray",t);n[r]===S&&(n[r]=null)}return n}async function Ae(e,t){const n=await re(e,t.left),r=await re(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return O(F(n),F(r),t.operator);case"==":return M(n,r);case"!=":return!M(n,r);case"<":case">":case"<=":case">=":return k(n,r,t.operator);case"+":return Y(n)||Y(r)?I(n)+I(r):F(n)+F(r);case"-":return F(n)-F(r);case"*":return F(n)*F(r);case"/":return F(n)/F(r);case"%":return F(n)%F(r);default:throw new s(e,"UnsupportedOperator",t)}}async function Ne(e,t){const n=await re(e,t.left);if(!_(n))throw new s(e,"LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await re(e,t.right);if(_(r))return r;throw new s(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await re(e,t.right);if(_(r))return r;throw new s(e,"LogicExpressionOrAnd",t)}default:throw new s(e,"LogicExpressionOrAnd",t)}}function Ee(e,n){const r=t(n);if(null!=e.localScope&&void 0!==e.localScope[r])return e.localScope[r].value;if(void 0!==e.globalScope[r])return e.globalScope[r].value;throw new s(e,"InvalidIdentifier",n)}async function Be(e,n){if("MemberExpression"===n.callee.type){const t=await re(e,n.callee.object);if(!(t instanceof te))throw new s(e,"FunctionNotFound",n);const r=!1===n.callee.computed?n.callee.property.name:await re(e,n.callee.property);if(!t.hasGlobal(r))throw new s(e,"FunctionNotFound",n);const o=t.global(r);if(!y(o))throw new s(e,"CallNonFunction",n);return o.call(e,n)}if("Identifier"!==n.callee.type)throw new s(e,"FunctionNotFound",n);const r=t(n.callee);if(null!=e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(y(t.value))return t.value.call(e,n);throw new s(e,"CallNonFunction",n)}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(y(t.value))return t.value.call(e,n);throw new s(e,"CallNonFunction",n)}throw new s(e,"FunctionNotFound",n)}async function De(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){if(t.expressions[r]){const o=await re(e,t.expressions[r]);if(y(o))throw new s(e,"NoFunctionInTemplateLiteral",t);n+=I(o)}r++}return n}async function Ke(e,t){x(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await re(e,t.arguments[0]);if(!1===_(n))throw new s(e,"BooleanConditionRequired",t);return re(e,n?t.arguments[1]:t.arguments[2])}async function Ue(e,t){x(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await re(e,t.arguments[0]);if(3===t.arguments.length){const r=await re(e,t.arguments[1]),a=o(n,r);return null!=a&&""!==a?a:re(e,t.arguments[2])}return null==n||""===n?re(e,t.arguments[1]):n}async function Ze(e,t){if(t.arguments.length<2)throw new s(e,"WrongNumberOfParameters",t);if(2===t.arguments.length)return re(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new s(e,"WrongNumberOfParameters",t);return Ge(e,t,1,await re(e,t.arguments[0]))}async function Ge(e,t,n,r){const o=await re(e,t.arguments[n]);if(M(o,r))return re(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?re(e,t.arguments[n]):2===a?null:3===a?re(e,t.arguments[n+2]):Ge(e,t,n+2,r)}async function Le(e,t){if(t.arguments.length<3)throw new s(e,"WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new s(e,"WrongNumberOfParameters",t);const n=await re(e,t.arguments[0]);if(!1===_(n))throw new s(e,"BooleanConditionRequired",t.arguments[0]);return qe(e,t,0,n)}async function qe(e,t,n,r){if(!0===r)return re(e,t.arguments[n+1]);if(3===t.arguments.length-n)return re(e,t.arguments[n+2]);const o=await re(e,t.arguments[n+2]);if(!1===_(o))throw new s(e,"ModuleExportNotFound",t.arguments[n+2]);return qe(e,t,n+2,o)}function Pe(){const e=Object.create(null);K(e,X),P(e,X),U(e,X,Ee),L(e,X),G(e,X),q(e,X),W(e,X),Z({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:X,standardFunctionAsync:ne}),e.iif=Ke,e.defaultvalue=Ue,e.decode=Ze,e.when=Le;const t=function(){this.textformatting={value:l.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new f(r)});return t}const We=Pe();function ze(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:X,standardFunctionAsync:ne,evaluateIdentifier:Ee};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))We.prototype[n]=Object.freeze({value:new f(r)});for(let n=0;n<t.signatures.length;n++)E(t.signatures[n],"async")}function Ve(e,t,n){const r=new We;null==e&&(e={}),null==t&&(t={});for(const o in t)r[o]={value:new f(t[o])};for(const o in e)r[o]={value:T(e[o])?u.createFromGraphic(e[o],n):e[o]};return r}function Te(e){console.log(e)}async function _e(t,n){const o=n.spatialReference??V.WebMercator;let a=null;t.usesModules&&(a=new r(new Map,t.loadedModules));const i=Ve(n.vars,n.customfunctions,n.timeZone),l={spatialReference:o,services:n.services,exports:{},libraryResolver:a,abortSignal:n.abortSignal??e,globalScope:i,console:n.console??Te,timeZone:n.timeZone??null,lrucache:n.lrucache,interceptor:n.interceptor,localScope:null,depthCounter:{depth:1},track:n.track},c=await ve(l,t);if(c instanceof h||c instanceof g){const e=c.value;if(m(e))return null;if(y(e))throw new s(l,"IllegalResult",null);return e}if(m(c))return null;if(c===b)throw new s(l,"IllegalResult",null);if(c===v)throw new s(l,"IllegalResult",null);throw new s(l,"NeverReach",null)}ze([D]),ze([B]);export{_e as executeScript,ze as extend};
|
|
5
|
+
import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as a}from"./compilerUtils.js";import{getNestedOptionalValue as i,geometryMember as s,getGeometryKeys as c}from"./containerUtils.js";import l from"./Dictionary.js";import{ArcadeExecutionError as u,ensureArcadeExecutionError as f}from"./executionError.js";import p from"./Feature.js";import{NativeFunction as w,ScopeMarshalledFunction as d,ArcadeFunction as h,wrapModuleScopedResponse as m}from"./FunctionWrapper.js";import{R as g,I as y,q as b,i as v,z as x,A as S,B as F,v as k,x as I,s as j,u as O,w as M,y as R,r as A,j as N,k as C,m as E,h as B}from"../chunks/languageUtils.js";import{addFunctionDeclaration as G}from"./treeAnalysis.js";import{A as U}from"../chunks/aiServices.js";import{A as K}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as _}from"./functions/feature.js";import{registerFunctions as D}from"./functions/geomasync.js";import{registerFunctions as Z}from"./functions/geometry.js";import{registerFunctions as z}from"./functions/maths.js";import{registerFunctions as q}from"./functions/stats.js";import{registerFunctions as P}from"./functions/string.js";import{registerFunctions as W}from"./functions/track.js";import"../core/has.js";import V from"../core/Logger.js";import T from"../geometry/Geometry.js";import Y from"../geometry/SpatialReference.js";import{isGraphic as $,isBoolean as H,isString as J,isArray as Q,isNumber as X}from"../support/guards.js";const ee=()=>V.getLogger("esri.arcade.arcadeAsyncRuntime"),te=Symbol("uninitialized");function ne(e){if(e===te)throw new u(null,"InvalidIdentifier",null)}function re(e){return ne(e),e}function oe(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new u(t,"InvalidIdentifier",n)}function ae(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return ne(e),e.value}const a=t.globalScope[o];if(void 0!==a)return ne(a),a.value;throw new u(t,r,n)}const ie=function(){};async function se(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await we(e,t.arguments[r]));return n}async function ce(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await se(e,t))}ie.prototype=Object.freeze(Object.create(null));class le extends h{constructor(e,t,n,r){super(),this.definition=e,this.context=t,this._params=n,this._locals=r}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,timeZone:this.context.timeZone??null,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,services:this.context.services,abortSignal:this.context.abortSignal,localScope:new ie,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",null);return ue(n,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return pe(e,t,(n,r,o)=>{const a={spatialReference:e.spatialReference,services:e.services,console:e.console,libraryResolver:e.libraryResolver,exports:e.exports,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:new ie,abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(a.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",t);return ue(a,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const s={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:new ie,track:e.track};return i=i.map(t=>!v(t)||t instanceof d?t:m(t,e,r)),m(await ue(s,this.definition.body,this._params,this._locals,i,t),n,r)})}}async function ue(e,t,n,r,o,a){if(n.length!==o.length)throw new u(e,"WrongNumberOfParameters",a);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=te}const i=await de(e,t);if(i instanceof g)return i.value;if(i===x)throw new u(e,"UnexpectedToken",a);if(i===S)throw new u(e,"UnexpectedToken",a);return i instanceof y?i.value:i}class fe extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t),r=this.moduleGlobalContext.globalScope[n];if(ne(r),v(r.value)&&!(r.value instanceof d)){const e=new d;return e.fn=r.value,e.parameterEvaluator=ce,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(v(n))throw new u(null,"AssignModuleFunction",null);const r=e(t);if(void 0===this.moduleGlobalContext.globalScope[r])throw new u(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static async load(e,n){const{globals:a,exports:i}=o(n),s=new Xe;for(const t of a)t in s||(s[t]=te);const c=e.spatialReference??Y.WebMercator,l={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:c,track:null,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:i,localScope:null,globalScope:s};return await Ae(l,n),new fe(l)}}async function pe(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await se(e,t))}async function we(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"UpdateExpression":return await Ie(e,t);case"AssignmentExpression":return await Oe(e,t);case"TemplateLiteral":return await We(e,t);case"Identifier":return qe(e,t);case"MemberExpression":return await Le(e,t);case"Literal":return t.value;case"CallExpression":return await Pe(e,t);case"UnaryExpression":return await _e(e,t);case"BinaryExpression":return await Ze(e,t);case"LogicalExpression":return await ze(e,t);case"ArrayExpression":return await De(e,t);case"ObjectExpression":return await he(e,t);default:throw new u(e,"Unrecognized",t)}}catch(n){throw f(e,t,n)}}async function de(e,t){t.breakpoint&&await t.breakpoint();try{switch(t.type){case"ImportDeclaration":return await Be(e,t);case"ExportNamedDeclaration":return await Ge(e,t);case"VariableDeclaration":return await Ue(e,t);case"BlockStatement":return await Ae(e,t);case"FunctionDeclaration":return await Ee(e,t);case"ReturnStatement":return await Ce(e,t);case"IfStatement":return await Re(e,t);case"ExpressionStatement":return await Me(e,t);case"ForStatement":return await ge(e,t);case"WhileStatement":return await me(e,t);case"ForInStatement":return await Fe(e,t);case"ForOfStatement":return await ke(e,t);case"BreakStatement":return x;case"EmptyStatement":return k;case"ContinueStatement":return S;default:throw new u(e,"Unrecognized",t)}}catch(n){throw f(e,t,n)}}async function he(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await we(e,r.value),a="Identifier"===r.key.type?r.key.name:await we(e,r.key);n[i]={key:a,value:o}}const r=Object.create(null),o=new Map;for(let i=0;i<n.length;i++){const a=n[i];if(v(a.value))throw new u(e,"NoFunctionInDictionary",t);if(!1===J(a.key))throw new u(e,"KeyMustBeString",t);let s=a.key.toString();const c=s.toLowerCase();o.has(c)?s=o.get(c):o.set(c,s),a.value===k?r[s]=null:r[s]=a.value}const a=new l(r);return a.immutable=!1,a}async function me(e,t){let n=await we(e,t.test);if(!1===n)return k;if(!0!==n)throw new u(e,"BooleanConditionRequired",t);for(;!0===n;){const r=await de(e,t.body);if(r===x)break;if(r instanceof g)return r;if(n=await we(e,t.test),!0!==n&&!1!==n)throw new u(e,"BooleanConditionRequired",t)}return k}async function ge(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await de(e,t.init):await we(e,t.init));;){if(null!==t.test){const n=await we(e,t.test);if(!0===e.abortSignal?.aborted)throw new u(e,"Cancelled",t);if(!1===n)break;if(!0!==n)throw new u(e,"BooleanConditionRequired",t)}const n=await de(e,t.body);if(n===x)break;if(n instanceof g)return n;null!==t.update&&await we(e,t.update)}return k}catch(n){throw n}}async function ye(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new u(e,"OutOfBounds",t);r.scope[r.id]={value:n[i]}}else r.scope[r.id]={value:i};const a=await de(e,t.body);if(a===x)break;if(a instanceof g)return a}return k}async function be(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.scope[r.id]="k"===o?{value:n.get(i)}:{value:i};const a=await de(e,t.body);if(a===x)break;if(a instanceof g)return a}return k}async function ve(e,t,n,r){const o=n.iterator(e.abortSignal);let a;for(;null!=(a=await o.next());){const o=p.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone);o._underlyingGraphic=a,r.scope[r.id]={value:o};const i=await de(e,t.body);if(i===x)break;if(i instanceof g)return i}return k}async function xe(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.scope[r.id]={value:l.containerEntry(o,a)};const i=await de(e,t.body);if(i===x)break;if(i instanceof g)return i}return k}async function Se(e,t,n,r){for(const o of c(n)){const a=s(n,o,e,t,1);r.scope[r.id]={value:l.containerEntry(o,a)};const i=await de(e,t.body);if(i===x)break;if(i instanceof g)return i}return k}async function Fe(e,t){const n=await we(e,t.right);"VariableDeclaration"===t.left.type&&await de(e,t.left);const r=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return Q(n)||J(n)?await ye(e,t,n,r):N(n)?await be(e,t,n,r):n instanceof l||A(n)?await ye(e,t,n.keys(),r,"k"):E(n)?await ve(e,t,n,r):B(n)?await ye(e,t,c(n),r,"k"):k}async function ke(e,t){const n=await we(e,t.right);"VariableDeclaration"===t.left.type&&await de(e,t.left);const r=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return Q(n)||J(n)?await ye(e,t,n,r,"k"):N(n)?await be(e,t,n,r,"k"):n instanceof l||A(n)?await xe(e,t,n,r):E(n)?await ve(e,t,n,r):B(n)?await Se(e,t,n,r):k}async function Ie(e,t){const n=t.argument;if("CallExpression"===n.type)throw new u(e,"NeverReach",t);if("MemberExpression"===n.type){const r=await we(e,n.object);let o,a;if(!0===n.computed)o=await we(e,n.property);else{if("Identifier"!==n.property.type)throw new u(e,"Unrecognized",t);o=n.property.name}if(Q(r)){if(!X(o))throw new u(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new u(e,"OutOfBounds",t);a=j(r[o]),r[o]="++"===t.operator?a+1:a-1}else if(r instanceof l){if(!1===J(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t,{key:o});a=j(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}else if(r instanceof fe){if(!1===J(o))throw new u(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new u(e,"ModuleExportNotFound",t);a=j(r.global(o)),r.setGlobal(o,"++"===t.operator?a+1:a-1)}else{if(!C(r))throw N(r)?new u(e,"Immutable",t):new u(e,"InvalidParameter",t);if(!1===J(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t,{key:o});a=j(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}return!1===t.prefix?a:"++"===t.operator?a+1:a-1}const r=oe(e,n),o=j(re(r.var).value),a="++"===t.operator?o+1:o-1;return r.scope[r.id]={value:a},!1===t.prefix?o:"++"===t.operator?o+1:o-1}function je(e,t,n,r,o){switch(t){case"=":return e===k?null:e;case"/=":return j(n)/j(e);case"*=":return j(n)*j(e);case"-=":return j(n)-j(e);case"+=":return J(n)||J(e)?O(n)+O(e):j(n)+j(e);case"%=":return j(n)%j(e);default:throw new u(o,"UnsupportedOperator",r)}}async function Oe(e,t){const n=t.left;if("MemberExpression"===n.type){const r=await we(e,n.object);let o;if(!0===n.computed)o=await we(e,n.property);else{if("Identifier"!==n.property.type)throw new u(e,"InvalidIdentifier",t);o=n.property.name}const a=await we(e,t.right);if(Q(r)){if(!X(o))throw new u(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>r.length)throw new u(e,"OutOfBounds",t);if(o===r.length){if("="!==t.operator)throw new u(e,"OutOfBounds",t);r[o]=je(a,t.operator,r[o],t,e)}else r[o]=je(a,t.operator,r[o],t,e)}else if(r instanceof l){if(!1===J(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,je(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:o});r.setField(o,je(a,t.operator,null,t,e))}}else if(r instanceof fe){if(!1===J(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new u(e,"ModuleExportNotFound",t);r.setGlobal(o,je(a,t.operator,r.global(o),t,e))}else{if(!C(r))throw N(r)?new u(e,"Immutable",t):new u(e,"InvalidParameter",t);if(!1===J(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,je(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:o});r.setField(o,je(a,t.operator,null,t,e))}}return k}const r=oe(e,n),o=await we(e,t.right);return r.scope[r.id]={value:je(o,t.operator,"="!==t.operator?re(r.var).value:null,t,e)},k}async function Me(e,t){const n=await we(e,t.expression);return n===k?k:new y(n)}async function Re(e,t){const n=await we(e,t.test);if(!0===n)return de(e,t.consequent);if(!1===n)return null!==t.alternate?de(e,t.alternate):k;throw new u(e,"BooleanConditionRequired",t)}async function Ae(e,t){return Ne(e,t,0)}async function Ne(e,t,n){if(n>=t.body.length)return k;const r=await de(e,t.body[n]);return r instanceof g||r===x||r===S||n===t.body.length-1?r:Ne(e,t,n+1)}async function Ce(e,t){if(null===t.argument)return new g(k);const n=await we(e,t.argument);return new g(n)}async function Ee(t,n){if(null!=t.localScope)throw ee().error("Function declarations are only valid in global scope."),new u(t,"NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw ee().error(`Function "${r}" not declared.`),new u(t,"NeverReach",n);const o=a(n),i=n.params.map(t=>e(t)),s=Array.from(o).filter(e=>!i.includes(e));return t.globalScope[r]={value:new le(n,t,i,s)},k}async function Be(e,t){const n=oe(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw ee().error("Internal error: module loader not initialized"),new u(e,"NeverReach",t);const o=r.loadLibrary(n.id);let a;return r._moduleSingletons?.has(o.uri)?a=r._moduleSingletons.get(o.uri):(a=await fe.load(e,o.syntax),r._moduleSingletons?.set(o.uri,a)),n.scope[n.id]={value:a},k}async function Ge(e,t){return await de(e,t.declaration),k}async function Ue(e,t){for(const n of t.declarations)await Ke(e,n);return k}async function Ke(e,t){let n=null;n=null===t.init?null:await we(e,t.init),n===k&&(n=null);const r=oe(e,t.id);r.scope[r.id]={value:n}}async function Le(e,t){const n=await we(e,t.object);if(null===n)throw new u(e,"MemberOfNull",t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof l||A(n))return n.field(t.property.name);if(n instanceof T)return s(n,t.property.name,e,t);if(n instanceof fe){if(!n.hasGlobal(t.property.name))throw new u(e,"InvalidIdentifier",t);return n.global(t.property.name)}throw new u(e,"InvalidMemberAccessKey",t)}throw new u(e,"InvalidMemberAccessKey",t)}let r=await we(e,t.property);if(n instanceof l||A(n)){if(J(r))return n.field(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof fe){if(J(r))return n.global(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof T){if(J(r))return s(n,r,e,t);throw new u(e,"InvalidMemberAccessKey",t)}if(Q(n)){if(X(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}if(N(n)){if(X(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new u(e,"OutOfBounds",t);return n.get(r)}throw new u(e,"InvalidMemberAccessKey",t)}if(J(n)){if(X(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}throw new u(e,"InvalidMemberAccessKey",t)}async function _e(e,t){const n=await we(e,t.argument);if(H(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*j(n);if("+"===t.operator)return 1*j(n);if("~"===t.operator)return~j(n);throw new u(e,"UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*j(n);if("+"===t.operator)return 1*j(n);if("~"===t.operator)return~j(n);throw new u(e,"UnsupportUnaryOperator",t)}async function De(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await we(e,t.elements[r]));for(let r=0;r<n.length;r++){if(v(n[r]))throw new u(e,"NoFunctionInArray",t);n[r]===k&&(n[r]=null)}return n}async function Ze(e,t){const n=await we(e,t.left),r=await we(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(j(n),j(r),t.operator);case"==":return I(n,r);case"!=":return!I(n,r);case"<":case">":case"<=":case">=":return M(n,r,t.operator);case"+":return J(n)||J(r)?O(n)+O(r):j(n)+j(r);case"-":return j(n)-j(r);case"*":return j(n)*j(r);case"/":return j(n)/j(r);case"%":return j(n)%j(r);default:throw new u(e,"UnsupportedOperator",t)}}async function ze(e,t){const n=await we(e,t.left);if(!H(n))throw new u(e,"LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await we(e,t.right);if(H(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await we(e,t.right);if(H(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}default:throw new u(e,"LogicExpressionOrAnd",t)}}function qe(e,t){return ae(e,t)}async function Pe(e,t){if("MemberExpression"===t.callee.type){const n=await we(e,t.callee.object);if(!(n instanceof fe))throw new u(e,"FunctionNotFound",t);const r=!1===t.callee.computed?t.callee.property.name:await we(e,t.callee.property);if(!n.hasGlobal(r))throw new u(e,"FunctionNotFound",t);const o=n.global(r);if(!v(o))throw new u(e,"CallNonFunction",t);return o.call(e,t)}if("Identifier"!==t.callee.type)throw new u(e,"FunctionNotFound",t);const n=ae(e,t.callee,"FunctionNotFound");if(v(n))return n.call(e,t);throw new u(e,"CallNonFunction",t)}async function We(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){if(t.expressions[r]){const o=await we(e,t.expressions[r]);if(v(o))throw new u(e,"NoFunctionInTemplateLiteral",t);n+=O(o)}r++}return n}async function Ve(e,t){F(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await we(e,t.arguments[0]);if(!1===H(n))throw new u(e,"BooleanConditionRequired",t);return we(e,n?t.arguments[1]:t.arguments[2])}async function Te(e,t){F(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await we(e,t.arguments[0]);if(3===t.arguments.length){const r=await we(e,t.arguments[1]),o=i(n,r);return null!=o&&""!==o?o:we(e,t.arguments[2])}return null==n||""===n?we(e,t.arguments[1]):n}async function Ye(e,t){if(t.arguments.length<2)throw new u(e,"WrongNumberOfParameters",t);if(2===t.arguments.length)return we(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new u(e,"WrongNumberOfParameters",t);return $e(e,t,1,await we(e,t.arguments[0]))}async function $e(e,t,n,r){const o=await we(e,t.arguments[n]);if(I(o,r))return we(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?we(e,t.arguments[n]):2===a?null:3===a?we(e,t.arguments[n+2]):$e(e,t,n+2,r)}async function He(e,t){if(t.arguments.length<3)throw new u(e,"WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new u(e,"WrongNumberOfParameters",t);const n=await we(e,t.arguments[0]);if(!1===H(n))throw new u(e,"BooleanConditionRequired",t.arguments[0]);return Je(e,t,0,n)}async function Je(e,t,n,r){if(!0===r)return we(e,t.arguments[n+1]);if(3===t.arguments.length-n)return we(e,t.arguments[n+2]);const o=await we(e,t.arguments[n+2]);if(!1===H(o))throw new u(e,"ModuleExportNotFound",t.arguments[n+2]);return Je(e,t,n+2,o)}function Qe(){const e=Object.create(null);L(e,ce),P(e,ce),_(e,ce,qe),z(e,ce),Z(e,ce),q(e,ce),W(e,ce),D({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:ce,standardFunctionAsync:pe}),e.iif=Ve,e.defaultvalue=Te,e.decode=Ye,e.when=He;const t=function(){this.textformatting={value:l.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new w(r)});return t}const Xe=Qe();function et(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:ce,standardFunctionAsync:pe,evaluateIdentifier:qe};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))Xe.prototype[n]=Object.freeze({value:new w(r)});for(let n=0;n<t.signatures.length;n++)G(t.signatures[n],"async")}function tt(e){console.log(e)}function nt(n,a){const i=new Set(Object.keys(a?.vars||{}).map(t=>e(t))),s=new Set(Object.keys(a?.customfunctions||{}).map(t=>e(t))),{globals:c,exports:l}=o(n);return async e=>{const o=e.spatialReference??Y.WebMercator;let a=null;n.usesModules&&(a=new r(new Map,n.loadedModules));const f=new Xe;for(const t of s)null!=e.customfunctions&&t in e.customfunctions?f[t]={value:new w(e.customfunctions[t])}:f[t]=te;for(const t of i){if(null==e.vars||!(t in e.vars)){t in f||(f[t]=te);continue}const n=e.vars[t]??null;$(n)?f[t]={value:p.createFromGraphic(n,e.timeZone??null)}:f[t]={value:n}}for(const t of c)t in f||(f[t]=te);const d={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:a,exports:l,localScope:null,globalScope:f},h=await Ae(d,n);if(h instanceof g||h instanceof y){const e=h.value;if(b(e))return null;if(v(e))throw new u(d,"IllegalResult",null);return e}if(b(h))return null;if(h===x)throw new u(d,"IllegalResult",null);if(h===S)throw new u(d,"IllegalResult",null);throw new u(d,"NeverReach",null)}}function rt(e,t){return nt(e,t)(t)}et([K]),et([U]);export{rt as executeScript,et as extend,nt as prepareScript};
|
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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{neverAbortedSignal as e,toSymbolId as n}from"./arcadeEnvironment.js";import{ArcadeModule as t}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{getNestedOptionalValue as l,geometryMember as o,getGeometryKeys as a}from"./containerUtils.js";import i from"./Dictionary.js";import{ArcadeCompilationError as s,ArcadeExecutionError as u,ArcadeUncompilableError as c}from"./executionError.js";import p from"./Feature.js";import{NativeFunction as d,ArcadeFunction as f,ScopeMarshalledFunction as m,wrapModuleScopedResponse as g}from"./FunctionWrapper.js";import{p as h,R as y,I as w,v,q as b,r as $,i as S,s as x,j as F,k as C,u as M,w as A,x as O,y as k,z as I,h as j,n as N}from"../chunks/languageUtils.js";import{addFunctionDeclaration as E}from"./treeAnalysis.js";import{A as B}from"../chunks/aiServices.js";import{A as R}from"../chunks/array.js";import{registerFunctions as _}from"./functions/date.js";import{registerFunctions as D}from"./functions/feature.js";import{registerFunctions as G}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/geomsync.js";import{registerFunctions as U}from"./functions/maths.js";import{registerFunctions as K}from"./functions/stats.js";import{registerFunctions as P}from"./functions/string.js";import{registerFunctions as W}from"./functions/track.js";import{neverReached as V}from"../core/compilerUtils.js";import{isPromiseLike as T}from"../core/promiseUtils.js";import Z from"../geometry/Geometry.js";import q from"../geometry/SpatialReference.js";import{isString as z,isArray as J,isNumber as Y,isBoolean as H,isGraphic as Q}from"../support/guards.js";function X(e){return e.symbols.symbolCounter++,`_T${e.symbols.symbolCounter}`}function ee(e){return e.symbols.symbolCounter++,`_Tvar${e.symbols.symbolCounter}`}function ne(e,n,t,r="InvalidIdentifier"){const l=e.localScope?.variables.get(n);if(null!=l)return{type:"local",var:l};if(e.globalScope.provided.has(n))return{type:"global",var:n};const o=e.globalScope.variables.get(n);if(null!=o)return{type:"global",var:o};if(null!=e.localScope){const r=e.undeclaredGlobalsInFunctions.get(n);if(null!=r)return{type:"undeclared-global",var:r.mangledName};const l={mangledName:X(e),node:t};return e.undeclaredGlobalsInFunctions.set(n,l),{type:"undeclared-global",var:l.mangledName}}throw new s(null,r,t)}function te(e,n){if(null!=e.localScope){let t=e.localScope?.variables.get(n);return null==t&&(t=X(e),e.localScope.variables.set(n,t),e.mangleMap[n]=t),{type:"local",var:t}}if(e.globalScope.provided.has(n))return{type:"global",var:n};let t=e.globalScope.variables.get(n);if(null!=t)return{type:"global",var:t};if(e.undeclaredGlobalsInFunctions.has(n)){const t=e.undeclaredGlobalsInFunctions.get(n).mangledName;return e.globalScope.variables.set(n,t),e.mangleMap[n]=t,e.undeclaredGlobalsInFunctions.delete(n),{type:"resolved-undeclared-global",var:t}}return t=X(e),e.globalScope.variables.set(n,t),e.mangleMap[n]=t,{type:"global",var:t}}class re extends f{constructor(e,n){super(),this.paramCount=n,this.fn=e}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new u(e,"WrongNumberOfParameters",null);return this.fn(...n)}}call(e,n){return this.fn(...n.arguments)}marshalledCall(e,n,t,r){return r(e,n,(n,l,o)=>{o=o.map(n=>!S(n)||n instanceof m?n:g(n,e,r));const a=this.call(t,{arguments:o});return T(a)?a.then(e=>g(e,t,r)):a})}}function le(e,n,t){try{return t(e,null,n.arguments)}catch(r){throw r}}function oe(e,n){switch(n.type){case"AssignmentExpression":return he(e,n);case"UpdateExpression":return me(e,n);case"TemplateLiteral":return je(e,n);case"Identifier":return Be(e,n);case"MemberExpression":return Oe(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return Re(e,n);case"UnaryExpression":return ke(e,n);case"BinaryExpression":return Ne(e,n);case"LogicalExpression":return Ee(e,n);case"ArrayExpression":return Ie(e,n);case"ObjectExpression":return ie(e,n);default:throw new s(null,"Unrecognized",n)}}function ae(e,n){switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return Me(e,n);case"BlockStatement":return be(e,n);case"FunctionDeclaration":return Ce(e,n);case"ImportDeclaration":return Se(e,n);case"ExportNamedDeclaration":return xe(e,n);case"ReturnStatement":return $e(e,n);case"IfStatement":return ve(e,n);case"ExpressionStatement":return ye(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return fe(e,n);case"ForInStatement":return pe(e,n);case"ForOfStatement":return de(e,n);case"WhileStatement":return ge(e,n);default:throw new s(null,"Unrecognized",n)}}function ie(e,n){let t="lang.dictionary([";for(let r=0;r<n.properties.length;r++){const l=n.properties[r];let o;"Identifier"===l.key.type?(Fe(l.key.name),o="'"+l.key.name+"'"):o=oe(e,l.key);r>0&&(t+=","),t+="lang.strCheck("+o+",'ObjectExpression'),lang.aCheck("+oe(e,l.value)+", 'ObjectExpression')"}return t+="])",t}function se(e,n,t,r,l=(e,n)=>`${e} = ${n}`){const o=ee(e),a=ee(e);return[`var ${o} = ${t};`,`for (var ${a} = 0; ${a} < ${o}; ${a}++) {`,` ${l(n,a)}`,` ${ae(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ue(e,n,t,r,l=e=>e){const o=ee(e),a=ee(e);return[`var ${o} = ${t};`,`for (var ${a} of ${o}) {`,` ${n} = ${l(a)};`,` ${ae(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ce(e,n,t,r){const l=ee(e);return[`var ${l} = ${t}.iterator(runtimeCtx.abortSignal);`,`while ((${n} = lang.graphicToFeature(yield ${l}.next(), ${t}, runtimeCtx)) != null) {`,` ${ae(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function pe(e,t){const r=ee(e);let l="var "+r+" = "+oe(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(l+=ae(e,t.left));const o=n("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);Fe(o);const a=ne(e,o,t.left);let i;switch(a.type){case"local":i=`lscope['${a.var}']`;break;case"global":i=`gscope['${a.var}']`;break;case"undeclared-global":i=`gscope['${a.var}']`,l+="lang.chkAssig('"+a.var+"',runtimeCtx); \n";break;default:throw V(a.type),new s(null,"NeverReach",t.left)}return l+="if ("+r+"===null) { lastStatement = lc.voidOperation; }\n ",l+="else if (lc.isArray("+r+") || lc.isString("+r+")) {\n",l+=se(e,i,`${r}.length`,t.body),l+="}\n",l+="else if (lc.isImmutableArray("+r+")) {\n",l+=se(e,i,`${r}.length()`,t.body),l+="}\n",l+="else if (( "+r+" instanceof lang.Dictionary) || lc.isDictionaryLike("+r+")) {\n",l+=ue(e,i,`${r}.keys()`,t.body),l+="}\n",e.isAsync&&(l+="else if (lc.isFeatureSet("+r+")) {\n",l+=ce(e,i,r,t.body),l+="}\n"),l+=`else if (lc.isGeometry(${r})) {\n`,l+=ue(e,i,`lang.getGeometryKeys(${r})`,t.body),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function de(e,t){const r=ee(e);let l="var "+r+" = "+oe(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(l+=ae(e,t.left));const o=n("VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);Fe(o);const a=ne(e,o,t.left);let i;switch(a.type){case"local":i=`lscope['${a.var}']`;break;case"global":i=`gscope['${a.var}']`;break;case"undeclared-global":i=`gscope['${a.var}']`,l+="lang.chkAssig('"+a.var+"',runtimeCtx); \n";break;default:throw V(a.type),new s(null,"NeverReach",t.left)}return l+="if ("+r+"===null) { lastStatement = lc.voidOperation; }\n ",l+="else if (lc.isArray("+r+") || lc.isString("+r+")) {\n",l+=se(e,i,`${r}.length`,t.body,(e,n)=>[`if (${n} >= ${r}.length) {`," lang.error('OutOfBounds');","}",`${e} = ${r}[${n}];`].join("\n")),l+="}\n",l+="else if (lc.isImmutableArray("+r+")) {\n",l+=se(e,i,`${r}.length()`,t.body,(e,n)=>`${e} = ${r}.get(${n});`),l+="}\n",l+="else if (( "+r+" instanceof lang.Dictionary) || lc.isDictionaryLike("+r+")) {\n",l+=ue(e,i,`${r}.keys()`,t.body,e=>`lang.entry(${e}, ${r}.field(${e}))`),l+="}\n",e.isAsync&&(l+="else if (lc.isFeatureSet("+r+")) {\n",l+=ce(e,i,r,t.body),l+="}\n"),l+=`else if (lc.isGeometry(${r})) {\n`,l+=ue(e,i,`lang.getGeometryKeys(${r})`,t.body,e=>`lang.entry(${e}, lang.geometryMember(${r}, ${e}, runtimeCtx, null, 1))`),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function fe(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&("VariableDeclaration"===n.init.type?t+=ae(e,n.init):t+=oe(e,n.init)+"; ");const r=ee(e),l=ee(e);return t+="var "+r+" = true; ",t+="\n do { ",null!==n.update&&(t+=" if ("+r+"===false) {\n "+oe(e,n.update)+" \n}\n "+r+"=false; \n"),null!==n.test&&(t+="var "+l+" = "+oe(e,n.test)+"; ",t+="if ("+l+"===false) { break; } else if ("+l+"!==true) { lang.error('BooleanConditionRequired'); }\n"),t+=ae(e,n.body),null!==n.update&&(t+="\n "+oe(e,n.update)),t+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function me(e,t){if("CallExpression"===t.argument.type)throw new s(null,"NeverReach",t);let r;if("MemberExpression"===t.argument.type){const n=oe(e,t.argument.object);return!0===t.argument.computed?r=oe(e,t.argument.property):(Fe(t.argument.property.name),r="'"+t.argument.property.name+"'"),"lang.memberupdate("+n+","+r+",'"+t.operator+"',"+t.prefix+")"}const l=n(t.argument);Fe(l);const o=ne(e,l,t.argument);switch(o.type){case"local":return`lang.update(lscope, '${o.var}', '${t.operator}', ${t.prefix})`;case"global":return`lang.update(gscope, '${o.var}', '${t.operator}', ${t.prefix})`;case"undeclared-global":return`lang.update(gscope, lang.chkAssig('${o.var}',runtimeCtx), '${t.operator}', ${t.prefix})`;default:throw V(o.type),new s(null,"NeverReach",t.argument)}}function ge(e,n){let t="lastStatement = lc.voidOperation; \n";const r=ee(e);return t+=`\n var ${r} = true;\n do {\n ${r} = ${oe(e,n.test)};\n if (${r}==false) {\n break;\n }\n if (${r}!==true) {\n lang.error('BooleanConditionRequired');\n }\n ${ae(e,n.body)}\n }\n while (${r} !== false);\n lastStatement = lc.voidOperation;\n `,t}function he(e,t){const r=oe(e,t.right);if("MemberExpression"===t.left.type){let n;const l=oe(e,t.left.object);return!0===t.left.computed?n=oe(e,t.left.property):(n="'"+t.left.property.name+"'",Fe(t.left.property.name)),"lang.assignmember("+l+","+n+",'"+t.operator+"',"+r+")"}const l=n(t.left);Fe(l);const o=ne(e,l,t.left);switch(o.type){case"local":return`lscope['${o.var}']=lang.assign(${r},'${t.operator}', lscope['${o.var}'])`;case"global":return`gscope['${o.var}']=lang.assign(${r},'${t.operator}', gscope['${o.var}'])`;case"undeclared-global":return`gscope[lang.chkAssig('${o.var}',runtimeCtx)]=lang.assign(${r},'${t.operator}', gscope['${o.var}'])`;default:throw V(o.type),new s(null,"NeverReach",t.left)}}function ye(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+oe(e,n.expression)+"; \n ":"lastStatement = "+oe(e,n.expression)+"; "}function we(e,n){return"BlockStatement"===n.type?ae(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?ae(e,n)+"; ":"ExpressionStatement"===n.type?ae(e,n):ae(e,n)+"; "}function ve(e,n){return`if (lang.mustBoolean(${oe(e,n.test)}, runtimeCtx) === true) {\n ${we(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+ve(e,n.alternate):` else {\n ${we(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function be(e,n){let t="";for(let r=0;r<n.body.length;r++)"EmptyStatement"!==n.body[r].type&&("ReturnStatement"===n.body[r].type||"BreakStatement"===n.body[r].type||"ContinueStatement"===n.body[r].type?t+=ae(e,n.body[r])+"; \n":t+=ae(e,n.body[r])+" \n");return t}function $e(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+oe(e,n.argument)}function Se(e,t){const r=n(t.specifiers[0].local);Fe(r);const l=e.libraryResolver?.loadLibrary(r),o=X(e);void 0===e.moduleFactory[l.uri]&&(e.moduleFactory[l.uri]=en(l.syntax,{moduleFactory:e.moduleFactory,libraryResolver:e.libraryResolver},e.isAsync)),e.moduleFactoryMap[o]=l.uri;let a="";a=e.isAsync?"(yield lang.loadModule('"+o+"', runtimeCtx) ); ":"lang.loadModule('"+o+"', runtimeCtx); ";const i=te(e,r);switch(i.type){case"global":return`gscope['${i.var}']=${a}`;case"resolved-undeclared-global":return`gscope[lang.setAssig('${i.var}', runtimeCtx)]=${a}`;default:throw new s(null,"NeverReach",t.specifiers[0].local)}}function xe(e,t){const r=ae(e,t.declaration);if("FunctionDeclaration"===t.declaration.type)e.exports[n(t.declaration.id)]="function";else if("VariableDeclaration"===t.declaration.type)for(const l of t.declaration.declarations)e.exports[n(l.id)]="variable";return r}function Fe(e){if("iif"===e)throw new c;if("decode"===e)throw new c;if("when"===e)throw new c;if("defaultvalue"===e)throw new c}function Ce(e,t){const r=n(t.id);Fe(r);const l=te(e,r),o={isAsync:e.isAsync,exports:e.exports,undeclaredGlobalsInFunctions:e.undeclaredGlobalsInFunctions,moduleFactory:e.moduleFactory,moduleFactoryMap:e.moduleFactoryMap,libraryResolver:e.libraryResolver,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{variables:new Map},depthCounter:e.depthCounter,globalScope:e.globalScope};let a="new lang.UserDefinedCompiledFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let i=0;i<t.params.length;i++){const e=n(t.params[i]);Fe(e);const r=te(o,e);if("local"!==r.type)throw new s(null,"NeverReach",t.params[i]);a+=`lscope['${r.var}']=arguments[${i.toString()}];\n`}switch(!0===e.isAsync?(a+="return lang.__awaiter(this, void 0, void 0, function* () {\n",a+=be(o,t.body)+"\n return lastStatement; ",a+="}); }",a+=", runtimeCtx),"+t.params.length+")",a+="\n lastStatement = lc.voidOperation; \n"):(a+=be(o,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",a+="\n lastStatement = lc.voidOperation; \n"),l.type){case"global":return`gscope['${l.var}']=${a}`;case"resolved-undeclared-global":return`gscope[lang.setAssig('${l.var}', runtimeCtx)]=${a}`;default:throw new s(null,"NeverReach",t.id)}}function Me(e,n){const t=[];for(let r=0;r<n.declarations.length;r++)t.push(Ae(e,n.declarations[r]));return t.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function Ae(e,t){const r=null===t.init?"null":oe(e,t.init),l=n(t.id);Fe(l);const o=te(e,l);switch(o.type){case"local":return`lscope['${o.var}']=${r};`;case"global":return`gscope['${o.var}']=${r};`;case"resolved-undeclared-global":return`gscope[lang.setAssig('${o.var}', runtimeCtx)]=${r};`;default:throw V(o.type),new s(null,"NeverReach",t.id)}}function Oe(e,n){try{let t;return!0===n.computed?t=oe(e,n.property):(Fe(n.property.name),t="'"+n.property.name+"'"),"lang.member("+oe(e,n.object)+","+t+")"}catch(t){throw t}}function ke(e,n){try{return"lang.unary("+oe(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function Ie(e,n){try{const t=[];for(let r=0;r<n.elements.length;r++)"Literal"===n.elements[r].type?t.push(oe(e,n.elements[r])):t.push("lang.aCheck("+oe(e,n.elements[r])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function je(e,n){try{const t=[];let r=0;for(const l of n.quasis)t.push(l.value?JSON.stringify(l.value.cooked):JSON.stringify("")),!1===l.tail&&(t.push(n.expressions[r]?"lang.castString(lang.aCheck("+oe(e,n.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function Ne(e,n){try{return"lang.binary("+oe(e,n.left)+","+oe(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function Ee(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new s(null,"LogicalExpressionOnlyBoolean",n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new s(null,"LogicalExpressionOnlyBoolean",n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+oe(e,n.left)+") "+n.operator+" lang.logicalCheck("+oe(e,n.right)+"))";throw new s(null,"LogicExpressionOrAnd",null)}catch(t){throw t}}function Be(e,t){const r=n(t);Fe(r);const l=ne(e,r,t);switch(l.type){case"local":return`lscope['${l.var}']`;case"global":return`gscope['${l.var}']`;case"undeclared-global":return`gscope[lang.chkAssig('${l.var}',runtimeCtx)]`;default:throw V(l.type),new s(null,"NeverReach",t)}}function Re(e,t){try{if("MemberExpression"===t.callee.type){let n;!0===t.callee.computed?n=oe(e,t.callee.property):(Fe(t.callee.property.name),n="'"+t.callee.property.name+"'");let r="[";for(let l=0;l<t.arguments.length;l++)l>0&&(r+=", "),r+=oe(e,t.arguments[l]);return r+="]",e.isAsync?"(yield lang.callModuleFunction("+oe(e,t.callee.object)+","+r+","+n+",runtimeCtx))":"lang.callModuleFunction("+oe(e,t.callee.object)+","+r+","+n+",runtimeCtx)"}if("Identifier"!==t.callee.type)throw new s(null,"FunctionNotFound",t);const r=n(t.callee);if("iif"===r)return _e(e,t);if("when"===r)return Ge(e,t);if("defaultvalue"===r)return De(e,t);if("decode"===r)return Le(e,t);const l=ne(e,r,t.callee,"FunctionNotFound");let o;switch(l.type){case"local":o=`lscope['${l.var}']`;break;case"global":o=`gscope['${l.var}']`;break;case"undeclared-global":o=`gscope[lang.chkAssig('${l.var}',runtimeCtx)]`;break;default:throw V(l.type),new s(null,"NeverReach",t.callee)}let a="[";for(let n=0;n<t.arguments.length;n++)n>0&&(a+=", "),a+=oe(e,t.arguments[n]);return a+="]",e.isAsync?"(yield lang.callfunc("+o+","+a+",runtimeCtx) )":"lang.callfunc("+o+","+a+",runtimeCtx)"}catch(r){throw r}}function _e(e,n){try{if(3!==n.arguments.length)throw new s(null,"WrongNumberOfParameters",n);const t=ee(e);return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${oe(e,n.arguments[0])};\n\n if (${t} === true) {\n return ${oe(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${oe(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function De(e,n){try{if(n.arguments.length<2||n.arguments.length>3)throw new s(null,"WrongNumberOfParameters",n);const t=ee(e),r=ee(e);return 3===n.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${oe(e,n.arguments[0])};\n var ${r} = ${oe(e,n.arguments[1])};\n ${t} = lang.getNestedOptionalValue(${t}, ${r});\n return ${t} != null && ${t} !== "" ? ${t} : ${oe(e,n.arguments[2])};\n ${e.isAsync?"})}()))":"}()"}`:`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${oe(e,n.arguments[0])};\n if (${t} === null) {\n return ${oe(e,n.arguments[1])};\n }\n if (${t} === "") {\n return ${oe(e,n.arguments[1])};\n }\n if (${t} === undefined) {\n return ${oe(e,n.arguments[1])};\n }\n return ${t};\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ge(e,n){try{if(n.arguments.length<3)throw new s(null,"WrongNumberOfParameters",n);if(n.arguments.length%2==0)throw new s(null,"WrongNumberOfParameters",n);const t=ee(e);let r="var ";for(let l=0;l<n.arguments.length-1;l+=2)r+=`${t} = lang.mustBoolean(${oe(e,n.arguments[l])}, runtimeCtx);\n if (${t} === true ) {\n return ${oe(e,n.arguments[l+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${r}\n return ${oe(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Le(e,n){try{if(n.arguments.length<2)throw new s(null,"WrongNumberOfParameters",n);if(2===n.arguments.length)return`(${oe(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new s(null,"WrongNumberOfParameters",n);const t=ee(e),r=ee(e);let l="var ";for(let o=1;o<n.arguments.length-1;o+=2)l+=`${r} = ${oe(e,n.arguments[o])};\n if (lang.binary(${r}, ${t}, "==") === true ) {\n return ${oe(e,n.arguments[o+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${oe(e,n.arguments[0])};\n ${l}\n return ${oe(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ue(e,n){try{return le(e,n,(e,n)=>{throw new u(e,"Unrecognized",n)})}catch(t){throw t}}function Ke(e){const n=function(){this._SymbolsMap=new Set(["textformatting","infinity","pi"]),this.textformatting=i.textFormatting()};n.prototype=Object.create(null),n.provided=new Set(["textformatting","infinity","pi"]),n.prototype.infinity=Number.POSITIVE_INFINITY,n.prototype.pi=Math.PI;for(const[t,r]of Object.entries(e))n.prototype[t]=new d(r),n.provided.add(t);return n}function Pe(){const e=Object.create(null);_(e,le),P(e,le),D(e,le,ze),U(e,le),G(e,le),K(e,le),W(e,le),e.iif=Ue,e.decode=Ue,e.when=Ue,e.defaultvalue=Ue;const n=Ke(e);L(e,le);return{ScopeSync:Ke(e),ScopeAsync:n}}const{ScopeSync:We,ScopeAsync:Ve}=Pe();function Te(e,n){const t={mode:n,compiled:!0,functions:Object.create(null),signatures:[],standardFunction:le,standardFunctionAsync:le,evaluateIdentifier:ze};for(const r of e)r.registerFunctions(t);if("sync"===n)for(const[r,l]of Object.entries(t.functions))We.prototype[r]=new d(l),We.provided.add(r);else for(const[r,l]of Object.entries(t.functions))Ve.prototype[r]=new d(l),Ve.provided.add(r);for(const r of t.signatures)E(r,n)}function Ze(e,n,t){const r=new Set(e?Ve.provided:We.provided);for(const l in t)r.add(l);for(const l in n)r.add(l);return r}function qe(e,n,t,r){const l=e?new Ve:new We;for(const o in t)l[o]=t[o],l._SymbolsMap.add(o);for(const o in n){const e=n[o];l._SymbolsMap.add(o),Q(e)?l[o]=p.createFromGraphic(e,r??null):l[o]=e}return l}function ze(e,n){const t=n.name;if("_SymbolsMap"===t)throw new u(e,"InvalidIdentifier",null);if(e.localStack.length>0){const n=e.localStack[e.localStack.length-1];if(!t.toLowerCase().startsWith("_t")&&void 0!==n[t])return n[t];const r=e.mangleMap[t];if(void 0!==r&&void 0!==n[r])return n[r]}if(!t.toLowerCase().startsWith("_t")&&void 0!==e.globalScope[t])return e.globalScope[t];if(e.globalScope._SymbolsMap.has(t))return e.globalScope[t];const r=e.mangleMap[t];return void 0!==r?e.globalScope[r]:void 0}Te([R],"sync"),Te([R],"async"),Te([B],"async");const Je={isNumber:e=>Y(e),isArray:e=>J(e),isImmutableArray:e=>F(e),isDictionaryLike:e=>x(e),isString:e=>z(e),isDictionary:e=>N(e),isGeometry:e=>j(e),getGeometryKeys:e=>a(e),geometryMember:(e,n,t,r,l=1)=>o(e,n,t,r,l),error(e){throw new u(null,e,null)},__awaiter(e,n,t,r){const l=r.apply(e,n||[]);let o=l.next();for(;!o.done&&!T(o.value);)o=l.next(o.value);return o.done?o.value:new Promise((e,n)=>{function t(r){for(;!r.done;){if(T(r.value))return void Promise.resolve(r.value).then(e=>{try{t(l.next(e))}catch(r){n(r)}},e=>{try{t(l.throw(e))}catch(r){n(r)}});try{r=l.next(r.value)}catch(o){return void n(o)}}e(r.value)}t(o)})},functionDepthchecker:(e,n)=>function(){if(n.depthCounter.depth++,n.localStack.push({}),n.depthCounter.depth>64)throw new u(null,"MaximumCallDepth",null);const t=e.apply(this,arguments);return T(t)?t.then(e=>(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,e)):(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,t)},chkAssig(e,n){if(void 0===n.gdefs[e])throw new u(n,"InvalidIdentifier",null);return e},mustBoolean(e,n){if(!0===e||!1===e)return e;throw new u(n,"BooleanConditionRequired",null)},setAssig:(e,n)=>(n.gdefs[e]=1,e),castString:e=>A(e),aCheck(e,n){if(S(e)){if("ArrayExpression"===n)throw new u(null,"NoFunctionInArray",null);if("ObjectExpression"===n)throw new u(null,"NoFunctionInDictionary",null);throw new u(null,"NoFunctionInTemplateLiteral",null)}return e===v?null:e},Dictionary:i,Feature:p,UserDefinedCompiledFunction:re,dictionary(e){const n=Object.create(null),t=new Map;for(let l=0;l<e.length;l+=2){if(S(e[l+1]))throw new u(null,"NoFunctionInDictionary",null);if(!1===z(e[l]))throw new u(null,"KeyMustBeString",null);let r=e[l].toString();const o=r.toLowerCase();t.has(o)?r=t.get(o):t.set(o,r),e[l+1]===v?n[r]=null:n[r]=e[l+1]}const r=new i(n);return r.immutable=!1,r},entry:(e,n)=>i.containerEntry(e,n),strCheck(e){if(!1===z(e))throw new u(null,"KeyMustBeString",null);return e},unary(e,n){if(H(e)){if("!"===n)return!e;if("-"===n)return-1*M(e);if("+"===n)return 1*M(e);if("~"===n)return~M(e);throw new u(null,"UnsupportUnaryOperator",null)}if("-"===n)return-1*M(e);if("+"===n)return 1*M(e);if("~"===n)return~M(e);throw new u(null,"UnsupportUnaryOperator",null)},logicalCheck(e){if(!1===H(e))throw new u(null,"LogicExpressionOrAnd",null);return e},logical(e,n,t){if(H(e)&&H(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new u(null,"LogicExpressionOrAnd",null)}throw new u(null,"LogicExpressionOrAnd",null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return I(M(e),M(n),t);case"==":case"=":return k(e,n);case"!=":return!k(e,n);case"<":case">":case"<=":case">=":return O(e,n,t);case"+":return z(e)||z(n)?A(e)+A(n):M(e)+M(n);case"-":return M(e)-M(n);case"*":return M(e)*M(n);case"/":return M(e)/M(n);case"%":return M(e)%M(n);default:throw new u(null,"UnsupportedOperator",null)}},assign(e,n,t){switch(n){case"=":return e===v?null:e;case"/=":return M(t)/M(e);case"*=":return M(t)*M(e);case"-=":return M(t)-M(e);case"+=":return z(t)||z(e)?A(t)+A(e):M(t)+M(e);case"%=":return M(t)%M(e);default:throw new u(null,"UnsupportedOperator",null)}},update(e,n,t,r){const l=M(e[n]);return e[n]="++"===t?l+1:l-1,!1===r?l:"++"===t?l+1:l-1},graphicToFeature:(e,n,t)=>null===e?null:p.createFromGraphicLikeObject(e.geometry,e.attributes,n,t.timeZone),memberupdate(e,n,t,r){let l;if(J(e)){if(!Y(n))throw new u(null,"ArrayAccessMustBeNumber",null);if(n<0&&(n=e.length+n),n<0||n>=e.length)throw new u(null,"OutOfBounds",null);l=M(e[n]),e[n]="++"===t?l+1:l-1}else if(e instanceof i){if(!1===z(n))throw new u(null,"KeyAccessorMustBeString",null);if(!0!==e.hasField(n))throw new u(null,"FieldNotFound",null,{key:n});l=M(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else if(C(e)){if(!1===z(n))throw new u(null,"KeyAccessorMustBeString",null);if(!0!==e.hasField(n))throw new u(null,"FieldNotFound",null);l=M(e.field(n)),e.setField(n,"++"===t?l+1:l-1)}else{if(F(e))throw new u(null,"Immutable",null);if(!(e instanceof Xe))throw new u(null,"InvalidIdentifier",null);if(!1===z(n))throw new u(null,"ModuleAccessorMustBeString",null);if(!0!==e.hasGlobal(n))throw new u(null,"ModuleExportNotFound",null);l=M(e.global(n)),e.setGlobal(n,"++"===t?l+1:l-1)}return!1===r?l:"++"===t?l+1:l-1},assignmember(e,n,t,r){if(J(e)){if(!Y(n))throw new u(null,"ArrayAccessMustBeNumber",null);if(n<0&&(n=e.length+n),n<0||n>e.length)throw new u(null,"OutOfBounds",null);if(n===e.length){if("="!==t)throw new u(null,"OutOfBounds",null);e[n]=this.assign(r,t,e[n])}else e[n]=this.assign(r,t,e[n])}else if(e instanceof i){if(!1===z(n))throw new u(null,"KeyAccessorMustBeString",null);if(!0===e.hasField(n))e.setField(n,this.assign(r,t,e.field(n)));else{if("="!==t)throw new u(null,"FieldNotFound",null);e.setField(n,this.assign(r,t,null))}}else if(C(e)){if(!1===z(n))throw new u(null,"KeyAccessorMustBeString",null);if(!0===e.hasField(n))e.setField(n,this.assign(r,t,e.field(n)));else{if("="!==t)throw new u(null,"FieldNotFound",null);e.setField(n,this.assign(r,t,null))}}else{if(F(e))throw new u(null,"Immutable",null);if(!(e instanceof Xe))throw new u(null,"InvalidIdentifier",null);if(!1===z(n))throw new u(null,"ModuleAccessorMustBeString",null);if(!e.hasGlobal(n))throw new u(null,"ModuleExportNotFound",null);e.setGlobal(n,this.assign(r,t,e.global(n)))}},member(e,n){if(null===e)throw new u(null,"MemberOfNull",null);if(e instanceof i||x(e)){if(z(n))return e.field(n);throw new u(null,"InvalidMemberAccessKey",null)}if(e instanceof Z){if(z(n))return o(e,n,null,null);throw new u(null,"InvalidMemberAccessKey",null)}if(J(e)){if(Y(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new u(null,"OutOfBounds",null);return e[n]}throw new u(null,"InvalidMemberAccessKey",null)}if(z(e)){if(Y(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new u(null,"OutOfBounds",null);return e[n]}throw new u(null,"InvalidMemberAccessKey",null)}if(F(e)){if(Y(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length()+n),n>=e.length()||n<0)throw new u(null,"OutOfBounds",null);return e.get(n)}throw new u(null,"InvalidMemberAccessKey",null)}if(e instanceof Xe){if(z(n))return e.global(n);throw new u(null,"InvalidMemberAccessKey",null)}throw new u(null,"InvalidMemberAccessKey",null)},callfunc:(e,n,t)=>e.call(t,{arguments:n,preparsed:!0}),loadModule(e,n){const t=n.moduleFactoryMap[e];if(n.moduleSingletons[t])return n.moduleSingletons[t];const r=n.moduleFactory[t]({moduleSingletons:n.moduleSingletons,depthCounter:n.depthCounter,lrucache:n.lrucache,interceptor:n.interceptor,services:n.services,console:n.console,abortSignal:n.abortSignal,timeZone:n.timeZone??null,spatialReference:n.spatialReference});return n.moduleSingletons[t]=r,r},callModuleFunction(e,n,t,r){if(!(e instanceof Xe))throw new u(null,"FunctionNotFound",null);const l=e.global(t);if(!1===S(l))throw new u(null,"CallNonFunction",null);return l.call(r,{preparsed:!0,arguments:n})},getNestedOptionalValue:(e,n)=>l(e,n)};function Ye(e){console.log(e)}function He(n,t,l=!1){null==t&&(t={vars:{},customfunctions:{}});let o=null;n.usesModules&&(o=new r(null,n.loadedModules));const a={isAsync:l,globalScope:{provided:Ze(l,t.vars,t.customfunctions),variables:new Map},moduleFactory:{},moduleFactoryMap:{},undeclaredGlobalsInFunctions:new Map,libraryResolver:o,localScope:null,mangleMap:{},depthCounter:{depth:1},exports:{},symbols:{symbolCounter:0}};let i=be(a,n);""===i&&(i="lc.voidOperation; "),a.undeclaredGlobalsInFunctions.size>0&&a.undeclaredGlobalsInFunctions.forEach(e=>{throw new s(null,"InvalidIdentifier",e.node)});let c="";c=l?"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"+i+"\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 "+i+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const p=a.moduleFactory,d=a.moduleFactoryMap,f=a.exports,m={};let g;for(g in f)m[g]=a.mangleMap[g]??g;const x={lc:h,lang:Je,mangles:a.mangleMap,postProcess(e){if(e instanceof y&&(e=e.value),e instanceof w&&(e=e.value),e===v&&(e=null),e===b)throw new u(null,"IllegalResult",null);if(e===$)throw new u(null,"IllegalResult",null);if(S(e))throw new u(null,"IllegalResult",null);return e},prepare(n,t){const r=n.spatialReference??q.WebMercator,l=qe(t,n.vars,n.customfunctions,n.timeZone);return{localStack:[],moduleFactory:p,moduleFactoryMap:d,mangleMap:this.mangles,moduleSingletons:{},exports:f,gdefs:{},exportmangle:m,spatialReference:r,globalScope:l,abortSignal:n.abortSignal??e,services:n.services,console:n.console??Ye,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,depthCounter:{depth:1},track:n.track}}};return new Function("context",c).bind(x)}async function Qe(){return Te([await import("./functions/geomasync.js")],"async"),!0}class Xe extends t{constructor(e){super(),this.moduleContext=e}hasGlobal(e){return void 0===this.moduleContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.moduleContext.exports[e]}setGlobal(e,n){const t=this.moduleContext.globalScope,r=e.toLowerCase();if(S(n))throw new u(null,"AssignModuleFunction",null);t[this.moduleContext.exportmangle[r]]=n}global(e){const n=this.moduleContext.globalScope,t=e.toLowerCase(),r=n[this.moduleContext.exportmangle[t]];if(void 0===r)throw new u(null,"InvalidIdentifier",null);if(S(r)&&!(r instanceof m)){const e=new m;return e.fn=r,e.parameterEvaluator=le,e.context=this.moduleContext,n[this.moduleContext.exportmangle[t]]=e,e}return r}}function en(n,t,l){const o={isAsync:l,moduleFactory:t.moduleFactory,moduleFactoryMap:{},libraryResolver:new r(null,n.loadedModules),globalScope:{provided:Ze(l,null,null),variables:new Map},localScope:null,mangleMap:{},undeclaredGlobalsInFunctions:new Map,depthCounter:{depth:1},exports:{},symbols:{symbolCounter:0}};let a=be(o,n);""===a&&(a="lc.voidOperation; ");let i="";i=l?"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"+a+"\n return lastStatement; }); } \n yield mainBody(); \n return this.prepareModule(runtimeCtx); }); ":"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 "+a+"\n return lastStatement; } \n mainBody(); \n return this.prepareModule(runtimeCtx); ";const s=o.moduleFactory,u=o.moduleFactoryMap,c=o.exports,p={};let d;for(d in c)p[d]=o.mangleMap[d]??d;const f={lc:h,lang:Je,mangles:o.mangleMap,prepareModule:e=>new Xe(e),prepare(n,t){const r=n.spatialReference??q.WebMercator,l=qe(t,null,null,n.timeZone);return{localStack:[],exports:c,exportmangle:p,gdefs:{},moduleFactory:s,moduleFactoryMap:u,moduleSingletons:n.moduleSingletons,mangleMap:this.mangles,spatialReference:r,globalScope:l,abortSignal:n.abortSignal??e,services:n.services,console:n.console??Ye,lrucache:n.lrucache,timeZone:n.timeZone??null,interceptor:n.interceptor,depthCounter:n.depthCounter,track:null}}};return new Function("context",i).bind(f)}export{re as UserDefinedCompiledFunction,He as compileScript,Qe as enableAsyncSupport,Te as extend};
|
|
5
|
+
import{toSymbolId as e,neverAbortedSignal as n}from"./arcadeEnvironment.js";import{ArcadeModule as t}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as l}from"./compilerUtils.js";import{getNestedOptionalValue as a,geometryMember as s,getGeometryKeys as i}from"./containerUtils.js";import u from"./Dictionary.js";import{ArcadeExecutionError as c,ArcadeCompilationError as m,ArcadeUncompilableError as f}from"./executionError.js";import p from"./Feature.js";import{NativeFunction as d,ArcadeFunction as g,ScopeMarshalledFunction as h,wrapModuleScopedResponse as y}from"./FunctionWrapper.js";import{p as w,q as b,i as v,r as $,j as S,k as x,s as F,u as M,v as I,w as O,x as C,y as j,h as A,n as k}from"../chunks/languageUtils.js";import{addFunctionDeclaration as N}from"./treeAnalysis.js";import{A as E}from"../chunks/aiServices.js";import{A as B}from"../chunks/array.js";import{registerFunctions as _}from"./functions/date.js";import{registerFunctions as V}from"./functions/feature.js";import{registerFunctions as R}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/geomsync.js";import{registerFunctions as T}from"./functions/maths.js";import{registerFunctions as D}from"./functions/stats.js";import{registerFunctions as U}from"./functions/string.js";import{registerFunctions as G}from"./functions/track.js";import{neverReached as K}from"../core/compilerUtils.js";import q from"../core/Logger.js";import{isPromiseLike as P}from"../core/promiseUtils.js";import{addMany as z}from"../core/SetUtils.js";import W from"../geometry/Geometry.js";import Z from"../geometry/SpatialReference.js";import{isGraphic as J,isString as Y,isArray as H,isNumber as Q,isBoolean as X}from"../support/guards.js";const ee=()=>q.getLogger("esri.arcade.arcadeCompiler");class ne{constructor(){this._symbolCounter=0}nextVarId(){return this._symbolCounter+=1,`_T${this._symbolCounter}`}nextTempVarId(){return this._symbolCounter+=1,`_Tvar${this._symbolCounter}`}nextLocalsSymbolMapId(){return this._symbolCounter+=1,`_Locals${this._symbolCounter}`}}function te(e,n){const t=e.localScope?.get(n);if(null!=t)return{scope:"local",name:n,var:t};const r=e.globalScope.get(n);return null!=r?{scope:"global",name:n,var:r}:e.standardGlobals.has(n)?{scope:"global",name:n,var:n}:null}function re(n,t,r="InvalidIdentifier"){const o=te(n,e(t));if(null!=o)return o;throw new m(null,r,t)}function oe(n,t,r){const o=te(n,e(t));if(null==o)throw ee().error(`Internal error: Symbol "${t.name}" not declared.`),new m(null,"NeverReach",t);if(null!=r&&o.scope!==r)throw ee().error(`Internal error: Expected to resolve "${t.name}" in the ${r} scope but is in the ${o.scope} scope.`),new m(null,"NeverReach",t);return o}function le(n,t){const r=e(t),o=n.symbolMetadata;if(n.localStack.length>0){const e=n.localStack[n.localStack.length-1],t=o.locals.get(e._SymbolsMapId);if(null==t)return void ee().error(`Internal error: no reflection metadata for ${e._SymbolsMapId}`);const l=t.get(r);if(null!=l)return Qe.requireInitialized(e[l])}const l=o.globals.get(r);if(null!=l)return Qe.requireInitialized(n.globalScope[l]);if(o.standardGlobals.has(r))return Qe.requireInitialized(n.globalScope[r]);throw new c(null,"InvalidIdentifier",null)}class ae extends g{constructor(e,n){super(),this.paramCount=n,this.fn=e}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new c(e,"WrongNumberOfParameters",null);return this.fn(...n)}}call(e,n){return this.fn(...n.arguments)}marshalledCall(e,n,t,r){return r(e,n,(n,o,l)=>{l=l.map(n=>!v(n)||n instanceof h?n:y(n,e,r));const a=this.call(t,{arguments:l});return P(a)?a.then(e=>y(e,t,r)):a})}}function se(e,n,t){try{return t(e,null,n.arguments)}catch(r){throw r}}function ie(e,n,t,r,l,a){const{globals:s,exports:i}=o(e);z(s,t);const u=new ne,c=[],m=new Map;for(const o of s)if(t.has(o)||n.has(o))m.set(o,o);else{const e=u.nextVarId();m.set(o,e),c.push(`gscope[${JSON.stringify(e)}] = ${Ye};`)}const f=new Map,p=Object.create(null),d={isAsync:r,symbols:u,standardGlobals:n,globalScope:m,exports:i,localScope:null,allLocalSymbolMetadata:f,moduleFactory:a,moduleFactoryMap:p,libraryResolver:l};return{body:[...c,"var lastStatement = lc.voidOperation;",Fe(d,e),"return lastStatement;"].join("\n"),symbolMetadata:{standardGlobals:n,exports:i,globals:m,locals:f},moduleFactoryMap:p}}function ue(e,n){switch(n.type){case"AssignmentExpression":return ve(e,n);case"UpdateExpression":return we(e,n);case"TemplateLiteral":return Be(e,n);case"Identifier":return Re(e,n);case"MemberExpression":return ke(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return Le(e,n);case"UnaryExpression":return Ne(e,n);case"BinaryExpression":return _e(e,n);case"LogicalExpression":return Ve(e,n);case"ArrayExpression":return Ee(e,n);case"ObjectExpression":return me(e,n);default:throw new m(null,"Unrecognized",n)}}function ce(e,n){switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return je(e,n);case"BlockStatement":return Fe(e,n);case"FunctionDeclaration":return Ce(e,n);case"ImportDeclaration":return Ie(e,n);case"ExportNamedDeclaration":return ce(e,n.declaration);case"ReturnStatement":return Me(e,n);case"IfStatement":return xe(e,n);case"ExpressionStatement":return $e(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return ye(e,n);case"ForInStatement":return ge(e,n);case"ForOfStatement":return he(e,n);case"WhileStatement":return be(e,n);default:throw new m(null,"Unrecognized",n)}}function me(e,n){let t="lang.dictionary([";for(let r=0;r<n.properties.length;r++){const o=n.properties[r];let l;l="Identifier"===o.key.type?"'"+o.key.name+"'":ue(e,o.key);r>0&&(t+=","),t+="lang.strCheck("+l+",'ObjectExpression'),lang.aCheck("+ue(e,o.value)+", 'ObjectExpression')"}return t+="])",t}function fe(e,n,t,r,o=(e,n)=>`${e} = ${n}`){const l=e.symbols.nextTempVarId(),a=e.symbols.nextTempVarId();return[`var ${l} = ${t};`,`for (var ${a} = 0; ${a} < ${l}; ${a}++) {`,` ${o(n,a)}`,` ${ce(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function pe(e,n,t,r,o=e=>e){const l=e.symbols.nextTempVarId(),a=e.symbols.nextTempVarId();return[`var ${l} = ${t};`,`for (var ${a} of ${l}) {`,` ${n} = ${o(a)};`,` ${ce(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function de(e,n,t,r){const o=e.symbols.nextTempVarId();return[`var ${o} = ${t}.iterator(runtimeCtx.abortSignal);`,`while ((${n} = lang.graphicToFeature(yield ${o}.next(), ${t}, runtimeCtx)) != null) {`,` ${ce(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ge(e,n){const t=e.symbols.nextTempVarId();let r,o,l="var "+t+" = "+ue(e,n.right)+";\n";switch("VariableDeclaration"===n.left.type?(r=oe(e,n.left.declarations[0].id),l+=ce(e,n.left)):r=re(e,n.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw K(r.scope),new m(null,"NeverReach",n.left)}return l+="if ("+t+"===null) { lastStatement = lc.voidOperation; }\n ",l+="else if (lc.isArray("+t+") || lc.isString("+t+")) {\n",l+=fe(e,o,`${t}.length`,n.body),l+="}\n",l+="else if (lc.isImmutableArray("+t+")) {\n",l+=fe(e,o,`${t}.length()`,n.body),l+="}\n",l+="else if (( "+t+" instanceof lang.Dictionary) || lc.isDictionaryLike("+t+")) {\n",l+=pe(e,o,`${t}.keys()`,n.body),l+="}\n",e.isAsync&&(l+="else if (lc.isFeatureSet("+t+")) {\n",l+=de(e,o,t,n.body),l+="}\n"),l+=`else if (lc.isGeometry(${t})) {\n`,l+=pe(e,o,`lang.getGeometryKeys(${t})`,n.body),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function he(e,n){const t=e.symbols.nextTempVarId();let r,o,l="var "+t+" = "+ue(e,n.right)+";\n";switch("VariableDeclaration"===n.left.type?(r=oe(e,n.left.declarations[0].id),l+=ce(e,n.left)):r=re(e,n.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw K(r.scope),new m(null,"NeverReach",n.left)}return l+="if ("+t+"===null) { lastStatement = lc.voidOperation; }\n ",l+="else if (lc.isArray("+t+") || lc.isString("+t+")) {\n",l+=fe(e,o,`${t}.length`,n.body,(e,n)=>[`if (${n} >= ${t}.length) {`," lang.error('OutOfBounds');","}",`${e} = ${t}[${n}];`].join("\n")),l+="}\n",l+="else if (lc.isImmutableArray("+t+")) {\n",l+=fe(e,o,`${t}.length()`,n.body,(e,n)=>`${e} = ${t}.get(${n});`),l+="}\n",l+="else if (( "+t+" instanceof lang.Dictionary) || lc.isDictionaryLike("+t+")) {\n",l+=pe(e,o,`${t}.keys()`,n.body,e=>`lang.entry(${e}, ${t}.field(${e}))`),l+="}\n",e.isAsync&&(l+="else if (lc.isFeatureSet("+t+")) {\n",l+=de(e,o,t,n.body),l+="}\n"),l+=`else if (lc.isGeometry(${t})) {\n`,l+=pe(e,o,`lang.getGeometryKeys(${t})`,n.body,e=>`lang.entry(${e}, lang.geometryMember(${t}, ${e}, runtimeCtx, null, 1))`),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function ye(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&("VariableDeclaration"===n.init.type?t+=ce(e,n.init):t+=ue(e,n.init)+"; ");const r=e.symbols.nextTempVarId(),o=e.symbols.nextTempVarId();return t+="var "+r+" = true; ",t+="\n do { ",null!==n.update&&(t+=" if ("+r+"===false) {\n "+ue(e,n.update)+" \n}\n "+r+"=false; \n"),null!==n.test&&(t+="var "+o+" = "+ue(e,n.test)+"; ",t+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error('BooleanConditionRequired'); }\n"),t+=ce(e,n.body),null!==n.update&&(t+="\n "+ue(e,n.update)),t+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function we(e,n){if("CallExpression"===n.argument.type)throw new m(null,"NeverReach",n);let t;if("MemberExpression"===n.argument.type){const r=ue(e,n.argument.object);return t=!0===n.argument.computed?ue(e,n.argument.property):"'"+n.argument.property.name+"'","lang.memberupdate("+r+","+t+",'"+n.operator+"',"+n.prefix+")"}const r=re(e,n.argument);switch(Oe(r),r.scope){case"local":return`lang.update(lscope, '${r.var}', '${n.operator}', ${n.prefix})`;case"global":return`lang.update(gscope, '${r.var}', '${n.operator}', ${n.prefix})`;default:throw K(r.scope),new m(null,"NeverReach",n.argument)}}function be(e,n){let t="lastStatement = lc.voidOperation; \n";const r=e.symbols.nextTempVarId();return t+=`\n var ${r} = true;\n do {\n ${r} = ${ue(e,n.test)};\n if (${r}==false) {\n break;\n }\n if (${r}!==true) {\n lang.error('BooleanConditionRequired');\n }\n ${ce(e,n.body)}\n }\n while (${r} !== false);\n lastStatement = lc.voidOperation;\n `,t}function ve(e,n){const t=ue(e,n.right);if("MemberExpression"===n.left.type){let r;const o=ue(e,n.left.object);return r=!0===n.left.computed?ue(e,n.left.property):"'"+n.left.property.name+"'","lang.assignmember("+o+","+r+",'"+n.operator+"',"+t+")"}const r=re(e,n.left);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=lang.assign(${t},'${n.operator}', ${"="===n.operator?"null":He(`lscope['${r.var}']`)})`;case"global":return`gscope['${r.var}']=lang.assign(${t},'${n.operator}', ${"="===n.operator?"null":He(`gscope['${r.var}']`)})`;default:throw K(r.scope),new m(null,"NeverReach",n.left)}}function $e(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+ue(e,n.expression)+"; \n ":"lastStatement = "+ue(e,n.expression)+"; "}function Se(e,n){return"BlockStatement"===n.type?ce(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?ce(e,n)+"; ":"ExpressionStatement"===n.type?ce(e,n):ce(e,n)+"; "}function xe(e,n){return`if (lang.mustBoolean(${ue(e,n.test)}, runtimeCtx) === true) {\n ${Se(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+xe(e,n.alternate):` else {\n ${Se(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function Fe(e,n){let t="";for(let r=0;r<n.body.length;r++)"EmptyStatement"!==n.body[r].type&&("ReturnStatement"===n.body[r].type||"BreakStatement"===n.body[r].type||"ContinueStatement"===n.body[r].type?t+=ce(e,n.body[r])+"; \n":t+=ce(e,n.body[r])+" \n");return t}function Me(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+ue(e,n.argument)}function Ie(e,n){const t=oe(e,n.specifiers[0].local,"global"),r=e.libraryResolver?.loadLibrary(t.name),o=e.symbols.nextVarId();void 0===e.moduleFactory[r.uri]&&(e.moduleFactory[r.uri]=rn(r.syntax,e.moduleFactory,e.isAsync)),e.moduleFactoryMap[o]=r.uri;let l="";return l=e.isAsync?"(yield lang.loadModule('"+o+"', runtimeCtx) ); ":"lang.loadModule('"+o+"', runtimeCtx); ",Oe(t),`gscope['${t.var}']=${l}`}function Oe(e){if("global"===e.scope)switch(e.name){case"iif":case"when":case"defaultvalue":case"decode":throw new f}}function Ce(n,t){const r=new Set(t.params.map(n=>e(n))),o=l(t);z(o,r);const a=n.symbols,s=new Map;for(const e of o)s.set(e,a.nextVarId());const i=a.nextLocalsSymbolMapId();n.allLocalSymbolMetadata.set(i,s);const u={...n,localScope:s},c=[`lscope._SymbolsMapId = ${JSON.stringify(i)};`];for(let e=0;e<t.params.length;e++){const n=oe(u,t.params[e],"local");Oe(n),c.push(`lscope['${n.var}'] = arguments[${e}];`)}for(const[e,l]of s)r.has(e)||c.push(`lscope['${l}'] = ${Ye};`);const m=Fe(u,t.body),f=!0===n.isAsync?["return lang.__awaiter(this, void 0, void 0, function* () {",` ${m}`," return lastStatement;","});"]:[m,"return lastStatement;"],p=["new lang.UserDefinedCompiledFunction("," lang.functionDepthchecker("," function() {"," var lastStatement = lc.voidOperation;"," var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];",...c,...f," },"," runtimeCtx,"," ),",` ${t.params.length},`,")"].join("\n"),d=oe(n,t.id,"global");return Oe(d),`gscope['${d.var}']=${p}; lastStatement = lc.voidOperation;`}function je(e,n){const t=[];for(let r=0;r<n.declarations.length;r++)t.push(Ae(e,n.declarations[r]));return t.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function Ae(e,n){const t=null===n.init?"null":ue(e,n.init),r=oe(e,n.id);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=${t};`;case"global":return`gscope['${r.var}']=${t};`;default:throw K(r.scope),new m(null,"NeverReach",n.id)}}function ke(e,n){try{let t;return t=!0===n.computed?ue(e,n.property):"'"+n.property.name+"'","lang.member("+ue(e,n.object)+","+t+")"}catch(t){throw t}}function Ne(e,n){try{return"lang.unary("+ue(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function Ee(e,n){try{const t=[];for(let r=0;r<n.elements.length;r++)"Literal"===n.elements[r].type?t.push(ue(e,n.elements[r])):t.push("lang.aCheck("+ue(e,n.elements[r])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function Be(e,n){try{const t=[];let r=0;for(const o of n.quasis)t.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(t.push(n.expressions[r]?"lang.castString(lang.aCheck("+ue(e,n.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function _e(e,n){try{return"lang.binary("+ue(e,n.left)+","+ue(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function Ve(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new m(null,"LogicalExpressionOnlyBoolean",n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new m(null,"LogicalExpressionOnlyBoolean",n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+ue(e,n.left)+") "+n.operator+" lang.logicalCheck("+ue(e,n.right)+"))";throw new m(null,"LogicExpressionOrAnd",null)}catch(t){throw t}}function Re(e,n){const t=re(e,n);switch(Oe(t),t.scope){case"local":return He(`lscope['${t.var}']`);case"global":return He(`gscope['${t.var}']`);default:throw K(t.scope),new m(null,"NeverReach",n)}}function Le(e,n){try{if("MemberExpression"===n.callee.type){let t;t=!0===n.callee.computed?ue(e,n.callee.property):"'"+n.callee.property.name+"'";let r="[";for(let o=0;o<n.arguments.length;o++)o>0&&(r+=", "),r+=ue(e,n.arguments[o]);return r+="]",e.isAsync?"(yield lang.callModuleFunction("+ue(e,n.callee.object)+","+r+","+t+",runtimeCtx))":"lang.callModuleFunction("+ue(e,n.callee.object)+","+r+","+t+",runtimeCtx)"}if("Identifier"!==n.callee.type)throw new m(null,"FunctionNotFound",n);const t=re(e,n.callee,"FunctionNotFound");if("global"===t.scope)switch(t.name){case"iif":return Te(e,n);case"when":return Ue(e,n);case"defaultvalue":return De(e,n);case"decode":return Ge(e,n)}let r;switch(t.scope){case"local":r=He(`lscope['${t.var}']`);break;case"global":r=He(`gscope['${t.var}']`);break;default:throw K(t.scope),new m(null,"NeverReach",n.callee)}let o="[";for(let l=0;l<n.arguments.length;l++)l>0&&(o+=", "),o+=ue(e,n.arguments[l]);return o+="]",e.isAsync?"(yield lang.callfunc("+r+","+o+",runtimeCtx) )":"lang.callfunc("+r+","+o+",runtimeCtx)"}catch(t){throw t}}function Te(e,n){try{if(3!==n.arguments.length)throw new m(null,"WrongNumberOfParameters",n);const t=e.symbols.nextTempVarId();return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ue(e,n.arguments[0])};\n\n if (${t} === true) {\n return ${ue(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${ue(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function De(e,n){try{if(n.arguments.length<2||n.arguments.length>3)throw new m(null,"WrongNumberOfParameters",n);const t=e.symbols.nextTempVarId(),r=e.symbols.nextTempVarId();return 3===n.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ue(e,n.arguments[0])};\n var ${r} = ${ue(e,n.arguments[1])};\n ${t} = lang.getNestedOptionalValue(${t}, ${r});\n return ${t} != null && ${t} !== "" ? ${t} : ${ue(e,n.arguments[2])};\n ${e.isAsync?"})}()))":"}()"}`:`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ue(e,n.arguments[0])};\n if (${t} === null) {\n return ${ue(e,n.arguments[1])};\n }\n if (${t} === "") {\n return ${ue(e,n.arguments[1])};\n }\n if (${t} === undefined) {\n return ${ue(e,n.arguments[1])};\n }\n return ${t};\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ue(e,n){try{if(n.arguments.length<3)throw new m(null,"WrongNumberOfParameters",n);if(n.arguments.length%2==0)throw new m(null,"WrongNumberOfParameters",n);const t=e.symbols.nextTempVarId();let r="var ";for(let o=0;o<n.arguments.length-1;o+=2)r+=`${t} = lang.mustBoolean(${ue(e,n.arguments[o])}, runtimeCtx);\n if (${t} === true ) {\n return ${ue(e,n.arguments[o+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${r}\n return ${ue(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ge(e,n){try{if(n.arguments.length<2)throw new m(null,"WrongNumberOfParameters",n);if(2===n.arguments.length)return`(${ue(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new m(null,"WrongNumberOfParameters",n);const t=e.symbols.nextTempVarId(),r=e.symbols.nextTempVarId();let o="var ";for(let l=1;l<n.arguments.length-1;l+=2)o+=`${r} = ${ue(e,n.arguments[l])};\n if (lang.binary(${r}, ${t}, "==") === true ) {\n return ${ue(e,n.arguments[l+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ue(e,n.arguments[0])};\n ${o}\n return ${ue(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ke(e,n){try{return se(e,n,(e,n)=>{throw new c(e,"Unrecognized",n)})}catch(t){throw t}}function qe(e){const n=function(){this.textformatting=u.textFormatting()};n.prototype=Object.create(null),n.provided=new Set(["textformatting","infinity","pi"]),n.prototype.infinity=Number.POSITIVE_INFINITY,n.prototype.pi=Math.PI;for(const[t,r]of Object.entries(e))n.prototype[t]=new d(r),n.provided.add(t);return n}function Pe(){const e=Object.create(null);_(e,se),U(e,se),V(e,se,le),T(e,se),R(e,se),D(e,se),G(e,se),e.iif=Ke,e.decode=Ke,e.when=Ke,e.defaultvalue=Ke;const n=qe(e);L(e,se);return{ScopeSync:qe(e),ScopeAsync:n}}const{ScopeSync:ze,ScopeAsync:We}=Pe();function Ze(e,n){const t={mode:n,compiled:!0,functions:Object.create(null),signatures:[],standardFunction:se,standardFunctionAsync:se,evaluateIdentifier:le};for(const r of e)r.registerFunctions(t);if("sync"===n)for(const[r,o]of Object.entries(t.functions))ze.prototype[r]=new d(o),ze.provided.add(r);else for(const[r,o]of Object.entries(t.functions))We.prototype[r]=new d(o),We.provided.add(r);for(const r of t.signatures)N(r,n)}Ze([B],"sync"),Ze([B],"async"),Ze([E],"async");const Je=Symbol("uninitialized"),Ye="lang.uninitialized";function He(e){return`lang.requireInitialized(${e})`}const Qe={uninitialized:Je,requireInitialized(e){if(e===Je)throw new c(null,"InvalidIdentifier",null);return e},isNumber:e=>Q(e),isArray:e=>H(e),isImmutableArray:e=>S(e),isDictionaryLike:e=>$(e),isString:e=>Y(e),isDictionary:e=>k(e),isGeometry:e=>A(e),getGeometryKeys:e=>i(e),geometryMember:(e,n,t,r,o=1)=>s(e,n,t,r,o),error(e){throw new c(null,e,null)},__awaiter(e,n,t,r){const o=r.apply(e,n||[]);let l=o.next();for(;!l.done&&!P(l.value);)l=o.next(l.value);return l.done?l.value:new Promise((e,n)=>{function t(r){for(;!r.done;){if(P(r.value))return void Promise.resolve(r.value).then(e=>{try{t(o.next(e))}catch(r){n(r)}},e=>{try{t(o.throw(e))}catch(r){n(r)}});try{r=o.next(r.value)}catch(l){return void n(l)}}e(r.value)}t(l)})},functionDepthchecker:(e,n)=>function(){if(n.depthCounter.depth++,n.localStack.push({}),n.depthCounter.depth>64)throw new c(null,"MaximumCallDepth",null);const t=e.apply(this,arguments);return P(t)?t.then(e=>(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,e)):(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,t)},mustBoolean(e,n){if(!0===e||!1===e)return e;throw new c(n,"BooleanConditionRequired",null)},castString:e=>M(e),aCheck(e,n){if(v(e)){if("ArrayExpression"===n)throw new c(null,"NoFunctionInArray",null);if("ObjectExpression"===n)throw new c(null,"NoFunctionInDictionary",null);throw new c(null,"NoFunctionInTemplateLiteral",null)}return e===I?null:e},Dictionary:u,Feature:p,UserDefinedCompiledFunction:ae,dictionary(e){const n=Object.create(null),t=new Map;for(let o=0;o<e.length;o+=2){if(v(e[o+1]))throw new c(null,"NoFunctionInDictionary",null);if(!1===Y(e[o]))throw new c(null,"KeyMustBeString",null);let r=e[o].toString();const l=r.toLowerCase();t.has(l)?r=t.get(l):t.set(l,r),e[o+1]===I?n[r]=null:n[r]=e[o+1]}const r=new u(n);return r.immutable=!1,r},entry:(e,n)=>u.containerEntry(e,n),strCheck(e){if(!1===Y(e))throw new c(null,"KeyMustBeString",null);return e},unary(e,n){if(X(e)){if("!"===n)return!e;if("-"===n)return-1*F(e);if("+"===n)return 1*F(e);if("~"===n)return~F(e);throw new c(null,"UnsupportUnaryOperator",null)}if("-"===n)return-1*F(e);if("+"===n)return 1*F(e);if("~"===n)return~F(e);throw new c(null,"UnsupportUnaryOperator",null)},logicalCheck(e){if(!1===X(e))throw new c(null,"LogicExpressionOrAnd",null);return e},logical(e,n,t){if(X(e)&&X(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new c(null,"LogicExpressionOrAnd",null)}throw new c(null,"LogicExpressionOrAnd",null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return j(F(e),F(n),t);case"==":case"=":return C(e,n);case"!=":return!C(e,n);case"<":case">":case"<=":case">=":return O(e,n,t);case"+":return Y(e)||Y(n)?M(e)+M(n):F(e)+F(n);case"-":return F(e)-F(n);case"*":return F(e)*F(n);case"/":return F(e)/F(n);case"%":return F(e)%F(n);default:throw new c(null,"UnsupportedOperator",null)}},assign(e,n,t){switch(n){case"=":return e===I?null:e;case"/=":return F(t)/F(e);case"*=":return F(t)*F(e);case"-=":return F(t)-F(e);case"+=":return Y(t)||Y(e)?M(t)+M(e):F(t)+F(e);case"%=":return F(t)%F(e);default:throw new c(null,"UnsupportedOperator",null)}},update(e,n,t,r){const o=F(this.requireInitialized(e[n]));return e[n]="++"===t?o+1:o-1,!1===r?o:"++"===t?o+1:o-1},graphicToFeature:(e,n,t)=>null===e?null:p.createFromGraphicLikeObject(e.geometry,e.attributes,n,t.timeZone),memberupdate(e,n,t,r){let o;if(H(e)){if(!Q(n))throw new c(null,"ArrayAccessMustBeNumber",null);if(n<0&&(n=e.length+n),n<0||n>=e.length)throw new c(null,"OutOfBounds",null);o=F(e[n]),e[n]="++"===t?o+1:o-1}else if(e instanceof u){if(!1===Y(n))throw new c(null,"KeyAccessorMustBeString",null);if(!0!==e.hasField(n))throw new c(null,"FieldNotFound",null,{key:n});o=F(e.field(n)),e.setField(n,"++"===t?o+1:o-1)}else if(x(e)){if(!1===Y(n))throw new c(null,"KeyAccessorMustBeString",null);if(!0!==e.hasField(n))throw new c(null,"FieldNotFound",null);o=F(e.field(n)),e.setField(n,"++"===t?o+1:o-1)}else{if(S(e))throw new c(null,"Immutable",null);if(!(e instanceof tn))throw new c(null,"InvalidIdentifier",null);if(!1===Y(n))throw new c(null,"ModuleAccessorMustBeString",null);if(!0!==e.hasGlobal(n))throw new c(null,"ModuleExportNotFound",null);o=F(e.global(n)),e.setGlobal(n,"++"===t?o+1:o-1)}return!1===r?o:"++"===t?o+1:o-1},assignmember(e,n,t,r){if(H(e)){if(!Q(n))throw new c(null,"ArrayAccessMustBeNumber",null);if(n<0&&(n=e.length+n),n<0||n>e.length)throw new c(null,"OutOfBounds",null);if(n===e.length){if("="!==t)throw new c(null,"OutOfBounds",null);e[n]=this.assign(r,t,e[n])}else e[n]=this.assign(r,t,e[n])}else if(e instanceof u){if(!1===Y(n))throw new c(null,"KeyAccessorMustBeString",null);if(!0===e.hasField(n))e.setField(n,this.assign(r,t,e.field(n)));else{if("="!==t)throw new c(null,"FieldNotFound",null);e.setField(n,this.assign(r,t,null))}}else if(x(e)){if(!1===Y(n))throw new c(null,"KeyAccessorMustBeString",null);if(!0===e.hasField(n))e.setField(n,this.assign(r,t,e.field(n)));else{if("="!==t)throw new c(null,"FieldNotFound",null);e.setField(n,this.assign(r,t,null))}}else{if(S(e))throw new c(null,"Immutable",null);if(!(e instanceof tn))throw new c(null,"InvalidIdentifier",null);if(!1===Y(n))throw new c(null,"ModuleAccessorMustBeString",null);if(!e.hasGlobal(n))throw new c(null,"ModuleExportNotFound",null);e.setGlobal(n,this.assign(r,t,e.global(n)))}},member(e,n){if(null===e)throw new c(null,"MemberOfNull",null);if(e instanceof u||$(e)){if(Y(n))return e.field(n);throw new c(null,"InvalidMemberAccessKey",null)}if(e instanceof W){if(Y(n))return s(e,n,null,null);throw new c(null,"InvalidMemberAccessKey",null)}if(H(e)){if(Q(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new c(null,"OutOfBounds",null);return e[n]}throw new c(null,"InvalidMemberAccessKey",null)}if(Y(e)){if(Q(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length+n),n>=e.length||n<0)throw new c(null,"OutOfBounds",null);return e[n]}throw new c(null,"InvalidMemberAccessKey",null)}if(S(e)){if(Q(n)&&isFinite(n)&&Math.floor(n)===n){if(n<0&&(n=e.length()+n),n>=e.length()||n<0)throw new c(null,"OutOfBounds",null);return e.get(n)}throw new c(null,"InvalidMemberAccessKey",null)}if(e instanceof tn){if(Y(n))return e.global(n);throw new c(null,"InvalidMemberAccessKey",null)}throw new c(null,"InvalidMemberAccessKey",null)},callfunc:(e,n,t)=>e.call(t,{arguments:n,preparsed:!0}),loadModule(e,n){const t=n.moduleFactoryMap[e];if(n.moduleSingletons[t])return n.moduleSingletons[t];const r=n.moduleFactory[t]({moduleSingletons:n.moduleSingletons,depthCounter:n.depthCounter,lrucache:n.lrucache,interceptor:n.interceptor,services:n.services,console:n.console,abortSignal:n.abortSignal,timeZone:n.timeZone??null,spatialReference:n.spatialReference});return n.moduleSingletons[t]=r,r},callModuleFunction(e,n,t,r){if(!(e instanceof tn))throw new c(null,"FunctionNotFound",null);const o=e.global(t);if(!1===v(o))throw new c(null,"CallNonFunction",null);return o.call(r,{preparsed:!0,arguments:n})},getNestedOptionalValue:(e,n)=>a(e,n)};function Xe(e){console.log(e)}function en(t,o,l=!1){let a=null;t.usesModules&&(a=new r(null,t.loadedModules));const s=Object.create(null),i=new Set(Object.keys(o?.vars||{}).map(n=>e(n))),u=new Set(Object.keys(o?.customfunctions||{}).map(n=>e(n))),m=ie(t,l?We.provided:ze.provided,new Set([...i,...u]),l,a,s);let f;f=l?["var runtimeCtx = this.prepare(context, true);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","return lang.__awaiter(this, void 0, void 0, function* () {"," function mainBody() {"," return lang.__awaiter(this, void 0, void 0, function* () {",` ${m.body}`," });"," }"," return this.postProcess(yield mainBody());","});"].join("\n"):["var runtimeCtx = this.prepare(context, false);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","function mainBody() {",` ${m.body}`,"}","return this.postProcess(mainBody());"].join("\n");const{symbolMetadata:d,moduleFactoryMap:g}=m,h={lc:w,lang:Qe,postProcess(e){if(b(e))return null;if(v(e))throw new c(null,"IllegalResult",null);return e},prepare(e,t){const r=e.spatialReference??Z.WebMercator,o=t?new We:new ze;for(const n of u)null!=e.customfunctions&&n in e.customfunctions?o[n]=e.customfunctions[n]??null:o[n]=Je;for(const n of i){if(null==e.vars||!(n in e.vars)){n in o||(o[n]=Je);continue}const t=e.vars[n]??null;J(t)?o[n]=p.createFromGraphic(t,e.timeZone??null):o[n]=t}return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Xe,abortSignal:e.abortSignal??n,timeZone:e.timeZone??null,spatialReference:r,track:e.track,globalScope:o,localStack:[],depthCounter:{depth:1},symbolMetadata:d,moduleFactory:s,moduleFactoryMap:g,moduleSingletons:Object.create(null)}}};return new Function("context",f).bind(h)}async function nn(){return Ze([await import("./functions/geomasync.js")],"async"),!0}class tn extends t{constructor(e){super(),this.moduleContext=e}hasGlobal(n){const t=this.moduleContext.symbolMetadata.exports;return t.has(n)||t.has(e(n))}setGlobal(n,t){if(v(t))throw new c(null,"AssignModuleFunction",null);const r=this.moduleContext.symbolMetadata.globals.get(e(n));if(null==r)throw new c(null,"ModuleExportNotFound",null);this.moduleContext.globalScope[r]=t}global(n){const t=this.moduleContext.symbolMetadata.globals.get(e(n));if(null==t)throw new c(null,"ModuleExportNotFound",null);const r=this.moduleContext.globalScope,o=Qe.requireInitialized(r[t]);if(v(o)&&!(o instanceof h)){const e=new h;return e.fn=o,e.parameterEvaluator=se,e.context=this.moduleContext,r[t]=e,e}return o}}function rn(e,t,o){const l=new r(null,e.loadedModules),a=ie(e,o?We.provided:ze.provided,new Set,o,l,t);let s;s=o?["var runtimeCtx = this.prepare(context, true);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","return lang.__awaiter(this, void 0, void 0, function* () {"," function mainBody() {"," return lang.__awaiter(this, void 0, void 0, function* () {",` ${a.body}`," });"," }"," yield mainBody();"," return this.prepareModule(runtimeCtx);","});"].join("\n"):["var runtimeCtx = this.prepare(context, false);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","function mainBody() {",` ${a.body}`,"}","mainBody();","return this.prepareModule(runtimeCtx);"].join("\n");const{symbolMetadata:i,moduleFactoryMap:u}=a,c={lc:w,lang:Qe,prepareModule:e=>new tn(e),prepare(e,r){const o=e.spatialReference??Z.WebMercator,l=r?new We:new ze;return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Xe,abortSignal:e.abortSignal??n,timeZone:e.timeZone??null,spatialReference:o,track:null,globalScope:l,localStack:[],depthCounter:e.depthCounter,symbolMetadata:i,moduleFactory:t,moduleFactoryMap:u,moduleSingletons:e.moduleSingletons}}};return new Function("context",s).bind(c)}export{ae as UserDefinedCompiledFunction,en as compileScript,nn as enableAsyncSupport,Ze as extend};
|
package/arcade/arcadeRuntime.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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{neverAbortedSignal as e,toSymbolId as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{getNestedOptionalValue as o,getGeometryKeys as i,geometryMember as l}from"./containerUtils.js";import a from"./Dictionary.js";import{ArcadeExecutionError as s,ensureArcadeExecutionError as c}from"./executionError.js";import u from"./Feature.js";import{NativeFunction as f,ArcadeFunction as p,ScopeMarshalledFunction as h,wrapModuleScopedResponse as d}from"./FunctionWrapper.js";import{R as w,I as g,A as m,i as b,q as y,r as v,v as S,B as x,j as F,s as R,h as I,y as M,u as A,w as O,x as j,z as C,k}from"../chunks/languageUtils.js";import{addFunctionDeclaration as N}from"./treeAnalysis.js";import{A as B}from"../chunks/array.js";import{registerFunctions as E}from"./functions/date.js";import{registerFunctions as D}from"./functions/feature.js";import{registerFunctions as U}from"./functions/geometry.js";import{registerFunctions as K}from"./functions/geomsync.js";import{registerFunctions as Z}from"./functions/maths.js";import{registerFunctions as L}from"./functions/stats.js";import{registerFunctions as q}from"./functions/string.js";import{registerFunctions as G}from"./functions/track.js";import"../core/has.js";import W from"../geometry/Geometry.js";import z from"../geometry/SpatialReference.js";import{isGraphic as P,isBoolean as V,isArray as T,isString as _,isNumber as Y}from"../support/guards.js";class H extends p{constructor(e,t){super(),this.definition=e,this.context=t}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:{},depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new s(e,"MaximumCallDepth",null);return J(this.definition,n,t,null)}}call(e,t){return $(e,t,(n,r,o)=>{const i={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:{},track:e.track};if(i.depthCounter.depth>64)throw new s(e,"MaximumCallDepth",t);return J(this.definition,i,o,t)})}marshalledCall(e,t,n,r){return r(e,t,(o,i,l)=>{const a={spatialReference:e.spatialReference,globalScope:n.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:{},track:e.track};return l=l.map(t=>!b(t)||t instanceof h?t:d(t,e,r)),d(J(this.definition,a,l,t),n,r)})}}function J(e,n,r,o){try{const i=e.body;if(r.length!==e.params.length)throw new s(n,"WrongNumberOfParameters",o);if(null!=n.localScope)for(let o=0;o<r.length;o++)n.localScope[t(e.params[o])]={value:r[o]};const l=te(n,i);if(l instanceof w)return l.value;if(l===y)throw new s(n,"UnexpectedToken",o);if(l===v)throw new s(n,"UnexpectedToken",o);return l instanceof g?l.value:l}catch(i){throw i}}class Q extends n{constructor(e){super(),this.source=e}global(e){const n=this.executingContext.globalScope[t(e)];if(b(n.value)&&!(n.value instanceof h)){const r=new h;return r.fn=n.value,r.parameterEvaluator=$,r.context=this.executingContext,this.executingContext.globalScope[t(e)]={value:r},r}return n.value}setGlobal(e,n){if(b(n))throw new s(null,"AssignModuleFunction",null);this.executingContext.globalScope[t(e)]={value:n}}hasGlobal(e){return void 0===this.executingContext.exports[e]&&(e=t(e)),void 0!==this.executingContext.exports[e]}loadModule(t){const n=t.spatialReference??z.WebMercator;this.moduleScope=Ze(null,null,t.timeZone),this.executingContext={spatialReference:n,globalScope:this.moduleScope,localScope:null,libraryResolver:new r(t.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},services:t.services,console:t.console??Le,timeZone:t.timeZone??null,lrucache:t.lrucache,interceptor:t.interceptor,abortSignal:e,depthCounter:{depth:1},track:t.track},he(this.executingContext,this.source.syntax)}}function X(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(ee(e,t.arguments[r]));return n}function $(e,t,n){try{return!0===t.preparsed?n(e,null,t.arguments):n(e,t,X(e,t))}catch(r){throw r}}function ee(e,t){try{switch(t.type){case"AssignmentExpression":return ue(e,t);case"UpdateExpression":return se(e,t);case"TemplateLiteral":return Me(e,t);case"Identifier":return Ae(e,t);case"MemberExpression":return ve(e,t);case"Literal":return t.value;case"CallExpression":return Oe(e,t);case"UnaryExpression":return Se(e,t);case"BinaryExpression":return Fe(e,t);case"LogicalExpression":return Re(e,t);case"ArrayExpression":return xe(e,t);case"ObjectExpression":return ne(e,t);default:throw new s(e,"Unrecognized",t)}}catch(n){throw c(e,t,n)}}function te(e,t){switch(t.type){case"EmptyStatement":return S;case"VariableDeclaration":return be(e,t);case"ImportDeclaration":return ge(e,t);case"ExportNamedDeclaration":return me(e,t);case"BlockStatement":return he(e,t);case"FunctionDeclaration":return we(e,t);case"ReturnStatement":return de(e,t);case"IfStatement":return pe(e,t);case"ExpressionStatement":return fe(e,t);case"BreakStatement":return y;case"ContinueStatement":return v;case"ForStatement":return ie(e,t);case"ForInStatement":return re(e,t);case"ForOfStatement":return oe(e,t);case"WhileStatement":return le(e,t);default:throw new s(e,"Unrecognized",t)}}function ne(e,t){const n=Object.create(null),r=new Map;for(let i=0;i<t.properties.length;i++){const o=t.properties[i],l="Identifier"===o.key.type?o.key.name:ee(e,o.key),a=ee(e,o.value);if(b(a))throw new s(e,"NoFunctionInDictionary",t);if(!1===_(l))throw new s(e,"KeyMustBeString",t);let c=l.toString();const u=c.toLowerCase();r.has(u)?c=r.get(u):r.set(u,c),n[c]=a===S?null:a}const o=new a(n);return o.immutable=!1,o}function re(e,n){const r=ee(e,n.right);"VariableDeclaration"===n.left.type&&be(e,n.left);const o=t("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let l=null;if(null!=e.localScope&&void 0!==e.localScope[o]&&(l=e.localScope[o]),null===l&&void 0!==e.globalScope[o]){const t=e.globalScope[o].value;l=e.globalScope[o]={value:t}}if(null===l)throw new s(e,"InvalidIdentifier",n);if(T(r)||_(r)){const t=r.length;for(let r=0;r<t;r++){l.value=r;const t=te(e,n.body);if(t===y)break;if(t instanceof w)return t}return S}if(F(r)){for(let t=0;t<r.length();t++){l.value=t;const r=te(e,n.body);if(r===y)break;if(r instanceof w)return r}return S}if(r instanceof a||R(r)){const t=r.keys();for(let r=0;r<t.length;r++){l.value=t[r];const o=te(e,n.body);if(o===y)break;if(o instanceof w)return o}return S}if(I(r)){for(const t of i(r)){l.value=t;const r=te(e,n.body);if(r===y)break;if(r instanceof w)return r}return S}return S}function oe(e,n){const r=ee(e,n.right);"VariableDeclaration"===n.left.type&&te(e,n.left);const o=t("VariableDeclaration"===n.left.type?n.left.declarations[0].id:n.left);let c=null;if(null!=e.localScope&&void 0!==e.localScope[o]&&(c=e.localScope[o]),null===c&&void 0!==e.globalScope[o]){const t=e.globalScope[o].value;c=e.globalScope[o]={value:t}}if(null===c)throw new s(e,"InvalidIdentifier",n);if(T(r)||_(r)){const t=r.length;for(let o=0;o<t;o++){if(o>=r.length)throw new s(e,"OutOfBounds",n);c.value=r[o];const t=te(e,n.body);if(t===y)break;if(t instanceof w)return t}return S}if(F(r)){for(let t=0;t<r.length();t++){c.value=r.get(t);const o=te(e,n.body);if(o===y)break;if(o instanceof w)return o}return S}if(r instanceof a||R(r)){for(const t of r.keys()){const o=r.field(t);c.value=a.containerEntry(t,o);const i=te(e,n.body);if(i===y)break;if(i instanceof w)return i}return S}if(I(r)){for(const t of i(r)){const o=l(r,t,e,n,1);c.value=a.containerEntry(t,o);const i=te(e,n.body);if(i===y)break;if(i instanceof w)return i}return S}return S}function ie(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?te(e,t.init):ee(e,t.init));const n={testResult:!0,lastAction:S};do{ae(e,t,n)}while(!0===n.testResult);return n.lastAction instanceof w?n.lastAction:S}function le(e,t){const n={testResult:!0,lastAction:S};if(n.testResult=ee(e,t.test),!1===n.testResult)return S;if(!0!==n.testResult)throw new s(e,"BooleanConditionRequired",t);for(;!0===n.testResult&&(n.lastAction=te(e,t.body),n.lastAction!==y)&&!(n.lastAction instanceof w);)if(n.testResult=ee(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new s(e,"BooleanConditionRequired",t);return n.lastAction instanceof w?n.lastAction:S}function ae(e,t,n){if(null!==t.test){if(n.testResult=ee(e,t.test),!1===n.testResult)return;if(!0!==n.testResult)throw new s(e,"BooleanConditionRequired",t)}n.lastAction=te(e,t.body),n.lastAction!==y?n.lastAction instanceof w?n.testResult=!1:null!==t.update&&ee(e,t.update):n.testResult=!1}function se(e,n){if("CallExpression"===n.argument.type)throw new s(e,"NeverReach",n);let r;if("MemberExpression"===n.argument.type){const t=ee(e,n.argument.object);let o;if(!0===n.argument.computed)o=ee(e,n.argument.property);else{if("Identifier"!==n.argument.property.type)throw new s(e,"Unrecognized",n);o=n.argument.property.name}if(T(t)){if(!Y(o))throw new s(e,"ArrayAccessMustBeNumber",n);if(o<0&&(o=t.length+o),o<0||o>=t.length)throw new s(e,"OutOfBounds",n);r=A(t[o]),t[o]="++"===n.operator?r+1:r-1}else if(t instanceof a){if(!1===_(o))throw new s(e,"KeyAccessorMustBeString",n);if(!0!==t.hasField(o))throw new s(e,"FieldNotFound",n);r=A(t.field(o)),t.setField(o,"++"===n.operator?r+1:r-1)}else if(k(t)){if(!1===_(o))throw new s(e,"KeyAccessorMustBeString",n);if(!0!==t.hasField(o))throw new s(e,"FieldNotFound",n);r=A(t.field(o)),t.setField(o,"++"===n.operator?r+1:r-1)}else{if(F(t))throw new s(e,"Immutable",n);if(!(t instanceof Q))throw new s(e,"InvalidParameter",n);if(!1===_(o))throw new s(e,"ModuleAccessorMustBeString",n);if(!0!==t.hasGlobal(o))throw new s(e,"ModuleExportNotFound",n);r=A(t.global(o)),t.setGlobal(o,"++"===n.operator?r+1:r-1)}return!1===n.prefix?r:"++"===n.operator?r+1:r-1}const o=t(n.argument);if(null!=e.localScope&&void 0!==e.localScope[o])return r=A(e.localScope[o].value),e.localScope[o]={value:"++"===n.operator?r+1:r-1},!1===n.prefix?r:"++"===n.operator?r+1:r-1;if(void 0!==e.globalScope[o])return r=A(e.globalScope[o].value),e.globalScope[o]={value:"++"===n.operator?r+1:r-1},!1===n.prefix?r:"++"===n.operator?r+1:r-1;throw new s(e,"InvalidIdentifier",n)}function ce(e,t,n,r,o){switch(t){case"=":return e===S?null:e;case"/=":return A(n)/A(e);case"*=":return A(n)*A(e);case"-=":return A(n)-A(e);case"+=":return _(n)||_(e)?O(n)+O(e):A(n)+A(e);case"%=":return A(n)%A(e);default:throw new s(o,"UnsupportedOperator",r)}}function ue(e,n){if("MemberExpression"===n.left.type){const t=ee(e,n.left.object);let r;if(!0===n.left.computed)r=ee(e,n.left.property);else{if("Identifier"!==n.left.property.type)throw new s(e,"InvalidIdentifier",n);r=n.left.property.name}const o=ee(e,n.right);if(T(t)){if(!Y(r))throw new s(e,"ArrayAccessMustBeNumber",n);if(r<0&&(r=t.length+r),r<0||r>t.length)throw new s(e,"OutOfBounds",n);if(r===t.length){if("="!==n.operator)throw new s(e,"OutOfBounds",n);t[r]=ce(o,n.operator,t[r],n,e)}else t[r]=ce(o,n.operator,t[r],n,e)}else if(t instanceof a){if(!1===_(r))throw new s(e,"KeyAccessorMustBeString",n);if(!0===t.hasField(r))t.setField(r,ce(o,n.operator,t.field(r),n,e));else{if("="!==n.operator)throw new s(e,"FieldNotFound",n,{key:r});t.setField(r,ce(o,n.operator,null,n,e))}}else if(k(t)){if(!1===_(r))throw new s(e,"KeyAccessorMustBeString",n);if(!0===t.hasField(r))t.setField(r,ce(o,n.operator,t.field(r),n,e));else{if("="!==n.operator)throw new s(e,"FieldNotFound",n,{key:r});t.setField(r,ce(o,n.operator,null,n,e))}}else{if(F(t))throw new s(e,"Immutable",n);if(!(t instanceof Q))throw new s(e,"InvalidIdentifier",n);if(!1===_(r))throw new s(e,"ModuleAccessorMustBeString",n);if(!0!==t.hasGlobal(r))throw new s(e,"ModuleExportNotFound",n);t.setGlobal(r,ce(o,n.operator,t.global(r),n,e))}return S}const r=t(n.left),o=ee(e,n.right);if(null!=e.localScope&&void 0!==e.localScope[r])return e.localScope[r]={value:ce(o,n.operator,e.localScope[r].value,n,e)},S;if(void 0!==e.globalScope[r])return e.globalScope[r]={value:ce(o,n.operator,e.globalScope[r].value,n,e)},S;throw new s(e,"InvalidIdentifier",n)}function fe(e,t){const n=ee(e,t.expression);return n===S?S:new g(n)}function pe(e,t){const n=ee(e,t.test);if(!0===n)return te(e,t.consequent);if(!1===n)return null!==t.alternate?te(e,t.alternate):S;throw new s(e,"BooleanConditionRequired",t)}function he(e,t){let n=S;for(let r=0;r<t.body.length;r++)if(n=te(e,t.body[r]),n instanceof w||n===y||n===v)return n;return n}function de(e,t){if(null===t.argument)return new w(S);const n=ee(e,t.argument);return new w(n)}function we(e,n){const r=t(n.id);return e.globalScope[r]={value:new H(n,e)},S}function ge(e,n){const r=t(n.specifiers[0].local),o=e.libraryResolver.loadLibrary(r);let i;return e.libraryResolver._moduleSingletons?.has(o.uri)?i=e.libraryResolver._moduleSingletons.get(o.uri):(i=new Q(o),i.loadModule(e),e.libraryResolver._moduleSingletons?.set(o.uri,i)),e.globalScope[r]={value:i},S}function me(e,n){if(te(e,n.declaration),"FunctionDeclaration"===n.declaration.type)e.exports[t(n.declaration.id)]="function";else if("VariableDeclaration"===n.declaration.type)for(const r of n.declaration.declarations)e.exports[t(r.id)]="variable";return S}function be(e,t){for(let n=0;n<t.declarations.length;n++)ye(e,t.declarations[n]);return S}function ye(e,n){let r=null===n.init?null:ee(e,n.init);if(r===S&&(r=null),"Identifier"!==n.id.type)throw new s(e,"InvalidIdentifier",n);const o=t(n.id);null!=e.localScope?e.localScope[o]={value:r}:e.globalScope[o]={value:r}}function ve(e,t){try{const n=ee(e,t.object);if(null===n)throw new s(e,"MemberOfNull",t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof a||R(n))return n.field(t.property.name);if(n instanceof W)return l(n,t.property.name,e,t);if(n instanceof Q){if(!n.hasGlobal(t.property.name))throw new s(e,"InvalidIdentifier",t);return n.global(t.property.name)}}throw new s(e,"InvalidMemberAccessKey",t)}let r=ee(e,t.property);if(n instanceof a||R(n)){if(_(r))return n.field(r);throw new s(e,"InvalidMemberAccessKey",t)}if(n instanceof Q){if(_(r))return n.global(r);throw new s(e,"InvalidMemberAccessKey",t)}if(n instanceof W){if(_(r))return l(n,r,e,t);throw new s(e,"InvalidMemberAccessKey",t)}if(T(n)){if(Y(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,"OutOfBounds",t);return n[r]}throw new s(e,"InvalidMemberAccessKey",t)}if(_(n)){if(Y(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new s(e,"OutOfBounds",t);return n[r]}throw new s(e,"InvalidMemberAccessKey",t)}if(F(n)){if(Y(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new s(e,"OutOfBounds",t);return n.get(r)}throw new s(e,"InvalidMemberAccessKey",t)}throw new s(e,"InvalidMemberAccessKey",t)}catch(n){throw n}}function Se(e,t){try{const n=ee(e,t.argument);if(V(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*A(n);if("+"===t.operator)return 1*A(n);if("~"===t.operator)return~A(n);throw new s(e,"UnsupportUnaryOperator",t)}if("~"===t.operator)return~A(n);if("-"===t.operator)return-1*A(n);if("+"===t.operator)return 1*A(n);throw new s(e,"UnsupportUnaryOperator",t)}catch(n){throw n}}function xe(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++){const o=ee(e,t.elements[r]);if(b(o))throw new s(e,"NoFunctionInArray",t);o===S?n.push(null):n.push(o)}return n}catch(n){throw n}}function Fe(e,t){try{const n=ee(e,t.left),r=ee(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return C(A(n),A(r),t.operator);case"==":return M(n,r);case"!=":return!M(n,r);case"<":case">":case"<=":case">=":return j(n,r,t.operator);case"+":return _(n)||_(r)?O(n)+O(r):A(n)+A(r);case"-":return A(n)-A(r);case"*":return A(n)*A(r);case"/":return A(n)/A(r);case"%":return A(n)%A(r);default:throw new s(e,"UnsupportedOperator",t)}}catch(n){throw n}}function Re(e,t){try{const n=ee(e,t.left);if(V(n))switch(t.operator){case"||":{if(!0===n)return n;const r=ee(e,t.right);if(V(r))return r;throw new s(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=ee(e,t.right);if(V(r))return r;throw new s(e,"LogicExpressionOrAnd",t)}default:throw new s(e,"LogicExpressionOrAnd",t)}throw new s(e,"LogicalExpressionOnlyBoolean",t)}catch(n){throw n}}function Ie(e,t,n){if(b(e))throw new s(t,"NoFunctionInTemplateLiteral",n);return e}function Me(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){n+=t.expressions[r]?O(Ie(ee(e,t.expressions[r]),e,t)):"",r++}return n}function Ae(e,n){try{const r=t(n);if(null!=e.localScope&&void 0!==e.localScope[r])return e.localScope[r].value;if(void 0!==e.globalScope[r])return e.globalScope[r].value;throw new s(e,"InvalidIdentifier",n)}catch(r){throw r}}function Oe(e,n){try{if("MemberExpression"===n.callee.type){const t=ee(e,n.callee.object);if(!(t instanceof Q))throw new s(e,"FunctionNotFound",n);const r=!1===n.callee.computed?n.callee.property.name:ee(e,n.callee.property);if(!t.hasGlobal(r))throw new s(e,"FunctionNotFound",n);const o=t.global(r);if(!b(o))throw new s(e,"CallNonFunction",n);return o.call(e,n)}if("Identifier"!==n.callee.type)throw new s(e,"FunctionNotFound",n);const r=t(n.callee);if(null!=e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(b(t.value))return t.value.call(e,n);throw new s(e,"CallNonFunction",n)}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(b(t.value))return t.value.call(e,n);throw new s(e,"CallNonFunction",n)}throw new s(e,"FunctionNotFound",n)}catch(r){throw r}}function je(e,t){try{if(!0===t.preparsed)throw new s(e,"NeverReach",t);const n=t.arguments;x(null===n?[]:n,3,3,e,t);const r=ee(e,n[0]);if(!1===V(r))throw new s(e,"BooleanConditionRequired",t);return ee(e,!0===r?n[1]:n[2])}catch(n){throw n}}function Ce(e,t){try{if(!0===t.preparsed)throw new s(e,"NeverReach",t);const n=t.arguments;x(null===n?[]:n,2,3,e,t);const r=ee(e,n[0]);if(3===n.length){const t=ee(e,n[1]),i=o(r,t);return null!=i&&""!==i?i:ee(e,n[2])}return null===r||""===r||void 0===r?ee(e,n[1]):r}catch(n){throw n}}function ke(e,t){try{if(!0===t.preparsed)throw new s(e,"NeverReach",t);const n=t.arguments;if(n.length<2)throw new s(e,"WrongNumberOfParameters",t);if(2===n.length)return ee(e,n[1]);{if((n.length-1)%2==0)throw new s(e,"WrongNumberOfParameters",t);const r=ee(e,n[0]);return Ne(e,t,1,r)}}catch(n){throw n}}function Ne(e,t,n,r){try{const o=t.arguments,i=ee(e,o[n]);if(M(i,r))return ee(e,o[n+1]);{const i=o.length-n;return 1===i?ee(e,o[n]):2===i?null:3===i?ee(e,o[n+2]):Ne(e,t,n+2,r)}}catch(o){throw o}}function Be(e,t){try{if(!0===t.preparsed)throw new s(e,"NeverReach",t);const n=t.arguments;if(n.length<3)throw new s(e,"WrongNumberOfParameters",t);if(n.length%2==0)throw new s(e,"WrongNumberOfParameters",t);const r=ee(e,n[0]);if(!1===V(r))throw new s(e,"BooleanConditionRequired",n[0]);return Ee(e,t,0,r)}catch(n){throw n}}function Ee(e,t,n,r){try{const o=t.arguments;if(!0===r)return ee(e,o[n+1]);if(3===o.length-n)return ee(e,o[n+2]);{const r=ee(e,o[n+2]);if(!1===V(r))throw new s(e,"BooleanConditionRequired",o[n+2]);return Ee(e,t,n+2,r)}}catch(o){throw o}}function De(){const e=Object.create(null);E(e,$),q(e,$),D(e,$,Ae),Z(e,$),U(e,$),L(e,$),K(e,$),G(e,$),e.iif=je,e.defaultvalue=Ce,e.decode=ke,e.when=Be;const t=function(){this.textformatting={value:a.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new f(r)});return t}const Ue=De();function Ke(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:$,evaluateIdentifier:Ae};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))Ue.prototype[n]=Object.freeze({value:new f(r)});for(let n=0;n<t.signatures.length;n++)N(t.signatures[n],"sync")}function Ze(e,t,n){const r=new Ue;e||(e={}),t||(t={});for(const o in t)r[o]={value:new f(t[o])};for(const o in e)r[o]={value:P(e[o])?u.createFromGraphic(e[o],n):e[o]};return r}function Le(e){console.log(e)}function qe(t,n){const o=n.spatialReference??z.WebMercator;let i=null;t.usesModules&&(i=new r(new Map,t.loadedModules));const l={spatialReference:o,globalScope:Ze(n.vars,n.customfunctions,n.timeZone),localScope:null,services:n.services,exports:{},libraryResolver:i,console:n.console??Le,timeZone:n.timeZone??null,lrucache:n.lrucache,interceptor:n.interceptor,abortSignal:e,depthCounter:{depth:1},track:n.track},a=he(l,t);if(a instanceof w||a instanceof g){const e=a.value;if(m(e))return null;if(b(e))throw new s(l,"IllegalResult",null);return e}if(m(a))return null;if(a===y)throw new s(l,"IllegalResult",null);if(a===v)throw new s(l,"IllegalResult",null);throw new s(l,"NeverReach",null)}Ke([B]);export{qe as executeScript,Ke as extend};
|
|
5
|
+
import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as i}from"./compilerUtils.js";import{getNestedOptionalValue as s,getGeometryKeys as l,geometryMember as a}from"./containerUtils.js";import c from"./Dictionary.js";import{ArcadeExecutionError as u,ensureArcadeExecutionError as f}from"./executionError.js";import p from"./Feature.js";import{NativeFunction as h,ArcadeFunction as d,ScopeMarshalledFunction as w,wrapModuleScopedResponse as m}from"./FunctionWrapper.js";import{R as g,I as b,q as y,i as v,z as x,A as S,v as F,B as R,x as I,j,r as O,h as A,s as M,u as N,w as k,y as C,k as E}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as G}from"../chunks/array.js";import{registerFunctions as U}from"./functions/date.js";import{registerFunctions as D}from"./functions/feature.js";import{registerFunctions as K}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/geomsync.js";import{registerFunctions as _}from"./functions/maths.js";import{registerFunctions as z}from"./functions/stats.js";import{registerFunctions as Z}from"./functions/string.js";import{registerFunctions as q}from"./functions/track.js";import"../core/has.js";import W from"../core/Logger.js";import P from"../geometry/Geometry.js";import V from"../geometry/SpatialReference.js";import{isGraphic as T,isBoolean as Y,isArray as $,isString as H,isNumber as J}from"../support/guards.js";const Q=()=>W.getLogger("esri.arcade.arcadeRuntime"),X=Symbol("uninitialized");function ee(e){if(e===X)throw new u(null,"InvalidIdentifier",null)}function te(e){return ee(e),e}function ne(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new u(t,"InvalidIdentifier",n)}function re(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return ee(e),e.value}const i=t.globalScope[o];if(void 0!==i)return ee(i),i.value;throw new u(t,r,n)}const oe=function(){};oe.prototype=Object.freeze(Object.create(null));class ie extends d{constructor(e,t,n,r){super(),this.definition=e,this.context=t,this._params=n,this._locals=r}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:new oe,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",null);return se(n,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return ce(e,t,(n,r,o)=>{const i={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new oe,track:e.track};if(i.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",t);return se(i,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,(o,i,s)=>{const l={spatialReference:e.spatialReference,globalScope:n.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new oe,track:e.track};return s=s.map(t=>!v(t)||t instanceof w?t:m(t,e,r)),m(se(l,this.definition.body,this._params,this._locals,s,t),n,r)})}}function se(e,t,n,r,o,i){try{if(n.length!==o.length)throw new u(e,"WrongNumberOfParameters",i);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=X}const s=fe(e,t);if(s instanceof g)return s.value;if(s===x)throw new u(e,"UnexpectedToken",i);if(s===S)throw new u(e,"UnexpectedToken",i);return s instanceof b?s.value:s}catch(s){throw s}}class le extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t),r=this.moduleGlobalContext.globalScope[n];if(ee(r),v(r.value)&&!(r.value instanceof w)){const e=new w;return e.fn=r.value,e.parameterEvaluator=ce,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(v(n))throw new u(null,"AssignModuleFunction",null);const r=e(t);if(void 0===this.moduleGlobalContext.globalScope[r])throw new u(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static load(e,n){const{globals:i,exports:s}=o(n),l=new Ve;for(const t of i)t in l||(l[t]=X);const a=e.spatialReference??V.WebMercator,c={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Ye,abortSignal:t,timeZone:e.timeZone??null,spatialReference:a,track:e.track,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:s,localScope:null,globalScope:l};return Fe(c,n),new le(c)}}function ae(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(ue(e,t.arguments[r]));return n}function ce(e,t,n){try{return!0===t.preparsed?n(e,null,t.arguments):n(e,t,ae(e,t))}catch(r){throw r}}function ue(e,t){try{switch(t.type){case"AssignmentExpression":return ve(e,t);case"UpdateExpression":return be(e,t);case"TemplateLiteral":return Ue(e,t);case"Identifier":return De(e,t);case"MemberExpression":return Ne(e,t);case"Literal":return t.value;case"CallExpression":return Ke(e,t);case"UnaryExpression":return ke(e,t);case"BinaryExpression":return Ee(e,t);case"LogicalExpression":return Be(e,t);case"ArrayExpression":return Ce(e,t);case"ObjectExpression":return pe(e,t);default:throw new u(e,"Unrecognized",t)}}catch(n){throw f(e,t,n)}}function fe(e,t){switch(t.type){case"EmptyStatement":return F;case"VariableDeclaration":return Ae(e,t);case"ImportDeclaration":return je(e,t);case"ExportNamedDeclaration":return Oe(e,t);case"BlockStatement":return Fe(e,t);case"FunctionDeclaration":return Ie(e,t);case"ReturnStatement":return Re(e,t);case"IfStatement":return Se(e,t);case"ExpressionStatement":return xe(e,t);case"BreakStatement":return x;case"ContinueStatement":return S;case"ForStatement":return we(e,t);case"ForInStatement":return he(e,t);case"ForOfStatement":return de(e,t);case"WhileStatement":return me(e,t);default:throw new u(e,"Unrecognized",t)}}function pe(e,t){const n=Object.create(null),r=new Map;for(let i=0;i<t.properties.length;i++){const o=t.properties[i],s="Identifier"===o.key.type?o.key.name:ue(e,o.key),l=ue(e,o.value);if(v(l))throw new u(e,"NoFunctionInDictionary",t);if(!1===H(s))throw new u(e,"KeyMustBeString",t);let a=s.toString();const c=a.toLowerCase();r.has(c)?a=r.get(c):r.set(c,a),n[a]=l===F?null:l}const o=new c(n);return o.immutable=!1,o}function he(e,t){const n=ue(e,t.right);"VariableDeclaration"===t.left.type&&Ae(e,t.left);const r=ne(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if($(n)||H(n)){const o=n.length;for(let n=0;n<o;n++){r.scope[r.id]={value:n};const o=fe(e,t.body);if(o===x)break;if(o instanceof g)return o}return F}if(j(n)){for(let o=0;o<n.length();o++){r.scope[r.id]={value:o};const n=fe(e,t.body);if(n===x)break;if(n instanceof g)return n}return F}if(n instanceof c||O(n)){const o=n.keys();for(let n=0;n<o.length;n++){r.scope[r.id]={value:o[n]};const i=fe(e,t.body);if(i===x)break;if(i instanceof g)return i}return F}if(A(n)){for(const o of l(n)){r.scope[r.id]={value:o};const n=fe(e,t.body);if(n===x)break;if(n instanceof g)return n}return F}return F}function de(e,t){const n=ue(e,t.right);"VariableDeclaration"===t.left.type&&fe(e,t.left);const r=ne(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if($(n)||H(n)){const o=n.length;for(let i=0;i<o;i++){if(i>=n.length)throw new u(e,"OutOfBounds",t);r.scope[r.id]={value:n[i]};const o=fe(e,t.body);if(o===x)break;if(o instanceof g)return o}return F}if(j(n)){for(let o=0;o<n.length();o++){r.scope[r.id]={value:n.get(o)};const i=fe(e,t.body);if(i===x)break;if(i instanceof g)return i}return F}if(n instanceof c||O(n)){for(const o of n.keys()){const i=n.field(o);r.scope[r.id]={value:c.containerEntry(o,i)};const s=fe(e,t.body);if(s===x)break;if(s instanceof g)return s}return F}if(A(n)){for(const o of l(n)){const i=a(n,o,e,t,1);r.scope[r.id]={value:c.containerEntry(o,i)};const s=fe(e,t.body);if(s===x)break;if(s instanceof g)return s}return F}return F}function we(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?fe(e,t.init):ue(e,t.init));const n={testResult:!0,lastAction:F};do{ge(e,t,n)}while(!0===n.testResult);return n.lastAction instanceof g?n.lastAction:F}function me(e,t){const n={testResult:!0,lastAction:F};if(n.testResult=ue(e,t.test),!1===n.testResult)return F;if(!0!==n.testResult)throw new u(e,"BooleanConditionRequired",t);for(;!0===n.testResult&&(n.lastAction=fe(e,t.body),n.lastAction!==x)&&!(n.lastAction instanceof g);)if(n.testResult=ue(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new u(e,"BooleanConditionRequired",t);return n.lastAction instanceof g?n.lastAction:F}function ge(e,t,n){if(null!==t.test){if(n.testResult=ue(e,t.test),!1===n.testResult)return;if(!0!==n.testResult)throw new u(e,"BooleanConditionRequired",t)}n.lastAction=fe(e,t.body),n.lastAction!==x?n.lastAction instanceof g?n.testResult=!1:null!==t.update&&ue(e,t.update):n.testResult=!1}function be(e,t){if("CallExpression"===t.argument.type)throw new u(e,"NeverReach",t);let n;if("MemberExpression"===t.argument.type){const r=ue(e,t.argument.object);let o;if(!0===t.argument.computed)o=ue(e,t.argument.property);else{if("Identifier"!==t.argument.property.type)throw new u(e,"Unrecognized",t);o=t.argument.property.name}if($(r)){if(!J(o))throw new u(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new u(e,"OutOfBounds",t);n=M(r[o]),r[o]="++"===t.operator?n+1:n-1}else if(r instanceof c){if(!1===H(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t);n=M(r.field(o)),r.setField(o,"++"===t.operator?n+1:n-1)}else if(E(r)){if(!1===H(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t);n=M(r.field(o)),r.setField(o,"++"===t.operator?n+1:n-1)}else{if(j(r))throw new u(e,"Immutable",t);if(!(r instanceof le))throw new u(e,"InvalidParameter",t);if(!1===H(o))throw new u(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new u(e,"ModuleExportNotFound",t);n=M(r.global(o)),r.setGlobal(o,"++"===t.operator?n+1:n-1)}return!1===t.prefix?n:"++"===t.operator?n+1:n-1}const r=ne(e,t.argument);n=M(te(r.var).value);const o="++"===t.operator?n+1:n-1;return r.scope[r.id]={value:o},!1===t.prefix?n:"++"===t.operator?n+1:n-1}function ye(e,t,n,r,o){switch(t){case"=":return e===F?null:e;case"/=":return M(n)/M(e);case"*=":return M(n)*M(e);case"-=":return M(n)-M(e);case"+=":return H(n)||H(e)?N(n)+N(e):M(n)+M(e);case"%=":return M(n)%M(e);default:throw new u(o,"UnsupportedOperator",r)}}function ve(e,t){if("MemberExpression"===t.left.type){const n=ue(e,t.left.object);let r;if(!0===t.left.computed)r=ue(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new u(e,"InvalidIdentifier",t);r=t.left.property.name}const o=ue(e,t.right);if($(n)){if(!J(r))throw new u(e,"ArrayAccessMustBeNumber",t);if(r<0&&(r=n.length+r),r<0||r>n.length)throw new u(e,"OutOfBounds",t);if(r===n.length){if("="!==t.operator)throw new u(e,"OutOfBounds",t);n[r]=ye(o,t.operator,n[r],t,e)}else n[r]=ye(o,t.operator,n[r],t,e)}else if(n instanceof c){if(!1===H(r))throw new u(e,"KeyAccessorMustBeString",t);if(!0===n.hasField(r))n.setField(r,ye(o,t.operator,n.field(r),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:r});n.setField(r,ye(o,t.operator,null,t,e))}}else if(E(n)){if(!1===H(r))throw new u(e,"KeyAccessorMustBeString",t);if(!0===n.hasField(r))n.setField(r,ye(o,t.operator,n.field(r),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:r});n.setField(r,ye(o,t.operator,null,t,e))}}else{if(j(n))throw new u(e,"Immutable",t);if(!(n instanceof le))throw new u(e,"InvalidIdentifier",t);if(!1===H(r))throw new u(e,"ModuleAccessorMustBeString",t);if(!0!==n.hasGlobal(r))throw new u(e,"ModuleExportNotFound",t);n.setGlobal(r,ye(o,t.operator,n.global(r),t,e))}return F}const n=ne(e,t.left),r=ue(e,t.right);return n.scope[n.id]={value:ye(r,t.operator,"="!==t.operator?te(n.var).value:null,t,e)},F}function xe(e,t){const n=ue(e,t.expression);return n===F?F:new b(n)}function Se(e,t){const n=ue(e,t.test);if(!0===n)return fe(e,t.consequent);if(!1===n)return null!==t.alternate?fe(e,t.alternate):F;throw new u(e,"BooleanConditionRequired",t)}function Fe(e,t){let n=F;for(let r=0;r<t.body.length;r++)if(n=fe(e,t.body[r]),n instanceof g||n===x||n===S)return n;return n}function Re(e,t){if(null===t.argument)return new g(F);const n=ue(e,t.argument);return new g(n)}function Ie(t,n){if(null!=t.localScope)throw Q().error("Function declarations are only valid in global scope."),new u(t,"NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw Q().error(`Function "${r}" not declared.`),new u(t,"NeverReach",n);const o=i(n),s=n.params.map(t=>e(t)),l=Array.from(o).filter(e=>!s.includes(e));return t.globalScope[r]={value:new ie(n,t,s,l)},F}function je(e,t){const n=ne(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw Q().error("Internal error: module loader not initialized"),new u(e,"NeverReach",t);const o=r.loadLibrary(n.id);let i;return r._moduleSingletons?.has(o.uri)?i=r._moduleSingletons.get(o.uri):(i=le.load(e,o.syntax),r._moduleSingletons?.set(o.uri,i)),n.scope[n.id]={value:i},F}function Oe(e,t){return fe(e,t.declaration),F}function Ae(e,t){for(let n=0;n<t.declarations.length;n++)Me(e,t.declarations[n]);return F}function Me(e,t){let n=null===t.init?null:ue(e,t.init);if(n===F&&(n=null),"Identifier"!==t.id.type)throw new u(e,"InvalidIdentifier",t);const r=ne(e,t.id);r.scope[r.id]={value:n}}function Ne(e,t){try{const n=ue(e,t.object);if(null===n)throw new u(e,"MemberOfNull",t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof c||O(n))return n.field(t.property.name);if(n instanceof P)return a(n,t.property.name,e,t);if(n instanceof le){if(!n.hasGlobal(t.property.name))throw new u(e,"InvalidIdentifier",t);return n.global(t.property.name)}}throw new u(e,"InvalidMemberAccessKey",t)}let r=ue(e,t.property);if(n instanceof c||O(n)){if(H(r))return n.field(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof le){if(H(r))return n.global(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof P){if(H(r))return a(n,r,e,t);throw new u(e,"InvalidMemberAccessKey",t)}if($(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}if(H(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}if(j(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new u(e,"OutOfBounds",t);return n.get(r)}throw new u(e,"InvalidMemberAccessKey",t)}throw new u(e,"InvalidMemberAccessKey",t)}catch(n){throw n}}function ke(e,t){try{const n=ue(e,t.argument);if(Y(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*M(n);if("+"===t.operator)return 1*M(n);if("~"===t.operator)return~M(n);throw new u(e,"UnsupportUnaryOperator",t)}if("~"===t.operator)return~M(n);if("-"===t.operator)return-1*M(n);if("+"===t.operator)return 1*M(n);throw new u(e,"UnsupportUnaryOperator",t)}catch(n){throw n}}function Ce(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++){const o=ue(e,t.elements[r]);if(v(o))throw new u(e,"NoFunctionInArray",t);o===F?n.push(null):n.push(o)}return n}catch(n){throw n}}function Ee(e,t){try{const n=ue(e,t.left),r=ue(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return C(M(n),M(r),t.operator);case"==":return I(n,r);case"!=":return!I(n,r);case"<":case">":case"<=":case">=":return k(n,r,t.operator);case"+":return H(n)||H(r)?N(n)+N(r):M(n)+M(r);case"-":return M(n)-M(r);case"*":return M(n)*M(r);case"/":return M(n)/M(r);case"%":return M(n)%M(r);default:throw new u(e,"UnsupportedOperator",t)}}catch(n){throw n}}function Be(e,t){try{const n=ue(e,t.left);if(Y(n))switch(t.operator){case"||":{if(!0===n)return n;const r=ue(e,t.right);if(Y(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=ue(e,t.right);if(Y(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}default:throw new u(e,"LogicExpressionOrAnd",t)}throw new u(e,"LogicalExpressionOnlyBoolean",t)}catch(n){throw n}}function Ge(e,t,n){if(v(e))throw new u(t,"NoFunctionInTemplateLiteral",n);return e}function Ue(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){n+=t.expressions[r]?N(Ge(ue(e,t.expressions[r]),e,t)):"",r++}return n}function De(e,t){return re(e,t)}function Ke(e,t){try{if("MemberExpression"===t.callee.type){const n=ue(e,t.callee.object);if(!(n instanceof le))throw new u(e,"FunctionNotFound",t);const r=!1===t.callee.computed?t.callee.property.name:ue(e,t.callee.property);if(!n.hasGlobal(r))throw new u(e,"FunctionNotFound",t);const o=n.global(r);if(!v(o))throw new u(e,"CallNonFunction",t);return o.call(e,t)}if("Identifier"!==t.callee.type)throw new u(e,"FunctionNotFound",t);const n=re(e,t.callee,"FunctionNotFound");if(v(n))return n.call(e,t);throw new u(e,"CallNonFunction",t)}catch(n){throw n}}function Le(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;R(null===n?[]:n,3,3,e,t);const r=ue(e,n[0]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",t);return ue(e,!0===r?n[1]:n[2])}catch(n){throw n}}function _e(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;R(null===n?[]:n,2,3,e,t);const r=ue(e,n[0]);if(3===n.length){const t=ue(e,n[1]),o=s(r,t);return null!=o&&""!==o?o:ue(e,n[2])}return null===r||""===r||void 0===r?ue(e,n[1]):r}catch(n){throw n}}function ze(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;if(n.length<2)throw new u(e,"WrongNumberOfParameters",t);if(2===n.length)return ue(e,n[1]);{if((n.length-1)%2==0)throw new u(e,"WrongNumberOfParameters",t);const r=ue(e,n[0]);return Ze(e,t,1,r)}}catch(n){throw n}}function Ze(e,t,n,r){try{const o=t.arguments,i=ue(e,o[n]);if(I(i,r))return ue(e,o[n+1]);{const i=o.length-n;return 1===i?ue(e,o[n]):2===i?null:3===i?ue(e,o[n+2]):Ze(e,t,n+2,r)}}catch(o){throw o}}function qe(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;if(n.length<3)throw new u(e,"WrongNumberOfParameters",t);if(n.length%2==0)throw new u(e,"WrongNumberOfParameters",t);const r=ue(e,n[0]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",n[0]);return We(e,t,0,r)}catch(n){throw n}}function We(e,t,n,r){try{const o=t.arguments;if(!0===r)return ue(e,o[n+1]);if(3===o.length-n)return ue(e,o[n+2]);{const r=ue(e,o[n+2]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",o[n+2]);return We(e,t,n+2,r)}}catch(o){throw o}}function Pe(){const e=Object.create(null);U(e,ce),Z(e,ce),D(e,ce,De),_(e,ce),K(e,ce),z(e,ce),L(e,ce),q(e,ce),e.iif=Le,e.defaultvalue=_e,e.decode=ze,e.when=qe;const t=function(){this.textformatting={value:c.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new h(r)});return t}const Ve=Pe();function Te(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:ce,evaluateIdentifier:De};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))Ve.prototype[n]=Object.freeze({value:new h(r)});for(let n=0;n<t.signatures.length;n++)B(t.signatures[n],"sync")}function Ye(e){console.log(e)}function $e(n,i){const s=new Set(Object.keys(i?.vars||{}).map(t=>e(t))),l=new Set(Object.keys(i?.customfunctions||{}).map(t=>e(t))),{globals:a,exports:c}=o(n);return e=>{const o=e.spatialReference??V.WebMercator;let i=null;n.usesModules&&(i=new r(new Map,n.loadedModules));const f=new Ve;for(const t of l)null!=e.customfunctions&&t in e.customfunctions?f[t]={value:new h(e.customfunctions[t])}:f[t]=X;for(const t of s){if(null==e.vars||!(t in e.vars)){t in f||(f[t]=X);continue}const n=e.vars[t]??null;T(n)?f[t]={value:p.createFromGraphic(n,e.timeZone??null)}:f[t]={value:n}}for(const t of a)t in f||(f[t]=X);const d={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Ye,abortSignal:t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:i,exports:c,localScope:null,globalScope:f},w=Fe(d,n);if(w instanceof g||w instanceof b){const e=w.value;if(y(e))return null;if(v(e))throw new u(d,"IllegalResult",null);return e}if(y(w))return null;if(w===x)throw new u(d,"IllegalResult",null);if(w===S)throw new u(d,"IllegalResult",null);throw new u(d,"NeverReach",null)}}function He(e,t){return $e(e,t)(t)}Te([G]);export{He as executeScript,Te as extend,$e as prepareScript};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{toSymbolId as e}from"./arcadeEnvironment.js";import{ArcadeCompilationError as t}from"./executionError.js";import"../core/has.js";import r from"../core/Logger.js";import{isSubsetOf as o,difference as n}from"../core/SetUtils.js";const a=()=>r.getLogger("esri.arcade.compilerUtils");function c(t,r,o){switch(t.type){case"VariableDeclaration":for(const o of t.declarations)r.add(e(o.id));return;case"BlockStatement":for(const e of t.body)c(e,r,o);return;case"ExportNamedDeclaration":{const e=new Set;c(t.declaration,e,o);for(const t of e)r.add(t),o.add(t);return}case"ForInStatement":case"ForOfStatement":return"VariableDeclaration"===t.left.type&&c(t.left,r,o),void c(t.body,r,o);case"ForStatement":return"VariableDeclaration"===t.init?.type&&c(t.init,r,o),void c(t.body,r,o);case"FunctionDeclaration":return void r.add(e(t.id));case"IfStatement":return c(t.consequent,r,o),void(t.alternate&&c(t.alternate,r,o));case"ImportDeclaration":for(const o of t.specifiers)r.add(e(o.local));return;case"WhileStatement":return void c(t.body,r,o);case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"ExpressionStatement":case"ReturnStatement":return}}function i(e){const r=new Set,i=new Set;for(const t of e.body)c(t,r,i);if(!o(i,r))throw a().error(`Internal error: exported undeclared symbols {${Array.from(n(i,r)).join(", ")}}`),new t(null,"NeverReach",null);return{globals:r,exports:i}}function s(e){const r=new Set,o=new Set;if(c(e.body,r,o),o.size>0)throw a().error(`Internal error: cannot export locals {${Array.from(o.values()).join(", ")}}`),new t(null,"NeverReach",null);return r}export{i as collectDeclaredGlobalNames,s as collectDeclaredLocalNames};
|
package/arcade/containerUtils.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.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./Dictionary.js";import{ArcadeExecutionError as a}from"./executionError.js";import t from"./ImmutablePathArray.js";import r from"./ImmutablePointArray.js";import{j as n,s,h as i}from"../chunks/languageUtils.js";import c from"../core/Accessor.js";import{isArray as l,isString as o,isNumber as u}from"../support/guards.js";const h={point:["hasZ","hasM","spatialReference","type","x","y","z","m"],multipoint:["hasZ","hasM","spatialReference","type","points"],polyline:["hasZ","hasM","spatialReference","type","paths"],polygon:["hasZ","hasM","spatialReference","type","rings"],extent:["hasZ","hasM","spatialReference","type","xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]};function p(e){return h[e.type]}let f=0;function m(n,s,i,l,o=1){let u;switch(s=s.toLowerCase()){case"hasz":{const e=n.hasZ;return void 0!==e&&e}case"hasm":{const e=n.hasM;return void 0!==e&&e}case"spatialreference":{let a=n.spatialReference._arcadeCacheId;if(void 0===a){let e=!0;c.isFrozen(n.spatialReference)&&(e=!1),e&&(f++,n.spatialReference._arcadeCacheId=f,a=f)}const t=new e({__proto__:null,wkt:n.spatialReference.wkt,wkid:n.spatialReference.wkid});return void 0!==a&&(t._arcadeCacheId="SPREF"+a.toString()),t}}switch(n.type){case"extent":switch(s){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const e=n[s];return void 0!==e?e:null}case"type":return"Extent"}break;case"polygon":switch(s){case"rings":u=n.cache._arcadeCacheId,void 0===u&&(f++,u=f,n.cache._arcadeCacheId=u);return new t(n.rings,n.spatialReference,!0===n.hasZ,!0===n.hasM,u);case"type":return"Polygon"}break;case"point":switch(s){case"x":case"y":case"z":case"m":return n[s]??null;case"type":return"Point"}break;case"polyline":switch(s){case"paths":u=n.cache._arcadeCacheId,void 0===u&&(f++,u=f,n.cache._arcadeCacheId=u);return new t(n.paths,n.spatialReference,!0===n.hasZ,!0===n.hasM,u);case"type":return"Polyline"}break;case"multipoint":switch(s){case"points":u=n.cache._arcadeCacheId,void 0===u&&(f++,u=f,n.cache._arcadeCacheId=u);return new r(n.points,n.spatialReference,!0===n.hasZ,!0===n.hasM,u,1);case"type":return"Multipoint"}}if(1===o)throw new a(i,"InvalidIdentifier",l);return 2===o?{keystate:"notfound"}:null}function d(e,a){let t,r=e;if(null==r)return null;if(l(a))t=a;else if(n(a))t=a.toArray();else{if(null==a)return null;t=[a]}for(const c of t){if(s(r)){if(!1===o(c))return null;if(!r.hasField(c))return null;r=r.field(c)}else if(i(r)){if(!1===o(c))return null;r=m(r,c,null,null,0)}else if(l(r)){if(!1===u(c))return null;r=c>=0?r[c]:r[r.length+c]}else{if(!n(r))return null;if(!1===u(c))return null;r=c>=0?r.get(c):r.get(r.length()+c)}if(null==r)return null}return r}export{m as geometryMember,p as getGeometryKeys,d as getNestedOptionalValue};
|
|
5
|
+
import e from"./Dictionary.js";import{ArcadeExecutionError as a}from"./executionError.js";import t from"./ImmutablePathArray.js";import r from"./ImmutablePointArray.js";import{j as n,r as s,h as i}from"../chunks/languageUtils.js";import c from"../core/Accessor.js";import{isArray as l,isString as o,isNumber as u}from"../support/guards.js";const h={point:["hasZ","hasM","spatialReference","type","x","y","z","m"],multipoint:["hasZ","hasM","spatialReference","type","points"],polyline:["hasZ","hasM","spatialReference","type","paths"],polygon:["hasZ","hasM","spatialReference","type","rings"],extent:["hasZ","hasM","spatialReference","type","xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]};function p(e){return h[e.type]}let f=0;function m(n,s,i,l,o=1){let u;switch(s=s.toLowerCase()){case"hasz":{const e=n.hasZ;return void 0!==e&&e}case"hasm":{const e=n.hasM;return void 0!==e&&e}case"spatialreference":{let a=n.spatialReference._arcadeCacheId;if(void 0===a){let e=!0;c.isFrozen(n.spatialReference)&&(e=!1),e&&(f++,n.spatialReference._arcadeCacheId=f,a=f)}const t=new e({__proto__:null,wkt:n.spatialReference.wkt,wkid:n.spatialReference.wkid});return void 0!==a&&(t._arcadeCacheId="SPREF"+a.toString()),t}}switch(n.type){case"extent":switch(s){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const e=n[s];return void 0!==e?e:null}case"type":return"Extent"}break;case"polygon":switch(s){case"rings":u=n.cache._arcadeCacheId,void 0===u&&(f++,u=f,n.cache._arcadeCacheId=u);return new t(n.rings,n.spatialReference,!0===n.hasZ,!0===n.hasM,u);case"type":return"Polygon"}break;case"point":switch(s){case"x":case"y":case"z":case"m":return n[s]??null;case"type":return"Point"}break;case"polyline":switch(s){case"paths":u=n.cache._arcadeCacheId,void 0===u&&(f++,u=f,n.cache._arcadeCacheId=u);return new t(n.paths,n.spatialReference,!0===n.hasZ,!0===n.hasM,u);case"type":return"Polyline"}break;case"multipoint":switch(s){case"points":u=n.cache._arcadeCacheId,void 0===u&&(f++,u=f,n.cache._arcadeCacheId=u);return new r(n.points,n.spatialReference,!0===n.hasZ,!0===n.hasM,u,1);case"type":return"Multipoint"}}if(1===o)throw new a(i,"InvalidIdentifier",l);return 2===o?{keystate:"notfound"}:null}function d(e,a){let t,r=e;if(null==r)return null;if(l(a))t=a;else if(n(a))t=a.toArray();else{if(null==a)return null;t=[a]}for(const c of t){if(s(r)){if(!1===o(c))return null;if(!r.hasField(c))return null;r=r.field(c)}else if(i(r)){if(!1===o(c))return null;r=m(r,c,null,null,0)}else if(l(r)){if(!1===u(c))return null;r=c>=0?r[c]:r[r.length+c]}else{if(!n(r))return null;if(!1===u(c))return null;r=c>=0?r.get(c):r.get(r.length()+c)}if(null==r)return null}return r}export{m as geometryMember,p as getGeometryKeys,d as getNestedOptionalValue};
|