@arcgis/core 5.1.0-next.110 → 5.1.0-next.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analysis/ElevationProfile/ElevationProfileGroup.d.ts +3 -0
- package/analysis/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -0
- package/analysis/ElevationProfileAnalysis.d.ts +5 -0
- package/analysis/ShadowCast/DiscreteOptions.d.ts +2 -2
- package/analysis/ShadowCast/TotalDurationOptions.d.ts +13 -4
- package/analysis/ShadowCastAnalysis.d.ts +8 -5
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/Pixel.js +1 -1
- package/arcade/Voxel.js +1 -1
- package/arcade/arcade.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeEnvironment.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/compilerUtils.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/debug.js +1 -1
- package/arcade/enum.js +1 -1
- package/arcade/executionError.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/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.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/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/constructors.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/geometry/unitConversion.js +1 -1
- package/arcade.js +1 -1
- package/assets/components/assets/icon/returnToDefault16.json +1 -0
- package/assets/components/assets/icon/returnToDefault24.json +1 -0
- package/assets/components/assets/icon/returnToDefault32.json +1 -0
- package/assets/components/assets/icon/reviewMap16.json +1 -0
- package/assets/components/assets/icon/reviewMap24.json +1 -0
- package/assets/components/assets/icon/reviewMap32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/03babc21d1781142a974.js +1 -0
- package/assets/esri/core/workers/chunks/08efd64acdfe46985293.js +1 -0
- package/assets/esri/core/workers/chunks/0b76534b60014d74ecb9.js +1 -0
- package/assets/esri/core/workers/chunks/{622bdd1b9d5d292ec12b.js → 0e6a388d51d9dbae46ba.js} +1 -1
- package/assets/esri/core/workers/chunks/{34e026549ba2822b8ebd.js → 13d43a0683c42b94feb6.js} +1 -1
- package/assets/esri/core/workers/chunks/{4f9ea7544b2d0e88a05c.js → 13f0e08de2dfab07d212.js} +1 -1
- package/assets/esri/core/workers/chunks/{35bbd63319d8aa9f31cc.js → 169c9eb6cd000e067c4b.js} +1 -1
- package/assets/esri/core/workers/chunks/{d4014213c476bf8099af.js → 18c4207b1cb0777560ba.js} +1 -1
- package/assets/esri/core/workers/chunks/{58c15c42e6a618386a2f.js → 1c8c8050d60205cf2156.js} +1 -1
- package/assets/esri/core/workers/chunks/1f537c05c2f643acb5e7.js +1 -0
- package/assets/esri/core/workers/chunks/241aeff6afd074ce105b.js +1 -0
- package/assets/esri/core/workers/chunks/{ddebc1dc10a2d207389f.js → 282f3d364411efac7b80.js} +1 -1
- package/assets/esri/core/workers/chunks/{d6d5ee9d0d998d730f81.js → 2bd334f9ab89334df713.js} +1 -1
- package/assets/esri/core/workers/chunks/340c68d09d2e8bef6727.js +2 -0
- package/assets/esri/core/workers/chunks/{17604cbd4d24158e2c16.js → 3835097520296b0517af.js} +1 -1
- package/assets/esri/core/workers/chunks/481dc7503587972a6bd2.js +2 -0
- package/assets/esri/core/workers/chunks/{9f4a9b193485f88d4461.js → 4afe76de6e82e86fe697.js} +1 -1
- package/assets/esri/core/workers/chunks/{ac408c62565e2c8b5975.js → 4c5cdd2712c938fafc5d.js} +1 -1
- package/assets/esri/core/workers/chunks/{ece30bfd5c49b8d99752.js → 5e5c7cc74ff1c9603aff.js} +1 -1
- package/assets/esri/core/workers/chunks/{502c3da8c49bf885f51d.js → 63ea9035dcf9ce45560c.js} +1 -1
- package/assets/esri/core/workers/chunks/{33ec193e6d7a0cb9d8dd.js → 6b66a6f69aa03338c346.js} +1 -1
- package/assets/esri/core/workers/chunks/{56b6b68d9459b1edea43.js → 6c97b5bc408f051606d2.js} +1 -1
- package/assets/esri/core/workers/chunks/{94eab215bab3e4e0e5b5.js → 711d1873c760313e287f.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e13d639419ac64f7563.js → 7c077e1a63ab97bf3e87.js} +1 -1
- package/assets/esri/core/workers/chunks/86f2de7dda7992ae706c.js +1 -0
- package/assets/esri/core/workers/chunks/{a29cd1f5c7bb4f6a5a4f.js → 8d4881c879c86b353e08.js} +1 -1
- package/assets/esri/core/workers/chunks/{6e21675bbd7a44070771.js → 8ff83c59462dea6e3427.js} +1 -1
- package/assets/esri/core/workers/chunks/979bab62cad788180770.js +1 -0
- package/assets/esri/core/workers/chunks/9890c85a238879490926.js +1 -0
- package/assets/esri/core/workers/chunks/9ebc461529d5286fa2c2.js +2 -0
- package/assets/esri/core/workers/chunks/a95398214e530f896a2d.js +1 -0
- package/assets/esri/core/workers/chunks/{fc1fe1f58a65a1694c09.js → b02a68bbab07557cf02d.js} +1 -1
- package/assets/esri/core/workers/chunks/ba31616de9d73d83d867.js +1 -0
- package/assets/esri/core/workers/chunks/c7662455252b48531da1.js +1 -0
- package/assets/esri/core/workers/chunks/ca92176d5348e2c533d7.js +1 -0
- package/assets/esri/core/workers/chunks/cd5206e19d86c60e3cf0.js +1 -0
- package/assets/esri/core/workers/chunks/{bfb417d72d0c90e116fe.js → cedf3e316d6f89cf7005.js} +1 -1
- package/assets/esri/core/workers/chunks/d02aa7438f46c1c2167a.js +2 -0
- package/assets/esri/core/workers/chunks/d33a08e5f589355c57a3.js +1 -0
- package/assets/esri/core/workers/chunks/dd29fd1b3da90d3ca6b1.js +1 -0
- package/assets/esri/core/workers/chunks/e0036fa0324a96a88248.js +1 -0
- package/assets/esri/core/workers/chunks/{55334ad3618899cdbf78.js → e5854a3f69dffaf9464d.js} +2 -2
- package/assets/esri/core/workers/chunks/ed939fd5d3827a3f70e0.js +1 -0
- package/assets/esri/core/workers/chunks/fe8334352d256d691a95.js +1 -0
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +7 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ar.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_en.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
- package/chunks/aiServices.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/identity/IdentityModal.js +1 -1
- package/kernel.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
- package/layers/graphics/sources/parquet/PortalParquetLayerFileProvider.js +1 -1
- package/layers/support/SceneModification.js +1 -1
- package/layers/support/SceneModifications.js +1 -1
- package/layers/support/parquetUtils.js +1 -1
- package/package.json +2 -2
- package/renderers/ClassBreaksRenderer.js +1 -1
- package/renderers/UniqueValueRenderer.js +1 -1
- package/rest/print.js +1 -1
- package/rest/support/TranslateContent.js +1 -1
- package/rest/support/TranslateParameters.js +1 -1
- package/rest/support/TranslateResult.js +1 -1
- package/rest/translate.js +1 -1
- package/rest/utils.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/QualityProfile.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
- package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathEvaluator.js +2 -0
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/lib/PathFrame2D.js +2 -0
- package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
- package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
- package/views/3d/webgl-engine/lib/PathVertexInfo.js +2 -0
- package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
- package/views/DOMContainer.d.ts +2 -0
- package/views/LinkChartView.d.ts +47 -0
- package/views/MapView.d.ts +1 -85
- package/views/VideoView.d.ts +8 -1
- package/views/View2D.d.ts +78 -2
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
- package/views/interactive/tooltip/content/TooltipContent.js +1 -1
- package/views/types.d.ts +2 -3
- package/views/ui/DefaultUI.d.ts +1 -0
- package/widgets/Attachments.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BasemapToggle.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +10 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/css.js +1 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +25 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
- package/widgets/CatalogLayerList.js +1 -1
- package/widgets/Compass.js +1 -1
- package/widgets/CoordinateConversion.js +1 -1
- package/widgets/Daylight.js +1 -1
- package/widgets/DirectionalPad.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/components/FeatureList.js +1 -1
- package/widgets/Editor/components/FooterActions.js +1 -1
- package/widgets/Editor/components/PendingFeatureList.js +1 -1
- package/widgets/Editor/components/Prompt.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/ElevationProfile/components/LegendItem.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Features/FeaturesDrillIn.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/FovOverlay.js +1 -1
- package/widgets/Fullscreen.js +1 -1
- package/widgets/Home.js +1 -1
- package/widgets/LayerList/LayerListItem.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/NavigationToggle.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageMeasurementWidget.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationActions.js +1 -1
- package/widgets/OrientedImageryViewer/components/NavigationUI360.js +1 -1
- package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
- package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
- package/widgets/OrientedImageryViewer/components/VideoEnhancementTools.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/PanoramicVideoViewer.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/OverflowGroup.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/SplitButton.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/Swipe.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/TimeZoneLabel.js +1 -1
- package/widgets/Track.js +1 -1
- package/widgets/UtilityNetworkAssociations.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker.js +1 -1
- package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
- package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
- package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
- package/widgets/Weather.js +1 -1
- package/widgets/Zoom.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
- package/widgets/support/ColorPicker.js +1 -1
- package/widgets/support/ContingentValuesManager.js +1 -1
- package/widgets/support/FilterBuilder.js +1 -1
- package/widgets/support/GridControls.js +1 -1
- package/widgets/support/ItemList.js +1 -1
- package/widgets/support/LabeledSwitch.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/assets/esri/core/workers/chunks/1d1929f98d941179be29.js +0 -2
- package/assets/esri/core/workers/chunks/286bf3be9f524bde9529.js +0 -1
- package/assets/esri/core/workers/chunks/36ecb0082b8804b10fbf.js +0 -1
- package/assets/esri/core/workers/chunks/41a95ad470ec42ecd5a2.js +0 -1
- package/assets/esri/core/workers/chunks/547dc6ccb989bd962661.js +0 -1
- package/assets/esri/core/workers/chunks/549d348ca181d06aefb7.js +0 -2
- package/assets/esri/core/workers/chunks/56d9d3f108ff6e719dd4.js +0 -1
- package/assets/esri/core/workers/chunks/5c44638670e40e092ce3.js +0 -1
- package/assets/esri/core/workers/chunks/63934843c9f4ef779a07.js +0 -1
- package/assets/esri/core/workers/chunks/69c9eb93553b006b640d.js +0 -2
- package/assets/esri/core/workers/chunks/8330302096d4312a4393.js +0 -1
- package/assets/esri/core/workers/chunks/885eac78a76184efa1e5.js +0 -1
- package/assets/esri/core/workers/chunks/95dee5853c6e89f15ea9.js +0 -1
- package/assets/esri/core/workers/chunks/9da2f2b67837b491cfa3.js +0 -1
- package/assets/esri/core/workers/chunks/a913a1c83a667ed0e711.js +0 -1
- package/assets/esri/core/workers/chunks/b69d1d528e271568cbd8.js +0 -2
- package/assets/esri/core/workers/chunks/bc249bb667f0564ad093.js +0 -1
- package/assets/esri/core/workers/chunks/c8b96104641cb4afd4df.js +0 -1
- package/assets/esri/core/workers/chunks/cdb48d198145493f76f3.js +0 -1
- package/assets/esri/core/workers/chunks/e2bb95d601789bbda73b.js +0 -1
- package/assets/esri/core/workers/chunks/f1bb426400dac02880f1.js +0 -1
- package/assets/esri/core/workers/chunks/f3f984c62311c20a9db8.js +0 -1
- /package/assets/esri/core/workers/chunks/{69c9eb93553b006b640d.js.LICENSE.txt → 340c68d09d2e8bef6727.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{549d348ca181d06aefb7.js.LICENSE.txt → 481dc7503587972a6bd2.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{1d1929f98d941179be29.js.LICENSE.txt → 9ebc461529d5286fa2c2.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{b69d1d528e271568cbd8.js.LICENSE.txt → d02aa7438f46c1c2167a.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{55334ad3618899cdbf78.js.LICENSE.txt → e5854a3f69dffaf9464d.js.LICENSE.txt} +0 -0
|
@@ -20,6 +20,7 @@ export interface ElevationProfileGroupProperties extends Partial<Pick<ElevationP
|
|
|
20
20
|
* not have a corresponding result entry.
|
|
21
21
|
*
|
|
22
22
|
* @since 5.1
|
|
23
|
+
* @see [Sample - Elevation Profile group](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile-group/)
|
|
23
24
|
*/
|
|
24
25
|
profiles?: ReadonlyArrayOrCollection<((ElevationProfileLineGroundProperties & { type: "ground" }) | (ElevationProfileLineInputProperties & { type: "input" }) | (ElevationProfileLineQueryProperties & { type: "query" }) | (ElevationProfileLineSceneProperties & { type: "scene" }))> | null;
|
|
25
26
|
}
|
|
@@ -40,6 +41,7 @@ export interface ElevationProfileGroupProperties extends Partial<Pick<ElevationP
|
|
|
40
41
|
* @since 5.1
|
|
41
42
|
* @see [ElevationProfileAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfileAnalysis/)
|
|
42
43
|
* @see [ElevationProfileLine](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfile/ElevationProfileLine/)
|
|
44
|
+
* @see [Sample - Elevation Profile group](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile-group/)
|
|
43
45
|
*/
|
|
44
46
|
export default class ElevationProfileGroup extends Accessor {
|
|
45
47
|
/** @since 5.1 */
|
|
@@ -61,6 +63,7 @@ export default class ElevationProfileGroup extends Accessor {
|
|
|
61
63
|
* not have a corresponding result entry.
|
|
62
64
|
*
|
|
63
65
|
* @since 5.1
|
|
66
|
+
* @see [Sample - Elevation Profile group](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile-group/)
|
|
64
67
|
*/
|
|
65
68
|
get profiles(): Collection<ElevationProfileLineUnion>;
|
|
66
69
|
set profiles(value: ReadonlyArrayOrCollection<((ElevationProfileLineGroundProperties & { type: "ground" }) | (ElevationProfileLineInputProperties & { type: "input" }) | (ElevationProfileLineQueryProperties & { type: "query" }) | (ElevationProfileLineSceneProperties & { type: "scene" }))> | null | undefined);
|
|
@@ -25,6 +25,7 @@ export interface ElevationProfileLineQueryProperties extends ElevationProfileLin
|
|
|
25
25
|
*
|
|
26
26
|
* @since 4.34
|
|
27
27
|
* @see [ElevationProfileAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfileAnalysis/)
|
|
28
|
+
* @see [Sample - Elevation Profile group](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile-group/)
|
|
28
29
|
* @example
|
|
29
30
|
* // Create an elevation profile analysis with a custom elevation layer as the source
|
|
30
31
|
* const elevationLayer = new ElevationLayer({
|
|
@@ -49,6 +49,8 @@ export interface ElevationProfileAnalysisProperties extends AnalysisProperties {
|
|
|
49
49
|
*
|
|
50
50
|
* In a [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/), [ElevationProfileLineScene](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfile/ElevationProfileLineScene/) is
|
|
51
51
|
* not supported.
|
|
52
|
+
*
|
|
53
|
+
* @see [Sample - Elevation Profile group](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile-group/)
|
|
52
54
|
*/
|
|
53
55
|
profiles?: ReadonlyArrayOrCollection<((ElevationProfileLineGroundProperties & { type: "ground" }) | (ElevationProfileLineInputProperties & { type: "input" }) | (ElevationProfileLineQueryProperties & { type: "query" }) | (ElevationProfileLineSceneProperties & { type: "scene" })) | (ElevationProfileGroupProperties & { type: "group" })> | null;
|
|
54
56
|
/** Configuration options for visualizing an elevation profile within a view. */
|
|
@@ -139,6 +141,7 @@ export interface ElevationProfileAnalysisProperties extends AnalysisProperties {
|
|
|
139
141
|
* @see [ElevationProfileAnalysisView2D](https://developers.arcgis.com/javascript/latest/references/core/views/2d/analysis/ElevationProfileAnalysisView2D/)
|
|
140
142
|
* @see [ElevationProfileAnalysisView3D](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/ElevationProfileAnalysisView3D/)
|
|
141
143
|
* @see [Sample - Elevation Profile analysis](https://developers.arcgis.com/javascript/latest/sample-code/analysis-elevation-profile/)
|
|
144
|
+
* @see [Sample - Elevation Profile group](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile-group/)
|
|
142
145
|
* @see [Sample - Analysis objects](https://developers.arcgis.com/javascript/latest/sample-code/analysis-objects/)
|
|
143
146
|
* @see [Elevation Profile component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-elevation-profile/)
|
|
144
147
|
* @see [Async cancellation with AbortController](https://developers.arcgis.com/javascript/latest/async-cancellation-with-abortcontroller/)
|
|
@@ -177,6 +180,8 @@ export default class ElevationProfileAnalysis extends Analysis {
|
|
|
177
180
|
*
|
|
178
181
|
* In a [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/), [ElevationProfileLineScene](https://developers.arcgis.com/javascript/latest/references/core/analysis/ElevationProfile/ElevationProfileLineScene/) is
|
|
179
182
|
* not supported.
|
|
183
|
+
*
|
|
184
|
+
* @see [Sample - Elevation Profile group](https://developers.arcgis.com/javascript/latest/sample-code/elevation-profile-group/)
|
|
180
185
|
*/
|
|
181
186
|
get profiles(): Collection<ElevationProfileLineUnion | ElevationProfileGroup>;
|
|
182
187
|
set profiles(value: ReadonlyArrayOrCollection<((ElevationProfileLineGroundProperties & { type: "ground" }) | (ElevationProfileLineInputProperties & { type: "input" }) | (ElevationProfileLineQueryProperties & { type: "query" }) | (ElevationProfileLineSceneProperties & { type: "scene" })) | (ElevationProfileGroupProperties & { type: "group" })> | null | undefined);
|
|
@@ -27,7 +27,7 @@ export interface DiscreteOptionsProperties extends Partial<Pick<DiscreteOptions,
|
|
|
27
27
|
*
|
|
28
28
|
* - Each stop defines a color and the corresponding number of overlapping shadows. When
|
|
29
29
|
* [ShadowCastAnalysis.visualizeSunlight](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCastAnalysis/#visualizeSunlight) is `true`, each stop defines the corresponding number of
|
|
30
|
-
* overlapping sunlight samples instead.
|
|
30
|
+
* overlapping sunlight samples instead. These are sample-count values, not duration values.
|
|
31
31
|
* - Colors are interpolated between adjacent stops.
|
|
32
32
|
* - If omitted, the visualization uses a default ramp between transparent and [color](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/DiscreteOptions/#color). If specified, these stops are used.
|
|
33
33
|
*
|
|
@@ -72,7 +72,7 @@ export default class DiscreteOptions extends Clonable {
|
|
|
72
72
|
*
|
|
73
73
|
* - Each stop defines a color and the corresponding number of overlapping shadows. When
|
|
74
74
|
* [ShadowCastAnalysis.visualizeSunlight](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCastAnalysis/#visualizeSunlight) is `true`, each stop defines the corresponding number of
|
|
75
|
-
* overlapping sunlight samples instead.
|
|
75
|
+
* overlapping sunlight samples instead. These are sample-count values, not duration values.
|
|
76
76
|
* - Colors are interpolated between adjacent stops.
|
|
77
77
|
* - If omitted, the visualization uses a default ramp between transparent and [color](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/DiscreteOptions/#color). If specified, these stops are used.
|
|
78
78
|
*
|
|
@@ -28,7 +28,11 @@ export interface TotalDurationOptionsProperties extends Partial<Pick<TotalDurati
|
|
|
28
28
|
*
|
|
29
29
|
* - Each stop defines a color and a duration value in milliseconds. The value represents shadow duration by default
|
|
30
30
|
* and sunlight duration when [ShadowCastAnalysis.visualizeSunlight](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCastAnalysis/#visualizeSunlight) is `true`.
|
|
31
|
-
* -
|
|
31
|
+
* - In `continuous` mode, colors are interpolated between adjacent stops.
|
|
32
|
+
* - In `hourly` mode, the value used to evaluate the color ramp is snapped to an hourly boundary. Shadow duration
|
|
33
|
+
* is rounded up: `0` remains `0`, and values greater than `0` and up to `1` hour evaluate the ramp at `1` hour.
|
|
34
|
+
* Sunlight duration is rounded down: in a 6-hour analysis window, `6` hours remains `6` hours, and values at least
|
|
35
|
+
* `5` hours and less than `6` hours evaluate the ramp at `5` hours.
|
|
32
36
|
* - If omitted, the visualization uses a default ramp between transparent and [color](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/TotalDurationOptions/#color). If specified, these stops are used.
|
|
33
37
|
*
|
|
34
38
|
* > [!WARNING]
|
|
@@ -72,7 +76,11 @@ export default class TotalDurationOptions extends Clonable {
|
|
|
72
76
|
*
|
|
73
77
|
* - Each stop defines a color and a duration value in milliseconds. The value represents shadow duration by default
|
|
74
78
|
* and sunlight duration when [ShadowCastAnalysis.visualizeSunlight](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCastAnalysis/#visualizeSunlight) is `true`.
|
|
75
|
-
* -
|
|
79
|
+
* - In `continuous` mode, colors are interpolated between adjacent stops.
|
|
80
|
+
* - In `hourly` mode, the value used to evaluate the color ramp is snapped to an hourly boundary. Shadow duration
|
|
81
|
+
* is rounded up: `0` remains `0`, and values greater than `0` and up to `1` hour evaluate the ramp at `1` hour.
|
|
82
|
+
* Sunlight duration is rounded down: in a 6-hour analysis window, `6` hours remains `6` hours, and values at least
|
|
83
|
+
* `5` hours and less than `6` hours evaluate the ramp at `5` hours.
|
|
76
84
|
* - If omitted, the visualization uses a default ramp between transparent and [color](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/TotalDurationOptions/#color). If specified, these stops are used.
|
|
77
85
|
*
|
|
78
86
|
* > [!WARNING]
|
|
@@ -86,8 +94,9 @@ export default class TotalDurationOptions extends Clonable {
|
|
|
86
94
|
get colorStops(): ColorStop[] | null | undefined;
|
|
87
95
|
set colorStops(value: ColorStopProperties[] | null | undefined);
|
|
88
96
|
/**
|
|
89
|
-
* Determines how cumulative shadow duration is visualized.
|
|
90
|
-
*
|
|
97
|
+
* Determines how cumulative shadow or sunlight duration is visualized. Use `continuous` to display an interpolated
|
|
98
|
+
* duration surface across the selected time range. Use `hourly` to snap values to hourly boundaries before applying
|
|
99
|
+
* the color ramp: shadow duration is rounded up and sunlight duration is rounded down.
|
|
91
100
|
*
|
|
92
101
|
* @default "continuous"
|
|
93
102
|
* @since 5.0
|
|
@@ -76,8 +76,9 @@ export interface ShadowCastAnalysisProperties extends AnalysisProperties, Partia
|
|
|
76
76
|
* When set, the [geometry](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCastAnalysis/#geometry) property limits the visualization to a polygonal project
|
|
77
77
|
* area, such as a parcel, park, or courtyard. If no geometry is provided, the analysis applies to the entire scene.
|
|
78
78
|
* For `total-duration` and `discrete` visualizations, the [TotalDurationOptions.colorStops](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/TotalDurationOptions/#colorStops) or
|
|
79
|
-
* [DiscreteOptions.colorStops](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/DiscreteOptions/#colorStops) properties define a custom color ramp
|
|
80
|
-
* sample-count values. If color stops are not
|
|
79
|
+
* [DiscreteOptions.colorStops](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/DiscreteOptions/#colorStops) properties define a custom color ramp. In `total-duration`
|
|
80
|
+
* mode, stops define duration values. In `discrete` mode, stops define sample-count values. If color stops are not
|
|
81
|
+
* provided, the visualization uses a default transparent-to-color ramp.
|
|
81
82
|
*
|
|
82
83
|
* The [mode](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCastAnalysis/#mode) property controls how shadow or sunlight exposure is visualized:
|
|
83
84
|
*
|
|
@@ -87,9 +88,11 @@ export interface ShadowCastAnalysisProperties extends AnalysisProperties, Partia
|
|
|
87
88
|
* | `total-duration` | Showing cumulative shadow or sunlight duration across the analysis area. | Supports continuous visualization or 1-hour intervals. Without color stops, areas with no duration remain transparent, intermediate values are interpolated, and the highest duration uses the opacity from [TotalDurationOptions.color](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/TotalDurationOptions/#color). |
|
|
88
89
|
* | `discrete` | Displaying individual shadow or sunlight samples at regular intervals. | The interval is defined by [DiscreteOptions.interval](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCast/DiscreteOptions/#interval). For example, a one-hour range with a 30-minute interval displays samples at the start, middle, and end of the range. |
|
|
89
90
|
*
|
|
90
|
-
* By default, the analysis also displays a tooltip next to the pointer
|
|
91
|
-
*
|
|
92
|
-
*
|
|
91
|
+
* By default, the analysis also displays a tooltip next to the pointer. In continuous `total-duration` and
|
|
92
|
+
* `min-duration` modes, the tooltip reports the total duration at that location, rounded to 15-minute increments. In
|
|
93
|
+
* hourly `total-duration` mode, the tooltip reports the hourly range represented on the map. In `discrete` mode, the
|
|
94
|
+
* tooltip reports the duration at that location. The tooltip reports shadow duration by default and sunlight duration
|
|
95
|
+
* when [visualizeSunlight](https://developers.arcgis.com/javascript/latest/references/core/analysis/ShadowCastAnalysis/#visualizeSunlight) is `true`.
|
|
93
96
|
*
|
|
94
97
|
* To perform a shadow cast analysis in your [WebScene](https://developers.arcgis.com/javascript/latest/references/core/WebScene/):
|
|
95
98
|
* - Create a new instance of ShadowCastAnalysis.
|
package/arcade/Dictionary.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as t}from"./ArcadeDate.js";import{deepClone as e}from"./deepClone.js";import{ArcadeExecutionError as s}from"./executionError.js";import{N as r,k as i,i as n,j as o,W as a,E as u,F as l,Z as c,O as b}from"../chunks/languageUtils.js";import h from"../geometry/Geometry.js";import{isNumber as f,isBoolean as m,isString as d,isArray as w}from"../support/guards.js";function y(t,e,s=!1,r=!1){if(null==t)return null;if(f(t)||m(t)||d(t)||u(t)||l(t)||c(t))return t;if(w(t)){const i=[];for(const n of t)i.push(y(n,e,s,r));return i}if(r&&b(t))return t;const i=new p;i.immutable=!1;for(const[n,o]of Object.entries(t))void 0!==o&&i.setField(n,y(o,e,s,r));return i.immutable=s,i}class p{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.plain=!1,this.immutable=!0,t instanceof p?this.attributes=t.attributes:null==t?this.attributes=Object.create(null):null!=Object.getPrototypeOf(t)?this.attributes={__proto__:null,...t}:this.attributes=t}static containerEntry(t,e){return new p({__proto__:null,key:t,value:e})}static textFormatting(){const t=new p({__proto__:null,newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});return t.immutable=!1,t}field(t){const e=t.toLowerCase(),r=this.attributes[t];if(void 0!==r)return r;for(const s in this.attributes)if(s.toLowerCase()===e)return this.attributes[s];throw new s(
|
|
2
|
+
import{ArcadeDate as t}from"./ArcadeDate.js";import{deepClone as e}from"./deepClone.js";import{ArcadeExecutionError as s}from"./executionError.js";import{N as r,k as i,i as n,j as o,W as a,E as u,F as l,Z as c,O as b}from"../chunks/languageUtils.js";import h from"../geometry/Geometry.js";import{isNumber as f,isBoolean as m,isString as d,isArray as w}from"../support/guards.js";function y(t,e,s=!1,r=!1){if(null==t)return null;if(f(t)||m(t)||d(t)||u(t)||l(t)||c(t))return t;if(w(t)){const i=[];for(const n of t)i.push(y(n,e,s,r));return i}if(r&&b(t))return t;const i=new p;i.immutable=!1;for(const[n,o]of Object.entries(t))void 0!==o&&i.setField(n,y(o,e,s,r));return i.immutable=s,i}class p{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.plain=!1,this.immutable=!0,t instanceof p?this.attributes=t.attributes:null==t?this.attributes=Object.create(null):null!=Object.getPrototypeOf(t)?this.attributes={__proto__:null,...t}:this.attributes=t}static containerEntry(t,e){return new p({__proto__:null,key:t,value:e})}static textFormatting(){const t=new p({__proto__:null,newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});return t.immutable=!1,t}field(t){const e=t.toLowerCase(),r=this.attributes[t];if(void 0!==r)return r;for(const s in this.attributes)if(s.toLowerCase()===e)return this.attributes[s];throw new s("FieldNotFound",null,{key:t})}setField(e,i){if(this.immutable)throw new s("Immutable",null);if(r(i))throw new s("NoFunctionInDictionary",null);const n=e.toLowerCase();i instanceof Date&&(i=t.dateJSToArcadeDate(i));if(void 0===this.attributes[e]){for(const t in this.attributes)if(t.toLowerCase()===n)return void(this.attributes[t]=i);this.attributes[e]=i}else this.attributes[e]=i}eraseField(t){if(this.immutable)throw new s("Immutable",null);if(t in this.attributes)return void delete this.attributes[t];const e=t.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===e)return void delete this.attributes[s]}hasField(t){const e=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const s in this.attributes)if(s.toLowerCase()===e)return!0;return!1}keys(){const t=[];for(const e in this.attributes)t.push(e);return t.sort((t,e)=>t.toLowerCase()<e.toLowerCase()?-1:1)}values(){return this.keys().map(t=>this.attributes[t])}entryCount(){return Object.keys(this.attributes).length}isEmpty(){return this.entryCount()<=0}castToText(t=!1){return i(this.attributes,{useNumbersForDates:t})}static convertObjectToArcadeDictionary(t,e,s=!0,r=!1){const i=new p;i.immutable=!1;for(const n in t){const o=t[n];void 0!==o&&i.setField(n.toString(),y(o,e,s,r))}return i.immutable=s,i}static convertJsonToArcade(t,e,s=!1,r=!1){return y(t,e,s,r)}castAsJson(t=null){const e=Object.create(null);for(let s in this.attributes){const r=this.attributes[s];void 0!==r&&(t?.keyTranslate&&(s=t.keyTranslate(s)),e[s]=n(r,t))}return e}async castDictionaryValueAsJsonAsync(t,e,s,r=null,i){const n=await o(s,r,i);return t[e]=n,n}async castAsJsonAsync(e=null,s=null){const r=Object.create(null),i=[];for(let o in this.attributes){const u=this.attributes[o];s?.keyTranslate&&(o=s.keyTranslate(o)),void 0!==u&&(a(u)||u instanceof h||u instanceof t?r[o]=n(u,s):i.push(this.castDictionaryValueAsJsonAsync(r,o,u,e,s)))}return i.length>0&&await Promise.all(i),r}deepClone(){const t=new p;t.immutable=!1;for(const s of this.keys())t.setField(s,e(this.field(s)));return t}}export{p as default};
|
package/arcade/Feature.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as e}from"./ArcadeDate.js";import{configureDeepClone as t}from"./deepClone.js";import i from"./Dictionary.js";import{ArcadeExecutionError as s}from"./executionError.js";import{L as r,k as n,ad as a,W as o,E as l,Z as
|
|
2
|
+
import{ArcadeDate as e}from"./ArcadeDate.js";import{configureDeepClone as t}from"./deepClone.js";import i from"./Dictionary.js";import{ArcadeExecutionError as s}from"./executionError.js";import{L as r,k as n,ad as a,W as o,E as l,Z as d,F as u,i as m}from"../chunks/languageUtils.js";import{constructGeometryFromDictionary as y}from"./geometry/constructors.js";import{DateOnly as c}from"../core/sql/DateOnly.js";import{TimeOnly as f}from"../core/sql/TimeOnly.js";import h from"../geometry/Geometry.js";import{fromJSON as p}from"../geometry/support/jsonUtils.js";import{convertToGeometry as _}from"../layers/graphics/featureConversionUtils.js";import T from"../layers/support/FieldsIndex.js";import{isString as g,isNumber as F,isBoolean as b,isDate as x}from"../support/guards.js";function D(e){switch(e.type){case"small-integer":case"esriFieldTypeSmallInteger":case"integer":case"esriFieldTypeInteger":case"single":case"esriFieldTypeSingle":case"double":case"esriFieldTypeDouble":case"big-integer":case"esriFieldTypeBigInteger":case"long":case"esriFieldTypeLong":case"oid":case"esriFieldTypeOID":return{name:e.name,type:"number"};case"global-id":case"esriFieldTypeGlobalID":case"guid":case"esriFieldTypeGUID":case"string":case"esriFieldTypeString":return{name:e.name,type:"text"};case"date":case"esriFieldTypeDate":case"timestamp-offset":case"esriFieldTypeTimestampOffset":return{name:e.name,type:"date"};case"date-only":case"esriFieldTypeDateOnly":return{name:e.name,type:"dateOnly"};case"time-only":case"esriFieldTypeTimeOnly":return{name:e.name,type:"time"};default:return null}}function w(t,i,s){if(null==t)return null;switch(i){case"time-only":return d(t)?t:f.fromReader(t.toString());case"date-only":return u(t)?t:c.fromReader(t.toString());case"timestamp-offset":return l(t)?t:e.fromReaderAsTimeStampOffset(t.toString());case"date":return l(t)?t:x(t)?e.dateJSAndZoneToArcadeDate(t,s):e.epochToArcadeDate(t,s);case"geometry":return null;default:return t}}class I{constructor(){this.arcadeDeclaredClass="esri.arcade.Feature",this._optimizedGeomDefinition=null,this._geometry=null,this.attributes=null,this._layer=null,this._fieldTypesFixed=!0,this.fieldsIndex=null,this.contextTimeZone=null,this.immutable=!0,this._fieldsToFixDataTypes=null,this.immutable=!0}static createFromGraphic(e,t){const i=new I;return i.contextTimeZone=t??null,i._geometry=null!=e.geometry?e.geometry:null,void 0===e.attributes||null===e.attributes?i.attributes={}:i.attributes=e.attributes,e._sourceLayer?(i._layer=e._sourceLayer,i._fieldTypesFixed=!1):e._layer?(i._layer=e._layer,i._fieldTypesFixed=!1):e.layer&&"fields"in e.layer?(i._layer=e.layer,i._fieldTypesFixed=!1):e.sourceLayer&&"fields"in e.sourceLayer&&(i._layer=e.sourceLayer,i._fieldTypesFixed=!1),i._layer&&!i._fieldTypesFixed&&(i.fieldsIndex=this.hydrateFieldsIndex(i._layer)),i}static createFromArcadeFeature(e){if(e instanceof I){const t=new I;return t._fieldTypesFixed=e._fieldTypesFixed,t.attributes=e.attributes,t._geometry=e._geometry,t._optimizedGeomDefinition=e._optimizedGeomDefinition,e._layer&&(t._layer=e._layer),t.fieldsIndex=e.fieldsIndex,t.contextTimeZone=e.contextTimeZone,t}const t={};for(const i of e.keys())t[i]=e.field(i);return I.createFromGraphicLikeObject(e.geometry(),t,e.fullSchema(),e.contextTimeZone)}static createFromOptimisedFeature(e,t,i){const s=new I;return s._geometry=e.geometry?{geometry:e.geometry}:null,s._optimizedGeomDefinition=i,s.attributes=e.attributes||{},s._layer=t,s._fieldTypesFixed=!1,s}static createFromArcadeDictionary(e,t){const s=new I;return s.attributes=e.field("attributes"),null!==s.attributes&&s.attributes instanceof i?(s.attributes=s.attributes.attributes,null===s.attributes&&(s.attributes={})):s.attributes={},s._geometry=e.field("geometry"),null!==s._geometry&&(s._geometry instanceof i?s._geometry=y(s._geometry,t):s._geometry instanceof h||(s._geometry=null)),s}static createFromGraphicLikeObject(e,t,i=null,s){const r=new I;return r.contextTimeZone=s??null,null===t&&(t={}),r.attributes=t,r._geometry=null!=e?e:null,r._layer=i,r._layer&&(r._fieldTypesFixed=!1,r.fieldsIndex=this.hydrateFieldsIndex(r._layer)),r}static hydrateFieldsIndex(e){return null===e?null:r(e)?e.getFieldsIndex():e.fieldsIndex?e.fieldsIndex:T.fromLayerJSON({datesInUnknownTimezone:e.datesInUnknownTimezone,fields:e.fields,timeInfo:e.timeInfo,editFieldsInfo:e.editFieldsInfo,dateFieldsTimeReference:e.dateFieldsTimeReference??{timeZone:"UTC",respectsDaylightSaving:!1}})}repurposeFromGraphicLikeObject(e,t,i=null){null===t&&(t={}),this.attributes=t,this._geometry=e??null,this._layer=i,this._layer?this._fieldTypesFixed=!1:this._fieldTypesFixed=!0}castToText(e=!1){!1===this._fieldTypesFixed&&this._fixFieldTypes();const t=n(this.attributes,{useNumbersForDates:e});return'{"geometry":'+(null===this.geometry()?"null":a(this.geometry()))+',"attributes":'+t+"}"}_fixFieldTypes(){if(this._fieldsToFixDataTypes&&this._fieldsToFixDataTypes?.length>0)return this._fixAllFields(this._fieldsToFixDataTypes),void(this._fieldTypesFixed=!0);const e=[],t=this._layer.fields;for(let i=0;i<(t?.length??0);i++){const s=t[i],{name:r,type:n}=s;switch(n){case"date":case"esriFieldTypeDate":e.push({field:r,dataType:"date"});break;case"date-only":case"esriFieldTypeDateOnly":e.push({field:r,dataType:"date-only"});break;case"time-only":case"esriFieldTypeTimeOnly":e.push({field:r,dataType:"time-only"});break;case"timestamp-offset":case"esriFieldTypeTimestampOffset":e.push({field:r,dataType:"timestamp-offset"});break;case"geometry":case"esriFieldTypeGeometry":e.push({field:r,dataType:"geometry"})}}this._fieldsToFixDataTypes=e,e.length>0&&this._fixAllFields(e),this._fieldTypesFixed=!0}isUnknownDateTimeField(e){return"unknown"===this.fieldsIndex?.getTimeZone(e)}_fixAllFields(e){this.attributes={...this.attributes};const t=this.contextTimeZone??"system";for(let i=0;i<e.length;i++){const s=e[i].field,r=e[i].dataType;let n=this.attributes[s];if(void 0===n){for(const e in this.attributes)if(e.toLowerCase()===s.toLowerCase()){n=this.attributes[e],this.attributes[e]=w(n,r,this.isUnknownDateTimeField(e)?"unknown":t);break}}else null!==n&&(this.attributes[s]=w(n,r,this.isUnknownDateTimeField(s)?"unknown":t))}}geometry(){return null===this._geometry||this._geometry instanceof h||(this._optimizedGeomDefinition?(this._geometry=p(_(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM)),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=p(this._geometry)),this._geometry}field(e){this._fieldTypesFixed||this._fixFieldTypes();const t=this.attributes[e];if(void 0!==t)return t;const i=e.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===i)return this.attributes[s];if(this._hasFieldDefinition(i))return null;throw new s("FieldNotFound",null,{key:e})}_hasFieldDefinition(e){if(null===this._layer)return!1;for(let t=0;t<this._layer.fields.length;t++){if(this._layer.fields[t].name.toLowerCase()===e)return!0}return!1}setField(t,i){if(this.immutable)throw new s("Immutable",null);if(i instanceof Date&&(i=this.isUnknownDateTimeField(t)?e.unknownDateJSToArcadeDate(i):e.dateJSToArcadeDate(i)),!1===o(i))throw new s("TypeNotAllowedInFeature",null);const r=t.toLowerCase();if(void 0===this.attributes[t]){for(const e in this.attributes)if(e.toLowerCase()===r)return void(this.attributes[e]=i);this.attributes[t]=i}else this.attributes[t]=i}hasField(e){const t=e.toLowerCase();if(void 0!==this.attributes[e])return!0;for(const i in this.attributes)if(i.toLowerCase()===t)return!0;return!!this._hasFieldDefinition(t)}keys(){const e=[],t=new Set;for(const i in this.attributes)e.push(i),t.add(i.toLowerCase());if(null!==this._layer)for(let i=0;i<this._layer.fields.length;i++){const s=this._layer.fields[i];t.has(s.name.toLowerCase())||e.push(s.name)}return e.sort((e,t)=>e.toLowerCase()<t.toLowerCase()?-1:1)}isEmpty(){for(const e in this.attributes)return!1;return!(null!=this._layer&&this._layer.fields.length>0)&&null==this.geometry()}static parseAttributesFromDictionary(e){const t={};for(const i in e.attributes){const r=e.attributes[i];if(!o(r))throw new s("InvalidParameter",null);t[i]=r}return t}static fromJson(e,t){let i=null;null!==e.geometry&&void 0!==e.geometry&&(i=p(e.geometry));const r={};if(null!==e.attributes&&void 0!==e.attributes)for(const n in e.attributes){const t=e.attributes[n];if(null===t)r[n]=t;else{if(!(g(t)||F(t)||b(t)||l(t)||d(t)||u(t)))throw new s("InvalidParameter",null);r[n]=t}}return I.createFromGraphicLikeObject(i,r,null,t??null)}fullSchema(){return this._layer}gdbVersion(){if(null===this._layer)return"";const e=this._layer.gdbVersion;return void 0===e?"":""===e&&this._layer.capabilities?.isVersioned?"SDE.DEFAULT":e}castAsJson(e){const t={attributes:{},geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null};for(const i in this.attributes){const s=this.attributes[i];void 0!==s&&(t.attributes[i]=m(s,e))}return t}async castAsJsonAsync(e=null,t){return this.castAsJson(t)}}t(I);export{I as Feature,w as convertAttributeToArcadeValue,D as getArcadeVariableForField};
|
package/arcade/Pixel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{toSymbolId as r}from"./arcadeEnvironment.js";import{ArcadeExecutionError as e}from"./executionError.js";import{getArcadeVariableForField as t,convertAttributeToArcadeValue as s}from"./Feature.js";import i from"./ImmutableArray.js";import{W as a,k as n}from"../chunks/languageUtils.js";import o from"../core/Logger.js";import{getOrCreateMapValue as
|
|
2
|
+
import{toSymbolId as r}from"./arcadeEnvironment.js";import{ArcadeExecutionError as e}from"./executionError.js";import{getArcadeVariableForField as t,convertAttributeToArcadeValue as s}from"./Feature.js";import i from"./ImmutableArray.js";import{W as a,k as n}from"../chunks/languageUtils.js";import o from"../core/Logger.js";import{getOrCreateMapValue as m}from"../core/MapUtils.js";import{isImageryGraphicOrigin as l}from"../graphic/isImageryGraphicOrigin.js";import{isImageryTileGraphicOrigin as p}from"../graphic/isImageryTileGraphicOrigin.js";import{isRasterPixelValueField as u}from"../layers/support/fieldUtils.js";import{rasterFieldPrefix as f}from"../layers/support/rasterFieldUtils.js";import{isDate as c}from"../support/guards.js";const g=()=>o.getLogger("esri.arcade.Pixel");function h(r){return r.rasterFields.filter(r=>r.name.startsWith(f))}class d{constructor(e,t,s){this._graphic=t,this._timeZone=s,this.arcadeDeclaredClass="esri.arcade.Pixel",this._values=new Map,this._fields=new Map(e.map(e=>[r(e.name),e]).sort((r,e)=>r[0]<e[0]?-1:1))}static fromImageryGraphic(r,t){if(!l(r.origin)&&!p(r.origin))throw new e("InvalidParameter",null);return new d(h(r.origin.layer),r,t)}static getDeclaredMembers(r){return h(r).map(r=>u(r.name)&&"string"===r.type?{name:r.name,type:"array",elementType:{type:"text"}}:t(r)).filter(r=>null!=r)}keys(){return Array.from(this._fields.values()).map(r=>r.name)}hasField(e){return this._fields.has(r(e))}field(t){const n=this._fields.get(r(t));if(null==n)throw new e("FieldNotFound",null,{key:t});return m(this._values,n.name,()=>{const r=this._graphic.getAttribute(n.name);return null==r?null:u(n.name)&&"string"==typeof r?new i(r.split(/,\s*|\s+/)):c(r)||a(r)?s(r,n.type,this._timeZone??"system"):(g().warn(`Unsupported type for attribute: ${n.name}. Ignoring value.`),null)})}isEmpty(){return this._fields.size<=0}castToText(r=!1){const e={};for(const t of this._fields.values())e[t.name]=this.field(t.name);return n(e,{useNumbersForDates:r})}}export{d as Pixel};
|
package/arcade/Voxel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as e}from"./ArcadeDate.js";import{ArcadeExecutionError as t}from"./executionError.js";import r from"./ImmutableArray.js";import{k as i}from"../chunks/languageUtils.js";import{isDate as s}from"../support/guards.js";const n="Voxel.Position",a="Voxel.LocalTime";function o(e){const i=e.getAttribute(n);if("string"!=typeof i)throw new t(
|
|
2
|
+
import{ArcadeDate as e}from"./ArcadeDate.js";import{ArcadeExecutionError as t}from"./executionError.js";import r from"./ImmutableArray.js";import{k as i}from"../chunks/languageUtils.js";import{isDate as s}from"../support/guards.js";const n="Voxel.Position",a="Voxel.LocalTime";function o(e){const i=e.getAttribute(n);if("string"!=typeof i)throw new t("InvalidParameter",null);const s=JSON.parse(i);if(!Array.isArray(s)||"number"!=typeof s[0]||"number"!=typeof s[1]||"number"!=typeof s[2])throw new t("InvalidParameter",null);return new r(s)}function l(r,i){const n=r.getAttribute(a);if(null==n)return null;if(!s(n))throw new t("InvalidParameter",null);return e.dateJSAndZoneToArcadeDate(n,i)}class u{constructor(e,t){this._graphic=e,this._timeZone=t,this.arcadeDeclaredClass="esri.arcade.Voxel",this._layer=e.sourceLayer}static getDeclaredMembers(e){return e.fields.map(e=>{switch(e.name){case n:return{name:e.name,type:"array",elementType:{type:"number"}};case a:return{name:e.name,type:"date"};default:switch(e.type){case"string":return{name:e.name,type:"text"};case"double":return{name:e.name,type:"number"}}return null}}).filter(e=>null!=e)}getPosition(){return void 0!==this._position?this._position:this._position=o(this._graphic)}getLocalTime(){return void 0!==this._localTime?this._localTime:this._localTime=l(this._graphic,this._timeZone??"system")}keys(){return this._layer.fields.map(e=>e.name).sort((e,t)=>e.toLowerCase()<t.toLowerCase()?-1:1)}hasField(e){return this._layer.fieldsIndex.has(e)}field(e){const r=this._layer.fieldsIndex?.get(e)?.name;if(null==r)throw new t("FieldNotFound",null,{key:e});switch(r){case n:return this.getPosition();case a:return this.getLocalTime()}return this._graphic.attributes[r]??null}isEmpty(){return this._layer.fields.length<=0}castToText(e=!1){const t={...this._graphic.attributes};t[n]=this.getPosition(),a in t&&(t[a]=this.getLocalTime());for(const r of Object.keys(t))this._layer.fieldsIndex?.has(r)||delete t[r];return i(t,{useNumbersForDates:e})}}export{u as Voxel};
|
package/arcade/arcade.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"./arcadeCompiler.js";import"./arcadeEnvironment.js";import"./ArcadeModuleResolver.js";import"./arcadeRuntime.js";import"./executionError.js";import"./parser.js";import"./treeAnalysis.js";import"./functions/geomsync.js";import"./functions/track.js";import"../core/has.js";import"../core/maybe.js";export{_ as _loadScriptDependenciesImpl,c as compileScript,e as enableAsyncSupport,
|
|
2
|
+
import"./arcadeCompiler.js";import"./arcadeEnvironment.js";import"./ArcadeModuleResolver.js";import"./arcadeRuntime.js";import"./debug.js";import"./executionError.js";import"./parser.js";import"./treeAnalysis.js";import"./functions/geomsync.js";import"./functions/track.js";import"../core/has.js";import"../core/maybe.js";export{_ as _loadScriptDependenciesImpl,c as compileDebugScript,b as compileScript,e as enableAsyncSupport,d as enableAsyncSupportImpl,f as enableFeatureSetSupport,g as enableFeatureSetSupportImpl,h as enableGeometrySupport,i as enableGeometrySupportImpl,j as executeScript,k as extend,l as extractExpectedFieldLiterals,m as extractFieldLiterals,n as featureSetUtils,o as isAsyncEnabled,p as isFeatureSetSupportEnabled,q as isGeometryEnabled,r as loadDependentModules,s as loadScriptDependencies,t as loadTrackGeometryOperators,u as parseAndExecuteScript,v as parseScript,w as referencesFunction,x as referencesMember,y as scriptIsAsync,z as scriptTouchesGeometry,A as scriptUsesFeatureSet,B as scriptUsesGeometryEngine,C as scriptUsesModules,D as scriptUsesTrack,E as scriptUsesViewProperties}from"../chunks/arcade.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
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,resolveBreakpoints as a,flattenAccessChain as i,collectDeclaredLocalNames as s}from"./compilerUtils.js";import{getNestedOptionalValue as c,getGeometryKeys as l,tryGetMember as u,getMember as f,getGeometryMember as p}from"./containerUtils.js";import{wrapDebugValue as w,renderFunctionDebugName as d}from"./debug.js";import m from"./Dictionary.js";import{ArcadeExecutionError as h,ensureArcadeExecutionError as g}from"./executionError.js";import{Feature as b}from"./Feature.js";import{NativeFunction as y,ScopeMarshalledFunction as v,ArcadeFunction as x,wrapModuleScopedResponse as S}from"./FunctionWrapper.js";import{R as k,I as F,_ as I,N as j,h as O,l as N,ae as M,a3 as R,a9 as C,ab as E,C as A,o as D,g as B,K as U,P as _,H as G,L,O as Z}from"../chunks/languageUtils.js";import{addFunctionDeclaration as z}from"./treeAnalysis.js";import{A as P}from"../chunks/aiServices.js";import{A as q}from"../chunks/array.js";import{registerFunctions as W}from"./functions/date.js";import{registerFunctions as K}from"./functions/feature.js";import{registerFunctions as T}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as $}from"./functions/maths.js";import{registerFunctions as H}from"./functions/stats.js";import{registerFunctions as Y}from"./functions/string.js";import{registerFunctions as J}from"./functions/track.js";import Q from"../core/Logger.js";import X from"../geometry/SpatialReference.js";import{isGraphic as ee}from"../support/graphicInstanceUtils.js";import{isBoolean as te,isString as ne,isArray as re,isNumber as oe}from"../support/guards.js";const ae=()=>Q.getLogger("esri.arcade.arcadeAsyncRuntime"),ie=Symbol("debugInfo"),se=Symbol("uninitialized");function ce(e){if(e===se)throw new h(null,"InvalidIdentifier",null)}function le(e){return ce(e),e}function ue(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 h(t,"InvalidIdentifier",n)}function fe(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return ce(e),e.value}const a=t.globalScope[o];if(void 0!==a)return ce(a),a.value;throw new h(t,r,n)}const pe=function(){};async function we(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await Se(e,t.arguments[r]));return n}async function de(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await we(e,t))}pe.prototype=Object.freeze(Object.create(null));class me extends x{constructor(e,t,n,r,o){super(),this.definition=e,this.context=t,this._params=n,this._locals=r,this._debugInfo=o}get debugName(){return this.definition.id.name}createFunction(e){return(...t)=>{const n=new pe;n[ie]=this._debugInfo;const r={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:n,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,contextScopeDebugInfo:this.context.contextScopeDebugInfo,track:this.context.track};if(r.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",null);return he(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return be(e,t,(n,r,o)=>{const a=new pe;a[ie]=this._debugInfo;const i={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:a,abortSignal:e.abortSignal,globalScope:e.globalScope,contextScopeDebugInfo:e.contextScopeDebugInfo,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(i.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",t);return he(i,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const s=new pe;s[ie]=this._debugInfo;const c={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,contextScopeDebugInfo:n.contextScopeDebugInfo,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:s,track:e.track};return i=i.map(t=>!j(t)||t instanceof v?t:S(t,e,r)),S(await he(c,this.definition.body,this._params,this._locals,i,t),n,r)})}}async function he(e,t,n,r,o,a){if(n.length!==o.length)throw new h(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]=se}const i=await ke(e,t);if(i instanceof k)return i.value;if(i===O)throw new h(e,"UnexpectedToken",a);if(i===N)throw new h(e,"UnexpectedToken",a);return i instanceof F?i.value:i}class ge extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new h(null,"ModuleExportNotFound",null);const r=this.moduleGlobalContext.globalScope[n];if(ce(r),j(r.value)&&!(r.value instanceof v)){const e=new v;return e.fn=r.value,e.parameterEvaluator=de,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(j(n))throw new h(null,"AssignModuleFunction",null);const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new h(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 wt;null!=e.contextScopeDebugInfo&&(s[ie]={declaredNames:a});for(const t of a.keys())t in s||(s[t]=se);const c=e.spatialReference??X.WebMercator,l={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??mt,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,contextScopeDebugInfo:null!=e.contextScopeDebugInfo?{declaredNames:new Map}:null};return await Le(l,n),new ge(l)}}async function be(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await we(e,t))}function ye(e,t,n){const r=new Map;if(t)for(const[o,a]of t.declaredNames){const t=e[o];r.set(a,null==t||t===se?null:w(t.value,n))}else for(const o of Object.getOwnPropertyNames(e)){const t=e[o];r.set(o,t===se?null:w(t.value,n))}return r}function ve(e){return e instanceof me?`ƒ ${e.debugName}(${e.definition.params.map(e=>e.name).join(", ")})`:d(e)}function xe(e,t){const n=e.services?.debugger;if(null==n)return;const r={renderFunction:ve,defaultTimeZone:e.timeZone??"system"};return n.pause(t,{profile:null!=e.contextScopeDebugInfo?ye(e.globalScope,e.contextScopeDebugInfo,r):new Map,globals:ye(e.globalScope,e.globalScope[ie],r),locals:null==e.localScope?null:ye(e.localScope,e.localScope[ie],r)})}async function Se(e,t){t.breakpoint&&await xe(e,t.breakpoint);try{switch(t.type){case"UpdateExpression":return await De(e,t);case"AssignmentExpression":return await Ue(e,t);case"TemplateLiteral":return await at(e,t);case"Identifier":return nt(e,t);case"MemberExpression":return await Ve(e,t);case"Literal":return t.value;case"CallExpression":return await rt(e,t);case"UnaryExpression":return await Qe(e,t);case"BinaryExpression":return await et(e,t);case"LogicalExpression":return await tt(e,t);case"ArrayExpression":return await Xe(e,t);case"ObjectExpression":return await Fe(e,t);case"MemberAccessChainExpression":return await Je(e,t);case"SafeMemberExpression":throw ae().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h(null,"Unrecognized",t);default:throw new h(e,"Unrecognized",t)}}catch(n){throw g(e,t,n)}}async function ke(e,t){t.breakpoint&&await xe(e,t.breakpoint);try{switch(t.type){case"ImportDeclaration":return await qe(e,t);case"ExportNamedDeclaration":return await We(e,t);case"VariableDeclaration":return await Ke(e,t);case"BlockStatement":return await Le(e,t);case"FunctionDeclaration":return await Pe(e,t);case"ReturnStatement":return await ze(e,t);case"IfStatement":return await Ge(e,t);case"ExpressionStatement":return await _e(e,t);case"ForStatement":return await je(e,t);case"WhileStatement":return await Ie(e,t);case"ForInStatement":return await Ee(e,t);case"ForOfStatement":return await Ae(e,t);case"BreakStatement":return O;case"EmptyStatement":return M;case"ContinueStatement":return N;default:throw new h(e,"Unrecognized",t)}}catch(n){throw g(e,t,n)}}async function Fe(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await Se(e,r.value),a="Identifier"===r.key.type?r.key.name:await Se(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(j(a.value))throw new h(e,"NoFunctionInDictionary",t);if(!1===ne(a.key))throw new h(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===M?r[s]=null:r[s]=a.value}const a=new m(r);return a.immutable=!1,a}async function Ie(e,t){let n=await Se(e,t.test);if(!1===n)return M;if(!0!==n)throw new h(e,"BooleanConditionRequired",t);for(;!0===n;){const r=await ke(e,t.body);if(r===O)break;if(r instanceof k)return r;if(n=await Se(e,t.test),!0!==n&&!1!==n)throw new h(e,"BooleanConditionRequired",t)}return M}async function je(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await ke(e,t.init):await Se(e,t.init));;){if(null!==t.test){const n=await Se(e,t.test);if(!0===e.abortSignal?.aborted)throw new h(e,"Cancelled",t);if(!1===n)break;if(!0!==n)throw new h(e,"BooleanConditionRequired",t)}const n=await ke(e,t.body);if(n===O)break;if(n instanceof k)return n;null!==t.update&&await Se(e,t.update)}return M}catch(n){throw n}}async function Oe(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 h(e,"OutOfBounds",t);r.scope[r.id]={value:n[i]}}else r.scope[r.id]={value:i};const a=await ke(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Ne(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 ke(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Me(e,t,n,r){e:for await(const o of await n.queryAll(e.abortSignal))for(const a of o){r.scope[r.id]={value:b.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone)};const o=await ke(e,t.body);if(o===O)break e;if(o instanceof k)return o}return M}async function Re(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await ke(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ce(e,t,n,r){for(const o of l(n)){const a=p(n,o,e,t);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await ke(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ee(e,t){const n=await Se(e,t.right);"VariableDeclaration"===t.left.type&&await ke(e,t.left);const r=ue(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return re(n)||ne(n)?await Oe(e,t,n,r):_(n)?await Ne(e,t,n,r):n instanceof m||G(n)?await Oe(e,t,n.keys(),r,"k"):L(n)?await Me(e,t,n,r):Z(n)?await Oe(e,t,l(n),r,"k"):M}async function Ae(e,t){const n=await Se(e,t.right);"VariableDeclaration"===t.left.type&&await ke(e,t.left);const r=ue(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return re(n)||ne(n)?await Oe(e,t,n,r,"k"):_(n)?await Ne(e,t,n,r,"k"):n instanceof m||G(n)?await Re(e,t,n,r):L(n)?await Me(e,t,n,r):Z(n)?await Ce(e,t,n,r):M}async function De(e,t){const n=t.argument;if("CallExpression"===n.type)throw new h(e,"NeverReach",t);if("MemberExpression"===n.type){const r=await Se(e,n.object);let o,a;if(!0===n.computed)o=await Se(e,n.property);else{if("Identifier"!==n.property.type)throw new h(e,"Unrecognized",t);o=n.property.name}if(re(r)){if(!oe(o))throw new h(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new h(e,"OutOfBounds",t);a=C(r[o]),r[o]="++"===t.operator?a+1:a-1}else if(r instanceof m){if(!1===ne(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h(e,"FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}else if(r instanceof ge){if(!1===ne(o))throw new h(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h(e,"ModuleExportNotFound",t);a=C(r.global(o)),r.setGlobal(o,"++"===t.operator?a+1:a-1)}else{if(!U(r))throw _(r)?new h(e,"Immutable",t):new h(e,"InvalidParameter",t);if(!1===ne(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h(e,"FieldNotFound",t,{key:o});a=C(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=ue(e,n),o=C(le(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 Be(e,t,n,r,o){switch(t){case"=":return e===M?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return ne(n)||ne(e)?E(n)+E(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new h(o,"UnsupportedOperator",r)}}async function Ue(e,t){const n=t.left;if("MemberExpression"===n.type){const r=await Se(e,n.object);let o;if(!0===n.computed)o=await Se(e,n.property);else{if("Identifier"!==n.property.type)throw new h(e,"InvalidIdentifier",t);o=n.property.name}const a=await Se(e,t.right);if(re(r)){if(!oe(o))throw new h(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>r.length)throw new h(e,"OutOfBounds",t);if(o===r.length){if("="!==t.operator)throw new h(e,"OutOfBounds",t);r[o]=Be(a,t.operator,r[o],t,e)}else r[o]=Be(a,t.operator,r[o],t,e)}else if(r instanceof m){if(!1===ne(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Be(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:o});r.setField(o,Be(a,t.operator,null,t,e))}}else if(r instanceof ge){if(!1===ne(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h(e,"ModuleExportNotFound",t);r.setGlobal(o,Be(a,t.operator,r.global(o),t,e))}else{if(!U(r))throw _(r)?new h(e,"Immutable",t):new h(e,"InvalidParameter",t);if(!1===ne(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Be(a,t.operator,r.field(o),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:o});r.setField(o,Be(a,t.operator,null,t,e))}}return M}const r=ue(e,n),o=await Se(e,t.right);return r.scope[r.id]={value:Be(o,t.operator,"="!==t.operator?le(r.var).value:null,t,e)},M}async function _e(e,t){const n=await Se(e,t.expression);return n===M?M:new F(n)}async function Ge(e,t){const n=await Se(e,t.test);if(!0===n)return ke(e,t.consequent);if(!1===n)return null!==t.alternate?ke(e,t.alternate):M;throw new h(e,"BooleanConditionRequired",t)}async function Le(e,t){return Ze(e,t,0)}async function Ze(e,t,n){if(n>=t.body.length)return M;const r=await ke(e,t.body[n]);return r instanceof k||r===O||r===N||n===t.body.length-1?r:Ze(e,t,n+1)}async function ze(e,t){if(null===t.argument)return new k(M);const n=await Se(e,t.argument);return new k(n)}async function Pe(t,n){if(null!=t.localScope)throw ae().error("Function declarations are only valid in global scope."),new h(t,"NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw ae().error(`Function "${r}" not declared.`),new h(t,"NeverReach",n);const o=s(n),a=n.params.map(t=>e(t)),i=Array.from(o.keys()).filter(e=>!a.includes(e));let c=null;return null!=t.contextScopeDebugInfo&&(c={declaredNames:new Map([...n.params.map(t=>[e(t),t.name]),...o])}),t.globalScope[r]={value:new me(n,t,a,i,c)},M}async function qe(e,t){const n=ue(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw ae().error("Internal error: module loader not initialized"),new h(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 ge.load(e,o.syntax),r._moduleSingletons?.set(o.uri,a)),n.scope[n.id]={value:a},M}async function We(e,t){return await ke(e,t.declaration),M}async function Ke(e,t){for(const n of t.declarations)await Te(e,n);return M}async function Te(e,t){t.breakpoint&&await xe(e,t.breakpoint);let n=null;n=null===t.init?null:await Se(e,t.init),n===M&&(n=null);const r=ue(e,t.id);r.scope[r.id]={value:n}}async function Ve(e,t){return $e(e,await Se(e,t.object),t)}async function $e(e,t,n){const r=n.computed?await Se(e,n.property):n.property.name;return f(t,r)}async function He(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=await $e(e,t,r);break;case"CallExpression":t=await ot(e,t,r);break;default:throw new h(null,"Unrecognized",r)}return t}async function Ye(e,t,n){const r=n.computed?await Se(e,n.property):n.property.name;return u(t,r)}async function Je(e,t){const n=i(t);let r=await Se(e,n.root);for(const o of n.sections){const t=await Ye(e,r,o.checked);if(null==t)return null;r=await He(e,t,o.unchecked)}return r}async function Qe(e,t){const n=await Se(e,t.argument);if(te(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h(e,"UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h(e,"UnsupportUnaryOperator",t)}async function Xe(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await Se(e,t.elements[r]));for(let r=0;r<n.length;r++){if(j(n[r]))throw new h(e,"NoFunctionInArray",t);n[r]===M&&(n[r]=null)}return n}async function et(e,t){const n=await Se(e,t.left),r=await Se(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return B(C(n),C(r),t.operator);case"==":return D(n,r);case"!=":return!D(n,r);case"<":case">":case"<=":case">=":return A(n,r,t.operator);case"+":return ne(n)||ne(r)?E(n)+E(r):C(n)+C(r);case"-":return C(n)-C(r);case"*":return C(n)*C(r);case"/":return C(n)/C(r);case"%":return C(n)%C(r);default:throw t.operator,new h(e,"UnsupportedOperator",t)}}async function tt(e,t){const n=await Se(e,t.left);if(!te(n))throw new h(e,"LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await Se(e,t.right);if(te(r))return r;throw new h(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await Se(e,t.right);if(te(r))return r;throw new h(e,"LogicExpressionOrAnd",t)}default:throw t.operator,new h(e,"LogicExpressionOrAnd",t)}}function nt(e,t){return fe(e,t)}async function rt(e,t){let n;if("Identifier"===t.callee.type){const r=t.callee;r.breakpoint&&await xe(e,r.breakpoint),n=fe(e,t.callee,"FunctionNotFound")}else n=await Se(e,t.callee);return ot(e,n,t)}async function ot(e,t,n){if(j(t))return t.call(e,n);throw new h(e,"CallNonFunction",n)}async function at(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 Se(e,t.expressions[r]);if(j(o))throw new h(e,"NoFunctionInTemplateLiteral",t);n+=E(o)}r++}return n}async function it(e,t){R(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await Se(e,t.arguments[0]);if(!1===te(n))throw new h(e,"BooleanConditionRequired",t);return Se(e,n?t.arguments[1]:t.arguments[2])}async function st(e,t){R(null===t.arguments?[]:t.arguments,2,3,e,t);const n=await Se(e,t.arguments[0]);if(3===t.arguments.length){const r=await Se(e,t.arguments[1]),o=c(n,r);return null!=o&&""!==o?o:Se(e,t.arguments[2])}return null==n||""===n?Se(e,t.arguments[1]):n}async function ct(e,t){if(t.arguments.length<2)throw new h(e,"WrongNumberOfParameters",t);if(2===t.arguments.length)return Se(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new h(e,"WrongNumberOfParameters",t);return lt(e,t,1,await Se(e,t.arguments[0]))}async function lt(e,t,n,r){const o=await Se(e,t.arguments[n]);if(D(o,r))return Se(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?Se(e,t.arguments[n]):2===a?null:3===a?Se(e,t.arguments[n+2]):lt(e,t,n+2,r)}async function ut(e,t){if(t.arguments.length<3)throw new h(e,"WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new h(e,"WrongNumberOfParameters",t);const n=await Se(e,t.arguments[0]);if(!1===te(n))throw new h(e,"BooleanConditionRequired",t.arguments[0]);return ft(e,t,0,n)}async function ft(e,t,n,r){if(!0===r)return Se(e,t.arguments[n+1]);if(3===t.arguments.length-n)return Se(e,t.arguments[n+2]);const o=await Se(e,t.arguments[n+2]);if(!1===te(o))throw new h(e,"ModuleExportNotFound",t.arguments[n+2]);return ft(e,t,n+2,o)}function pt(){const e=Object.create(null);W(e,de),Y(e,de),K(e,de,nt),$(e,de),V(e,de),H(e,de),J(e,de),T({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:de,standardFunctionAsync:be}),e.iif=it,e.defaultvalue=st,e.decode=ct,e.when=ut;const t=function(){this.textformatting={value:m.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.nan=Object.freeze({value:Number.NaN}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new y(r,n)});return t}const wt=pt();function dt(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:de,standardFunctionAsync:be,evaluateIdentifier:nt};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))wt.prototype[n]=Object.freeze({value:new y(r,n)});for(let n=0;n<t.signatures.length;n++)z(t.signatures[n],"async")}function mt(e){console.log(e)}function ht(n,i){const s=new Set(Object.keys(i?.vars||{}).map(t=>e(t))),c=new Set(Object.keys(i?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:u}=o(n);let f=null;if(i?.breakpoints){for(const[e,t]of a(i.breakpoints,n))e.breakpoint=t;f={declaredNames:new Map(Object.keys(i?.vars||{}).map(t=>[e(t),t]).filter(([e])=>!l.has(e)))}}return async e=>{const o=e.spatialReference??X.WebMercator;let a=null;n.usesModules&&(a=new r(new Map,n.loadedModules));const i=new wt;null!=f&&(i[ie]={declaredNames:l});for(const t of c)null!=e.customfunctions&&t in e.customfunctions?i[t]={value:new y(e.customfunctions[t],t)}:i[t]=se;for(const t of s){if(null==e.vars||!(t in e.vars)){t in i||(i[t]=se);continue}const n=e.vars[t]??null;ee(n)?i[t]={value:b.createFromGraphic(n,e.timeZone??null)}:i[t]={value:n}}for(const t of l.keys())t in i||(i[t]=se);const p={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??mt,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:a,exports:u,localScope:null,globalScope:i,contextScopeDebugInfo:f},w=await Le(p,n);if(w instanceof k||w instanceof F){const e=w.value;if(I(e))return null;if(j(e))throw new h(p,"IllegalResult",null);return e}if(I(w))return null;if(w===O)throw new h(p,"IllegalResult",null);if(w===N)throw new h(p,"IllegalResult",null);throw new h(p,"NeverReach",null)}}function gt(e,t){return ht(e,t)(t)}dt([q]),dt([P]);export{gt as executeScript,dt as extend,ht as prepareScript};
|
|
2
|
+
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,resolveBreakpoints as a,flattenAccessChain as i,collectDeclaredLocalNames as s}from"./compilerUtils.js";import{getNestedOptionalValue as c,getGeometryKeys as l,tryGetMember as u,getMember as f,getGeometryMember as p}from"./containerUtils.js";import{wrapDebugValue as w,renderFunctionDebugName as d}from"./debug.js";import m from"./Dictionary.js";import{ArcadeExecutionError as h,ensureLocatableError as g}from"./executionError.js";import{Feature as b}from"./Feature.js";import{NativeFunction as y,ScopeMarshalledFunction as v,ArcadeFunction as x,wrapModuleScopedResponse as S}from"./FunctionWrapper.js";import{R as k,I as F,_ as I,N as j,h as O,l as N,ae as M,a3 as R,a9 as C,ab as E,C as A,o as D,g as B,K as U,P as _,H as G,L,O as Z}from"../chunks/languageUtils.js";import{addFunctionDeclaration as z}from"./treeAnalysis.js";import{A as P}from"../chunks/aiServices.js";import{A as q}from"../chunks/array.js";import{registerFunctions as W}from"./functions/date.js";import{registerFunctions as K}from"./functions/feature.js";import{registerFunctions as T}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as $}from"./functions/maths.js";import{registerFunctions as H}from"./functions/stats.js";import{registerFunctions as Y}from"./functions/string.js";import{registerFunctions as J}from"./functions/track.js";import Q from"../core/Logger.js";import X from"../geometry/SpatialReference.js";import{isGraphic as ee}from"../support/graphicInstanceUtils.js";import{isBoolean as te,isString as ne,isArray as re,isNumber as oe}from"../support/guards.js";const ae=()=>Q.getLogger("esri.arcade.arcadeAsyncRuntime"),ie=Symbol("debugInfo"),se=Symbol("uninitialized");function ce(e){if(e===se)throw new h("InvalidIdentifier",null)}function le(e){return ce(e),e}function ue(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 h("InvalidIdentifier",n)}function fe(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return ce(e),e.value}const a=t.globalScope[o];if(void 0!==a)return ce(a),a.value;throw new h(r,n)}const pe=function(){};async function we(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await Se(e,t.arguments[r]));return n}async function de(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await we(e,t))}pe.prototype=Object.freeze(Object.create(null));class me extends x{constructor(e,t,n,r,o){super(),this.definition=e,this.context=t,this._params=n,this._locals=r,this._debugInfo=o}get debugName(){return this.definition.id.name}createFunction(e){return(...t)=>{const n=new pe;n[ie]=this._debugInfo;const r={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:n,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,contextScopeDebugInfo:this.context.contextScopeDebugInfo,track:this.context.track};if(r.depthCounter.depth>64)throw new h("MaximumCallDepth",null);return he(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return be(e,t,(n,r,o)=>{const a=new pe;a[ie]=this._debugInfo;const i={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:a,abortSignal:e.abortSignal,globalScope:e.globalScope,contextScopeDebugInfo:e.contextScopeDebugInfo,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(i.depthCounter.depth>64)throw new h("MaximumCallDepth",t);return he(i,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const s=new pe;s[ie]=this._debugInfo;const c={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,contextScopeDebugInfo:n.contextScopeDebugInfo,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:s,track:e.track};return i=i.map(t=>!j(t)||t instanceof v?t:S(t,e,r)),S(await he(c,this.definition.body,this._params,this._locals,i,t),n,r)})}}async function he(e,t,n,r,o,a){if(n.length!==o.length)throw new h("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]=se}const i=await ke(e,t);if(i instanceof k)return i.value;if(i===O)throw new h("UnexpectedToken",a);if(i===N)throw new h("UnexpectedToken",a);return i instanceof F?i.value:i}class ge extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new h("ModuleExportNotFound",null);const r=this.moduleGlobalContext.globalScope[n];if(ce(r),j(r.value)&&!(r.value instanceof v)){const e=new v;return e.fn=r.value,e.parameterEvaluator=de,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(j(n))throw new h("AssignModuleFunction",null);const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new h("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 wt;null!=e.contextScopeDebugInfo&&(s[ie]={declaredNames:a});for(const t of a.keys())t in s||(s[t]=se);const c=e.spatialReference??X.WebMercator,l={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??mt,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,contextScopeDebugInfo:null!=e.contextScopeDebugInfo?{declaredNames:new Map}:null};return await Le(l,n),new ge(l)}}async function be(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await we(e,t))}function ye(e,t,n){const r=new Map;if(t)for(const[o,a]of t.declaredNames){const t=e[o];r.set(a,null==t||t===se?null:w(t.value,n))}else for(const o of Object.getOwnPropertyNames(e)){const t=e[o];r.set(o,t===se?null:w(t.value,n))}return r}function ve(e){return e instanceof me?`ƒ ${e.debugName}(${e.definition.params.map(e=>e.name).join(", ")})`:d(e)}function xe(e,t){const n=e.services?.debugger;if(null==n)return;const r={renderFunction:ve,defaultTimeZone:e.timeZone??"system"};return n.pause(t,{profile:null!=e.contextScopeDebugInfo?ye(e.globalScope,e.contextScopeDebugInfo,r):new Map,globals:ye(e.globalScope,e.globalScope[ie],r),locals:null==e.localScope?null:ye(e.localScope,e.localScope[ie],r)})}async function Se(e,t){t.breakpoint&&await xe(e,t.breakpoint);try{switch(t.type){case"UpdateExpression":return await De(e,t);case"AssignmentExpression":return await Ue(e,t);case"TemplateLiteral":return await at(e,t);case"Identifier":return nt(e,t);case"MemberExpression":return await Ve(e,t);case"Literal":return t.value;case"CallExpression":return await rt(e,t);case"UnaryExpression":return await Qe(e,t);case"BinaryExpression":return await et(e,t);case"LogicalExpression":return await tt(e,t);case"ArrayExpression":return await Xe(e,t);case"ObjectExpression":return await Fe(e,t);case"MemberAccessChainExpression":return await Je(e,t);case"SafeMemberExpression":throw ae().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h("Unrecognized",t);default:throw new h("Unrecognized",t)}}catch(n){throw g(n,t)}}async function ke(e,t){t.breakpoint&&await xe(e,t.breakpoint);try{switch(t.type){case"ImportDeclaration":return await qe(e,t);case"ExportNamedDeclaration":return await We(e,t);case"VariableDeclaration":return await Ke(e,t);case"BlockStatement":return await Le(e,t);case"FunctionDeclaration":return await Pe(e,t);case"ReturnStatement":return await ze(e,t);case"IfStatement":return await Ge(e,t);case"ExpressionStatement":return await _e(e,t);case"ForStatement":return await je(e,t);case"WhileStatement":return await Ie(e,t);case"ForInStatement":return await Ee(e,t);case"ForOfStatement":return await Ae(e,t);case"BreakStatement":return O;case"EmptyStatement":return M;case"ContinueStatement":return N;default:throw new h("Unrecognized",t)}}catch(n){throw g(n,t)}}async function Fe(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await Se(e,r.value),a="Identifier"===r.key.type?r.key.name:await Se(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 e=n[i];if(j(e.value))throw new h("NoFunctionInDictionary",t);if(!1===ne(e.key))throw new h("KeyMustBeString",t);let a=e.key.toString();const s=a.toLowerCase();o.has(s)?a=o.get(s):o.set(s,a),e.value===M?r[a]=null:r[a]=e.value}const a=new m(r);return a.immutable=!1,a}async function Ie(e,t){let n=await Se(e,t.test);if(!1===n)return M;if(!0!==n)throw new h("BooleanConditionRequired",t);for(;!0===n;){const r=await ke(e,t.body);if(r===O)break;if(r instanceof k)return r;if(n=await Se(e,t.test),!0!==n&&!1!==n)throw new h("BooleanConditionRequired",t)}return M}async function je(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await ke(e,t.init):await Se(e,t.init));;){if(null!==t.test){const n=await Se(e,t.test);if(!0===e.abortSignal?.aborted)throw new h("Cancelled",t);if(!1===n)break;if(!0!==n)throw new h("BooleanConditionRequired",t)}const n=await ke(e,t.body);if(n===O)break;if(n instanceof k)return n;null!==t.update&&await Se(e,t.update)}return M}catch(n){throw n}}async function Oe(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 h("OutOfBounds",t);r.scope[r.id]={value:n[i]}}else r.scope[r.id]={value:i};const a=await ke(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Ne(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 ke(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Me(e,t,n,r){e:for await(const o of await n.queryAll(e.abortSignal))for(const a of o){r.scope[r.id]={value:b.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone)};const o=await ke(e,t.body);if(o===O)break e;if(o instanceof k)return o}return M}async function Re(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await ke(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ce(e,t,n,r){for(const o of l(n)){const a=p(n,o,t);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await ke(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ee(e,t){const n=await Se(e,t.right);"VariableDeclaration"===t.left.type&&await ke(e,t.left);const r=ue(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return re(n)||ne(n)?await Oe(e,t,n,r):_(n)?await Ne(e,t,n,r):n instanceof m||G(n)?await Oe(e,t,n.keys(),r,"k"):L(n)?await Me(e,t,n,r):Z(n)?await Oe(e,t,l(n),r,"k"):M}async function Ae(e,t){const n=await Se(e,t.right);"VariableDeclaration"===t.left.type&&await ke(e,t.left);const r=ue(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return re(n)||ne(n)?await Oe(e,t,n,r,"k"):_(n)?await Ne(e,t,n,r,"k"):n instanceof m||G(n)?await Re(e,t,n,r):L(n)?await Me(e,t,n,r):Z(n)?await Ce(e,t,n,r):M}async function De(e,t){const n=t.argument;if("CallExpression"===n.type)throw new h("NeverReach",t);if("MemberExpression"===n.type){const r=await Se(e,n.object);let o,a;if(!0===n.computed)o=await Se(e,n.property);else{if("Identifier"!==n.property.type)throw new h("Unrecognized",t);o=n.property.name}if(re(r)){if(!oe(o))throw new h("ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new h("OutOfBounds",t);a=C(r[o]),r[o]="++"===t.operator?a+1:a-1}else if(r instanceof m){if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h("FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}else if(r instanceof ge){if(!1===ne(o))throw new h("ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h("ModuleExportNotFound",t);a=C(r.global(o)),r.setGlobal(o,"++"===t.operator?a+1:a-1)}else{if(!U(r))throw _(r)?new h("Immutable",t):new h("InvalidParameter",t);if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h("FieldNotFound",t,{key:o});a=C(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=ue(e,n),o=C(le(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 Be(e,t,n,r){switch(t){case"=":return e===M?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return ne(n)||ne(e)?E(n)+E(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new h("UnsupportedOperator",r)}}async function Ue(e,t){const n=t.left;if("MemberExpression"===n.type){const r=await Se(e,n.object);let o;if(!0===n.computed)o=await Se(e,n.property);else{if("Identifier"!==n.property.type)throw new h("InvalidIdentifier",t);o=n.property.name}const a=await Se(e,t.right);if(re(r)){if(!oe(o))throw new h("ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>r.length)throw new h("OutOfBounds",t);if(o===r.length){if("="!==t.operator)throw new h("OutOfBounds",t);r[o]=Be(a,t.operator,r[o],t)}else r[o]=Be(a,t.operator,r[o],t)}else if(r instanceof m){if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Be(a,t.operator,r.field(o),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:o});r.setField(o,Be(a,t.operator,null,t))}}else if(r instanceof ge){if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h("ModuleExportNotFound",t);r.setGlobal(o,Be(a,t.operator,r.global(o),t))}else{if(!U(r))throw _(r)?new h("Immutable",t):new h("InvalidParameter",t);if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Be(a,t.operator,r.field(o),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:o});r.setField(o,Be(a,t.operator,null,t))}}return M}const r=ue(e,n),o=await Se(e,t.right);return r.scope[r.id]={value:Be(o,t.operator,"="!==t.operator?le(r.var).value:null,t)},M}async function _e(e,t){const n=await Se(e,t.expression);return n===M?M:new F(n)}async function Ge(e,t){const n=await Se(e,t.test);if(!0===n)return ke(e,t.consequent);if(!1===n)return null!==t.alternate?ke(e,t.alternate):M;throw new h("BooleanConditionRequired",t)}async function Le(e,t){return Ze(e,t,0)}async function Ze(e,t,n){if(n>=t.body.length)return M;const r=await ke(e,t.body[n]);return r instanceof k||r===O||r===N||n===t.body.length-1?r:Ze(e,t,n+1)}async function ze(e,t){if(null===t.argument)return new k(M);const n=await Se(e,t.argument);return new k(n)}async function Pe(t,n){if(null!=t.localScope)throw ae().error("Function declarations are only valid in global scope."),new h("NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw ae().error(`Function "${r}" not declared.`),new h("NeverReach",n);const o=s(n),a=n.params.map(t=>e(t)),i=Array.from(o.keys()).filter(e=>!a.includes(e));let c=null;return null!=t.contextScopeDebugInfo&&(c={declaredNames:new Map([...n.params.map(t=>[e(t),t.name]),...o])}),t.globalScope[r]={value:new me(n,t,a,i,c)},M}async function qe(e,t){const n=ue(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw ae().error("Internal error: module loader not initialized"),new h("NeverReach",t);const o=r.loadLibrary(n.id);let a;return r._moduleSingletons?.has(o.uri)?a=r._moduleSingletons.get(o.uri):(a=await ge.load(e,o.syntax),r._moduleSingletons?.set(o.uri,a)),n.scope[n.id]={value:a},M}async function We(e,t){return await ke(e,t.declaration),M}async function Ke(e,t){for(const n of t.declarations)await Te(e,n);return M}async function Te(e,t){t.breakpoint&&await xe(e,t.breakpoint);let n=null;n=null===t.init?null:await Se(e,t.init),n===M&&(n=null);const r=ue(e,t.id);r.scope[r.id]={value:n}}async function Ve(e,t){return $e(e,await Se(e,t.object),t)}async function $e(e,t,n){const r=n.computed?await Se(e,n.property):n.property.name;return f(t,r)}async function He(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=await $e(e,t,r);break;case"CallExpression":t=await ot(e,t,r);break;default:throw new h("Unrecognized",r)}return t}async function Ye(e,t,n){const r=n.computed?await Se(e,n.property):n.property.name;return u(t,r)}async function Je(e,t){const n=i(t);let r=await Se(e,n.root);for(const o of n.sections){const t=await Ye(e,r,o.checked);if(null==t)return null;r=await He(e,t,o.unchecked)}return r}async function Qe(e,t){const n=await Se(e,t.argument);if(te(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h("UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h("UnsupportUnaryOperator",t)}async function Xe(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await Se(e,t.elements[r]));for(let r=0;r<n.length;r++){if(j(n[r]))throw new h("NoFunctionInArray",t);n[r]===M&&(n[r]=null)}return n}async function et(e,t){const n=await Se(e,t.left),r=await Se(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return B(C(n),C(r),t.operator);case"==":return D(n,r);case"!=":return!D(n,r);case"<":case">":case"<=":case">=":return A(n,r,t.operator);case"+":return ne(n)||ne(r)?E(n)+E(r):C(n)+C(r);case"-":return C(n)-C(r);case"*":return C(n)*C(r);case"/":return C(n)/C(r);case"%":return C(n)%C(r);default:throw t.operator,new h("UnsupportedOperator",t)}}async function tt(e,t){const n=await Se(e,t.left);if(!te(n))throw new h("LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await Se(e,t.right);if(te(r))return r;throw new h("LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await Se(e,t.right);if(te(r))return r;throw new h("LogicExpressionOrAnd",t)}default:throw t.operator,new h("LogicExpressionOrAnd",t)}}function nt(e,t){return fe(e,t)}async function rt(e,t){let n;if("Identifier"===t.callee.type){const r=t.callee;r.breakpoint&&await xe(e,r.breakpoint),n=fe(e,t.callee,"FunctionNotFound")}else n=await Se(e,t.callee);return ot(e,n,t)}async function ot(e,t,n){if(j(t))return t.call(e,n);throw new h("CallNonFunction",n)}async function at(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 Se(e,t.expressions[r]);if(j(o))throw new h("NoFunctionInTemplateLiteral",t);n+=E(o)}r++}return n}async function it(e,t){R(null===t.arguments?[]:t.arguments,3,3,t);const n=await Se(e,t.arguments[0]);if(!1===te(n))throw new h("BooleanConditionRequired",t);return Se(e,n?t.arguments[1]:t.arguments[2])}async function st(e,t){R(null===t.arguments?[]:t.arguments,2,3,t);const n=await Se(e,t.arguments[0]);if(3===t.arguments.length){const r=await Se(e,t.arguments[1]),o=c(n,r);return null!=o&&""!==o?o:Se(e,t.arguments[2])}return null==n||""===n?Se(e,t.arguments[1]):n}async function ct(e,t){if(t.arguments.length<2)throw new h("WrongNumberOfParameters",t);if(2===t.arguments.length)return Se(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new h("WrongNumberOfParameters",t);return lt(e,t,1,await Se(e,t.arguments[0]))}async function lt(e,t,n,r){const o=await Se(e,t.arguments[n]);if(D(o,r))return Se(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?Se(e,t.arguments[n]):2===a?null:3===a?Se(e,t.arguments[n+2]):lt(e,t,n+2,r)}async function ut(e,t){if(t.arguments.length<3)throw new h("WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new h("WrongNumberOfParameters",t);const n=await Se(e,t.arguments[0]);if(!1===te(n))throw new h("BooleanConditionRequired",t.arguments[0]);return ft(e,t,0,n)}async function ft(e,t,n,r){if(!0===r)return Se(e,t.arguments[n+1]);if(3===t.arguments.length-n)return Se(e,t.arguments[n+2]);const o=await Se(e,t.arguments[n+2]);if(!1===te(o))throw new h("ModuleExportNotFound",t.arguments[n+2]);return ft(e,t,n+2,o)}function pt(){const e=Object.create(null);W(e,de),Y(e,de),K(e,de,nt),$(e,de),V(e,de),H(e,de),J(e,de),T({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:de,standardFunctionAsync:be}),e.iif=it,e.defaultvalue=st,e.decode=ct,e.when=ut;const t=function(){this.textformatting={value:m.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.nan=Object.freeze({value:Number.NaN}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new y(r,n)});return t}const wt=pt();function dt(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:de,standardFunctionAsync:be,evaluateIdentifier:nt};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))wt.prototype[n]=Object.freeze({value:new y(r,n)});for(let n=0;n<t.signatures.length;n++)z(t.signatures[n],"async")}function mt(e){console.log(e)}function ht(n,i){const s=new Set(Object.keys(i?.vars||{}).map(t=>e(t))),c=new Set(Object.keys(i?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:u}=o(n);let f=null;if(i?.breakpoints){for(const[e,t]of a(i.breakpoints,n))e.breakpoint=t;f={declaredNames:new Map(Object.keys(i?.vars||{}).map(t=>[e(t),t]).filter(([e])=>!l.has(e)))}}return async e=>{const o=e.spatialReference??X.WebMercator;let a=null;n.usesModules&&(a=new r(new Map,n.loadedModules));const i=new wt;null!=f&&(i[ie]={declaredNames:l});for(const t of c)null!=e.customfunctions&&t in e.customfunctions?i[t]={value:new y(e.customfunctions[t],t)}:i[t]=se;for(const t of s){if(null==e.vars||!(t in e.vars)){t in i||(i[t]=se);continue}const n=e.vars[t]??null;ee(n)?i[t]={value:b.createFromGraphic(n,e.timeZone??null)}:i[t]={value:n}}for(const t of l.keys())t in i||(i[t]=se);const p={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??mt,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:a,exports:u,localScope:null,globalScope:i,contextScopeDebugInfo:f},w=await Le(p,n);if(w instanceof k||w instanceof F){const e=w.value;if(I(e))return null;if(j(e))throw new h("IllegalResult",null);return e}if(I(w))return null;if(w===O)throw new h("IllegalResult",null);if(w===N)throw new h("IllegalResult",null);throw new h("NeverReach",null)}}function gt(e,t){return ht(e,t)(t)}dt([q]),dt([P]);export{gt as executeScript,dt as extend,ht as prepareScript};
|
package/arcade/arcadeCompiler.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
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,flattenAccessChain as a}from"./compilerUtils.js";import{getNestedOptionalValue as s,tryGetMember as i,getMember as u,getGeometryMember as c,getGeometryKeys as m}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as f,ArcadeCompilationError as d,ArcadeUncompilableError as g}from"./executionError.js";import{Feature as h}from"./Feature.js";import{NativeFunction as y,ArcadeFunction as w,ScopeMarshalledFunction as b,wrapModuleScopedResponse as $}from"./FunctionWrapper.js";import{a0 as v,_ as S,N as x,K as I,P as C,a9 as F,ab as M,ae as O,C as j,o as k,g as A,O as E,G as N,H as _}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as V}from"../chunks/aiServices.js";import{A as T}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as R}from"./functions/feature.js";import{registerFunctions as U}from"./functions/geometry.js";import{registerFunctions as D}from"./functions/geomsync.js";import{registerFunctions as G}from"./functions/maths.js";import{registerFunctions as z}from"./functions/stats.js";import{registerFunctions as P}from"./functions/string.js";import{registerFunctions as q}from"./functions/track.js";import W from"../core/Logger.js";import{isPromiseLike as K}from"../core/promiseUtils.js";import{addMany as Z}from"../core/SetUtils.js";import J from"../geometry/SpatialReference.js";import{isGraphic as H}from"../support/graphicInstanceUtils.js";import{isArray as Y,isNumber as Q,isString as X,isBoolean as ee}from"../support/guards.js";const ne=()=>W.getLogger("esri.arcade.arcadeCompiler");class te{constructor(){this._symbolCounter=0,this.safeAccessTempVarId="_Tsat"}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 re(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 oe(n,t,r="InvalidIdentifier"){const o=re(n,e(t));if(null!=o)return o;throw new d(null,r,t)}function le(n,t,r){const o=re(n,e(t));if(null==o)throw ne().error(`Internal error: Symbol "${t.name}" not declared.`),new d(null,"NeverReach",t);if(null!=r&&o.scope!==r)throw ne().error(`Internal error: Expected to resolve "${t.name}" in the ${r} scope but is in the ${o.scope} scope.`),new d(null,"NeverReach",t);return o}function ae(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 ne().error(`Internal error: no reflection metadata for ${e._SymbolsMapId}`);const l=t.get(r);if(null!=l)return on.requireInitialized(e[l])}const l=o.globals.get(r);if(null!=l)return on.requireInitialized(n.globalScope[l]);if(o.standardGlobals.has(r))return on.requireInitialized(n.globalScope[r]);throw new f(null,"InvalidIdentifier",null)}class se extends w{constructor(e,n){super(),this.paramCount=n,this.fn=e}get debugName(){return null}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new f(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=>!x(n)||n instanceof b?n:$(n,e,r));const a=this.call(t,{arguments:l});return K(a)?a.then(e=>$(e,t,r)):a})}}function ie(e,n,t){try{return t(e,null,n.arguments)}catch(r){throw r}}function ue(e,n,t,r,l,a){const{globals:s,exports:i}=o(e),u=new Set(s.keys());Z(u,t);const c=new te,m=[],p=new Map;for(const o of u)if(t.has(o)||n.has(o))p.set(o,o);else{const e=c.nextVarId();p.set(o,e),m.push(`gscope[${JSON.stringify(e)}] = ${tn};`)}const f=new Map,d=Object.create(null),g={isAsync:r,symbols:c,standardGlobals:n,globalScope:p,exports:i,localScope:null,allLocalSymbolMetadata:f,moduleFactory:a,moduleFactoryMap:d,libraryResolver:l};return{body:[...m,`var ${c.safeAccessTempVarId};`,"var lastStatement = lc.voidOperation;",Ce(g,e),"return lastStatement;"].join("\n"),symbolMetadata:{standardGlobals:n,exports:i,globals:p,locals:f},moduleFactoryMap:d}}function ce(e,n){switch(n.type){case"AssignmentExpression":return ve(e,n);case"UpdateExpression":return be(e,n);case"TemplateLiteral":return Re(e,n);case"Identifier":return Ge(e,n);case"MemberExpression":return Ee(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return ze(e,n);case"UnaryExpression":return Te(e,n);case"BinaryExpression":return Ue(e,n);case"LogicalExpression":return De(e,n);case"ArrayExpression":return Le(e,n);case"ObjectExpression":return pe(e,n);case"MemberAccessChainExpression":return Ve(e,n);case"SafeMemberExpression":throw ne().error("SafeMemberExpression outside of MemberAccessChainExpression"),new d(null,"Unrecognized",n);default:throw new d(null,"Unrecognized",n)}}function me(e,n){switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return ke(e,n);case"BlockStatement":return Ce(e,n);case"FunctionDeclaration":return je(e,n);case"ImportDeclaration":return Me(e,n);case"ExportNamedDeclaration":return me(e,n.declaration);case"ReturnStatement":return Fe(e,n);case"IfStatement":return Ie(e,n);case"ExpressionStatement":return Se(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return we(e,n);case"ForInStatement":return he(e,n);case"ForOfStatement":return ye(e,n);case"WhileStatement":return $e(e,n);default:throw new d(null,"Unrecognized",n)}}function pe(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+"'":ce(e,o.key);r>0&&(t+=","),t+="lang.strCheck("+l+",'ObjectExpression'),lang.aCheck("+ce(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)}`,` ${me(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function de(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)};`,` ${me(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ge(e,n,t,r){const o=e.symbols.nextTempVarId(),l=e.symbols.nextTempVarId(),a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId();return[`var ${o} = yield ${t}.queryAll(runtimeCtx.abortSignal);`,`var ${l} = { done: false, value: [] };`,`for (var ${a} = 0; ${a} < ${l}.value.length || ((${a} = 0), !(${l} = yield ${o}.next()).done); ${a}++) {`,` if (${l}.value.length === 0) continue;`,` var ${s} = ${l}.value[${a}];`,` ${n} = lang.createFeature(${s}, ${t}, runtimeCtx);`,` ${me(e,r)}`,"}"].join("\n")}function he(e,n){const t=e.symbols.nextTempVarId();let r,o,l="var "+t+" = "+ce(e,n.right)+";\n";switch("VariableDeclaration"===n.left.type?(r=le(e,n.left.declarations[0].id),l+=me(e,n.left)):r=oe(e,n.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d(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+=de(e,o,`${t}.keys()`,n.body),l+="}\n",e.isAsync&&(l+="else if (lc.isFeatureSet("+t+")) {\n",l+=ge(e,o,t,n.body),l+="}\n"),l+=`else if (lc.isGeometry(${t})) {\n`,l+=de(e,o,`lang.getGeometryKeys(${t})`,n.body),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function ye(e,n){const t=e.symbols.nextTempVarId();let r,o,l="var "+t+" = "+ce(e,n.right)+";\n";switch("VariableDeclaration"===n.left.type?(r=le(e,n.left.declarations[0].id),l+=me(e,n.left)):r=oe(e,n.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d(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+=de(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+=ge(e,o,t,n.body),l+="}\n"),l+=`else if (lc.isGeometry(${t})) {\n`,l+=de(e,o,`lang.getGeometryKeys(${t})`,n.body,e=>`lang.entry(${e}, lang.getGeometryMember(${t}, ${e}, runtimeCtx))`),l+="}\n",l+="else { lastStatement = lc.voidOperation; } \n",l}function we(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&("VariableDeclaration"===n.init.type?t+=me(e,n.init):t+=ce(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 "+ce(e,n.update)+" \n}\n "+r+"=false; \n"),null!==n.test&&(t+="var "+o+" = "+ce(e,n.test)+"; ",t+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error('BooleanConditionRequired'); }\n"),t+=me(e,n.body),null!==n.update&&(t+="\n "+ce(e,n.update)),t+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function be(e,n){if("CallExpression"===n.argument.type)throw new d(null,"NeverReach",n);let t;if("MemberExpression"===n.argument.type){const r=ce(e,n.argument.object);return t=!0===n.argument.computed?ce(e,n.argument.property):"'"+n.argument.property.name+"'","lang.memberupdate("+r+","+t+",'"+n.operator+"',"+n.prefix+")"}const r=oe(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 r.scope,new d(null,"NeverReach",n.argument)}}function $e(e,n){let t="lastStatement = lc.voidOperation; \n";const r=e.symbols.nextTempVarId();return t+=`\n var ${r} = true;\n do {\n ${r} = ${ce(e,n.test)};\n if (${r}==false) {\n break;\n }\n if (${r}!==true) {\n lang.error('BooleanConditionRequired');\n }\n ${me(e,n.body)}\n }\n while (${r} !== false);\n lastStatement = lc.voidOperation;\n `,t}function ve(e,n){const t=ce(e,n.right);if("MemberExpression"===n.left.type){let r;const o=ce(e,n.left.object);return r=!0===n.left.computed?ce(e,n.left.property):"'"+n.left.property.name+"'","lang.assignmember("+o+","+r+",'"+n.operator+"',"+t+")"}const r=oe(e,n.left);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=lang.assign(${t},'${n.operator}', ${"="===n.operator?"null":rn(`lscope['${r.var}']`)})`;case"global":return`gscope['${r.var}']=lang.assign(${t},'${n.operator}', ${"="===n.operator?"null":rn(`gscope['${r.var}']`)})`;default:throw r.scope,new d(null,"NeverReach",n.left)}}function Se(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+ce(e,n.expression)+"; \n ":"lastStatement = "+ce(e,n.expression)+"; "}function xe(e,n){return"BlockStatement"===n.type?me(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?me(e,n)+"; ":"ExpressionStatement"===n.type?me(e,n):me(e,n)+"; "}function Ie(e,n){return`if (lang.mustBoolean(${ce(e,n.test)}, runtimeCtx) === true) {\n ${xe(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+Ie(e,n.alternate):` else {\n ${xe(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function Ce(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+=me(e,n.body[r])+"; \n":t+=me(e,n.body[r])+" \n");return t}function Fe(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+ce(e,n.argument)}function Me(e,n){const t=le(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]=cn(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 g}}function je(n,t){const r=new Set(t.params.map(n=>e(n))),o=new Set(l(t).keys());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=le(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}'] = ${tn};`);const m=Ce(u,t.body),p=!0===n.isAsync?["return lang.__awaiter(this, void 0, void 0, function* () {",` ${m}`," return lastStatement;","});"]:[m,"return lastStatement;"],f=["new lang.UserDefinedCompiledFunction("," lang.functionDepthchecker("," function() {"," var lastStatement = lc.voidOperation;"," var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];",...c,...p," },"," runtimeCtx,"," ),",` ${t.params.length},`,")"].join("\n"),d=le(n,t.id,"global");return Oe(d),`gscope['${d.var}']=${f}; lastStatement = lc.voidOperation;`}function ke(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":ce(e,n.init),r=le(e,n.id);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=${t};`;case"global":return`gscope['${r.var}']=${t};`;default:throw r.scope,new d(null,"NeverReach",n.id)}}function Ee(e,n){return Ne(e,ce(e,n.object),n)}function Ne(e,n,t){return`lang.member(${n}, ${t.computed?ce(e,t.property):`'${t.property.name}'`})`}function _e(e,n,t){for(const r of t)switch(r.type){case"MemberExpression":n=Ne(e,n,r);break;case"CallExpression":n=Pe(e,n,r.arguments);break;default:throw new d(null,"Unrecognized",r)}return n}function Be(e,n,t){return`lang.tryMember(${n}, ${t.computed?ce(e,t.property):`'${t.property.name}'`})`}function Ve(e,n){const t=a(n);let r="",o=ce(e,t.root);for(const l of t.sections)r+=`(${e.symbols.safeAccessTempVarId} = ${Be(e,o,l.checked)}) == null ? null : `,o=_e(e,e.symbols.safeAccessTempVarId,l.unchecked);return`(${r}${o})`}function Te(e,n){try{return"lang.unary("+ce(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function Le(e,n){try{const t=[];for(let r=0;r<n.elements.length;r++)"Literal"===n.elements[r].type?t.push(ce(e,n.elements[r])):t.push("lang.aCheck("+ce(e,n.elements[r])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function Re(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("+ce(e,n.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function Ue(e,n){try{return"lang.binary("+ce(e,n.left)+","+ce(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function De(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new d(null,"LogicalExpressionOnlyBoolean",n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new d(null,"LogicalExpressionOnlyBoolean",n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+ce(e,n.left)+") "+n.operator+" lang.logicalCheck("+ce(e,n.right)+"))";throw new d(null,"LogicExpressionOrAnd",null)}catch(t){throw t}}function Ge(e,n){const t=oe(e,n);switch(Oe(t),t.scope){case"local":return rn(`lscope['${t.var}']`);case"global":return rn(`gscope['${t.var}']`);default:throw t.scope,new d(null,"NeverReach",n)}}function ze(e,n){if("Identifier"===n.callee.type){const t=oe(e,n.callee,"FunctionNotFound");if("global"===t.scope)switch(t.name){case"iif":return qe(e,n);case"when":return Ke(e,n);case"defaultvalue":return We(e,n);case"decode":return Ze(e,n)}}return Pe(e,ce(e,n.callee),n.arguments)}function Pe(e,n,t){const r=`lang.callfunc(${n}, [${t.map(n=>ce(e,n)).join(", ")}], runtimeCtx)`;return e.isAsync?`(yield ${r})`:r}function qe(e,n){try{if(3!==n.arguments.length)throw new d(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} = ${ce(e,n.arguments[0])};\n\n if (${t} === true) {\n return ${ce(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${ce(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function We(e,n){try{if(n.arguments.length<2||n.arguments.length>3)throw new d(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} = ${ce(e,n.arguments[0])};\n var ${r} = ${ce(e,n.arguments[1])};\n ${t} = lang.getNestedOptionalValue(${t}, ${r});\n return ${t} != null && ${t} !== "" ? ${t} : ${ce(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} = ${ce(e,n.arguments[0])};\n if (${t} === null) {\n return ${ce(e,n.arguments[1])};\n }\n if (${t} === "") {\n return ${ce(e,n.arguments[1])};\n }\n if (${t} === undefined) {\n return ${ce(e,n.arguments[1])};\n }\n return ${t};\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ke(e,n){try{if(n.arguments.length<3)throw new d(null,"WrongNumberOfParameters",n);if(n.arguments.length%2==0)throw new d(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(${ce(e,n.arguments[o])}, runtimeCtx);\n if (${t} === true ) {\n return ${ce(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 ${ce(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Ze(e,n){try{if(n.arguments.length<2)throw new d(null,"WrongNumberOfParameters",n);if(2===n.arguments.length)return`(${ce(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new d(null,"WrongNumberOfParameters",n);const t=e.symbols.nextTempVarId();let r;if(n.arguments.every((e,n)=>n%2==0||"Literal"===e.type)){r=`switch (${t}) {`;for(let t=1;t<n.arguments.length-1;t+=2){const o=n.arguments[t],l=n.arguments[t+1];null==o.value?r+="\n case null:\n case lc.voidOperation:\n ":r+=`\n case ${JSON.stringify(o.value)}:\n `,r+=`return ${ce(e,l)}`}r+="}"}else{const o=e.symbols.nextTempVarId();r="var ";for(let l=1;l<n.arguments.length-1;l+=2){const a=n.arguments[l],s=n.arguments[l+1];r+=`${o} = ${ce(e,a)};\n if (lang.binary(${o}, ${t}, "==") === true ) {\n return ${ce(e,s)}\n }\n `}}return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${ce(e,n.arguments[0])};\n ${r}\n return ${ce(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(t){throw t}}function Je(e,n){try{return ie(e,n,(e,n)=>{throw new f(e,"Unrecognized",n)})}catch(t){throw t}}function He(e){const n=function(){this.textformatting=p.textFormatting()};n.prototype=Object.create(null),n.provided=new Set(["textformatting","infinity","nan","pi"]),n.prototype.infinity=Number.POSITIVE_INFINITY,n.prototype.nan=Number.NaN,n.prototype.pi=Math.PI;for(const[t,r]of Object.entries(e))n.prototype[t]=new y(r),n.provided.add(t);return n}function Ye(){const e=Object.create(null);L(e,ie),P(e,ie),R(e,ie,ae),G(e,ie),U(e,ie),z(e,ie),q(e,ie),e.iif=Je,e.decode=Je,e.when=Je,e.defaultvalue=Je;const n=He(e);D(e,ie);return{ScopeSync:He(e),ScopeAsync:n}}const{ScopeSync:Qe,ScopeAsync:Xe}=Ye();function en(e,n){const t={mode:n,compiled:!0,functions:Object.create(null),signatures:[],standardFunction:ie,standardFunctionAsync:ie,evaluateIdentifier:ae};for(const r of e)r.registerFunctions(t);if("sync"===n)for(const[r,o]of Object.entries(t.functions))Qe.prototype[r]=new y(o),Qe.provided.add(r);else for(const[r,o]of Object.entries(t.functions))Xe.prototype[r]=new y(o),Xe.provided.add(r);for(const r of t.signatures)B(r,n)}en([T],"sync"),en([T],"async"),en([V],"async");const nn=Symbol("uninitialized"),tn="lang.uninitialized";function rn(e){return`lang.requireInitialized(${e})`}const on={uninitialized:nn,requireInitialized(e){if(e===nn)throw new f(null,"InvalidIdentifier",null);return e},isNumber:e=>Q(e),isArray:e=>Y(e),isImmutableArray:e=>C(e),isDictionaryLike:e=>_(e),isString:e=>X(e),isDictionary:e=>N(e),isGeometry:e=>E(e),getGeometryKeys:e=>m(e),getGeometryMember:(e,n,t)=>c(e,n,t,null),error(e){throw new f(null,e,null)},__awaiter(e,n,t,r){const o=r.apply(e,n||[]);let l=o.next();for(;!l.done&&!K(l.value);)l=o.next(l.value);return l.done?l.value:new Promise((e,n)=>{function t(r){for(;!r.done;){if(K(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 f(null,"MaximumCallDepth",null);const t=e.apply(this,arguments);return K(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 f(n,"BooleanConditionRequired",null)},castString:e=>M(e),aCheck(e,n){if(x(e)){if("ArrayExpression"===n)throw new f(null,"NoFunctionInArray",null);if("ObjectExpression"===n)throw new f(null,"NoFunctionInDictionary",null);throw new f(null,"NoFunctionInTemplateLiteral",null)}return e===O?null:e},Dictionary:p,Feature:h,UserDefinedCompiledFunction:se,dictionary(e){const n=Object.create(null),t=new Map;for(let o=0;o<e.length;o+=2){if(x(e[o+1]))throw new f(null,"NoFunctionInDictionary",null);if(!1===X(e[o]))throw new f(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]===O?n[r]=null:n[r]=e[o+1]}const r=new p(n);return r.immutable=!1,r},entry:(e,n)=>p.containerEntry(e,n),strCheck(e){if(!1===X(e))throw new f(null,"KeyMustBeString",null);return e},unary(e,n){if(ee(e)){if("!"===n)return!e;if("-"===n)return-1*F(e);if("+"===n)return 1*F(e);if("~"===n)return~F(e);throw new f(null,"UnsupportUnaryOperator",null)}if("-"===n)return-1*F(e);if("+"===n)return 1*F(e);if("~"===n)return~F(e);throw new f(null,"UnsupportUnaryOperator",null)},logicalCheck(e){if(!1===ee(e))throw new f(null,"LogicExpressionOrAnd",null);return e},logical(e,n,t){if(ee(e)&&ee(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new f(null,"LogicExpressionOrAnd",null)}throw new f(null,"LogicExpressionOrAnd",null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return A(F(e),F(n),t);case"==":return k(e,n);case"!=":return!k(e,n);case"<":case">":case"<=":case">=":return j(e,n,t);case"+":return X(e)||X(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 f(null,"UnsupportedOperator",null)}},assign(e,n,t){switch(n){case"=":return e===O?null:e;case"/=":return F(t)/F(e);case"*=":return F(t)*F(e);case"-=":return F(t)-F(e);case"+=":return X(t)||X(e)?M(t)+M(e):F(t)+F(e);case"%=":return F(t)%F(e);default:throw new f(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},createFeature:(e,n,t)=>h.createFromGraphicLikeObject(e.geometry,e.attributes,n,t.timeZone),memberupdate(e,n,t,r){let o;if(Y(e)){if(!Q(n))throw new f(null,"ArrayAccessMustBeNumber",null);if(n<0&&(n=e.length+n),n<0||n>=e.length)throw new f(null,"OutOfBounds",null);o=F(e[n]),e[n]="++"===t?o+1:o-1}else if(e instanceof p){if(!1===X(n))throw new f(null,"KeyAccessorMustBeString",null);if(!0!==e.hasField(n))throw new f(null,"FieldNotFound",null,{key:n});o=F(e.field(n)),e.setField(n,"++"===t?o+1:o-1)}else if(I(e)){if(!1===X(n))throw new f(null,"KeyAccessorMustBeString",null);if(!0!==e.hasField(n))throw new f(null,"FieldNotFound",null);o=F(e.field(n)),e.setField(n,"++"===t?o+1:o-1)}else{if(C(e))throw new f(null,"Immutable",null);if(!(e instanceof un))throw new f(null,"InvalidIdentifier",null);if(!1===X(n))throw new f(null,"ModuleAccessorMustBeString",null);if(!0!==e.hasGlobal(n))throw new f(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(Y(e)){if(!Q(n))throw new f(null,"ArrayAccessMustBeNumber",null);if(n<0&&(n=e.length+n),n<0||n>e.length)throw new f(null,"OutOfBounds",null);if(n===e.length){if("="!==t)throw new f(null,"OutOfBounds",null);e[n]=this.assign(r,t,e[n])}else e[n]=this.assign(r,t,e[n])}else if(e instanceof p){if(!1===X(n))throw new f(null,"KeyAccessorMustBeString",null);if(!0===e.hasField(n))e.setField(n,this.assign(r,t,e.field(n)));else{if("="!==t)throw new f(null,"FieldNotFound",null);e.setField(n,this.assign(r,t,null))}}else if(I(e)){if(!1===X(n))throw new f(null,"KeyAccessorMustBeString",null);if(!0===e.hasField(n))e.setField(n,this.assign(r,t,e.field(n)));else{if("="!==t)throw new f(null,"FieldNotFound",null);e.setField(n,this.assign(r,t,null))}}else{if(C(e))throw new f(null,"Immutable",null);if(!(e instanceof un))throw new f(null,"InvalidIdentifier",null);if(!1===X(n))throw new f(null,"ModuleAccessorMustBeString",null);if(!e.hasGlobal(n))throw new f(null,"ModuleExportNotFound",null);e.setGlobal(n,this.assign(r,t,e.global(n)))}},member:(e,n)=>u(e,n),tryMember:(e,n)=>i(e,n),callfunc(e,n,t){if(x(e))return e.call(t,{arguments:n,preparsed:!0});throw new f(null,"CallNonFunction",null)},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},getNestedOptionalValue:(e,n)=>s(e,n)};function ln(e){console.log(e)}function an(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))),c=ue(t,l?Xe.provided:Qe.provided,new Set([...i,...u]),l,a,s);let m;m=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* () {",` ${c.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() {",` ${c.body}`,"}","return this.postProcess(mainBody());"].join("\n");const{symbolMetadata:p,moduleFactoryMap:d}=c,g={lc:v,lang:on,postProcess(e){if(S(e))return null;if(x(e))throw new f(null,"IllegalResult",null);return e},prepare(e,t){const r=e.spatialReference??J.WebMercator,o=t?new Xe:new Qe;for(const n of u)null!=e.customfunctions&&n in e.customfunctions?o[n]=e.customfunctions[n]??null:o[n]=nn;for(const n of i){if(null==e.vars||!(n in e.vars)){n in o||(o[n]=nn);continue}const t=e.vars[n]??null;H(t)?o[n]=h.createFromGraphic(t,e.timeZone??null):o[n]=t}return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ln,abortSignal:e.abortSignal??n,timeZone:e.timeZone??null,spatialReference:r,track:e.track,globalScope:o,localStack:[],depthCounter:{depth:1},symbolMetadata:p,moduleFactory:s,moduleFactoryMap:d,moduleSingletons:Object.create(null)}}};return new Function("context",m).bind(g)}async function sn(){return en([await import("./functions/geomasync.js")],"async"),!0}class un 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(x(t))throw new f(null,"AssignModuleFunction",null);const r=this.moduleContext.symbolMetadata.globals.get(e(n));if(null==r)throw new f(null,"ModuleExportNotFound",null);this.moduleContext.globalScope[r]=t}global(n){const t=this.moduleContext.symbolMetadata.globals.get(e(n));if(null==t)throw new f(null,"ModuleExportNotFound",null);const r=this.moduleContext.globalScope,o=on.requireInitialized(r[t]);if(x(o)&&!(o instanceof b)){const e=new b;return e.fn=o,e.parameterEvaluator=ie,e.context=this.moduleContext,r[t]=e,e}return o}}function cn(e,t,o){const l=new r(null,e.loadedModules),a=ue(e,o?Xe.provided:Qe.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:v,lang:on,prepareModule:e=>new un(e),prepare(e,r){const o=e.spatialReference??J.WebMercator,l=r?new Xe:new Qe;return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ln,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{se as UserDefinedCompiledFunction,an as compileScript,sn as enableAsyncSupport,en as extend};
|
|
2
|
+
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,flattenAccessChain as s}from"./compilerUtils.js";import{getNestedOptionalValue as l,tryGetMember as i,getMember as c,getGeometryMember as u,getGeometryKeys as m}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as f,ArcadeCompilationError as d,ArcadeUncompilableError as g}from"./executionError.js";import{Feature as h}from"./Feature.js";import{NativeFunction as y,ArcadeFunction as w,ScopeMarshalledFunction as b,wrapModuleScopedResponse as $}from"./FunctionWrapper.js";import{a0 as v,_ as S,N as x,K as I,P as F,a9 as C,ab as M,ae as O,C as k,o as j,g as A,O as E,G as N,H as _}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as V}from"../chunks/aiServices.js";import{A as T}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as R}from"./functions/feature.js";import{registerFunctions as U}from"./functions/geometry.js";import{registerFunctions as D}from"./functions/geomsync.js";import{registerFunctions as G}from"./functions/maths.js";import{registerFunctions as z}from"./functions/stats.js";import{registerFunctions as P}from"./functions/string.js";import{registerFunctions as q}from"./functions/track.js";import W from"../core/Logger.js";import{isPromiseLike as K}from"../core/promiseUtils.js";import{addMany as Z}from"../core/SetUtils.js";import J from"../geometry/SpatialReference.js";import{isGraphic as H}from"../support/graphicInstanceUtils.js";import{isArray as Y,isNumber as Q,isString as X,isBoolean as ee}from"../support/guards.js";const te=()=>W.getLogger("esri.arcade.arcadeCompiler");class ne{constructor(){this._symbolCounter=0,this.safeAccessTempVarId="_Tsat"}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 re(e,t){const n=e.localScope?.get(t);if(null!=n)return{scope:"local",name:t,var:n};const r=e.globalScope.get(t);return null!=r?{scope:"global",name:t,var:r}:e.standardGlobals.has(t)?{scope:"global",name:t,var:t}:null}function oe(t,n,r="InvalidIdentifier"){const o=re(t,e(n));if(null!=o)return o;throw new d(r,n)}function ae(t,n,r){const o=re(t,e(n));if(null==o)throw te().error(`Internal error: Symbol "${n.name}" not declared.`),new d("NeverReach",n);if(null!=r&&o.scope!==r)throw te().error(`Internal error: Expected to resolve "${n.name}" in the ${r} scope but is in the ${o.scope} scope.`),new d("NeverReach",n);return o}function se(t,n){const r=e(n),o=t.symbolMetadata;if(t.localStack.length>0){const e=t.localStack[t.localStack.length-1],n=o.locals.get(e._SymbolsMapId);if(null==n)return void te().error(`Internal error: no reflection metadata for ${e._SymbolsMapId}`);const a=n.get(r);if(null!=a)return ot.requireInitialized(e[a])}const a=o.globals.get(r);if(null!=a)return ot.requireInitialized(t.globalScope[a]);if(o.standardGlobals.has(r))return ot.requireInitialized(t.globalScope[r]);throw new f("InvalidIdentifier",null)}class le extends w{constructor(e,t){super(),this.paramCount=t,this.fn=e}get debugName(){return null}createFunction(e){return(...e)=>{if(e.length!==this.paramCount)throw new f("WrongNumberOfParameters",null);return this.fn(...e)}}call(e,t){return this.fn(...t.arguments)}marshalledCall(e,t,n,r){return r(e,t,(t,o,a)=>{a=a.map(t=>!x(t)||t instanceof b?t:$(t,e,r));const s=this.call(n,{arguments:a});return K(s)?s.then(e=>$(e,n,r)):s})}}function ie(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function ce(e,t,n,r,a,s){const{globals:l,exports:i}=o(e),c=new Set(l.keys());Z(c,n);const u=new ne,m=[],p=new Map;for(const o of c)if(n.has(o)||t.has(o))p.set(o,o);else{const e=u.nextVarId();p.set(o,e),m.push(`gscope[${JSON.stringify(e)}] = ${nt};`)}const f=new Map,d=Object.create(null),g={isAsync:r,symbols:u,standardGlobals:t,globalScope:p,exports:i,localScope:null,allLocalSymbolMetadata:f,moduleFactory:s,moduleFactoryMap:d,libraryResolver:a};return{body:[...m,`var ${u.safeAccessTempVarId};`,"var lastStatement = lc.voidOperation;",Fe(g,e),"return lastStatement;"].join("\n"),symbolMetadata:{standardGlobals:t,exports:i,globals:p,locals:f},moduleFactoryMap:d}}function ue(e,t){switch(t.type){case"AssignmentExpression":return ve(e,t);case"UpdateExpression":return be(e,t);case"TemplateLiteral":return Re(e,t);case"Identifier":return Ge(e,t);case"MemberExpression":return Ee(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"CallExpression":return ze(e,t);case"UnaryExpression":return Te(e,t);case"BinaryExpression":return Ue(e,t);case"LogicalExpression":return De(e,t);case"ArrayExpression":return Le(e,t);case"ObjectExpression":return pe(e,t);case"MemberAccessChainExpression":return Ve(e,t);case"SafeMemberExpression":throw te().error("SafeMemberExpression outside of MemberAccessChainExpression"),new d("Unrecognized",t);default:throw new d("Unrecognized",t)}}function me(e,t){switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return je(e,t);case"BlockStatement":return Fe(e,t);case"FunctionDeclaration":return ke(e,t);case"ImportDeclaration":return Me(e,t);case"ExportNamedDeclaration":return me(e,t.declaration);case"ReturnStatement":return Ce(e,t);case"IfStatement":return Ie(e,t);case"ExpressionStatement":return Se(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return we(e,t);case"ForInStatement":return he(e,t);case"ForOfStatement":return ye(e,t);case"WhileStatement":return $e(e,t);default:throw new d("Unrecognized",t)}}function pe(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];let a;a="Identifier"===o.key.type?"'"+o.key.name+"'":ue(e,o.key);r>0&&(n+=","),n+="lang.strCheck("+a+",'ObjectExpression'),lang.aCheck("+ue(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function fe(e,t,n,r,o=(e,t)=>`${e} = ${t}`){const a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId();return[`var ${a} = ${n};`,`for (var ${s} = 0; ${s} < ${a}; ${s}++) {`,` ${o(t,s)}`,` ${me(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function de(e,t,n,r,o=e=>e){const a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId();return[`var ${a} = ${n};`,`for (var ${s} of ${a}) {`,` ${t} = ${o(s)};`,` ${me(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ge(e,t,n,r){const o=e.symbols.nextTempVarId(),a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId(),l=e.symbols.nextTempVarId();return[`var ${o} = yield ${n}.queryAll(runtimeCtx.abortSignal);`,`var ${a} = { done: false, value: [] };`,`for (var ${s} = 0; ${s} < ${a}.value.length || ((${s} = 0), !(${a} = yield ${o}.next()).done); ${s}++) {`,` if (${a}.value.length === 0) continue;`,` var ${l} = ${a}.value[${s}];`,` ${t} = lang.createFeature(${l}, ${n}, runtimeCtx);`,` ${me(e,r)}`,"}"].join("\n")}function he(e,t){const n=e.symbols.nextTempVarId();let r,o,a="var "+n+" = "+ue(e,t.right)+";\n";switch("VariableDeclaration"===t.left.type?(r=ae(e,t.left.declarations[0].id),a+=me(e,t.left)):r=oe(e,t.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d("NeverReach",t.left)}return a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {\n",a+=fe(e,o,`${n}.length`,t.body),a+="}\n",a+="else if (lc.isImmutableArray("+n+")) {\n",a+=fe(e,o,`${n}.length()`,t.body),a+="}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || lc.isDictionaryLike("+n+")) {\n",a+=de(e,o,`${n}.keys()`,t.body),a+="}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {\n",a+=ge(e,o,n,t.body),a+="}\n"),a+=`else if (lc.isGeometry(${n})) {\n`,a+=de(e,o,`lang.getGeometryKeys(${n})`,t.body),a+="}\n",a+="else { lastStatement = lc.voidOperation; } \n",a}function ye(e,t){const n=e.symbols.nextTempVarId();let r,o,a="var "+n+" = "+ue(e,t.right)+";\n";switch("VariableDeclaration"===t.left.type?(r=ae(e,t.left.declarations[0].id),a+=me(e,t.left)):r=oe(e,t.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d("NeverReach",t.left)}return a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {\n",a+=fe(e,o,`${n}.length`,t.body,(e,t)=>[`if (${t} >= ${n}.length) {`," lang.error('OutOfBounds');","}",`${e} = ${n}[${t}];`].join("\n")),a+="}\n",a+="else if (lc.isImmutableArray("+n+")) {\n",a+=fe(e,o,`${n}.length()`,t.body,(e,t)=>`${e} = ${n}.get(${t});`),a+="}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || lc.isDictionaryLike("+n+")) {\n",a+=de(e,o,`${n}.keys()`,t.body,e=>`lang.entry(${e}, ${n}.field(${e}))`),a+="}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {\n",a+=ge(e,o,n,t.body),a+="}\n"),a+=`else if (lc.isGeometry(${n})) {\n`,a+=de(e,o,`lang.getGeometryKeys(${n})`,t.body,e=>`lang.entry(${e}, lang.getGeometryMember(${n}, ${e}))`),a+="}\n",a+="else { lastStatement = lc.voidOperation; } \n",a}function we(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&("VariableDeclaration"===t.init.type?n+=me(e,t.init):n+=ue(e,t.init)+"; ");const r=e.symbols.nextTempVarId(),o=e.symbols.nextTempVarId();return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+ue(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+ue(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error('BooleanConditionRequired'); }\n"),n+=me(e,t.body),null!==t.update&&(n+="\n "+ue(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function be(e,t){if("CallExpression"===t.argument.type)throw new d("NeverReach",t);let n;if("MemberExpression"===t.argument.type){const r=ue(e,t.argument.object);return n=!0===t.argument.computed?ue(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+r+","+n+",'"+t.operator+"',"+t.prefix+")"}const r=oe(e,t.argument);switch(Oe(r),r.scope){case"local":return`lang.update(lscope, '${r.var}', '${t.operator}', ${t.prefix})`;case"global":return`lang.update(gscope, '${r.var}', '${t.operator}', ${t.prefix})`;default:throw r.scope,new d("NeverReach",t.argument)}}function $e(e,t){let n="lastStatement = lc.voidOperation; \n";const r=e.symbols.nextTempVarId();return n+=`\n var ${r} = true;\n do {\n ${r} = ${ue(e,t.test)};\n if (${r}==false) {\n break;\n }\n if (${r}!==true) {\n lang.error('BooleanConditionRequired');\n }\n ${me(e,t.body)}\n }\n while (${r} !== false);\n lastStatement = lc.voidOperation;\n `,n}function ve(e,t){const n=ue(e,t.right);if("MemberExpression"===t.left.type){let r;const o=ue(e,t.left.object);return r=!0===t.left.computed?ue(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+o+","+r+",'"+t.operator+"',"+n+")"}const r=oe(e,t.left);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=lang.assign(${n},'${t.operator}', ${"="===t.operator?"null":rt(`lscope['${r.var}']`)})`;case"global":return`gscope['${r.var}']=lang.assign(${n},'${t.operator}', ${"="===t.operator?"null":rt(`gscope['${r.var}']`)})`;default:throw r.scope,new d("NeverReach",t.left)}}function Se(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+ue(e,t.expression)+"; \n ":"lastStatement = "+ue(e,t.expression)+"; "}function xe(e,t){return"BlockStatement"===t.type?me(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?me(e,t)+"; ":"ExpressionStatement"===t.type?me(e,t):me(e,t)+"; "}function Ie(e,t){return`if (lang.mustBoolean(${ue(e,t.test)}) === true) {\n ${xe(e,t.consequent)}\n } `+(null!==t.alternate?"IfStatement"===t.alternate.type?" else "+Ie(e,t.alternate):` else {\n ${xe(e,t.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function Fe(e,t){let n="";for(let r=0;r<t.body.length;r++)"EmptyStatement"!==t.body[r].type&&("ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=me(e,t.body[r])+"; \n":n+=me(e,t.body[r])+" \n");return n}function Ce(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+ue(e,t.argument)}function Me(e,t){const n=ae(e,t.specifiers[0].local,"global"),r=e.libraryResolver?.loadLibrary(n.name),o=e.symbols.nextVarId();void 0===e.moduleFactory[r.uri]&&(e.moduleFactory[r.uri]=ct(r.syntax,e.moduleFactory,e.isAsync)),e.moduleFactoryMap[o]=r.uri;let a="";return a=e.isAsync?"(yield lang.loadModule('"+o+"', runtimeCtx) ); ":"lang.loadModule('"+o+"', runtimeCtx); ",Oe(n),`gscope['${n.var}']=${a}`}function Oe(e){if("global"===e.scope)switch(e.name){case"iif":case"when":case"defaultvalue":case"decode":throw new g}}function ke(t,n){const r=new Set(n.params.map(t=>e(t))),o=new Set(a(n).keys());Z(o,r);const s=t.symbols,l=new Map;for(const e of o)l.set(e,s.nextVarId());const i=s.nextLocalsSymbolMapId();t.allLocalSymbolMetadata.set(i,l);const c={...t,localScope:l},u=[`lscope._SymbolsMapId = ${JSON.stringify(i)};`];for(let e=0;e<n.params.length;e++){const t=ae(c,n.params[e],"local");Oe(t),u.push(`lscope['${t.var}'] = arguments[${e}];`)}for(const[e,a]of l)r.has(e)||u.push(`lscope['${a}'] = ${nt};`);const m=Fe(c,n.body),p=!0===t.isAsync?["return lang.__awaiter(this, void 0, void 0, function* () {",` ${m}`," return lastStatement;","});"]:[m,"return lastStatement;"],f=["new lang.UserDefinedCompiledFunction("," lang.functionDepthchecker("," function() {"," var lastStatement = lc.voidOperation;"," var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];",...u,...p," },"," runtimeCtx,"," ),",` ${n.params.length},`,")"].join("\n"),d=ae(t,n.id,"global");return Oe(d),`gscope['${d.var}']=${f}; lastStatement = lc.voidOperation;`}function je(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(Ae(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function Ae(e,t){const n=null===t.init?"null":ue(e,t.init),r=ae(e,t.id);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=${n};`;case"global":return`gscope['${r.var}']=${n};`;default:throw r.scope,new d("NeverReach",t.id)}}function Ee(e,t){return Ne(e,ue(e,t.object),t)}function Ne(e,t,n){return`lang.member(${t}, ${n.computed?ue(e,n.property):`'${n.property.name}'`})`}function _e(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=Ne(e,t,r);break;case"CallExpression":t=Pe(e,t,r.arguments);break;default:throw new d("Unrecognized",r)}return t}function Be(e,t,n){return`lang.tryMember(${t}, ${n.computed?ue(e,n.property):`'${n.property.name}'`})`}function Ve(e,t){const n=s(t);let r="",o=ue(e,n.root);for(const a of n.sections)r+=`(${e.symbols.safeAccessTempVarId} = ${Be(e,o,a.checked)}) == null ? null : `,o=_e(e,e.symbols.safeAccessTempVarId,a.unchecked);return`(${r}${o})`}function Te(e,t){try{return"lang.unary("+ue(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function Le(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(ue(e,t.elements[r])):n.push("lang.aCheck("+ue(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Re(e,t){try{const n=[];let r=0;for(const o of t.quasis)n.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(n.push(t.expressions[r]?"lang.castString(lang.aCheck("+ue(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function Ue(e,t){try{return"lang.binary("+ue(e,t.left)+","+ue(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function De(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new d("LogicalExpressionOnlyBoolean",t);if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new d("LogicalExpressionOnlyBoolean",t);if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+ue(e,t.left)+") "+t.operator+" lang.logicalCheck("+ue(e,t.right)+"))";throw new d("LogicExpressionOrAnd",null)}catch(n){throw n}}function Ge(e,t){const n=oe(e,t);switch(Oe(n),n.scope){case"local":return rt(`lscope['${n.var}']`);case"global":return rt(`gscope['${n.var}']`);default:throw n.scope,new d("NeverReach",t)}}function ze(e,t){if("Identifier"===t.callee.type){const n=oe(e,t.callee,"FunctionNotFound");if("global"===n.scope)switch(n.name){case"iif":return qe(e,t);case"when":return Ke(e,t);case"defaultvalue":return We(e,t);case"decode":return Ze(e,t)}}return Pe(e,ue(e,t.callee),t.arguments)}function Pe(e,t,n){const r=`lang.callfunc(${t}, [${n.map(t=>ue(e,t)).join(", ")}], runtimeCtx)`;return e.isAsync?`(yield ${r})`:r}function qe(e,t){try{if(3!==t.arguments.length)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n\n if (${n} === true) {\n return ${ue(e,t.arguments[1])};\n }\n else if (${n} === false) {\n return ${ue(e,t.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function We(e,t){try{if(t.arguments.length<2||t.arguments.length>3)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId(),r=e.symbols.nextTempVarId();return 3===t.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n var ${r} = ${ue(e,t.arguments[1])};\n ${n} = lang.getNestedOptionalValue(${n}, ${r});\n return ${n} != null && ${n} !== "" ? ${n} : ${ue(e,t.arguments[2])};\n ${e.isAsync?"})}()))":"}()"}`:`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n if (${n} === null) {\n return ${ue(e,t.arguments[1])};\n }\n if (${n} === "") {\n return ${ue(e,t.arguments[1])};\n }\n if (${n} === undefined) {\n return ${ue(e,t.arguments[1])};\n }\n return ${n};\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Ke(e,t){try{if(t.arguments.length<3)throw new d("WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();let r="var ";for(let o=0;o<t.arguments.length-1;o+=2)r+=`${n} = lang.mustBoolean(${ue(e,t.arguments[o])});\n if (${n} === true ) {\n return ${ue(e,t.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,t.arguments[t.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Ze(e,t){try{if(t.arguments.length<2)throw new d("WrongNumberOfParameters",t);if(2===t.arguments.length)return`(${ue(e,t.arguments[1])})`;if((t.arguments.length-1)%2==0)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();let r;if(t.arguments.every((e,t)=>t%2==0||"Literal"===e.type)){r=`switch (${n}) {`;for(let n=1;n<t.arguments.length-1;n+=2){const o=t.arguments[n],a=t.arguments[n+1];null==o.value?r+="\n case null:\n case lc.voidOperation:\n ":r+=`\n case ${JSON.stringify(o.value)}:\n `,r+=`return ${ue(e,a)}`}r+="}"}else{const o=e.symbols.nextTempVarId();r="var ";for(let a=1;a<t.arguments.length-1;a+=2){const s=t.arguments[a],l=t.arguments[a+1];r+=`${o} = ${ue(e,s)};\n if (lang.binary(${o}, ${n}, "==") === true ) {\n return ${ue(e,l)}\n }\n `}}return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n ${r}\n return ${ue(e,t.arguments[t.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Je(e,t){try{return ie(e,t,(e,t)=>{throw new f("Unrecognized",t)})}catch(n){throw n}}function He(e){const t=function(){this.textformatting=p.textFormatting()};t.prototype=Object.create(null),t.provided=new Set(["textformatting","infinity","nan","pi"]),t.prototype.infinity=Number.POSITIVE_INFINITY,t.prototype.nan=Number.NaN,t.prototype.pi=Math.PI;for(const[n,r]of Object.entries(e))t.prototype[n]=new y(r),t.provided.add(n);return t}function Ye(){const e=Object.create(null);L(e,ie),P(e,ie),R(e,ie,se),G(e,ie),U(e,ie),z(e,ie),q(e,ie),e.iif=Je,e.decode=Je,e.when=Je,e.defaultvalue=Je;const t=He(e);D(e,ie);return{ScopeSync:He(e),ScopeAsync:t}}const{ScopeSync:Qe,ScopeAsync:Xe}=Ye();function et(e,t){const n={mode:t,compiled:!0,functions:Object.create(null),signatures:[],standardFunction:ie,standardFunctionAsync:ie,evaluateIdentifier:se};for(const r of e)r.registerFunctions(n);if("sync"===t)for(const[r,o]of Object.entries(n.functions))Qe.prototype[r]=new y(o),Qe.provided.add(r);else for(const[r,o]of Object.entries(n.functions))Xe.prototype[r]=new y(o),Xe.provided.add(r);for(const r of n.signatures)B(r,t)}et([T],"sync"),et([T],"async"),et([V],"async");const tt=Symbol("uninitialized"),nt="lang.uninitialized";function rt(e){return`lang.requireInitialized(${e})`}const ot={uninitialized:tt,requireInitialized(e){if(e===tt)throw new f("InvalidIdentifier",null);return e},isNumber:e=>Q(e),isArray:e=>Y(e),isImmutableArray:e=>F(e),isDictionaryLike:e=>_(e),isString:e=>X(e),isDictionary:e=>N(e),isGeometry:e=>E(e),getGeometryKeys:e=>m(e),getGeometryMember:(e,t)=>u(e,t,null),error(e){throw new f(e,null)},__awaiter(e,t,n,r){const o=r.apply(e,t||[]);let a=o.next();for(;!a.done&&!K(a.value);)a=o.next(a.value);return a.done?a.value:new Promise((e,t)=>{function n(r){for(;!r.done;){if(K(r.value))return void Promise.resolve(r.value).then(e=>{try{n(o.next(e))}catch(r){t(r)}},e=>{try{n(o.throw(e))}catch(r){t(r)}});try{r=o.next(r.value)}catch(a){return void t(a)}}e(r.value)}n(a)})},functionDepthchecker:(e,t)=>function(){if(t.depthCounter.depth++,t.localStack.push({}),t.depthCounter.depth>64)throw new f("MaximumCallDepth",null);const n=e.apply(this,arguments);return K(n)?n.then(e=>(t.depthCounter.depth--,t.localStack.length=t.localStack.length-1,e)):(t.depthCounter.depth--,t.localStack.length=t.localStack.length-1,n)},mustBoolean(e){if(!0===e||!1===e)return e;throw new f("BooleanConditionRequired",null)},castString:e=>M(e),aCheck(e,t){if(x(e)){if("ArrayExpression"===t)throw new f("NoFunctionInArray",null);if("ObjectExpression"===t)throw new f("NoFunctionInDictionary",null);throw new f("NoFunctionInTemplateLiteral",null)}return e===O?null:e},Dictionary:p,Feature:h,UserDefinedCompiledFunction:le,dictionary(e){const t=Object.create(null),n=new Map;for(let o=0;o<e.length;o+=2){if(x(e[o+1]))throw new f("NoFunctionInDictionary",null);if(!1===X(e[o]))throw new f("KeyMustBeString",null);let r=e[o].toString();const a=r.toLowerCase();n.has(a)?r=n.get(a):n.set(a,r),e[o+1]===O?t[r]=null:t[r]=e[o+1]}const r=new p(t);return r.immutable=!1,r},entry:(e,t)=>p.containerEntry(e,t),strCheck(e){if(!1===X(e))throw new f("KeyMustBeString",null);return e},unary(e,t){if(ee(e)){if("!"===t)return!e;if("-"===t)return-1*C(e);if("+"===t)return 1*C(e);if("~"===t)return~C(e);throw new f("UnsupportUnaryOperator",null)}if("-"===t)return-1*C(e);if("+"===t)return 1*C(e);if("~"===t)return~C(e);throw new f("UnsupportUnaryOperator",null)},logicalCheck(e){if(!1===ee(e))throw new f("LogicExpressionOrAnd",null);return e},logical(e,t,n){if(ee(e)&&ee(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new f("LogicExpressionOrAnd",null)}throw new f("LogicExpressionOrAnd",null)},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return A(C(e),C(t),n);case"==":return j(e,t);case"!=":return!j(e,t);case"<":case">":case"<=":case">=":return k(e,t,n);case"+":return X(e)||X(t)?M(e)+M(t):C(e)+C(t);case"-":return C(e)-C(t);case"*":return C(e)*C(t);case"/":return C(e)/C(t);case"%":return C(e)%C(t);default:throw new f("UnsupportedOperator",null)}},assign(e,t,n){switch(t){case"=":return e===O?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return X(n)||X(e)?M(n)+M(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new f("UnsupportedOperator",null)}},update(e,t,n,r){const o=C(this.requireInitialized(e[t]));return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},createFeature:(e,t,n)=>h.createFromGraphicLikeObject(e.geometry,e.attributes,t,n.timeZone),memberupdate(e,t,n,r){let o;if(Y(e)){if(!Q(t))throw new f("ArrayAccessMustBeNumber",null);if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new f("OutOfBounds",null);o=C(e[t]),e[t]="++"===n?o+1:o-1}else if(e instanceof p){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0!==e.hasField(t))throw new f("FieldNotFound",null,{key:t});o=C(e.field(t)),e.setField(t,"++"===n?o+1:o-1)}else if(I(e)){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0!==e.hasField(t))throw new f("FieldNotFound",null,{key:t});o=C(e.field(t)),e.setField(t,"++"===n?o+1:o-1)}else{if(F(e))throw new f("Immutable",null);if(!(e instanceof it))throw new f("InvalidIdentifier",null);if(!1===X(t))throw new f("ModuleAccessorMustBeString",null);if(!0!==e.hasGlobal(t))throw new f("ModuleExportNotFound",null);o=C(e.global(t)),e.setGlobal(t,"++"===n?o+1:o-1)}return!1===r?o:"++"===n?o+1:o-1},assignmember(e,t,n,r){if(Y(e)){if(!Q(t))throw new f("ArrayAccessMustBeNumber",null);if(t<0&&(t=e.length+t),t<0||t>e.length)throw new f("OutOfBounds",null);if(t===e.length){if("="!==n)throw new f("OutOfBounds",null);e[t]=this.assign(r,n,e[t])}else e[t]=this.assign(r,n,e[t])}else if(e instanceof p){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0===e.hasField(t))e.setField(t,this.assign(r,n,e.field(t)));else{if("="!==n)throw new f("FieldNotFound",null,{key:t});e.setField(t,this.assign(r,n,null))}}else if(I(e)){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0===e.hasField(t))e.setField(t,this.assign(r,n,e.field(t)));else{if("="!==n)throw new f("FieldNotFound",null,{key:t});e.setField(t,this.assign(r,n,null))}}else{if(F(e))throw new f("Immutable",null);if(!(e instanceof it))throw new f("InvalidIdentifier",null);if(!1===X(t))throw new f("ModuleAccessorMustBeString",null);if(!e.hasGlobal(t))throw new f("ModuleExportNotFound",null);e.setGlobal(t,this.assign(r,n,e.global(t)))}},member:(e,t)=>c(e,t),tryMember:(e,t)=>i(e,t),callfunc(e,t,n){if(x(e))return e.call(n,{arguments:t,preparsed:!0});throw new f("CallNonFunction",null)},loadModule(e,t){const n=t.moduleFactoryMap[e];if(t.moduleSingletons[n])return t.moduleSingletons[n];const r=t.moduleFactory[n]({moduleSingletons:t.moduleSingletons,depthCounter:t.depthCounter,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,console:t.console,abortSignal:t.abortSignal,timeZone:t.timeZone??null,spatialReference:t.spatialReference});return t.moduleSingletons[n]=r,r},getNestedOptionalValue:(e,t)=>l(e,t)};function at(e){console.log(e)}function st(n,o,a=!1){let s=null;n.usesModules&&(s=new r(null,n.loadedModules));const l=Object.create(null),i=new Set(Object.keys(o?.vars||{}).map(t=>e(t))),c=new Set(Object.keys(o?.customfunctions||{}).map(t=>e(t))),u=ce(n,a?Xe.provided:Qe.provided,new Set([...i,...c]),a,s,l);let m;m=a?["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* () {",` ${u.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() {",` ${u.body}`,"}","return this.postProcess(mainBody());"].join("\n");const{symbolMetadata:p,moduleFactoryMap:d}=u,g={lc:v,lang:ot,postProcess(e){if(S(e))return null;if(x(e))throw new f("IllegalResult",null);return e},prepare(e,n){const r=e.spatialReference??J.WebMercator,o=n?new Xe:new Qe;for(const t of c)null!=e.customfunctions&&t in e.customfunctions?o[t]=e.customfunctions[t]??null:o[t]=tt;for(const t of i){if(null==e.vars||!(t in e.vars)){t in o||(o[t]=tt);continue}const n=e.vars[t]??null;H(n)?o[t]=h.createFromGraphic(n,e.timeZone??null):o[t]=n}return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??at,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:r,track:e.track,globalScope:o,localStack:[],depthCounter:{depth:1},symbolMetadata:p,moduleFactory:l,moduleFactoryMap:d,moduleSingletons:Object.create(null)}}};return new Function("context",m).bind(g)}async function lt(){return et([await import("./functions/geomasync.js")],"async"),!0}class it extends n{constructor(e){super(),this.moduleContext=e}hasGlobal(t){const n=this.moduleContext.symbolMetadata.exports;return n.has(t)||n.has(e(t))}setGlobal(t,n){if(x(n))throw new f("AssignModuleFunction",null);const r=this.moduleContext.symbolMetadata.globals.get(e(t));if(null==r)throw new f("ModuleExportNotFound",null);this.moduleContext.globalScope[r]=n}global(t){const n=this.moduleContext.symbolMetadata.globals.get(e(t));if(null==n)throw new f("ModuleExportNotFound",null);const r=this.moduleContext.globalScope,o=ot.requireInitialized(r[n]);if(x(o)&&!(o instanceof b)){const e=new b;return e.fn=o,e.parameterEvaluator=ie,e.context=this.moduleContext,r[n]=e,e}return o}}function ct(e,n,o){const a=new r(null,e.loadedModules),s=ce(e,o?Xe.provided:Qe.provided,new Set,o,a,n);let l;l=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* () {",` ${s.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() {",` ${s.body}`,"}","mainBody();","return this.prepareModule(runtimeCtx);"].join("\n");const{symbolMetadata:i,moduleFactoryMap:c}=s,u={lc:v,lang:ot,prepareModule:e=>new it(e),prepare(e,r){const o=e.spatialReference??J.WebMercator,a=r?new Xe:new Qe;return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??at,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:null,globalScope:a,localStack:[],depthCounter:e.depthCounter,symbolMetadata:i,moduleFactory:n,moduleFactoryMap:c,moduleSingletons:e.moduleSingletons}}};return new Function("context",l).bind(u)}export{le as UserDefinedCompiledFunction,st as compileScript,lt as enableAsyncSupport,et as extend};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeExecutionError as e}from"./executionError.js";function r(r){if("string"==typeof r)return r.toLowerCase();if("name"in r)return r.name.toLowerCase();if("string"!=typeof r.value)throw new e(
|
|
2
|
+
import{ArcadeExecutionError as e}from"./executionError.js";function r(r){if("string"==typeof r)return r.toLowerCase();if("name"in r)return r.name.toLowerCase();if("string"!=typeof r.value)throw new e("InvalidIdentifier",null);return r.value.toLowerCase()}const t=Object.freeze({aborted:!1});export{t as neverAbortedSignal,r as toSymbolId};
|