@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
package/arcade/arcadeRuntime.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 t}from"./arcadeEnvironment.js";import{ArcadeModule as r}from"./ArcadeModule.js";import{ArcadeModuleLoader as n}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as s,flattenAccessChain as i}from"./compilerUtils.js";import{getNestedOptionalValue as a,getGeometryKeys as l,getGeometryMember as c,tryGetMember as u,getMember as f}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as h,ensureArcadeExecutionError as d}from"./executionError.js";import{Feature as w}from"./Feature.js";import{NativeFunction as m,ArcadeFunction as g,ScopeMarshalledFunction as b,wrapModuleScopedResponse as y}from"./FunctionWrapper.js";import{R as v,I as x,_ as S,N as R,h as F,l as j,ae as k,a3 as I,P as O,H as N,O as C,o as A,a9 as M,ab as E,C as B,g as U,K as G}from"../chunks/languageUtils.js";import{addFunctionDeclaration as _}from"./treeAnalysis.js";import{A as z}from"../chunks/array.js";import{registerFunctions as D}from"./functions/date.js";import{registerFunctions as L}from"./functions/feature.js";import{registerFunctions as Z}from"./functions/geometry.js";import{registerFunctions as q}from"./functions/geomsync.js";import{registerFunctions as P}from"./functions/maths.js";import{registerFunctions as W}from"./functions/stats.js";import{registerFunctions as V}from"./functions/string.js";import{registerFunctions as K}from"./functions/track.js";import T from"../core/Logger.js";import H from"../geometry/SpatialReference.js";import{isGraphic as Y}from"../support/graphicInstanceUtils.js";import{isBoolean as $,isArray as J,isString as Q,isNumber as X}from"../support/guards.js";const ee=()=>T.getLogger("esri.arcade.arcadeRuntime"),te=Symbol("uninitialized");function re(e){if(e===te)throw new h(null,"InvalidIdentifier",null)}function ne(e){return re(e),e}function oe(t,r){const n=e(r);if(null!==t.localScope){const e=t.localScope[n];if(void 0!==e)return{scope:t.localScope,id:n,var:e}}const o=t.globalScope[n];if(void 0!==o)return{scope:t.globalScope,id:n,var:o};throw new h(t,"InvalidIdentifier",r)}function se(t,r,n="InvalidIdentifier"){const o=e(r);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return re(e),e.value}const s=t.globalScope[o];if(void 0!==s)return re(s),s.value;throw new h(t,n,r)}const ie=function(){};ie.prototype=Object.freeze(Object.create(null));class ae extends g{constructor(e,t,r,n){super(),this.definition=e,this.context=t,this._params=r,this._locals=n}get debugName(){return null}createFunction(e){return(...t)=>{const r={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:new ie,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(r.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",null);return le(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return fe(e,t,(r,n,o)=>{const s={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};if(s.depthCounter.depth>64)throw new h(e,"MaximumCallDepth",t);return le(s,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,r,n){return n(e,t,(o,s,i)=>{const a={spatialReference:e.spatialReference,globalScope:r.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};return i=i.map(t=>!R(t)||t instanceof b?t:y(t,e,n)),y(le(a,this.definition.body,this._params,this._locals,i,t),r,n)})}}function le(e,t,r,n,o,s){try{if(r.length!==o.length)throw new h(e,"WrongNumberOfParameters",s);if(null!=e.localScope){for(let t=0;t<r.length;t++)e.localScope[r[t]]={value:o[t]};for(const t of n)e.localScope[t]=te}const i=he(e,t);if(i instanceof v)return i.value;if(i===F)throw new h(e,"UnexpectedToken",s);if(i===j)throw new h(e,"UnexpectedToken",s);return i instanceof x?i.value:i}catch(i){throw i}}class ce extends r{constructor(e){super(),this.moduleGlobalContext=e}global(t){const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new h(null,"ModuleExportNotFound",null);const n=this.moduleGlobalContext.globalScope[r];if(re(n),R(n.value)&&!(n.value instanceof b)){const e=new b;return e.fn=n.value,e.parameterEvaluator=fe,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[r]={value:e},e}return n.value}setGlobal(t,r){if(R(r))throw new h(null,"AssignModuleFunction",null);const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new h(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[n]={value:r}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static load(e,r){const{globals:s,exports:i}=o(r),a=new Xe;for(const t of s.keys())t in a||(a[t]=te);const l=e.spatialReference??H.WebMercator,c={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:l,track:e.track,depthCounter:{depth:1},libraryResolver:new n(e.libraryResolver._moduleSingletons,r.loadedModules),exports:i,localScope:null,globalScope:a};return je(c,r),new ce(c)}}function ue(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(pe(e,t.arguments[n]));return r}function fe(e,t,r){try{return!0===t.preparsed?r(e,null,t.arguments):r(e,t,ue(e,t))}catch(n){throw n}}function pe(e,t){try{switch(t.type){case"AssignmentExpression":return Se(e,t);case"UpdateExpression":return ve(e,t);case"TemplateLiteral":return qe(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Me(e,t);case"Literal":return t.value;case"CallExpression":return We(e,t);case"UnaryExpression":return _e(e,t);case"BinaryExpression":return De(e,t);case"LogicalExpression":return Le(e,t);case"ArrayExpression":return ze(e,t);case"ObjectExpression":return de(e,t);case"MemberAccessChainExpression":return Ge(e,t);case"SafeMemberExpression":throw ee().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h(null,"Unrecognized",t);default:throw new h(e,"Unrecognized",t)}}catch(r){throw d(e,t,r)}}function he(e,t){switch(t.type){case"EmptyStatement":return k;case"VariableDeclaration":return Ce(e,t);case"ImportDeclaration":return Oe(e,t);case"ExportNamedDeclaration":return Ne(e,t);case"BlockStatement":return je(e,t);case"FunctionDeclaration":return Ie(e,t);case"ReturnStatement":return ke(e,t);case"IfStatement":return Fe(e,t);case"ExpressionStatement":return Re(e,t);case"BreakStatement":return F;case"ContinueStatement":return j;case"ForStatement":return ge(e,t);case"ForInStatement":return we(e,t);case"ForOfStatement":return me(e,t);case"WhileStatement":return be(e,t);default:throw new h(e,"Unrecognized",t)}}function de(e,t){const r=Object.create(null),n=new Map;for(let s=0;s<t.properties.length;s++){const o=t.properties[s],i="Identifier"===o.key.type?o.key.name:pe(e,o.key),a=pe(e,o.value);if(R(a))throw new h(e,"NoFunctionInDictionary",t);if(!1===Q(i))throw new h(e,"KeyMustBeString",t);let l=i.toString();const c=l.toLowerCase();n.has(c)?l=n.get(c):n.set(c,l),r[l]=a===k?null:a}const o=new p(r);return o.immutable=!1,o}function we(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&Ce(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let r=0;r<o;r++){n.scope[n.id]={value:r};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return k}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return k}if(r instanceof p||N(r)){const o=r.keys();for(let r=0;r<o.length;r++){n.scope[n.id]={value:o[r]};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return k}if(C(r)){for(const o of l(r)){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return k}return k}function me(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&he(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let s=0;s<o;s++){if(s>=r.length)throw new h(e,"OutOfBounds",t);n.scope[n.id]={value:r[s]};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return k}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:r.get(o)};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return k}if(r instanceof p||N(r)){for(const o of r.keys()){const s=r.field(o);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return k}if(C(r)){for(const o of l(r)){const s=c(r,o,e,t);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return k}return k}function ge(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?he(e,t.init):pe(e,t.init));const r={testResult:!0,lastAction:k};do{ye(e,t,r)}while(!0===r.testResult);return r.lastAction instanceof v?r.lastAction:k}function be(e,t){const r={testResult:!0,lastAction:k};if(r.testResult=pe(e,t.test),!1===r.testResult)return k;if(!0!==r.testResult)throw new h(e,"BooleanConditionRequired",t);for(;!0===r.testResult&&(r.lastAction=he(e,t.body),r.lastAction!==F)&&!(r.lastAction instanceof v);)if(r.testResult=pe(e,t.test),!0!==r.testResult&&!1!==r.testResult)throw new h(e,"BooleanConditionRequired",t);return r.lastAction instanceof v?r.lastAction:k}function ye(e,t,r){if(null!==t.test){if(r.testResult=pe(e,t.test),!1===r.testResult)return;if(!0!==r.testResult)throw new h(e,"BooleanConditionRequired",t)}r.lastAction=he(e,t.body),r.lastAction!==F?r.lastAction instanceof v?r.testResult=!1:null!==t.update&&pe(e,t.update):r.testResult=!1}function ve(e,t){if("CallExpression"===t.argument.type)throw new h(e,"NeverReach",t);let r;if("MemberExpression"===t.argument.type){const n=pe(e,t.argument.object);let o;if(!0===t.argument.computed)o=pe(e,t.argument.property);else{if("Identifier"!==t.argument.property.type)throw new h(e,"Unrecognized",t);o=t.argument.property.name}if(J(n)){if(!X(o))throw new h(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=n.length+o),o<0||o>=n.length)throw new h(e,"OutOfBounds",t);r=M(n[o]),n[o]="++"===t.operator?r+1:r-1}else if(n instanceof p){if(!1===Q(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h(e,"FieldNotFound",t);r=M(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else if(G(n)){if(!1===Q(o))throw new h(e,"KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h(e,"FieldNotFound",t);r=M(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else{if(O(n))throw new h(e,"Immutable",t);if(!(n instanceof ce))throw new h(e,"InvalidParameter",t);if(!1===Q(o))throw new h(e,"ModuleAccessorMustBeString",t);if(!0!==n.hasGlobal(o))throw new h(e,"ModuleExportNotFound",t);r=M(n.global(o)),n.setGlobal(o,"++"===t.operator?r+1:r-1)}return!1===t.prefix?r:"++"===t.operator?r+1:r-1}const n=oe(e,t.argument);r=M(ne(n.var).value);const o="++"===t.operator?r+1:r-1;return n.scope[n.id]={value:o},!1===t.prefix?r:"++"===t.operator?r+1:r-1}function xe(e,t,r,n,o){switch(t){case"=":return e===k?null:e;case"/=":return M(r)/M(e);case"*=":return M(r)*M(e);case"-=":return M(r)-M(e);case"+=":return Q(r)||Q(e)?E(r)+E(e):M(r)+M(e);case"%=":return M(r)%M(e);default:throw new h(o,"UnsupportedOperator",n)}}function Se(e,t){if("MemberExpression"===t.left.type){const r=pe(e,t.left.object);let n;if(!0===t.left.computed)n=pe(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new h(e,"InvalidIdentifier",t);n=t.left.property.name}const o=pe(e,t.right);if(J(r)){if(!X(n))throw new h(e,"ArrayAccessMustBeNumber",t);if(n<0&&(n=r.length+n),n<0||n>r.length)throw new h(e,"OutOfBounds",t);if(n===r.length){if("="!==t.operator)throw new h(e,"OutOfBounds",t);r[n]=xe(o,t.operator,r[n],t,e)}else r[n]=xe(o,t.operator,r[n],t,e)}else if(r instanceof p){if(!1===Q(n))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t,e))}}else if(G(r)){if(!1===Q(n))throw new h(e,"KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t,e));else{if("="!==t.operator)throw new h(e,"FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t,e))}}else{if(O(r))throw new h(e,"Immutable",t);if(!(r instanceof ce))throw new h(e,"InvalidIdentifier",t);if(!1===Q(n))throw new h(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(n))throw new h(e,"ModuleExportNotFound",t);r.setGlobal(n,xe(o,t.operator,r.global(n),t,e))}return k}const r=oe(e,t.left),n=pe(e,t.right);return r.scope[r.id]={value:xe(n,t.operator,"="!==t.operator?ne(r.var).value:null,t,e)},k}function Re(e,t){const r=pe(e,t.expression);return r===k?k:new x(r)}function Fe(e,t){const r=pe(e,t.test);if(!0===r)return he(e,t.consequent);if(!1===r)return null!==t.alternate?he(e,t.alternate):k;throw new h(e,"BooleanConditionRequired",t)}function je(e,t){let r=k;for(let n=0;n<t.body.length;n++)if(r=he(e,t.body[n]),r instanceof v||r===F||r===j)return r;return r}function ke(e,t){if(null===t.argument)return new v(k);const r=pe(e,t.argument);return new v(r)}function Ie(t,r){if(null!=t.localScope)throw ee().error("Function declarations are only valid in global scope."),new h(t,"NeverReach",r);const n=e(r.id);if(!(n in t.globalScope))throw ee().error(`Function "${n}" not declared.`),new h(t,"NeverReach",r);const o=s(r),i=r.params.map(t=>e(t)),a=Array.from(o.keys()).filter(e=>!i.includes(e));return t.globalScope[n]={value:new ae(r,t,i,a)},k}function Oe(e,t){const r=oe(e,t.specifiers[0].local),n=e.libraryResolver;if(null==n)throw ee().error("Internal error: module loader not initialized"),new h(e,"NeverReach",t);const o=n.loadLibrary(r.id);let s;return n._moduleSingletons?.has(o.uri)?s=n._moduleSingletons.get(o.uri):(s=ce.load(e,o.syntax),n._moduleSingletons?.set(o.uri,s)),r.scope[r.id]={value:s},k}function Ne(e,t){return he(e,t.declaration),k}function Ce(e,t){for(let r=0;r<t.declarations.length;r++)Ae(e,t.declarations[r]);return k}function Ae(e,t){let r=null===t.init?null:pe(e,t.init);if(r===k&&(r=null),"Identifier"!==t.id.type)throw new h(e,"InvalidIdentifier",t);const n=oe(e,t.id);n.scope[n.id]={value:r}}function Me(e,t){return Ee(e,pe(e,t.object),t)}function Ee(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return f(t,n)}function Be(e,t,r){for(const n of r)switch(n.type){case"MemberExpression":t=Ee(e,t,n);break;case"CallExpression":t=Ve(e,t,n);break;default:throw new h(null,"Unrecognized",n)}return t}function Ue(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return u(t,n)}function Ge(e,t){const r=i(t);let n=pe(e,r.root);for(const o of r.sections){const t=Ue(e,n,o.checked);if(null==t)return null;n=Be(e,t,o.unchecked)}return n}function _e(e,t){try{const r=pe(e,t.argument);if($(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*M(r);if("+"===t.operator)return 1*M(r);if("~"===t.operator)return~M(r);throw new h(e,"UnsupportUnaryOperator",t)}if("~"===t.operator)return~M(r);if("-"===t.operator)return-1*M(r);if("+"===t.operator)return 1*M(r);throw new h(e,"UnsupportUnaryOperator",t)}catch(r){throw r}}function ze(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++){const o=pe(e,t.elements[n]);if(R(o))throw new h(e,"NoFunctionInArray",t);o===k?r.push(null):r.push(o)}return r}catch(r){throw r}}function De(e,t){try{const r=pe(e,t.left),n=pe(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return U(M(r),M(n),t.operator);case"==":return A(r,n);case"!=":return!A(r,n);case"<":case">":case"<=":case">=":return B(r,n,t.operator);case"+":return Q(r)||Q(n)?E(r)+E(n):M(r)+M(n);case"-":return M(r)-M(n);case"*":return M(r)*M(n);case"/":return M(r)/M(n);case"%":return M(r)%M(n);default:throw t.operator,new h(e,"UnsupportedOperator",t)}}catch(r){throw r}}function Le(e,t){try{const r=pe(e,t.left);if($(r))switch(t.operator){case"||":{if(!0===r)return r;const n=pe(e,t.right);if($(n))return n;throw new h(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===r)return r;const n=pe(e,t.right);if($(n))return n;throw new h(e,"LogicExpressionOrAnd",t)}default:throw t.operator,new h(e,"LogicExpressionOrAnd",t)}throw new h(e,"LogicalExpressionOnlyBoolean",t)}catch(r){throw r}}function Ze(e,t,r){if(R(e))throw new h(t,"NoFunctionInTemplateLiteral",r);return e}function qe(e,t){let r="",n=0;for(const o of t.quasis)if(r+=o.value?o.value.cooked:"",!1===o.tail){r+=t.expressions[n]?E(Ze(pe(e,t.expressions[n]),e,t)):"",n++}return r}function Pe(e,t){return se(e,t)}function We(e,t){return Ve(e,"Identifier"===t.callee.type?se(e,t.callee,"FunctionNotFound"):pe(e,t.callee),t)}function Ve(e,t,r){if(R(t))return t.call(e,r);throw new h(e,"CallNonFunction",r)}function Ke(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;I(null===r?[]:r,3,3,e,t);const n=pe(e,r[0]);if(!1===$(n))throw new h(e,"BooleanConditionRequired",t);return pe(e,!0===n?r[1]:r[2])}catch(r){throw r}}function Te(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;I(null===r?[]:r,2,3,e,t);const n=pe(e,r[0]);if(3===r.length){const t=pe(e,r[1]),o=a(n,t);return null!=o&&""!==o?o:pe(e,r[2])}return null===n||""===n||void 0===n?pe(e,r[1]):n}catch(r){throw r}}function He(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;if(r.length<2)throw new h(e,"WrongNumberOfParameters",t);if(2===r.length)return pe(e,r[1]);{if((r.length-1)%2==0)throw new h(e,"WrongNumberOfParameters",t);const n=pe(e,r[0]);return Ye(e,t,1,n)}}catch(r){throw r}}function Ye(e,t,r,n){try{const o=t.arguments,s=pe(e,o[r]);if(A(s,n))return pe(e,o[r+1]);{const s=o.length-r;return 1===s?pe(e,o[r]):2===s?null:3===s?pe(e,o[r+2]):Ye(e,t,r+2,n)}}catch(o){throw o}}function $e(e,t){try{if(!0===t.preparsed)throw new h(e,"NeverReach",t);const r=t.arguments;if(r.length<3)throw new h(e,"WrongNumberOfParameters",t);if(r.length%2==0)throw new h(e,"WrongNumberOfParameters",t);const n=pe(e,r[0]);if(!1===$(n))throw new h(e,"BooleanConditionRequired",r[0]);return Je(e,t,0,n)}catch(r){throw r}}function Je(e,t,r,n){try{const o=t.arguments;if(!0===n)return pe(e,o[r+1]);if(3===o.length-r)return pe(e,o[r+2]);{const n=pe(e,o[r+2]);if(!1===$(n))throw new h(e,"BooleanConditionRequired",o[r+2]);return Je(e,t,r+2,n)}}catch(o){throw o}}function Qe(){const e=Object.create(null);D(e,fe),V(e,fe),L(e,fe,Pe),P(e,fe),Z(e,fe),W(e,fe),q(e,fe),K(e,fe),e.iif=Ke,e.defaultvalue=Te,e.decode=He,e.when=$e;const t=function(){this.textformatting={value:p.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[r,n]of Object.entries(e))t.prototype[r]=Object.freeze({value:new m(n)});return t}const Xe=Qe();function et(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:fe,evaluateIdentifier:Pe};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const[r,n]of Object.entries(t.functions))Xe.prototype[r]=Object.freeze({value:new m(n)});for(let r=0;r<t.signatures.length;r++)_(t.signatures[r],"sync")}function tt(e){console.log(e)}function rt(r,s){const i=new Set(Object.keys(s?.vars||{}).map(t=>e(t))),a=new Set(Object.keys(s?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:c}=o(r),u=new Set(l.keys());return e=>{const o=e.spatialReference??H.WebMercator;let s=null;r.usesModules&&(s=new n(new Map,r.loadedModules));const l=new Xe;for(const t of a)null!=e.customfunctions&&t in e.customfunctions?l[t]={value:new m(e.customfunctions[t])}:l[t]=te;for(const t of i){if(null==e.vars||!(t in e.vars)){t in l||(l[t]=te);continue}const r=e.vars[t]??null;Y(r)?l[t]={value:w.createFromGraphic(r,e.timeZone??null)}:l[t]={value:r}}for(const t of u)t in l||(l[t]=te);const f={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:s,exports:c,localScope:null,globalScope:l},p=je(f,r);if(p instanceof v||p instanceof x){const e=p.value;if(S(e))return null;if(R(e))throw new h(f,"IllegalResult",null);return e}if(S(p))return null;if(p===F)throw new h(f,"IllegalResult",null);if(p===j)throw new h(f,"IllegalResult",null);throw new h(f,"NeverReach",null)}}function nt(e,t){return rt(e,t)(t)}et([z]);export{nt as executeScript,et as extend,rt as prepareScript};
|
|
2
|
+
import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as r}from"./ArcadeModule.js";import{ArcadeModuleLoader as n}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as s,flattenAccessChain as i}from"./compilerUtils.js";import{getNestedOptionalValue as a,getGeometryKeys as l,getGeometryMember as c,tryGetMember as u,getMember as f}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as h,ensureLocatableError as d}from"./executionError.js";import{Feature as w}from"./Feature.js";import{NativeFunction as m,ArcadeFunction as g,ScopeMarshalledFunction as b,wrapModuleScopedResponse as y}from"./FunctionWrapper.js";import{R as v,I as x,_ as S,N as R,h as F,l as k,ae as j,a3 as I,P as O,H as N,O as C,o as A,a9 as M,ab as E,C as B,g as U,K as G}from"../chunks/languageUtils.js";import{addFunctionDeclaration as _}from"./treeAnalysis.js";import{A as z}from"../chunks/array.js";import{registerFunctions as D}from"./functions/date.js";import{registerFunctions as L}from"./functions/feature.js";import{registerFunctions as Z}from"./functions/geometry.js";import{registerFunctions as q}from"./functions/geomsync.js";import{registerFunctions as P}from"./functions/maths.js";import{registerFunctions as W}from"./functions/stats.js";import{registerFunctions as V}from"./functions/string.js";import{registerFunctions as K}from"./functions/track.js";import T from"../core/Logger.js";import H from"../geometry/SpatialReference.js";import{isGraphic as Y}from"../support/graphicInstanceUtils.js";import{isBoolean as $,isArray as J,isString as Q,isNumber as X}from"../support/guards.js";const ee=()=>T.getLogger("esri.arcade.arcadeRuntime"),te=Symbol("uninitialized");function re(e){if(e===te)throw new h("InvalidIdentifier",null)}function ne(e){return re(e),e}function oe(t,r){const n=e(r);if(null!==t.localScope){const e=t.localScope[n];if(void 0!==e)return{scope:t.localScope,id:n,var:e}}const o=t.globalScope[n];if(void 0!==o)return{scope:t.globalScope,id:n,var:o};throw new h("InvalidIdentifier",r)}function se(t,r,n="InvalidIdentifier"){const o=e(r);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return re(e),e.value}const s=t.globalScope[o];if(void 0!==s)return re(s),s.value;throw new h(n,r)}const ie=function(){};ie.prototype=Object.freeze(Object.create(null));class ae extends g{constructor(e,t,r,n){super(),this.definition=e,this.context=t,this._params=r,this._locals=n}get debugName(){return null}createFunction(e){return(...t)=>{const r={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:new ie,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(r.depthCounter.depth>64)throw new h("MaximumCallDepth",null);return le(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return fe(e,t,(r,n,o)=>{const s={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};if(s.depthCounter.depth>64)throw new h("MaximumCallDepth",t);return le(s,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,r,n){return n(e,t,(o,s,i)=>{const a={spatialReference:e.spatialReference,globalScope:r.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new ie,track:e.track};return i=i.map(t=>!R(t)||t instanceof b?t:y(t,e,n)),y(le(a,this.definition.body,this._params,this._locals,i,t),r,n)})}}function le(e,t,r,n,o,s){try{if(r.length!==o.length)throw new h("WrongNumberOfParameters",s);if(null!=e.localScope){for(let t=0;t<r.length;t++)e.localScope[r[t]]={value:o[t]};for(const t of n)e.localScope[t]=te}const i=he(e,t);if(i instanceof v)return i.value;if(i===F)throw new h("UnexpectedToken",s);if(i===k)throw new h("UnexpectedToken",s);return i instanceof x?i.value:i}catch(i){throw i}}class ce extends r{constructor(e){super(),this.moduleGlobalContext=e}global(t){const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new h("ModuleExportNotFound",null);const n=this.moduleGlobalContext.globalScope[r];if(re(n),R(n.value)&&!(n.value instanceof b)){const e=new b;return e.fn=n.value,e.parameterEvaluator=fe,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[r]={value:e},e}return n.value}setGlobal(t,r){if(R(r))throw new h("AssignModuleFunction",null);const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new h("ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[n]={value:r}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static load(e,r){const{globals:s,exports:i}=o(r),a=new Xe;for(const t of s.keys())t in a||(a[t]=te);const l=e.spatialReference??H.WebMercator,c={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:l,track:e.track,depthCounter:{depth:1},libraryResolver:new n(e.libraryResolver._moduleSingletons,r.loadedModules),exports:i,localScope:null,globalScope:a};return ke(c,r),new ce(c)}}function ue(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(pe(e,t.arguments[n]));return r}function fe(e,t,r){try{return!0===t.preparsed?r(e,null,t.arguments):r(e,t,ue(e,t))}catch(n){throw n}}function pe(e,t){try{switch(t.type){case"AssignmentExpression":return Se(e,t);case"UpdateExpression":return ve(e,t);case"TemplateLiteral":return qe(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Me(e,t);case"Literal":return t.value;case"CallExpression":return We(e,t);case"UnaryExpression":return _e(e,t);case"BinaryExpression":return De(e,t);case"LogicalExpression":return Le(e,t);case"ArrayExpression":return ze(e,t);case"ObjectExpression":return de(e,t);case"MemberAccessChainExpression":return Ge(e,t);case"SafeMemberExpression":throw ee().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h("Unrecognized",t);default:throw new h("Unrecognized",t)}}catch(r){throw d(r,t)}}function he(e,t){switch(t.type){case"EmptyStatement":return j;case"VariableDeclaration":return Ce(e,t);case"ImportDeclaration":return Oe(e,t);case"ExportNamedDeclaration":return Ne(e,t);case"BlockStatement":return ke(e,t);case"FunctionDeclaration":return Ie(e,t);case"ReturnStatement":return je(e,t);case"IfStatement":return Fe(e,t);case"ExpressionStatement":return Re(e,t);case"BreakStatement":return F;case"ContinueStatement":return k;case"ForStatement":return ge(e,t);case"ForInStatement":return we(e,t);case"ForOfStatement":return me(e,t);case"WhileStatement":return be(e,t);default:throw new h("Unrecognized",t)}}function de(e,t){const r=Object.create(null),n=new Map;for(let s=0;s<t.properties.length;s++){const o=t.properties[s],i="Identifier"===o.key.type?o.key.name:pe(e,o.key),a=pe(e,o.value);if(R(a))throw new h("NoFunctionInDictionary",t);if(!1===Q(i))throw new h("KeyMustBeString",t);let l=i.toString();const c=l.toLowerCase();n.has(c)?l=n.get(c):n.set(c,l),r[l]=a===j?null:a}const o=new p(r);return o.immutable=!1,o}function we(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&Ce(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let r=0;r<o;r++){n.scope[n.id]={value:r};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return j}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return j}if(r instanceof p||N(r)){const o=r.keys();for(let r=0;r<o.length;r++){n.scope[n.id]={value:o[r]};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return j}if(C(r)){for(const o of l(r)){n.scope[n.id]={value:o};const r=he(e,t.body);if(r===F)break;if(r instanceof v)return r}return j}return j}function me(e,t){const r=pe(e,t.right);"VariableDeclaration"===t.left.type&&he(e,t.left);const n=oe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if(J(r)||Q(r)){const o=r.length;for(let s=0;s<o;s++){if(s>=r.length)throw new h("OutOfBounds",t);n.scope[n.id]={value:r[s]};const o=he(e,t.body);if(o===F)break;if(o instanceof v)return o}return j}if(O(r)){for(let o=0;o<r.length();o++){n.scope[n.id]={value:r.get(o)};const s=he(e,t.body);if(s===F)break;if(s instanceof v)return s}return j}if(r instanceof p||N(r)){for(const o of r.keys()){const s=r.field(o);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return j}if(C(r)){for(const o of l(r)){const s=c(r,o,t);n.scope[n.id]={value:p.containerEntry(o,s)};const i=he(e,t.body);if(i===F)break;if(i instanceof v)return i}return j}return j}function ge(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?he(e,t.init):pe(e,t.init));const r={testResult:!0,lastAction:j};do{ye(e,t,r)}while(!0===r.testResult);return r.lastAction instanceof v?r.lastAction:j}function be(e,t){const r={testResult:!0,lastAction:j};if(r.testResult=pe(e,t.test),!1===r.testResult)return j;if(!0!==r.testResult)throw new h("BooleanConditionRequired",t);for(;!0===r.testResult&&(r.lastAction=he(e,t.body),r.lastAction!==F)&&!(r.lastAction instanceof v);)if(r.testResult=pe(e,t.test),!0!==r.testResult&&!1!==r.testResult)throw new h("BooleanConditionRequired",t);return r.lastAction instanceof v?r.lastAction:j}function ye(e,t,r){if(null!==t.test){if(r.testResult=pe(e,t.test),!1===r.testResult)return;if(!0!==r.testResult)throw new h("BooleanConditionRequired",t)}r.lastAction=he(e,t.body),r.lastAction!==F?r.lastAction instanceof v?r.testResult=!1:null!==t.update&&pe(e,t.update):r.testResult=!1}function ve(e,t){if("CallExpression"===t.argument.type)throw new h("NeverReach",t);let r;if("MemberExpression"===t.argument.type){const n=pe(e,t.argument.object);let o;if(!0===t.argument.computed)o=pe(e,t.argument.property);else{if("Identifier"!==t.argument.property.type)throw new h("Unrecognized",t);o=t.argument.property.name}if(J(n)){if(!X(o))throw new h("ArrayAccessMustBeNumber",t);if(o<0&&(o=n.length+o),o<0||o>=n.length)throw new h("OutOfBounds",t);r=M(n[o]),n[o]="++"===t.operator?r+1:r-1}else if(n instanceof p){if(!1===Q(o))throw new h("KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h("FieldNotFound",t,{key:o});r=M(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else if(G(n)){if(!1===Q(o))throw new h("KeyAccessorMustBeString",t);if(!0!==n.hasField(o))throw new h("FieldNotFound",t,{key:o});r=M(n.field(o)),n.setField(o,"++"===t.operator?r+1:r-1)}else{if(O(n))throw new h("Immutable",t);if(!(n instanceof ce))throw new h("InvalidParameter",t);if(!1===Q(o))throw new h("ModuleAccessorMustBeString",t);if(!0!==n.hasGlobal(o))throw new h("ModuleExportNotFound",t);r=M(n.global(o)),n.setGlobal(o,"++"===t.operator?r+1:r-1)}return!1===t.prefix?r:"++"===t.operator?r+1:r-1}const n=oe(e,t.argument);r=M(ne(n.var).value);const o="++"===t.operator?r+1:r-1;return n.scope[n.id]={value:o},!1===t.prefix?r:"++"===t.operator?r+1:r-1}function xe(e,t,r,n){switch(t){case"=":return e===j?null:e;case"/=":return M(r)/M(e);case"*=":return M(r)*M(e);case"-=":return M(r)-M(e);case"+=":return Q(r)||Q(e)?E(r)+E(e):M(r)+M(e);case"%=":return M(r)%M(e);default:throw new h("UnsupportedOperator",n)}}function Se(e,t){if("MemberExpression"===t.left.type){const r=pe(e,t.left.object);let n;if(!0===t.left.computed)n=pe(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new h("InvalidIdentifier",t);n=t.left.property.name}const o=pe(e,t.right);if(J(r)){if(!X(n))throw new h("ArrayAccessMustBeNumber",t);if(n<0&&(n=r.length+n),n<0||n>r.length)throw new h("OutOfBounds",t);if(n===r.length){if("="!==t.operator)throw new h("OutOfBounds",t);r[n]=xe(o,t.operator,r[n],t)}else r[n]=xe(o,t.operator,r[n],t)}else if(r instanceof p){if(!1===Q(n))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t))}}else if(G(r)){if(!1===Q(n))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(n))r.setField(n,xe(o,t.operator,r.field(n),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:n});r.setField(n,xe(o,t.operator,null,t))}}else{if(O(r))throw new h("Immutable",t);if(!(r instanceof ce))throw new h("InvalidIdentifier",t);if(!1===Q(n))throw new h("ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(n))throw new h("ModuleExportNotFound",t);r.setGlobal(n,xe(o,t.operator,r.global(n),t))}return j}const r=oe(e,t.left),n=pe(e,t.right);return r.scope[r.id]={value:xe(n,t.operator,"="!==t.operator?ne(r.var).value:null,t)},j}function Re(e,t){const r=pe(e,t.expression);return r===j?j:new x(r)}function Fe(e,t){const r=pe(e,t.test);if(!0===r)return he(e,t.consequent);if(!1===r)return null!==t.alternate?he(e,t.alternate):j;throw new h("BooleanConditionRequired",t)}function ke(e,t){let r=j;for(let n=0;n<t.body.length;n++)if(r=he(e,t.body[n]),r instanceof v||r===F||r===k)return r;return r}function je(e,t){if(null===t.argument)return new v(j);const r=pe(e,t.argument);return new v(r)}function Ie(t,r){if(null!=t.localScope)throw ee().error("Function declarations are only valid in global scope."),new h("NeverReach",r);const n=e(r.id);if(!(n in t.globalScope))throw ee().error(`Function "${n}" not declared.`),new h("NeverReach",r);const o=s(r),i=r.params.map(t=>e(t)),a=Array.from(o.keys()).filter(e=>!i.includes(e));return t.globalScope[n]={value:new ae(r,t,i,a)},j}function Oe(e,t){const r=oe(e,t.specifiers[0].local),n=e.libraryResolver;if(null==n)throw ee().error("Internal error: module loader not initialized"),new h("NeverReach",t);const o=n.loadLibrary(r.id);let s;return n._moduleSingletons?.has(o.uri)?s=n._moduleSingletons.get(o.uri):(s=ce.load(e,o.syntax),n._moduleSingletons?.set(o.uri,s)),r.scope[r.id]={value:s},j}function Ne(e,t){return he(e,t.declaration),j}function Ce(e,t){for(let r=0;r<t.declarations.length;r++)Ae(e,t.declarations[r]);return j}function Ae(e,t){let r=null===t.init?null:pe(e,t.init);if(r===j&&(r=null),"Identifier"!==t.id.type)throw new h("InvalidIdentifier",t);const n=oe(e,t.id);n.scope[n.id]={value:r}}function Me(e,t){return Ee(e,pe(e,t.object),t)}function Ee(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return f(t,n)}function Be(e,t,r){for(const n of r)switch(n.type){case"MemberExpression":t=Ee(e,t,n);break;case"CallExpression":t=Ve(e,t,n);break;default:throw new h("Unrecognized",n)}return t}function Ue(e,t,r){const n=r.computed?pe(e,r.property):r.property.name;return u(t,n)}function Ge(e,t){const r=i(t);let n=pe(e,r.root);for(const o of r.sections){const t=Ue(e,n,o.checked);if(null==t)return null;n=Be(e,t,o.unchecked)}return n}function _e(e,t){try{const r=pe(e,t.argument);if($(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*M(r);if("+"===t.operator)return 1*M(r);if("~"===t.operator)return~M(r);throw new h("UnsupportUnaryOperator",t)}if("~"===t.operator)return~M(r);if("-"===t.operator)return-1*M(r);if("+"===t.operator)return 1*M(r);throw new h("UnsupportUnaryOperator",t)}catch(r){throw r}}function ze(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++){const o=pe(e,t.elements[n]);if(R(o))throw new h("NoFunctionInArray",t);o===j?r.push(null):r.push(o)}return r}catch(r){throw r}}function De(e,t){try{const r=pe(e,t.left),n=pe(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return U(M(r),M(n),t.operator);case"==":return A(r,n);case"!=":return!A(r,n);case"<":case">":case"<=":case">=":return B(r,n,t.operator);case"+":return Q(r)||Q(n)?E(r)+E(n):M(r)+M(n);case"-":return M(r)-M(n);case"*":return M(r)*M(n);case"/":return M(r)/M(n);case"%":return M(r)%M(n);default:throw t.operator,new h("UnsupportedOperator",t)}}catch(r){throw r}}function Le(e,t){try{const r=pe(e,t.left);if($(r))switch(t.operator){case"||":{if(!0===r)return r;const n=pe(e,t.right);if($(n))return n;throw new h("LogicExpressionOrAnd",t)}case"&&":{if(!1===r)return r;const n=pe(e,t.right);if($(n))return n;throw new h("LogicExpressionOrAnd",t)}default:throw t.operator,new h("LogicExpressionOrAnd",t)}throw new h("LogicalExpressionOnlyBoolean",t)}catch(r){throw r}}function Ze(e,t){if(R(e))throw new h("NoFunctionInTemplateLiteral",t);return e}function qe(e,t){let r="",n=0;for(const o of t.quasis)if(r+=o.value?o.value.cooked:"",!1===o.tail){r+=t.expressions[n]?E(Ze(pe(e,t.expressions[n]),t)):"",n++}return r}function Pe(e,t){return se(e,t)}function We(e,t){return Ve(e,"Identifier"===t.callee.type?se(e,t.callee,"FunctionNotFound"):pe(e,t.callee),t)}function Ve(e,t,r){if(R(t))return t.call(e,r);throw new h("CallNonFunction",r)}function Ke(e,t){try{if(!0===t.preparsed)throw new h("NeverReach",null);const r=t.arguments;I(null===r?[]:r,3,3,t);const n=pe(e,r[0]);if(!1===$(n))throw new h("BooleanConditionRequired",t);return pe(e,!0===n?r[1]:r[2])}catch(r){throw r}}function Te(e,t){try{if(!0===t.preparsed)throw new h("NeverReach",null);const r=t.arguments;I(null===r?[]:r,2,3,t);const n=pe(e,r[0]);if(3===r.length){const t=pe(e,r[1]),o=a(n,t);return null!=o&&""!==o?o:pe(e,r[2])}return null===n||""===n||void 0===n?pe(e,r[1]):n}catch(r){throw r}}function He(e,t){try{if(!0===t.preparsed)throw new h("NeverReach",null);const r=t.arguments;if(r.length<2)throw new h("WrongNumberOfParameters",t);if(2===r.length)return pe(e,r[1]);{if((r.length-1)%2==0)throw new h("WrongNumberOfParameters",t);const n=pe(e,r[0]);return Ye(e,t,1,n)}}catch(r){throw r}}function Ye(e,t,r,n){try{const o=t.arguments,s=pe(e,o[r]);if(A(s,n))return pe(e,o[r+1]);{const s=o.length-r;return 1===s?pe(e,o[r]):2===s?null:3===s?pe(e,o[r+2]):Ye(e,t,r+2,n)}}catch(o){throw o}}function $e(e,t){try{if(!0===t.preparsed)throw new h("NeverReach",null);const r=t.arguments;if(r.length<3)throw new h("WrongNumberOfParameters",t);if(r.length%2==0)throw new h("WrongNumberOfParameters",t);const n=pe(e,r[0]);if(!1===$(n))throw new h("BooleanConditionRequired",r[0]);return Je(e,t,0,n)}catch(r){throw r}}function Je(e,t,r,n){try{const o=t.arguments;if(!0===n)return pe(e,o[r+1]);if(3===o.length-r)return pe(e,o[r+2]);{const n=pe(e,o[r+2]);if(!1===$(n))throw new h("BooleanConditionRequired",o[r+2]);return Je(e,t,r+2,n)}}catch(o){throw o}}function Qe(){const e=Object.create(null);D(e,fe),V(e,fe),L(e,fe,Pe),P(e,fe),Z(e,fe),W(e,fe),q(e,fe),K(e,fe),e.iif=Ke,e.defaultvalue=Te,e.decode=He,e.when=$e;const t=function(){this.textformatting={value:p.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[r,n]of Object.entries(e))t.prototype[r]=Object.freeze({value:new m(n)});return t}const Xe=Qe();function et(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:fe,evaluateIdentifier:Pe};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const[r,n]of Object.entries(t.functions))Xe.prototype[r]=Object.freeze({value:new m(n)});for(let r=0;r<t.signatures.length;r++)_(t.signatures[r],"sync")}function tt(e){console.log(e)}function rt(r,s){const i=new Set(Object.keys(s?.vars||{}).map(t=>e(t))),a=new Set(Object.keys(s?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:c}=o(r),u=new Set(l.keys());return e=>{const o=e.spatialReference??H.WebMercator;let s=null;r.usesModules&&(s=new n(new Map,r.loadedModules));const l=new Xe;for(const t of a)null!=e.customfunctions&&t in e.customfunctions?l[t]={value:new m(e.customfunctions[t])}:l[t]=te;for(const t of i){if(null==e.vars||!(t in e.vars)){t in l||(l[t]=te);continue}const r=e.vars[t]??null;Y(r)?l[t]={value:w.createFromGraphic(r,e.timeZone??null)}:l[t]={value:r}}for(const t of u)t in l||(l[t]=te);const f=ke({lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??tt,abortSignal:t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:s,exports:c,localScope:null,globalScope:l},r);if(f instanceof v||f instanceof x){const e=f.value;if(S(e))return null;if(R(e))throw new h("IllegalResult",null);return e}if(S(f))return null;if(f===F)throw new h("IllegalResult",null);if(f===k)throw new h("IllegalResult",null);throw new h("NeverReach",null)}}function nt(e,t){return rt(e,t)(t)}et([z]);export{nt as executeScript,et as extend,rt as prepareScript};
|
package/arcade/compilerUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{toSymbolId as e}from"./arcadeEnvironment.js";import{ArcadeCompilationError as t}from"./executionError.js";import r from"../core/Logger.js";const n=()=>r.getLogger("esri.arcade.compilerUtils");function a(t,r,n){switch(t.type){case"VariableDeclaration":for(const n of t.declarations)r.set(e(n.id),n.id.name);return;case"BlockStatement":for(const e of t.body)a(e,r,n);return;case"ExportNamedDeclaration":{const e=new Map;a(t.declaration,e,n);for(const[t,a]of e)r.set(t,a),n.add(t);return}case"ForInStatement":case"ForOfStatement":return"VariableDeclaration"===t.left.type&&a(t.left,r,n),void a(t.body,r,n);case"ForStatement":return"VariableDeclaration"===t.init?.type&&a(t.init,r,n),void a(t.body,r,n);case"FunctionDeclaration":return void r.set(e(t.id),t.id.name);case"IfStatement":return a(t.consequent,r,n),void(t.alternate&&a(t.alternate,r,n));case"ImportDeclaration":for(const n of t.specifiers)r.set(e(n.local),n.local.name);return;case"WhileStatement":return void a(t.body,r,n);case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"ExpressionStatement":case"ReturnStatement":return}}function o(e){const r=new Map,o=new Set;for(const t of e.body)a(t,r,o);for(const a of o)if(!r.has(a)){const e=new Set(o);for(const t of r.keys())e.delete(t);throw n().error(`Internal error: exported undeclared symbols {${Array.from(e).join(", ")}}`),new t(
|
|
2
|
+
import{toSymbolId as e}from"./arcadeEnvironment.js";import{ArcadeCompilationError as t}from"./executionError.js";import r from"../core/Logger.js";const n=()=>r.getLogger("esri.arcade.compilerUtils");function a(t,r,n){switch(t.type){case"VariableDeclaration":for(const n of t.declarations)r.set(e(n.id),n.id.name);return;case"BlockStatement":for(const e of t.body)a(e,r,n);return;case"ExportNamedDeclaration":{const e=new Map;a(t.declaration,e,n);for(const[t,a]of e)r.set(t,a),n.add(t);return}case"ForInStatement":case"ForOfStatement":return"VariableDeclaration"===t.left.type&&a(t.left,r,n),void a(t.body,r,n);case"ForStatement":return"VariableDeclaration"===t.init?.type&&a(t.init,r,n),void a(t.body,r,n);case"FunctionDeclaration":return void r.set(e(t.id),t.id.name);case"IfStatement":return a(t.consequent,r,n),void(t.alternate&&a(t.alternate,r,n));case"ImportDeclaration":for(const n of t.specifiers)r.set(e(n.local),n.local.name);return;case"WhileStatement":return void a(t.body,r,n);case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"ExpressionStatement":case"ReturnStatement":return}}function o(e){const r=new Map,o=new Set;for(const t of e.body)a(t,r,o);for(const a of o)if(!r.has(a)){const e=new Set(o);for(const t of r.keys())e.delete(t);throw n().error(`Internal error: exported undeclared symbols {${Array.from(e).join(", ")}}`),new t("NeverReach",null)}return{globals:r,exports:o}}function s(e){const r=new Map,o=new Set;if(a(e.body,r,o),o.size>0)throw n().error(`Internal error: cannot export locals {${Array.from(o.values()).join(", ")}}`),new t("NeverReach",null);return r}function c(e){const t=[];let r=[],n=e.expression;for(;;)switch(n.type){case"MemberExpression":r.push(n),n=n.object;break;case"CallExpression":r.push(n),n=n.callee;break;case"SafeMemberExpression":t.push({checked:n,unchecked:r.reverse()}),r=[],n=n.object;break;default:return{root:r.at(0)??n,sections:t.reverse()}}}function i(e,t){switch(e.type){case"VariableDeclaration":for(const r of e.declarations)if(null!=r.init&&i(r.init,t)||t(r))return!0;return!1;case"BlockStatement":for(const r of e.body)if(i(r,t))return!0;return!1;case"ExportNamedDeclaration":return i(e.declaration,t);case"ForInStatement":case"ForOfStatement":if(i(e.right,t))return!0;if("VariableDeclaration"===e.left.type){if(i(e.left,t))return!0}else e.left.type;return i(e.body,t);case"ForStatement":return!(null==e.init||!i(e.init,t))||(!(null==e.test||!i(e.test,t))||(!!i(e.body,t)||!(null==e.update||!i(e.update,t))));case"FunctionDeclaration":return!!t(e)||i(e.body,t);case"IfStatement":return!!i(e.test,t)||(!!i(e.consequent,t)||!(null==e.alternate||!i(e.alternate,t)));case"WhileStatement":return i(e.test,t)||i(e.body,t);case"ImportDeclaration":case"BreakStatement":case"ContinueStatement":case"Identifier":case"Literal":return t(e);case"EmptyStatement":default:return!1;case"ReturnStatement":return null!=e.argument&&i(e.argument,t)||t(e);case"ExpressionStatement":case"MemberAccessChainExpression":return i(e.expression,t);case"UpdateExpression":return i(e.argument,t)||t(e);case"AssignmentExpression":if("MemberExpression"===e.left.type){if(i(e.left.object,t))return!0;if(e.left.computed&&i(e.left.property,t))return!0}else e.left.type;return t(e.right)||i(e.right,t);case"TemplateLiteral":for(const r of e.expressions)if(i(r,t))return!0;return!1;case"MemberExpression":case"SafeMemberExpression":return i(e.object,t)||e.computed&&i(e.property,t);case"CallExpression":return i(e.callee,t)||e.arguments.some(e=>i(e,t))||t(e);case"UnaryExpression":return i(e.argument,t);case"BinaryExpression":case"LogicalExpression":return i(e.left,t)||i(e.right,t);case"ArrayExpression":return t(e)||e.elements.some(e=>i(e,t));case"ObjectExpression":return t(e)||e.properties.some(e=>i(e.value,t))}}function l(e,t){const r=new Map(e.map(e=>[e.line,e])),n=new Map;for(const a of t.body)i(a,e=>{const t=e.loc.start.line;if(r.has(t)){const a=r.get(t);return r.delete(t),n.set(e,a),r.size<=0}return!1});return n}export{o as collectDeclaredGlobalNames,s as collectDeclaredLocalNames,c as flattenAccessChain,l as resolveBreakpoints};
|
package/arcade/containerUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"./Dictionary.js";import{ArcadeExecutionError as n}from"./executionError.js";import t from"./ImmutablePathArray.js";import
|
|
2
|
+
import e from"./Dictionary.js";import{ArcadeExecutionError as n}from"./executionError.js";import t from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{J as r,P as l,H as s,O as c,S as i}from"../chunks/languageUtils.js";import u from"../core/Accessor.js";import{isArray as o,isString as h,isNumber as f}from"../support/guards.js";const m={point:["hasZ","hasM","spatialReference","type","x","y","z","m"],multipoint:["hasZ","hasM","spatialReference","type","points"],polyline:["hasZ","hasM","spatialReference","type","paths"],polygon:["hasZ","hasM","spatialReference","type","rings"],extent:["hasZ","hasM","spatialReference","type","xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]};function p(e){return m[e.type]}function y(e,t,a){const r=g(e,t);if(r===w)throw new n("InvalidMemberAccessKey",a);return r}const w=Symbol("keyNotFound");let d=0;function g(n,r){switch(r=r.toLowerCase()){case"hasz":return n.hasZ??!1;case"hasm":return n.hasM??!1;case"spatialreference":{let t=n.spatialReference._arcadeCacheId;null!=t||u.isFrozen(n.spatialReference)||(d++,n.spatialReference._arcadeCacheId=d,t=d);const a=new e({__proto__:null,wkt:n.spatialReference.wkt,wkid:n.spatialReference.wkid});return null!=t&&(a._arcadeCacheId="SPREF"+t.toString()),a}}switch(n.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":return n[r]??null;case"type":return"Extent"}break;case"polygon":switch(r){case"rings":{let e=n.cache._arcadeCacheId;return null==e&&(d++,e=d,n.cache._arcadeCacheId=e),new t(n.rings,n.spatialReference,!0===n.hasZ,!0===n.hasM,e)}case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return n[r]??null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":{let e=n.cache._arcadeCacheId;return null==e&&(d++,e=d,n.cache._arcadeCacheId=e),new t(n.paths,n.spatialReference,!0===n.hasZ,!0===n.hasM,e)}case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":{let e=n.cache._arcadeCacheId;return null==e&&(d++,e=d,n.cache._arcadeCacheId=e),new a(n.points,n.spatialReference,!0===n.hasZ,!0===n.hasM,e,1)}case"type":return"Multipoint"}}return w}function b(e,n){let t,a=e;if(null==a)return null;if(o(n))t=n;else if(l(n))t=n.toArray();else{if(null==n)return null;t=[n]}for(const r of t)if(a=x(a,r),null==a)return null;return a}function I(e){return!!r(e)||(o(e)?0===e.length:l(e)?0===e.length():!!s(e)&&e.isEmpty())}function x(n,t){if(null==n)return null;if(n instanceof e||s(n))return h(t)&&n.hasField(t)?n.field(t):null;if(c(n)){if(!h(t))return null;const e=g(n,t);return e===w?null:e}return o(n)||h(n)?f(t)&&Number.isInteger(t)?(t<0&&(t=n.length+t),t>=n.length||t<0?null:n[t]):null:l(n)?f(t)&&Number.isInteger(t)?(t<0&&(t=n.length()+t),t>=n.length()||t<0?null:n.get(t)):null:i(n)&&h(t)&&n.hasGlobal(t)?n.global(t):null}function M(t,a){if(null==t)throw new n("MemberOfNull",null);if(t instanceof e||s(t)){if(h(a))return t.field(a);throw new n("InvalidMemberAccessKey",null)}if(c(t)){if(h(a))return y(t,a,null);throw new n("InvalidMemberAccessKey",null)}if(o(t)||h(t)){if(f(a)&&Number.isInteger(a)){if(a<0&&(a=t.length+a),a>=t.length||a<0)throw new n("OutOfBounds",null);return t[a]}throw new n("InvalidMemberAccessKey",null)}if(l(t)){if(f(a)&&Number.isInteger(a)){if(a<0&&(a=t.length()+a),a>=t.length()||a<0)throw new n("OutOfBounds",null);return t.get(a)}throw new n("InvalidMemberAccessKey",null)}if(i(t)){if(h(a))return t.global(a);throw new n("InvalidMemberAccessKey",null)}throw new n("InvalidMemberAccessKey",null)}export{p as getGeometryKeys,y as getGeometryMember,M as getMember,b as getNestedOptionalValue,I as isEmpty,x as tryGetMember};
|
package/arcade/debug.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{neverAbortedSignal as e}from"./arcadeEnvironment.js";import{getGeometryKeys as a,getGeometryMember as t}from"./containerUtils.js";import n from"./Dictionary.js";import{ArcadeExecutionError as r}from"./executionError.js";import{_ as i,E as o,Z as c,F as
|
|
2
|
+
import{neverAbortedSignal as e}from"./arcadeEnvironment.js";import{getGeometryKeys as a,getGeometryMember as t}from"./containerUtils.js";import n from"./Dictionary.js";import{ArcadeExecutionError as r}from"./executionError.js";import{_ as i,E as o,Z as c,F as p,N as u,P as l,G as s,V as m,D as y,O as d,K as f,U as T,$ as v,L as g,M as w,Q as h,S as F}from"../chunks/languageUtils.js";import{getLocale as b}from"../intl/locale.js";import{isNumber as S,isString as j,isBoolean as x,isArray as Z}from"../support/guards.js";const A=Object.freeze({type:"primitive",arcadeType:"",value:null}),D=Object.freeze({type:"minimal",arcadeType:"Unrecognized Type"}),M=Object.freeze({type:"minimal",arcadeType:"KnowledgeGraph"}),O=Object.freeze({type:"minimal",arcadeType:"Module"});function k(e){return{type:"simple",arcadeType:"Date",render:()=>e.toFormat(e.isUnknownTimeZone?"FF":"FF ZZZZZ",{locale:b()})}}function q(e){return{type:"simple",arcadeType:"Time",render:()=>e.toString()}}function z(e){return{type:"simple",arcadeType:"DateOnly",render:()=>e.toString()}}function N(e,a){return{type:"sequence-container",arcadeType:"Array",mutable:!0,length:e.length,expand:()=>e.map(e=>I(e,a))}}function U(e,a){return{type:"sequence-container",arcadeType:"Array",mutable:!1,length:e.length(),expand:()=>e.toArray().map(e=>I(e,a))}}function B(e,a,t){return{type:"associative-container",arcadeType:a,mutable:"Dictionary"===a?!e.immutable:void 0,expand(){const a=e.values().map(e=>I(e,t));return new Map(e.keys().map((e,t)=>[e,a[t]]))}}}function E(e,n){return{type:"associative-container",arcadeType:t(e,"type",null),expand(){const r=a(e);return new Map(r.map(a=>[a,I(t(e,a,null),n)]))}}}function G(e,a){return{type:"associative-container",arcadeType:"Feature",expand(){const t=e.keys(),n=new Map(t.map(t=>[t,I(e.field(t),a)])),r=e.geometry();return null!=r&&n.set("Geometry()",E(r,a)),n}}}function P(e,a,t){return{type:"associative-container",arcadeType:a,expand:()=>new Map(e.keys().map(a=>[a,I(e.field(a),t)]))}}function K(a,t){return{type:"feature-set",arcadeType:"FeatureSet",async schema(){await a.load();return I(n.convertJsonToArcade(a.schema(),t.defaultTimeZone,!0),t)},querySample:async n=>({fields:(await a.load()).fields.map(e=>e.name),features:(await a.iterator(n??e).nextBatchAsArcadeFeatures(100,t.defaultTimeZone)??[]).map(e=>G(e,t))})}}function V(e,a,t){let n;async function i(){if(null==n){const i=await e.featureSetById(t,!0,["*"]);if(null==i)throw new r("NeverReach",null);n=K(i,a)}return n}return{type:"feature-set",arcadeType:"FeatureSet",schema:async()=>(await i()).schema(),querySample:async e=>(await i()).querySample(e)}}function $(e,a){return{type:"feature-set-collection",arcadeType:"FeatureSetCollection",load:async()=>(await e.listAll()).map(({id:t,name:n})=>({id:t,name:n,featureSet:V(e,a,t)}))}}function C(e){return null!=e.debugName?`ƒ ${e.debugName}(...)`:"ƒ <anonymous>(...)"}function I(e,a){return null==e||i(e)?A:S(e)?{type:"primitive",arcadeType:"Number",value:e}:j(e)?{type:"primitive",arcadeType:"String",value:e}:x(e)?{type:"primitive",arcadeType:"Boolean",value:e}:o(e)?k(e):c(e)?q(e):p(e)?z(e):u(e)?{type:"simple",arcadeType:"Function",render:(a.renderFunction??C).bind(null,e)}:Z(e)?N(e,a):l(e)?U(e,a):s(e)?B(e,"Dictionary",a):m(e)?B(e,"Portal",a):y(e)?B(e,"Attachment",a):d(e)?E(e,a):f(e)?G(e,a):T(e)?P(e,"Pixel",a):v(e)?P(e,"Voxel",a):g(e)?K(e,a):w(e)?$(e,a):h(e)?M:F(e)?O:D}export{C as renderFunctionDebugName,I as wrapDebugValue};
|
package/arcade/enum.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeExecutionError as r}from"./executionError.js";function t(r){return r.toLowerCase().replaceAll(/[\s-]+/g,"")}class o{constructor(r,o){const e=new Map;for(const n of r){const r=t(n);if(e.has(r))throw new Error(`${n} already added as ${e.get(r)}`);e.set(r,n)}if(null!=o)for(const[n,s]of o){const r=t(n);if(e.has(r))throw new Error(`${n} already associated with ${e.get(r)}`);e.set(r,s)}this._enumMap=e}lookup(r){return this._enumMap.get(t(r))}get(t){const o=this.lookup(t);if(null==o)throw new r(
|
|
2
|
+
import{ArcadeExecutionError as r}from"./executionError.js";function t(r){return r.toLowerCase().replaceAll(/[\s-]+/g,"")}class o{constructor(r,o){const e=new Map;for(const n of r){const r=t(n);if(e.has(r))throw new Error(`${n} already added as ${e.get(r)}`);e.set(r,n)}if(null!=o)for(const[n,s]of o){const r=t(n);if(e.has(r))throw new Error(`${n} already associated with ${e.get(r)}`);e.set(r,s)}this._enumMap=e}lookup(r){return this._enumMap.get(t(r))}get(t){const o=this.lookup(t);if(null==o)throw new r("InvalidParameter",null);return o}}export{o as StringEnum,t as toStringEnumKey};
|
package/arcade/executionError.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{replace as e}from"../core/string.js";const
|
|
2
|
+
import{replace as e}from"../core/string.js";const o={TypeNotAllowedInFeature:"Feature attributes only support dates, numbers, strings, guids.",LogicError:"Logic error - {reason}",CannotCompareDateAndTime:"Cannot compare date or dateonly with timeonly types",NeverReach:"Encountered unreachable logic",AsyncNotEnabled:"Async Arcade must be enabled for this script",ModuleAccessorMustBeString:"Module accessor must be a string",ModuleExportNotFound:"Module has no export with provided identifier",ModulesNotSupported:"Current profile does not support modules",ArrayAccessMustBeNumber:"Array accessor must be a number",FunctionNotFound:"Function not found",FieldNotFound:"Key not found - {key}",CircularModules:"Circular module dependencies are not allowed",Cancelled:"Execution cancelled",UnsupportedHashType:"Type not supported in hash function",IllegalResult:"Value is not a supported return type",PortalRequired:"Portal is required",InvalidParameter:"Invalid parameter",WrongNumberOfParameters:"Call with wrong number of parameters",Unrecognized:"Unrecognized code structure",UnrecognizedType:"Unrecognized type",WrongSpatialReference:"Cannot work with geometry in this spatial reference. It is different to the execution spatial reference",BooleanConditionRequired:"Conditions must use booleans",NoFunctionInDictionary:"Dictionaries cannot contain functions.",NoFunctionInArray:"Arrays cannot contain functions.",NoFunctionInTemplateLiteral:"Template Literals do not expect functions by value.",KeyAccessorMustBeString:"Accessor must be a string",KeyMustBeString:"Object keys must be a string",Immutable:"Object is immutable",UnexpectedToken:"Unexpected token",MemberOfNull:"Cannot access property of null object",MaximumCallDepth:"Exceeded maximum function depth",OutOfBounds:"Out of bounds",InvalidIdentifier:"Identifier not recognized",CallNonFunction:"Expression is not a function",InvalidMemberAccessKey:"Cannot access value using a key of this type",AssignModuleFunction:"Cannot assign function to module variable",UnsupportUnaryOperator:"Unsupported unary operator",UnsupportedOperator:"Unsupported operator",LogicalExpressionOnlyBoolean:"Logical expressions must be boolean",LogicExpressionOrAnd:"Logical expression can only be combined with || or &&",CannotChangeTimeZoneTime:"Cannot change the timezone of a Time",CannotChangeTimeZoneDateOnly:"Cannot change the timezone of a DateOnly",FeatureSetDoesNotHaveSubtypes:"FeatureSet does not have subtypes"};function n(e){return"object"==typeof e&&"line"in e&&"column"in e&&"number"==typeof e.line&&"number"==typeof e.column}function r(e){if(e instanceof Error&&"loc"in e){const o=e.loc;return null==o||"object"==typeof o&&"start"in o&&null!=o.start&&n(o.start)&&(!("end"in o)||null==o.end||n(o.end))}return!1}class t extends Error{constructor(e,o){super(a(o)+("object"==typeof e&&null!=e&&"message"in e?e.message:""),{cause:e}),this.loc=o?.loc??null}}class s extends Error{constructor(n,r,t){super("Execution error - "+a(r)+e(o[n],t)),this.declaredRootClass="esri.arcade.arcadeexecutionerror",this.loc=r?.loc??null}}function a(e){return null==e?.loc?"":`Line ${e.loc.start.line}:${e.loc.start.column}: `}class i extends Error{constructor(n,r,t){super("Compilation error - "+a(r)+e(o[n],t)),this.declaredRootClass="esri.arcade.arcadecompilationerror",this.loc=r?.loc??null}}class c extends Error{constructor(){super("Uncompilable code structures"),this.declaredRootClass="esri.arcade.arcadeuncompilableerror"}}function u(e,o){return!r(e)||null==e.loc&&null!=o?.loc?new t(e,o):e}const l={UnrecognizedUri:"Unrecognized uri - {uri}",UnsupportedUriProtocol:"Unrecognized uri protocol"};class d extends Error{constructor(o,n){super(e(l[o],n)),this.declaredRootClass="esri.arcade.arcademoduleerror"}}export{i as ArcadeCompilationError,s as ArcadeExecutionError,c as ArcadeUncompilableError,t as LocatableArcadeExecutionError,d as ModuleError,u as ensureLocatableError,o as executionErrorMessages,l as moduleErrorMessages};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t}from"../executionError.js";import{ab as r,a9 as s,P as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as a,isArray as u}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),d=(e,n)=>e+n,h=(e,n)=>e-n,g=(e,n)=>e*n,m=(e,n)=>e/n,f=(e,n,t)=>l(d)(e,n,t),w=(e,n,t)=>l(h)(e,n,t),A=(e,n,t)=>l(g)(e,n,t),D=(e,n,t)=>l(m)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,_=3240,R=60,F=60,M=180*S/Math.PI,v=p*R*F,L=90*S,U=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t(null,"InvalidParameter",null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}function H(e,n){switch(e){case 0:return"SHORT"===n?"N":"North";case 1:return"SHORT"===n?"E":"East";case 2:return"SHORT"===n?"S":"South";case 3:return"SHORT"===n?"W":"West"}}function k(e,n){return e-Math.floor(e/n)*n}function P(e){switch(e){case 6:case 1:return p;case 4:return E;case 5:return T;case 2:return v;case 7:return R;case 8:return F;default:throw new t(null,"LogicError",null,{reason:"unsupported evaluations"})}}const z=new n([],[["NORTH",1],["NORTH AZIMUTH",1],["POLAR",2],["QUADRANT",3],["SOUTH",4],["SOUTH AZIMUTH",4]]);function Q(e){const n=z.lookup(e);if(null==n)throw new t(null,"LogicError",null,{reason:"unsupported directionType"});return n}const j=new n([],[["D",1],["DD",1],["DECIMAL DEGREE",1],["DEGREE",1],["DECIMAL DEGREES",1],["DEGREES",1],["DMS",3],["DEGREES MINUTES SECONDS",3],["R",4],["RAD",4],["RADS",4],["RADIAN",4],["RADIANS",4],["G",5],["GON",5],["GONS",5],["GRAD",5],["GRADS",5],["GRADIAN",5],["GRADIANS",5]]);function C(e){const n=j.lookup(e);if(null==n)throw new t(null,"LogicError",null,{reason:"unsupported units"});return n}class W{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case 1:case 6:return this.m_degrees;case 7:return this.m_minutes;case 2:case 8:return this.m_seconds;default:throw new t(null,"LogicError",null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/F);return t-=s*F,new W(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new W(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(2===e||8===e)F<=t&&(t-=F,++r),R<=r&&(r=0,++s),p<=s&&(s=0);else if(7===e)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,R<=r&&(r=0,++s),p<=s&&(s=0);else if(1===e||6===e){const e=D(this.m_seconds,S),n=D(this.m_minutes,R);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new W(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*F+t}}class B{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return 0===e?this.meridian:this.direction}}class V{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new V(new Z(V._convertDirectionFormat(e.extractAngularUnits(2),n,1)))}getAngle(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:case 4:case 2:return new Z(V._convertDirectionFormat(n,1,e));case 3:{const e=V.secondsNorthAzimuthToQuadrant(n);return new Z(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 0;case 4:return 2;case 2:return 1;case 3:return V.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 1;case 4:return 3;case 2:return 0;case 3:return V.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=L||e>=x?0:2,t=0===n?Math.min(v-e,e):Math.abs(e-U);return new B(n,t,e>U?3:1)}static createFromAngleMeridianAndDirection(e,n,t){return new V(new Z(V.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(2),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return 0===n?1===t?e:v-e:1===t?U-e:U+e}static _convertDirectionFormat(e,n,r){let s=0;switch(n){case 1:s=e;break;case 2:s=L-e;break;case 3:throw new t(null,"LogicError",null,{reason:"unexpected evaluation"});case 4:s=e+U}let i=0;switch(r){case 1:i=s;break;case 2:i=L-s;break;case 3:throw new t(null,"LogicError",null,{reason:"unexpected evaluation"});case 4:i=s-U}return i=I(i,v),i<0?v+i:i}}function X(e,n,r){let s=null;switch(n){case 1:s=A(e,S);break;case 2:s=e;break;case 5:s=A(e,_);break;case 4:s=A(e,M);break;default:throw new t(null,"LogicError",null,{reason:"unexpected evaluation"})}switch(r){case 1:return D(s,S);case 2:return s;case 5:return D(s,_);case 4:return s/M;default:throw new t(null,"LogicError",null,{reason:"unexpected evaluation"})}}class Z{constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new Z(X(e,n,2))}extractAngularUnits(e){return X(this._seconds,2,q(e))}static createFromDegreesMinutesSeconds(e,n,t){return new Z(f(f(A(e,S),A(n,F)),t))}}function q(e){switch(o(e),e){case 1:case 6:case 3:return 1;case 5:return 5;case 7:return 7;case 4:return 4;case 2:case 8:return 2}}class J{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new J(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=6,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ae(this.view,r,s),n=6===n?7:n,r=e.newpos;continue;case"s":e=ae(this.view,r,s),n=8,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=W.secondsToDMS(this.angle.extractAngularUnits(2)),this._formattedDms=W.secondsToDMS(this.angle.extractAngularUnits(2)).format(n,t)}}function K(e,n,r,s,i){let o=null;switch(n){case 1:case 4:case 5:return o=k(G(e.extractAngularUnits(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 6:case 7:return o=k(i.fetchFormattedDms().getField(n),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 8:return o=k(G(i.fetchDms().getField(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");default:throw new t(null,"LogicError",null,{reason:"unexpected evaluation"})}}function Y(e,n,r){if(3===r)throw new t(null,"LogicError",null,{reason:"conversion error"});if(3===n){const n=W.numberToDms(e);return V.createFromAngleAndDirection(Z.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),r)}return V.createFromAngleAndDirection(Z.createFromAngleAndUnits(e,q(n)),r)}function $(e){switch(s(e)){case 1:return{first:0,second:1};case 2:return{first:2,second:1};case 3:return{first:2,second:3};case 4:return{first:0,second:3}}return null}function ee(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return 0;case"E":case"EAST":return 1;case"S":case"SOUTH":return 2;case"W":case"WEST":return 3}return null}function ne(e){const n=parseFloat(e);if(a(n)){if(isNaN(n))throw new t(null,"LogicError",null,{reason:"invalid conversion"});return n}throw new t(null,"LogicError",null,{reason:"invalid conversion"})}function te(e,n,s){const i=3===s;let o=null,c=null,a=0,u=0,l=0;if(i){if(e.length<2)throw new t(null,"LogicError",null,{reason:"conversion error"});l=1;const n=$(r(e[e.length-1]));if(n?(o=n.first,c=n.second):(a=1,o=ee(r(e[0])),c=ee(r(e[e.length-1]))),null===o||null===c)throw new t(null,"LogicError",null,{reason:"invalid conversion"})}switch(n){case 1:case 4:case 5:if(0===e.length)throw new t(null,"LogicError",null,{reason:"invalid conversion"});return i?V.createFromAngleMeridianAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),o,c):V.createFromAngleAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),s);case 3:if(u=e.length-l-a,3===u){const n=Z.createFromDegreesMinutesSeconds(ne(e[a]),ne(e[a+1]),ne(e[a+2]));return i?V.createFromAngleMeridianAndDirection(n,o,c):V.createFromAngleAndDirection(n,s)}if(1===u){const n=ne(e[a]),t=W.numberToDms(n),r=Z.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?V.createFromAngleMeridianAndDirection(r,o,c):V.createFromAngleAndDirection(r,s)}}throw new t(null,"LogicError",null,{reason:"invalid conversion"})}function re(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter(e=>""!==e)}function se(e,n,r){if(a(e))return Y(s(e),n,r);if(c(e))return te(re(e),n,r);if(u(e))return te(e,n,r);if(i(e))return te(e.toArray(),n,r);throw new t(null,"LogicError",null,{reason:"conversion error"})}function ie(e,n,r){const s=q(r);if(s&&3!==r){return e.getAngle(n).extractAngularUnits(s)}throw new t(null,"LogicError",null,{reason:"conversion error"})}function oe(e,n,t){const r=e.getAngle(n);if(3===n&&3===t){const t=W.secondsToDMS(r.extractAngularUnits(2));return[H(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,H(e.getDirection(n),"SHORT")]}if(3===t){const e=W.secondsToDMS(r.extractAngularUnits(2));return[e.m_degrees,e.m_minutes,e.m_seconds]}return 3===n?[H(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),H(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function ce(e,n){let r="";switch(e){case 1:r=3===n?"DD.DD"+b:"DDD.DD"+b;break;case 3:r=3===n?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case 4:r="R.RR";break;case 5:r="GGG.GG"+N;break;default:throw new t(null,"LogicError",null,{reason:"conversion error"})}return 3===n&&(r="p "+r+" b"),r}function ae(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const i=e[n];if(i===t)s?r.rounding++:r.padding++,n++;else{if("."!==i)break;s=!0,n++}}return r.newpos=n-1,r}function ue(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function le(e,n,t){let r="",s=null,i=null;const o=J.createFromStringAndBearing(n,e,t),c={D:1,d:6,m:7,s:8,R:4,G:5};for(let a=0;a<n.length;a++){const u=n[a];switch(u){case"[":s=ue(n,a),r+=s.escaped,a=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ae(n,a,u),i=e.getAngle(t),r+=K(i,c[u],s.padding,s.rounding,o),a=s.newpos;continue;case"P":case"p":r+=H(o.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=H(o.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const de=new n(["TEXT","VALUE"]);function he(n,s,i){if(!(s instanceof e))throw new t(null,"InvalidParameter",null);if(!1===s.hasField("directionType"))throw new t(null,"LogicError",null,{reason:"missing directionType"});if(!1===s.hasField("angleType"))throw new t(null,"LogicError",null,{reason:"missing angleType"});const o=Q(O(s.field("directiontype"))),c=se(n,C(O(s.field("angletype"))),o);if(!(i instanceof e))throw new t(null,"InvalidParameter",null);if(!1===i.hasField("directionType"))throw new t(null,"LogicError",null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t(null,"LogicError",null,{reason:"missing angleType"});const a=Q(O(i.field("directiontype"))),u=i.hasField("angleType")?C(O(i.field("angletype"))):null,l=de.get(O(i.field("outputType")));if(!a||!l)throw new t(null,"LogicError",null,{reason:"conversion error"});if(!(u||"TEXT"===l&&i.hasField("format")))throw new t(null,"LogicError",null,{reason:"invalid unit"});switch(l){case"VALUE":return 3===a||3===u?oe(c,a,u):ie(c,a,u);case"TEXT":{let e="";return i.hasField("format")&&(e=r(i.field("format"))),null!==e&&""!==e||(e=ce(u,a)),le(c,e,a)}default:throw new t(null,"InvalidParameter",null)}}export{he as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
|
|
2
|
+
import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t}from"../executionError.js";import{ab as r,a9 as s,P as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as a,isArray as u}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),d=(e,n)=>e+n,h=(e,n)=>e-n,g=(e,n)=>e*n,m=(e,n)=>e/n,f=(e,n,t)=>l(d)(e,n,t),w=(e,n,t)=>l(h)(e,n,t),A=(e,n,t)=>l(g)(e,n,t),D=(e,n,t)=>l(m)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,_=3240,R=60,F=60,M=180*S/Math.PI,v=p*R*F,L=90*S,U=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t("InvalidParameter",null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}function H(e,n){switch(e){case 0:return"SHORT"===n?"N":"North";case 1:return"SHORT"===n?"E":"East";case 2:return"SHORT"===n?"S":"South";case 3:return"SHORT"===n?"W":"West"}}function k(e,n){return e-Math.floor(e/n)*n}function P(e){switch(e){case 6:case 1:return p;case 4:return E;case 5:return T;case 2:return v;case 7:return R;case 8:return F;default:throw new t("LogicError",null,{reason:"unsupported evaluations"})}}const z=new n([],[["NORTH",1],["NORTH AZIMUTH",1],["POLAR",2],["QUADRANT",3],["SOUTH",4],["SOUTH AZIMUTH",4]]);function Q(e){const n=z.lookup(e);if(null==n)throw new t("LogicError",null,{reason:"unsupported directionType"});return n}const j=new n([],[["D",1],["DD",1],["DECIMAL DEGREE",1],["DEGREE",1],["DECIMAL DEGREES",1],["DEGREES",1],["DMS",3],["DEGREES MINUTES SECONDS",3],["R",4],["RAD",4],["RADS",4],["RADIAN",4],["RADIANS",4],["G",5],["GON",5],["GONS",5],["GRAD",5],["GRADS",5],["GRADIAN",5],["GRADIANS",5]]);function C(e){const n=j.lookup(e);if(null==n)throw new t("LogicError",null,{reason:"unsupported units"});return n}class W{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case 1:case 6:return this.m_degrees;case 7:return this.m_minutes;case 2:case 8:return this.m_seconds;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/F);return t-=s*F,new W(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new W(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(2===e||8===e)F<=t&&(t-=F,++r),R<=r&&(r=0,++s),p<=s&&(s=0);else if(7===e)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,R<=r&&(r=0,++s),p<=s&&(s=0);else if(1===e||6===e){const e=D(this.m_seconds,S),n=D(this.m_minutes,R);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new W(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*F+t}}class B{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return 0===e?this.meridian:this.direction}}class V{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new V(new Z(V._convertDirectionFormat(e.extractAngularUnits(2),n,1)))}getAngle(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:case 4:case 2:return new Z(V._convertDirectionFormat(n,1,e));case 3:{const e=V.secondsNorthAzimuthToQuadrant(n);return new Z(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 0;case 4:return 2;case 2:return 1;case 3:return V.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 1;case 4:return 3;case 2:return 0;case 3:return V.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=L||e>=x?0:2,t=0===n?Math.min(v-e,e):Math.abs(e-U);return new B(n,t,e>U?3:1)}static createFromAngleMeridianAndDirection(e,n,t){return new V(new Z(V.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(2),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return 0===n?1===t?e:v-e:1===t?U-e:U+e}static _convertDirectionFormat(e,n,r){let s=0;switch(n){case 1:s=e;break;case 2:s=L-e;break;case 3:throw new t("LogicError",null,{reason:"unexpected evaluation"});case 4:s=e+U}let i=0;switch(r){case 1:i=s;break;case 2:i=L-s;break;case 3:throw new t("LogicError",null,{reason:"unexpected evaluation"});case 4:i=s-U}return i=I(i,v),i<0?v+i:i}}function X(e,n,r){let s=null;switch(n){case 1:s=A(e,S);break;case 2:s=e;break;case 5:s=A(e,_);break;case 4:s=A(e,M);break;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}switch(r){case 1:return D(s,S);case 2:return s;case 5:return D(s,_);case 4:return s/M;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}class Z{constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new Z(X(e,n,2))}extractAngularUnits(e){return X(this._seconds,2,q(e))}static createFromDegreesMinutesSeconds(e,n,t){return new Z(f(f(A(e,S),A(n,F)),t))}}function q(e){switch(o(e),e){case 1:case 6:case 3:return 1;case 5:return 5;case 7:return 7;case 4:return 4;case 2:case 8:return 2}}class J{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new J(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=6,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ae(this.view,r,s),n=6===n?7:n,r=e.newpos;continue;case"s":e=ae(this.view,r,s),n=8,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=W.secondsToDMS(this.angle.extractAngularUnits(2)),this._formattedDms=W.secondsToDMS(this.angle.extractAngularUnits(2)).format(n,t)}}function K(e,n,r,s,i){let o=null;switch(n){case 1:case 4:case 5:return o=k(G(e.extractAngularUnits(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 6:case 7:return o=k(i.fetchFormattedDms().getField(n),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 8:return o=k(G(i.fetchDms().getField(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}function Y(e,n,r){if(3===r)throw new t("LogicError",null,{reason:"conversion error"});if(3===n){const n=W.numberToDms(e);return V.createFromAngleAndDirection(Z.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),r)}return V.createFromAngleAndDirection(Z.createFromAngleAndUnits(e,q(n)),r)}function $(e){switch(s(e)){case 1:return{first:0,second:1};case 2:return{first:2,second:1};case 3:return{first:2,second:3};case 4:return{first:0,second:3}}return null}function ee(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return 0;case"E":case"EAST":return 1;case"S":case"SOUTH":return 2;case"W":case"WEST":return 3}return null}function ne(e){const n=parseFloat(e);if(a(n)){if(isNaN(n))throw new t("LogicError",null,{reason:"invalid conversion"});return n}throw new t("LogicError",null,{reason:"invalid conversion"})}function te(e,n,s){const i=3===s;let o=null,c=null,a=0,u=0,l=0;if(i){if(e.length<2)throw new t("LogicError",null,{reason:"conversion error"});l=1;const n=$(r(e[e.length-1]));if(n?(o=n.first,c=n.second):(a=1,o=ee(r(e[0])),c=ee(r(e[e.length-1]))),null===o||null===c)throw new t("LogicError",null,{reason:"invalid conversion"})}switch(n){case 1:case 4:case 5:if(0===e.length)throw new t("LogicError",null,{reason:"invalid conversion"});return i?V.createFromAngleMeridianAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),o,c):V.createFromAngleAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),s);case 3:if(u=e.length-l-a,3===u){const n=Z.createFromDegreesMinutesSeconds(ne(e[a]),ne(e[a+1]),ne(e[a+2]));return i?V.createFromAngleMeridianAndDirection(n,o,c):V.createFromAngleAndDirection(n,s)}if(1===u){const n=ne(e[a]),t=W.numberToDms(n),r=Z.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?V.createFromAngleMeridianAndDirection(r,o,c):V.createFromAngleAndDirection(r,s)}}throw new t("LogicError",null,{reason:"invalid conversion"})}function re(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter(e=>""!==e)}function se(e,n,r){if(a(e))return Y(s(e),n,r);if(c(e))return te(re(e),n,r);if(u(e))return te(e,n,r);if(i(e))return te(e.toArray(),n,r);throw new t("LogicError",null,{reason:"conversion error"})}function ie(e,n,r){const s=q(r);if(s&&3!==r){return e.getAngle(n).extractAngularUnits(s)}throw new t("LogicError",null,{reason:"conversion error"})}function oe(e,n,t){const r=e.getAngle(n);if(3===n&&3===t){const t=W.secondsToDMS(r.extractAngularUnits(2));return[H(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,H(e.getDirection(n),"SHORT")]}if(3===t){const e=W.secondsToDMS(r.extractAngularUnits(2));return[e.m_degrees,e.m_minutes,e.m_seconds]}return 3===n?[H(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),H(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function ce(e,n){let r="";switch(e){case 1:r=3===n?"DD.DD"+b:"DDD.DD"+b;break;case 3:r=3===n?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case 4:r="R.RR";break;case 5:r="GGG.GG"+N;break;default:throw new t("LogicError",null,{reason:"conversion error"})}return 3===n&&(r="p "+r+" b"),r}function ae(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const i=e[n];if(i===t)s?r.rounding++:r.padding++,n++;else{if("."!==i)break;s=!0,n++}}return r.newpos=n-1,r}function ue(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function le(e,n,t){let r="",s=null,i=null;const o=J.createFromStringAndBearing(n,e,t),c={D:1,d:6,m:7,s:8,R:4,G:5};for(let a=0;a<n.length;a++){const u=n[a];switch(u){case"[":s=ue(n,a),r+=s.escaped,a=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ae(n,a,u),i=e.getAngle(t),r+=K(i,c[u],s.padding,s.rounding,o),a=s.newpos;continue;case"P":case"p":r+=H(o.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=H(o.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const de=new n(["TEXT","VALUE"]);function he(n,s,i){if(!(s instanceof e))throw new t("InvalidParameter",null);if(!1===s.hasField("directionType"))throw new t("LogicError",null,{reason:"missing directionType"});if(!1===s.hasField("angleType"))throw new t("LogicError",null,{reason:"missing angleType"});const o=Q(O(s.field("directiontype"))),c=se(n,C(O(s.field("angletype"))),o);if(!(i instanceof e))throw new t("InvalidParameter",null);if(!1===i.hasField("directionType"))throw new t("LogicError",null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t("LogicError",null,{reason:"missing angleType"});const a=Q(O(i.field("directiontype"))),u=i.hasField("angleType")?C(O(i.field("angletype"))):null,l=de.get(O(i.field("outputType")));if(!a||!l)throw new t("LogicError",null,{reason:"conversion error"});if(!(u||"TEXT"===l&&i.hasField("format")))throw new t("LogicError",null,{reason:"invalid unit"});switch(l){case"VALUE":return 3===a||3===u?oe(c,a,u):ie(c,a,u);case"TEXT":{let e="";return i.hasField("format")&&(e=r(i.field("format"))),null!==e&&""!==e||(e=ce(u,a)),le(c,e,a)}default:throw new t("InvalidParameter",null)}}export{he as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
|
package/arcade/functions/date.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{a3 as u,m as l,a9 as i,Z as a,E as s,F as c,ab as f,a8 as m,n as d,a5 as h,a as N}from"../../chunks/languageUtils.js";import{DateOnly as y}from"../../core/sql/DateOnly.js";import{TimeOnly as w}from"../../core/sql/TimeOnly.js";import{getLocale as g}from"../../intl/locale.js";import{DateTime as T}from"luxon";import{isString as A}from"../../support/guards.js";function D(n,r,e){return n+(k(e)?P:p)[r]}function k(n){return n%4==0&&(n%100!=0||n%400==0)}const p=[0,31,59,90,120,151,181,212,243,273,304,334],P=[0,31,60,91,121,152,182,213,244,274,305,335];function S(n){return null===n?n:!1===n.isValid?null:n}function Z(n,r){switch(e(n)){case"":case"default":return l(r);case"z":return"UTC";default:return n}}function C(n,r){return c(n)?n.toArcadeDate():m(n,l(r))}const O=new t(["days","months","minutes","seconds","hours","years","milliseconds"],[["day","days"],["d","days"],["month","months"],["minute","minutes"],["m","minutes"],["second","seconds"],["s","seconds"],["hour","hours"],["h","hours"],["year","years"],["y","years"],["millisecond","milliseconds"],["ms","milliseconds"]]);function U(n){return"M"===n?"months":O.lookup(f(n))??"milliseconds"}function j(e,t){e.today=function(r,e){return t(r,e,(t,o,i)=>{u(i,0,0,
|
|
2
|
+
import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{a3 as u,m as l,a9 as i,Z as a,E as s,F as c,ab as f,a8 as m,n as d,a5 as h,a as N}from"../../chunks/languageUtils.js";import{DateOnly as y}from"../../core/sql/DateOnly.js";import{TimeOnly as w}from"../../core/sql/TimeOnly.js";import{getLocale as g}from"../../intl/locale.js";import{DateTime as T}from"luxon";import{isString as A}from"../../support/guards.js";function D(n,r,e){return n+(k(e)?P:p)[r]}function k(n){return n%4==0&&(n%100!=0||n%400==0)}const p=[0,31,59,90,120,151,181,212,243,273,304,334],P=[0,31,60,91,121,152,182,213,244,274,305,335];function S(n){return null===n?n:!1===n.isValid?null:n}function Z(n,r){switch(e(n)){case"":case"default":return l(r);case"z":return"UTC";default:return n}}function C(n,r){return c(n)?n.toArcadeDate():m(n,l(r))}const O=new t(["days","months","minutes","seconds","hours","years","milliseconds"],[["day","days"],["d","days"],["month","months"],["minute","minutes"],["m","minutes"],["second","seconds"],["s","seconds"],["hour","hours"],["h","hours"],["year","years"],["y","years"],["millisecond","milliseconds"],["ms","milliseconds"]]);function U(n){return"M"===n?"months":O.lookup(f(n))??"milliseconds"}function j(e,t){e.today=function(r,e){return t(r,e,(t,o,i)=>{u(i,0,0,e);const a=new Date;return a.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(a,l(r))})},e.time=function(r,e){return t(r,e,(t,f,m)=>{switch(u(m,0,4,e),m.length){case 0:{const e=n.nowToArcadeDate(l(r));return new w(e.hour,e.minute,e.second,e.millisecond)}case 1:{if(a(m[0]))return m[0].clone();if(s(m[0]))return new w(m[0].hour,m[0].minute,m[0].second,m[0].millisecond);if(c(m[0]))return new w(0,0,0,0);if(A(m[0]))return w.fromString(m[0]);const n=i(m[0]);return!1===isNaN(n)?w.fromMilliseconds(n):null}case 2:return A(m[0])&&A(m[1])?w.fromString(m[0],m[1]):w.fromParts(i(m[0]),i(m[1]),0,0);case 3:return w.fromParts(i(m[0]),i(m[1]),i(m[2]),0);case 4:return w.fromParts(i(m[0]),i(m[1]),i(m[2]),i(m[3]))}throw new o("InvalidParameter",e)})},e.dateonly=function(r,e){return t(r,e,(t,o,a)=>{if(u(a,0,3,e),3===a.length)return y.fromParts(i(a[0]),i(a[1])+1,i(a[2]));if(2===a.length){const n=f(a[1]);return""===n?null:"X"===n?y.fromSeconds(i(a[0])):"x"===n?y.fromMilliseconds(i(a[0])):y.fromString(f(a[0]),n)}if(1===a.length){if(A(a[0])){if(""===a[0].replaceAll(/^\s+|\s+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(a[0]))return y.fromString(a[0]+"-01-01")}if(c(a[0]))return a[0].clone();if(s(a[0]))return y.fromParts(a[0].year,a[0].monthJS+1,a[0].day);const n=i(a[0]);return!1===isNaN(n)?y.fromMilliseconds(n):A(a[0])?y.fromString(a[0]):null}if(0===a.length){const e=n.nowToArcadeDate(l(r));return!1===e.isValid?null:y.fromParts(e.year,e.monthJS+1,e.day)}return null})},e.changetimezone=function(e,i){return t(e,i,(t,a,s)=>{if(u(s,2,2,i),null===s[0])return null;if(c(s[0]))throw new o("CannotChangeTimeZoneDateOnly",i);if(c(s[0]))throw new o("CannotChangeTimeZoneTime",i);const d=m(s[0],l(e));if(null===d)throw new o("InvalidParameter",i);const h=r(Z(f(s[1]),e),!1);if(null===h)return null;const N=n.arcadeDateAndZoneToArcadeDate(d,h);return!1===N.isValid?null:N})},e.timezone=function(r,e){return t(r,e,(t,o,i)=>{if(u(i,1,2,e),a(i[0]))return"Unknown";if(c(i[0]))return"Unknown";const s=m(i[0],l(r));if(null===s)return null;const f=s.timeZone;return"system"===f?n.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.timezoneoffset=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=m(o[0],l(n));return null===i?null:60*i.timeZoneOffset*1e3})},e.now=function(r,e){return t(r,e,(t,o,i)=>{u(i,0,0,e);const a=n.nowToArcadeDate(l(r));return!1===a.isValid?null:a})},e.timestamp=function(r,e){return t(r,e,(r,t,o)=>{u(o,0,0,e);const l=n.nowUTCToArcadeDate();return!1===l.isValid?null:l})},e.toutc=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=m(o[0],l(n));return null===i?null:i.toUTC()})},e.tolocal=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=m(o[0],l(n));return null===i?null:i.toLocal()})},e.day=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.day})},e.month=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.monthJS})},e.year=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.year})},e.hour=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].hour;const i=m(o[0],l(n));return null===i?NaN:i.hour})},e.second=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].second;const i=m(o[0],l(n));return null===i?NaN:i.second})},e.millisecond=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].millisecond;const i=m(o[0],l(n));return null===i?NaN:i.millisecond})},e.minute=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].minute;const i=m(o[0],l(n));return null===i?NaN:i.minute})},e.week=function(n,r){return t(n,r,(e,t,a)=>{u(a,1,2,r);const s=C(a[0],l(n));if(null===s)return NaN;const c=i(d(a[1],0));if(c<0||c>6)throw new o("InvalidParameter",r);const f=s.day,m=s.monthJS,h=s.year,N=s.dayOfWeekJS,y=D(f,m,h)-1,w=Math.floor(y/7);return N-c+(N-c<0?7:0)<y-7*w?w+1:w})},e.weekday=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.dayOfWeekJS})},e.isoweekday=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.dayOfWeekISO})},e.isomonth=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.monthISO})},e.isoweek=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.weekISO})},e.isoyear=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=C(o[0],l(n));return null===i?NaN:i.yearISO})},e.date=function(e,o){return t(e,o,(t,s,d)=>{if(u(d,0,8,o),3===d.length){if(c(d[0])&&a(d[1])&&A(d[2])){const t=r(Z(f(d[2])??"unknown",e),!1);return null===t?null:S(n.fromParts(d[0].year,d[0].month,d[0].day,d[1].hour,d[1].minute,d[1].second,d[1].millisecond,t))}return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),0,0,0,0,l(e)))}if(4===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),0,0,0,l(e)));if(5===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),0,0,l(e)));if(6===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),i(d[5]),0,l(e)));if(7===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),i(d[5]),i(d[6]),l(e)));if(8===d.length){const t=r(Z(f(d[7])??"unknown",e),!1);return null===t?null:S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),i(d[5]),i(d[6]),t))}if(2===d.length){if(c(d[0])&&A(d[1])){const t=r(Z(f(d[1])??"unknown",e),!1);return null===t?null:S(n.fromParts(d[0].year,d[0].month,d[0].day,0,0,0,0,t))}if(c(d[0])&&a(d[1]))return S(n.fromParts(d[0].year,d[0].month,d[0].day,d[1].hour,d[1].minute,d[1].second,d[1].millisecond,"unknown"));let t,o=f(d[1]);return""===o?null:(o=h(o,!0),t="X"===o?T.fromSeconds(i(d[0])):"x"===o?T.fromMillis(i(d[0])):T.fromFormat(f(d[0]),o,{locale:g(),numberingSystem:"latn"}),t.isValid?n.dateTimeToArcadeDate(t):null)}if(1===d.length){if(c(d[0]))return S(n.fromParts(d[0].year,d[0].month,d[0].day,0,0,0,0,"unknown"));if(A(d[0])){if(""===d[0].replaceAll(/^\s+|\s+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(d[0]))return m(d[0]+"-01-01",l(e))}const r=i(d[0]);if(!1===isNaN(r)){const t=T.fromMillis(r);return t.isValid?n.dateTimeAndZoneToArcadeDate(t,l(e)):null}return m(d[0],l(e))}return 0===d.length?n.nowToArcadeDate(l(e)):null})},e.datediff=function(r,e){return t(r,e,(t,o,i)=>{if(u(i,2,4,e),a(i[0]))return a(i[1])?i[0].difference(i[1],f(i[2])):NaN;if(a(i[1]))return NaN;if(c(i[0]))return c(i[1])?i[0].difference(i[1],f(i[2])):NaN;if(c(i[1]))return NaN;let s=m(i[0],l(r)),h=m(i[1],l(r));if(null===s||null===h)return NaN;let N=d(i[3],"");return""!==N&&null!==N?(N=Z(f(N),r),s=n.arcadeDateAndZoneToArcadeDate(s,N),h=n.arcadeDateAndZoneToArcadeDate(h,N)):s.timeZone!==h.timeZone&&(s.isUnknownTimeZone?s=n.arcadeDateAndZoneToArcadeDate(s,h.timeZone):h=(h.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(h,s.timeZone))),s.diff(h,U(i[2]))})},e.dateadd=function(n,r){return t(n,r,(e,t,o)=>{u(o,2,3,r);let s=i(o[1]);if(isNaN(s)||s===1/0||s===-1/0)return a(o[0])||c(o[0])?o[0].clone():m(o[0],l(n));const f=U(o[2]);if("days"!==f&&"months"!==f||(s=c(o[0])?s:N(s)),a(o[0]))return o[0].plus(f,s);if(c(o[0]))return o[0].plus(f,s);const d=m(o[0],l(n));return null===d?null:d.plus({[f]:s})})}}export{j as registerFunctions};
|
|
@@ -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{toSymbolId as r}from"../arcadeEnvironment.js";import t from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import{Feature as o}from"../Feature.js";import{a3 as i,K as a,r as s,ab as u,m as d,p as m,q as c,ae as f,s as l,t as p,E as y}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as v}from"../featureset/support/shared.js";import{SqlTimeStampOffset as w}from"../../core/sql/SqlTimestampOffset.js";import h from"../../core/sql/WhereClause.js";import{internalTimeReceivedField as b}from"../../layers/support/streamLayerUtils.js";import{isString as T,isNumber as j}from"../../support/guards.js";function I(e){const r=e?.fullSchema();return r?.datesInUnknownTimezone?"unknown":r?.dateFieldsTimeZone||"UTC"}function F(e){const r=e.fullSchema()?.fieldsIndex;return null==r&&e instanceof o?e.fieldsIndex:r}const g={getAttributeSQL(e,r){const t=e.field(r);if(null==t)return t;if(y(t)){const n=t.toDateTime(),o=F(e)?.get(r)?.type;return"esriFieldTypeTimestampOffset"===o||"timestamp-offset"===o?w.fromDateTime(n):n}return t}};function P(o,w,P){o.domain=function(e,r){return w(e,r,(o,m,c)=>{if(i(c,2,3,
|
|
2
|
+
import{ArcadeDate as e}from"../ArcadeDate.js";import{toSymbolId as r}from"../arcadeEnvironment.js";import t from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import{Feature as o}from"../Feature.js";import{a3 as i,K as a,r as s,ab as u,m as d,p as m,q as c,ae as f,s as l,t as p,E as y}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as v}from"../featureset/support/shared.js";import{SqlTimeStampOffset as w}from"../../core/sql/SqlTimestampOffset.js";import h from"../../core/sql/WhereClause.js";import{internalTimeReceivedField as b}from"../../layers/support/streamLayerUtils.js";import{isString as T,isNumber as j}from"../../support/guards.js";function I(e){const r=e?.fullSchema();return r?.datesInUnknownTimezone?"unknown":r?.dateFieldsTimeZone||"UTC"}function F(e){const r=e.fullSchema()?.fieldsIndex;return null==r&&e instanceof o?e.fieldsIndex:r}const g={getAttributeSQL(e,r){const t=e.field(r);if(null==t)return t;if(y(t)){const n=t.toDateTime(),o=F(e)?.get(r)?.type;return"esriFieldTypeTimestampOffset"===o||"timestamp-offset"===o?w.fromDateTime(n):n}return t}};function P(o,w,P){o.domain=function(e,r){return w(e,r,(o,m,c)=>{if(i(c,2,3,r),a(c[0])){const r=s(c[0],u(c[1]),void 0===c[2]?void 0:c[2]);return r&&r.domain?"coded-value"===r.domain.type||"codedValue"===r.domain.type?t.convertObjectToArcadeDictionary({type:"codedValue",name:r.domain.name,dataType:v[r.field.type],codedValues:r.domain.codedValues.map(e=>({name:e.name,code:e.code}))},d(e)):t.convertObjectToArcadeDictionary({type:"range",name:r.domain.name,dataType:v[r.field.type],min:r.domain.minValue,max:r.domain.maxValue},d(e)):null}throw new n("InvalidParameter",r)})},o.domaincode=function(e,r){return w(e,r,(e,t,o)=>{if(i(o,2,4,r),a(o[0]))return m(o[0],u(o[1]),o[2],void 0===o[3]?void 0:o[3]);throw new n("InvalidParameter",r)})},o.domainname=function(e,r){return w(e,r,(e,t,o)=>{if(i(o,2,4,r),a(o[0]))return c(o[0],u(o[1]),o[2],void 0===o[3]?void 0:o[3]);throw new n("InvalidParameter",r)})},o.expects=function(e,r){return w(e,r,(e,t,o)=>{if(o.length<1)throw new n("WrongNumberOfParameters",r);return f})},o.featureinfilter=function(e,r){return w(e,r,(e,r,t)=>{i(t,2,2,r);const[o,s]=t;if(null==o)return!1;if(""===s||null==s)return!0;if(!a(o)||!T(s))throw new n("InvalidParameter",r);const u=h.create(s,{fieldsIndex:F(o),timeZone:I(o)}),d=u.getVariables();for(const n of d)u.parameters[n]=P(e,{name:n});return u.testFeature(o,g)})},o.gdbversion=function(e,r){return w(e,r,(e,t,o)=>{if(i(o,1,1,r),a(o[0]))return o[0].gdbVersion();throw new n("InvalidParameter",r)})},o.schema=function(e,r){return w(e,r,(o,i,s)=>{if(a(s[0])){const r=l(s[0]);return r?t.convertObjectToArcadeDictionary(r,d(e)):null}throw new n("InvalidParameter",r)})},o.subtypecode=function(e,r){return w(e,r,(e,t,o)=>{if(i(o,1,1,r),a(o[0])){const e=p(o[0]);if(!e)return null;if(e.subtypeField&&o[0].hasField(e.subtypeField)){const r=o[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===r)return t.code;return null}return null}throw new n("InvalidParameter",r)})},o.subtypename=function(e,r){return w(e,r,(e,t,o)=>{if(i(o,1,1,r),a(o[0])){const e=p(o[0]);if(!e)return"";if(e.subtypeField&&o[0].hasField(e.subtypeField)){const r=o[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===r)return t.name;return""}return""}throw new n("InvalidParameter",r)})},o.subtypes=function(e,r){return w(e,r,(o,s,u)=>{if(i(u,1,1,r),a(u[0])){const r=p(u[0]);return r?t.convertObjectToArcadeDictionary(r,d(e)):null}throw new n("InvalidParameter",r)})},o[r("TimeReceived")]=function(r,t){return w(r,t,(r,t,o)=>{if(i(o,1,1,t),a(o[0])){if(o[0].hasField(b)){const t=o[0].field(b);return j(t)?e.epochToArcadeDate(t,r.timeZone??"system"):y(t)?t:null}return null}throw new n("InvalidParameter",t)})}}export{P as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{Feature as s}from"../Feature.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as f,constructFeatureSet as d,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as m}from"../featureSetUtils.js";import p from"../ImmutableArray.js";import{a3 as y,Z as w,F as h,L as I,ab as g,a8 as F,m as b,E as T,M as D,n as E,a7 as x,K as N,P as A,N as S,a9 as v,ac as L,a1 as j}from"../../chunks/languageUtils.js";import{getPortal as C,getDefaultPortal as Z}from"../portalUtils.js";import{SqlExpressionAdapted as k,StringToCodeAdapted as $,FieldRename as P,AdaptedFeatureSet as U,OriginalField as M}from"../featureset/actions/Adapted.js";import R from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/GroupBy.js";import z from"../featureset/actions/OrderBy.js";import W from"../featureset/actions/Top.js";import H from"../featureset/sources/Empty.js";import G from"../featureset/sources/FeatureLayerMemory.js";import V from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as _,cloneField as B}from"../featureset/support/shared.js";import{isSingleField as K}from"../featureset/support/sqlUtils.js";import{calculateStat as q}from"./fieldStats.js";import{isPromiseLike as Q}from"../../core/promiseUtils.js";import J from"../../core/sql/WhereClause.js";import Y from"../../layers/FeatureLayer.js";import X from"../../layers/support/Field.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return q("distinct",e[0],-1);if(A(e[0]))return q("distinct",e[0].toArray(),-1)}return q("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,s,l){const f=await t.getFeatureSetInfo();if(null===(f?.layerId??null))return null;if(!r.layerIdLookup.get(f.layerId))return null;const u=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),c=[];switch(i){case"connected":c.push("connectivity"),c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity"),c.push("junction-edge-midspan-connectivity"),c.push("junction-junction-connectivity");break;case"container":case"content":c.push("containment");break;case"structure":case"attached":c.push("attachment");break;case"junctionedge":c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity");break;case"midspan":c.push("junction-edge-midspan-connectivity");break;default:throw new o(s,"InvalidParameter",l)}let m=null,p=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(m=e.terminalId);null===m&&(p=!0)}const y=[];if(!p){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(f.layerId).sourceId,...m?{terminalId:m}:""}),o=await ee(u,new ne({types:c,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";y.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const w=new Y({source:y,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new X({name:"objectId",alias:"objectId",type:"oid"}),new X({name:"globalId",alias:"globalId",type:"global-id"}),new X({name:"percentAlong",alias:"percentAlong",type:"double"}),new X({name:"side",alias:"side",type:"string"}),new X({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new X({name:"className",alias:"className",type:"string"})]});return d(w)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,async(e,r,s)=>{if(y(s,1,2,n,a),w(s[0]))return"Unknown";if(h(s[0]))return"Unknown";if(I(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?pe("unknown"):pe(s[0].dateFieldsTimeZone);if(!(s[1]instanceof i)||!1===s[1].hasField("type"))throw new o(n,"InvalidParameter",a);const e=s[1].field("type");if(!1===ie(e))throw new o(n,"InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return pe(s[0].preferredTimeZone);case"editfieldsinfo":return pe(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ie(s[1].field("fieldname")))return pe(s[0].fieldTimeZone(g(s[1].field("fieldname"))))}throw new o(n,"InvalidParameter",a)}const l=F(s[0],b(n));if(null===l)return null;const f=l.timeZone;return"system"===f?t.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,1,3,t,n);const r=a[0];if(T(r)){if(1===a.length)return r.toSQLWithKeyword();if(2===a.length)return r.changeTimeZone(g(a[1])).toSQLWithKeyword();throw new o(t,"InvalidParameter",n)}if(h(r))return r.toSQLWithKeyword();if(I(r)){if(3!==a.length)throw new o(t,"InvalidParameter",n);await r.load();const e=g(a[1]);if(h(a[2]))return a[2].toSQLWithKeyword();if(!1===T(a[2]))throw new o(t,"InvalidParameter",n);const i=r.fieldTimeZone(e);return null==i?a[2].toSQLWithKeyword():a[2].changeTimeZone(i).toSQLWithKeyword()}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=E(a[2],null);const r=x(E(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetById(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const q=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,2,t,n),N(a[0])){const e=null==a[1]?"datasource":q.lookup(g(a[1]));return l(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,a,r)=>{if(y(r,2,5,t,i),null===r[0])throw new o(t,"PortalRequired",i);if(r[0]instanceof n){const e=g(r[1]),n=g(r[2]);let a=E(r[3],null);const s=x(E(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o(t,"InvalidParameter",i);const l=C(t,r[0]);return f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o(t,"PortalRequired",i);const s=g(r[0]),l=g(r[1]);let d=E(r[2],null);const u=x(E(r[3],!0));if(null===d&&(d=["*"]),!1===ae(d))throw new o(t,"InvalidParameter",i);return f(s,l,t.spatialReference,d,u,Z(t),t.lrucache,t.interceptor)})},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=E(a[2],null);const r=x(E(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetByName(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,t,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o(t,"InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),i=le(e,"layerdefinition");if(null!==i){s.layerDefinition.geometryType=le(i,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(i,"globalidfield",""),s.layerDefinition.objectIdField=le(i,"objectidfield",""),s.layerDefinition.typeIdField=le(i,"typeidfield",""),s.layerDefinition.hasZ=!0===le(i,"hasz",!1),s.layerDefinition.hasM=!0===le(i,"hasm",!1);const t=le(i,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const n=[];for(const e of le(i,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};n.push(t)}s.layerDefinition.fields=n;const a=le(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const i=le(e,"spatialreference");i&&(s.layerDefinition.spatialReference=de(i));const a=[],r=le(e,"fields",null);if(!ae(r))throw new o(t,"InvalidParameter",n);for(const e of r){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};a.push(t)}s.layerDefinition.fields=a;const l={};for(const e of a)l[e.name.toLowerCase()]=e.name;let f=le(e,"features",null);if(ae(f))for(const e of f){const t={},n=le(e,"attributes",{});for(const e in n)t[l[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else f=null,s.featureSet.features=f}}}if(!1===me(s))throw new o(t,"InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),G.create(s,t.spatialReference)})},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,async(i,a,r)=>{if(y(r,2,2,t,n),ae(r[0])||A(r[0])){const e=[];let i,a=r[0];if(a instanceof p&&(a=a.toArray()),!S(r[1]))throw new o(t,"InvalidParameter",n);i=r[1].createFunction(t);for(const t of a){const n=i(t);Q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(I(r[0])){const n=await r[0].load(),i=J.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new R({parentfeatureset:r[0],whereclause:i})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=new V(a[1]);return new z({parentfeatureset:a[0],orderbyclause:e})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0]))return new W({parentfeatureset:a[0],topnum:a[1]});if(ae(a[0]))return v(a[1])>=a[0].length?a[0].slice():a[0].slice(0,v(a[1]));if(A(a[0]))return v(a[1])>=a[0].length()?a[0].slice():a[0].slice(0,v(a[1]));throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,1,t,n),I(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=s.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null})},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{y(r,1,2,t,n);const s={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(s.minsize=v(r[1].field("minsize"))),r[1].hasField("metadata")&&(s.returnMetadata=x(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=v(r[1].field("maxsize"))),r[1].hasField("types")){const e=L(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o(t,"InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!_(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,t,n);const r=a[0],s=g(a[1]);let l=E(a[2],null);const f=x(E(a[3],!0));if(null===l&&(l=["*"]),!1===ae(l))throw new o(t,"InvalidParameter",n);if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!_(m))return null;p=d(m,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}p=await p.load();const w=p.relationshipMetadata().filter(e=>e.name===s);if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(p,w[0],r.field(p.objectIdField),p.spatialReference,l,f,t.lrucache,t.interceptor);let h=p.serviceUrl();if(!h)return null;h=h.endsWith("/")?h+w[0].relatedTableId.toString():h+"/"+w[0].relatedTableId.toString();const F=await c(h,p.spatialReference,l,f,t.lrucache,t.interceptor);await F.load();let b=F.relationshipMetadata();if(b=b.filter(e=>e.id===w[0].id),!1===r.hasField(w[0].keyField)||null===r.field(w[0].keyField)){const e=await p.getFeatureByObjectId(r.field(p.objectIdField),[w[0].keyField]);if(e){const t=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[w[0].keyField]},new R({parentfeatureset:F,whereclause:t})}return new H({parentfeatureset:F})}const T=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return T.parameters={id:r.field(w[0].keyField)},new R({parentfeatureset:F,whereclause:T})})},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,3,t,n);const s=a[0],l=r(g(E(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const u=s._layer;let c;if(I(u))c=u;else{if(null==u||!_(u))return null;c=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}await c.load();const p=c.serviceUrl(),w=await m(p,t.spatialReference,!0);if(w.unVersion>=8)return await ye(c,s,l,f,w,t,n);const h=w.associations;if(null==h)return null;let F=null,b=null,T=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of w.terminals)e.terminalName===f&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),x=D.get("TOGLOBALID").name,A=D.get("FROMGLOBALID").name,S=D.get("TOTERMINALID").name,v=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,Z=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){F=s.field(t.name);break}let z=null,W=new k(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new X({name:"side",alias:"side",type:"string"}),J.create("''",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));const G="globalid",V="globalId",K={};for(const t in w.lkp)K[t]=w.lkp[t].sourceId;const q=new $(new X({name:"classname",alias:"classname",type:"string"}),null,K);let Q="";switch(l){case"midspan":{Q=`((${x}='${F}') OR ( ${A}='${F}')) AND (${Z} IN (5))`,q.codefield=J.create(`CASE WHEN (${x}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(U.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,J.create(`CASE WHEN (${A}='${F}') THEN ${x} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=w.unVersion>=4?new M(U.findField(h.fields,D.get("PERCENTALONG").name)):new k(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{Q=`((${x}='${F}') OR ( ${A}='${F}')) AND (${Z} IN (4,6))`,q.codefield=J.create(`CASE WHEN (${x}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(U.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,J.create(`CASE WHEN (${A}='${F}') THEN ${x} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new X({name:"side",alias:"side",type:"string"}),J.create(`CASE WHEN (${Z}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${x}='@T'`,t=`${A}='@T'`;null!==b&&(e+=` AND ${S}=@A`,t+=` AND ${v}=@A`),Q="(("+e+") OR ("+t+"))",Q=j(Q,"@T",F??""),e=j(e,"@T",F??""),null!==b&&(e=j(e,"@A",b.toString()),Q=j(Q,"@A",b.toString())),q.codefield=J.create("CASE WHEN "+e+` THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=B(U.findField(h.fields,A));n.name=G,n.alias=G,z=new k(n,J.create("CASE WHEN "+e+` THEN ${A} ELSE ${x} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":Q=`${x}='${F}' AND ${Z} = 2`,null!==b&&(Q+=` AND ${S} = `+b.toString()),q.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,G);break;case"content":Q=`(${A}='${F}' AND ${Z} = 2)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),q.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,x),G,G);break;case"structure":Q=`(${x}='${F}' AND ${Z} = 3)`,null!==b&&(Q+=` AND ${S} = `+b.toString()),q.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,V);break;case"attached":Q=`(${A}='${F}' AND ${Z} = 3)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),q.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,x),G,V);break;default:throw new o(t,"InvalidParameter",n)}T&&(Q="1 <> 1");return new U({parentfeatureset:h,adaptedFields:[new M(U.findField(h.fields,O)),new M(U.findField(h.fields,R)),z,H,q,W],extraFilter:Q?J.create(Q,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}):null})})},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(y(s,3,3,t,n),!I(s[0]))throw new o(t,"InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ie(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ae(s[1]))c=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);c=s[1].toArray()}for(const e of c)if(ie(e)){const t=J.create(g(e),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),n=!0===K(t)?g(e):"%%%%FIELDNAME";f.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(u=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",a=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(u=!0),!i)throw new o(t,"InvalidParameter",n);f.push({name:i,expression:J.create(a||i,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],ie(s[2]))c.push(s[2]);else if(ae(s[2]))c=s[2];else if(A(s[2]))c=s[2].toArray();else{if(!(s[2]instanceof i))throw new o(t,"InvalidParameter",n);c.push(s[2])}for(const e of c){if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"",a=e.hasField("statistic")?e.field("statistic"):"",r=e.hasField("expression")?e.field("expression"):"";if(!(i&&a&&ie(a)&&r))throw new o(t,"InvalidParameter",n);d.push({name:i,statistic:a,expression:J.create(r,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of f)se(n.expression,e,t);for(const n of d)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:f,statsfields:d})})},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(I(s[0])){y(s,2,2,t,n);const a=await s[0].load(),r=[];let l=[];if(ie(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ae(s[1]))l=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);l=s[1].toArray()}let f=!1;for(const e of l)if(ie(e)){const t=J.create(g(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===K(t)?g(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(f=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",s=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(f=!0),!i)throw new o(t,"InvalidParameter",n);r.push({name:i,expression:J.create(s||i,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of r)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:r,statsfields:[]})}return oe(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{if(y(r,1,1,t,n),!I(r[0]))return null;const o=await r[0].getFeatureSetInfo();return o?i.convertObjectToArcadeDictionary({layerId:o.layerId,layerName:o.layerName,itemId:o.itemId,serviceLayerUrl:o.serviceLayerUrl,webMapLayerId:o.webMapLayerId??null,webMapLayerTitle:o.webMapLayerTitle??null,className:null,objectClassId:null},b(t),!1,!1):null})},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=await a[0].load(),i=a[1];if(!re(i))throw new o(t,"InvalidParameter",n);if(e.subtypeField){const t=J.create(`${e.subtypeField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:a[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o(t,"FeatureSetDoesNotHaveSubtypes",n);const r=J.create(`${e.typeIdField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:a[0],whereclause:r})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
|
|
2
|
+
import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{Feature as s}from"../Feature.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as f,constructFeatureSet as d,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as m}from"../featureSetUtils.js";import p from"../ImmutableArray.js";import{a3 as y,Z as w,F as h,L as I,ab as g,a8 as F,m as b,E as T,M as D,n as E,a7 as x,K as N,P as A,N as S,a9 as v,ac as L,a1 as j}from"../../chunks/languageUtils.js";import{getPortal as C,getDefaultPortal as Z}from"../portalUtils.js";import{SqlExpressionAdapted as k,StringToCodeAdapted as $,FieldRename as P,AdaptedFeatureSet as U,OriginalField as M}from"../featureset/actions/Adapted.js";import R from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/GroupBy.js";import z from"../featureset/actions/OrderBy.js";import W from"../featureset/actions/Top.js";import H from"../featureset/sources/Empty.js";import G from"../featureset/sources/FeatureLayerMemory.js";import V from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as _,cloneField as B}from"../featureset/support/shared.js";import{isSingleField as K}from"../featureset/support/sqlUtils.js";import{calculateStat as q}from"./fieldStats.js";import{isPromiseLike as Q}from"../../core/promiseUtils.js";import J from"../../core/sql/WhereClause.js";import Y from"../../layers/FeatureLayer.js";import X from"../../layers/support/Field.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return q("distinct",e[0],-1);if(A(e[0]))return q("distinct",e[0].toArray(),-1)}return q("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,s){const l=await t.getFeatureSetInfo();if(null===(l?.layerId??null))return null;if(!r.layerIdLookup.get(l.layerId))return null;const f=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),u=[];switch(i){case"connected":u.push("connectivity"),u.push("junction-edge-from-connectivity"),u.push("junction-edge-to-connectivity"),u.push("junction-edge-midspan-connectivity"),u.push("junction-junction-connectivity");break;case"container":case"content":u.push("containment");break;case"structure":case"attached":u.push("attachment");break;case"junctionedge":u.push("junction-edge-from-connectivity"),u.push("junction-edge-to-connectivity");break;case"midspan":u.push("junction-edge-midspan-connectivity");break;default:throw new o("InvalidParameter",s)}let c=null,m=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(c=e.terminalId);null===c&&(m=!0)}const p=[];if(!m){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(l.layerId).sourceId,...c?{terminalId:c}:""}),o=await ee(f,new ne({types:u,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";p.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const y=new Y({source:p,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new X({name:"objectId",alias:"objectId",type:"oid"}),new X({name:"globalId",alias:"globalId",type:"global-id"}),new X({name:"percentAlong",alias:"percentAlong",type:"double"}),new X({name:"side",alias:"side",type:"string"}),new X({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new X({name:"className",alias:"className",type:"string"})]});return d(y)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,async(e,r,s)=>{if(y(s,1,2,a),w(s[0]))return"Unknown";if(h(s[0]))return"Unknown";if(I(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?pe("unknown"):pe(s[0].dateFieldsTimeZone);if(!(s[1]instanceof i)||!1===s[1].hasField("type"))throw new o("InvalidParameter",a);const e=s[1].field("type");if(!1===ie(e))throw new o("InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return pe(s[0].preferredTimeZone);case"editfieldsinfo":return pe(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ie(s[1].field("fieldname")))return pe(s[0].fieldTimeZone(g(s[1].field("fieldname"))))}throw new o("InvalidParameter",a)}const l=F(s[0],b(n));if(null===l)return null;const f=l.timeZone;return"system"===f?t.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{y(i,1,3,n);const a=i[0];if(T(a)){if(1===i.length)return a.toSQLWithKeyword();if(2===i.length)return a.changeTimeZone(g(i[1])).toSQLWithKeyword();throw new o("InvalidParameter",n)}if(h(a))return a.toSQLWithKeyword();if(I(a)){if(3!==i.length)throw new o("InvalidParameter",n);await a.load();const e=g(i[1]);if(h(i[2]))return i[2].toSQLWithKeyword();if(!1===T(i[2]))throw new o("InvalidParameter",n);const t=a.fieldTimeZone(e);return null==t?i[2].toSQLWithKeyword():i[2].changeTimeZone(t).toSQLWithKeyword()}throw new o("InvalidParameter",n)})},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,(e,t,i)=>{if(y(i,2,4,n),D(i[0])){const e=g(i[1]);let t=E(i[2],null);const a=x(E(i[3],!0));if(null===t&&(t=["*"]),!1===ae(t))throw new o("InvalidParameter",n);return i[0].featureSetById(e,a,t)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const q=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,2,n),N(a[0])){const e=null==a[1]?"datasource":q.lookup(g(a[1]));return l(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,a,r)=>{if(y(r,2,5,i),null===r[0])throw new o("PortalRequired",i);if(r[0]instanceof n){const e=g(r[1]),n=g(r[2]);let a=E(r[3],null);const s=x(E(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o("InvalidParameter",i);const l=C(t,r[0]);return f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o("PortalRequired",i);const s=g(r[0]),l=g(r[1]);let d=E(r[2],null);const u=x(E(r[3],!0));if(null===d&&(d=["*"]),!1===ae(d))throw new o("InvalidParameter",i);return f(s,l,t.spatialReference,d,u,Z(t),t.lrucache,t.interceptor)})},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,(e,t,i)=>{if(y(i,2,4,n),D(i[0])){const e=g(i[1]);let t=E(i[2],null);const a=x(E(i[3],!0));if(null===t&&(t=["*"]),!1===ae(t))throw new o("InvalidParameter",n);return i[0].featureSetByName(e,a,t)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o("InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),t=le(e,"layerdefinition");if(null!==t){s.layerDefinition.geometryType=le(t,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(t,"globalidfield",""),s.layerDefinition.objectIdField=le(t,"objectidfield",""),s.layerDefinition.typeIdField=le(t,"typeidfield",""),s.layerDefinition.hasZ=!0===le(t,"hasz",!1),s.layerDefinition.hasM=!0===le(t,"hasm",!1);const n=le(t,"spatialreference");n&&(s.layerDefinition.spatialReference=de(n));const i=[];for(const e of le(t,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};i.push(t)}s.layerDefinition.fields=i;const a=le(e,"featureset");if(a){const e={};for(const t of i)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const t=le(e,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const i=[],a=le(e,"fields",null);if(!ae(a))throw new o("InvalidParameter",n);for(const e of a){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};i.push(t)}s.layerDefinition.fields=i;const r={};for(const e of i)r[e.name.toLowerCase()]=e.name;let l=le(e,"features",null);if(ae(l))for(const e of l){const t={},n=le(e,"attributes",{});for(const e in n)t[r[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else l=null,s.featureSet.features=l}}}if(!1===me(s))throw new o("InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),G.create(s,t.spatialReference)})},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,async(i,a,r)=>{if(y(r,2,2,n),ae(r[0])||A(r[0])){const e=[];let i,a=r[0];if(a instanceof p&&(a=a.toArray()),!S(r[1]))throw new o("InvalidParameter",n);i=r[1].createFunction(t);for(const t of a){const n=i(t);Q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(I(r[0])){const n=await r[0].load(),i=J.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new R({parentfeatureset:r[0],whereclause:i})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0])){const e=new V(i[1]);return new z({parentfeatureset:i[0],orderbyclause:e})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0]))return new W({parentfeatureset:i[0],topnum:i[1]});if(ae(i[0]))return v(i[1])>=i[0].length?i[0].slice():i[0].slice(0,v(i[1]));if(A(i[0]))return v(i[1])>=i[0].length()?i[0].slice():i[0].slice(0,v(i[1]));throw new o("InvalidParameter",n)})},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,1,n),I(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=s.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null})},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{y(r,1,2,n);const s={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(s.minsize=v(r[1].field("minsize"))),r[1].hasField("metadata")&&(s.returnMetadata=x(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=v(r[1].field("maxsize"))),r[1].hasField("types")){const e=L(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o("InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!_(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o("InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,n);const r=a[0],s=g(a[1]);let l=E(a[2],null);const f=x(E(a[3],!0));if(null===l&&(l=["*"]),!1===ae(l))throw new o("InvalidParameter",n);if(null===a[0])return null;if(!N(a[0]))throw new o("InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!_(m))return null;p=d(m,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}p=await p.load();const w=p.relationshipMetadata().filter(e=>e.name===s);if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(p,w[0],r.field(p.objectIdField),p.spatialReference,l,f,t.lrucache,t.interceptor);let h=p.serviceUrl();if(!h)return null;h=h.endsWith("/")?h+w[0].relatedTableId.toString():h+"/"+w[0].relatedTableId.toString();const F=await c(h,p.spatialReference,l,f,t.lrucache,t.interceptor);await F.load();let b=F.relationshipMetadata();if(b=b.filter(e=>e.id===w[0].id),!1===r.hasField(w[0].keyField)||null===r.field(w[0].keyField)){const e=await p.getFeatureByObjectId(r.field(p.objectIdField),[w[0].keyField]);if(e){const t=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[w[0].keyField]},new R({parentfeatureset:F,whereclause:t})}return new H({parentfeatureset:F})}const T=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return T.parameters={id:r.field(w[0].keyField)},new R({parentfeatureset:F,whereclause:T})})},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,3,n);const s=a[0],l=r(g(E(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o("InvalidParameter",n);const u=s._layer;let c;if(I(u))c=u;else{if(null==u||!_(u))return null;c=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}await c.load();const p=c.serviceUrl(),w=await m(p,t.spatialReference,!0);if(w.unVersion>=8)return await ye(c,s,l,f,w,n);const h=w.associations;if(null==h)return null;let F=null,b=null,T=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of w.terminals)e.terminalName===f&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),x=D.get("TOGLOBALID").name,A=D.get("FROMGLOBALID").name,S=D.get("TOTERMINALID").name,v=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,Z=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){F=s.field(t.name);break}let z=null,W=new k(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new X({name:"side",alias:"side",type:"string"}),J.create("''",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));const G="globalid",V="globalId",K={};for(const t in w.lkp)K[t]=w.lkp[t].sourceId;const q=new $(new X({name:"classname",alias:"classname",type:"string"}),null,K);let Q="";switch(l){case"midspan":{Q=`((${x}='${F}') OR ( ${A}='${F}')) AND (${Z} IN (5))`,q.codefield=J.create(`CASE WHEN (${x}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(U.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,J.create(`CASE WHEN (${A}='${F}') THEN ${x} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=w.unVersion>=4?new M(U.findField(h.fields,D.get("PERCENTALONG").name)):new k(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{Q=`((${x}='${F}') OR ( ${A}='${F}')) AND (${Z} IN (4,6))`,q.codefield=J.create(`CASE WHEN (${x}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(U.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,J.create(`CASE WHEN (${A}='${F}') THEN ${x} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new X({name:"side",alias:"side",type:"string"}),J.create(`CASE WHEN (${Z}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${x}='@T'`,t=`${A}='@T'`;null!==b&&(e+=` AND ${S}=@A`,t+=` AND ${v}=@A`),Q="(("+e+") OR ("+t+"))",Q=j(Q,"@T",F??""),e=j(e,"@T",F??""),null!==b&&(e=j(e,"@A",b.toString()),Q=j(Q,"@A",b.toString())),q.codefield=J.create("CASE WHEN "+e+` THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=B(U.findField(h.fields,A));n.name=G,n.alias=G,z=new k(n,J.create("CASE WHEN "+e+` THEN ${A} ELSE ${x} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":Q=`${x}='${F}' AND ${Z} = 2`,null!==b&&(Q+=` AND ${S} = `+b.toString()),q.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,G);break;case"content":Q=`(${A}='${F}' AND ${Z} = 2)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),q.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,x),G,G);break;case"structure":Q=`(${x}='${F}' AND ${Z} = 3)`,null!==b&&(Q+=` AND ${S} = `+b.toString()),q.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,V);break;case"attached":Q=`(${A}='${F}' AND ${Z} = 3)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),q.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,x),G,V);break;default:throw new o("InvalidParameter",n)}T&&(Q="1 <> 1");return new U({parentfeatureset:h,adaptedFields:[new M(U.findField(h.fields,O)),new M(U.findField(h.fields,R)),z,H,q,W],extraFilter:Q?J.create(Q,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}):null})})},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(y(s,3,3,n),!I(s[0]))throw new o("InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ie(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ae(s[1]))c=s[1];else{if(!A(s[1]))throw new o("InvalidParameter",n);c=s[1].toArray()}for(const e of c)if(ie(e)){const t=J.create(g(e),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),n=!0===K(t)?g(e):"%%%%FIELDNAME";f.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(u=!0)}else{if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(u=!0),!t)throw new o("InvalidParameter",n);f.push({name:t,expression:J.create(i||t,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],ie(s[2]))c.push(s[2]);else if(ae(s[2]))c=s[2];else if(A(s[2]))c=s[2].toArray();else{if(!(s[2]instanceof i))throw new o("InvalidParameter",n);c.push(s[2])}for(const e of c){if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"",i=e.hasField("statistic")?e.field("statistic"):"",a=e.hasField("expression")?e.field("expression"):"";if(!(t&&i&&ie(i)&&a))throw new o("InvalidParameter",n);d.push({name:t,statistic:i,expression:J.create(a,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of f)se(n.expression,e,t);for(const n of d)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:f,statsfields:d})})},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(I(s[0])){y(s,2,2,n);const a=await s[0].load(),r=[];let l=[];if(ie(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ae(s[1]))l=s[1];else{if(!A(s[1]))throw new o("InvalidParameter",n);l=s[1].toArray()}let f=!1;for(const e of l)if(ie(e)){const t=J.create(g(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===K(t)?g(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(f=!0)}else{if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(f=!0),!t)throw new o("InvalidParameter",n);r.push({name:t,expression:J.create(i||t,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of r)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:r,statsfields:[]})}return oe(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{if(y(r,1,1,n),!I(r[0]))return null;const o=await r[0].getFeatureSetInfo();return o?i.convertObjectToArcadeDictionary({layerId:o.layerId,layerName:o.layerName,itemId:o.itemId,serviceLayerUrl:o.serviceLayerUrl,webMapLayerId:o.webMapLayerId??null,webMapLayerTitle:o.webMapLayerTitle??null,className:null,objectClassId:null},b(t),!1,!1):null})},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0])){const e=await i[0].load(),t=i[1];if(!re(t))throw new o("InvalidParameter",n);if(e.subtypeField){const t=J.create(`${e.subtypeField}= ${i[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:i[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o("FeatureSetDoesNotHaveSubtypes",n);const a=J.create(`${e.typeIdField}= ${i[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:i[0],whereclause:a})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeExecutionError as e}from"../executionError.js";import{shapeExtent as t}from"../kernel.js";import{f as n,a3 as r,O as a,ab as i,L as s}from"../../chunks/languageUtils.js";import o from"../featureset/actions/SpatialFilter.js";import l from"../featureset/sources/Empty.js";import{invokeRemoteGeometryOp as u}from"../geometry/operatorsWorkerConnection.js";function c(i){return async(c,f,p)=>{if(r(p,2,2,
|
|
2
|
+
import{ArcadeExecutionError as e}from"../executionError.js";import{shapeExtent as t}from"../kernel.js";import{f as n,a3 as r,O as a,ab as i,L as s}from"../../chunks/languageUtils.js";import o from"../featureset/actions/SpatialFilter.js";import l from"../featureset/sources/Empty.js";import{invokeRemoteGeometryOp as u}from"../geometry/operatorsWorkerConnection.js";function c(i){return async(c,f,p)=>{if(r(p,2,2,f),null===(p=n(p))[0]&&null===p[1])return!1;if(s(p[0])){if(a(p[1]))return new o({parentfeatureset:p[0],relation:i,relationGeom:p[1]});if(null===p[1])return new l({parentfeatureset:p[0]});throw new e("InvalidParameter",f)}if(a(p[0])){if(a(p[1])){switch(i){case"esriSpatialRelEnvelopeIntersects":{const e=t(p[0]),n=t(p[1]);return null!=e&&null!=n&&u("intersects",[e.toJSON(),n.toJSON()])}case"esriSpatialRelIntersects":return u("intersects",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelContains":return u("contains",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelOverlaps":return u("overlaps",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelWithin":return u("within",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelTouches":return u("touches",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelCrosses":return u("crosses",[p[0].toJSON(),p[1].toJSON()])}throw new e("InvalidParameter",f)}if(s(p[1]))return new o({parentfeatureset:p[1],relation:i,relationGeom:p[0]});if(null===p[1])return!1;throw new e("InvalidParameter",f)}if(null===p[0]){if(s(p[1]))return new l({parentfeatureset:p[1]});if(a(p[1])||null===p[1])return!1}throw new e("InvalidParameter",f)}}function f(t){"async"===t.mode&&(t.functions.intersects=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelIntersects"))},t.functions.envelopeintersects=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelEnvelopeIntersects"))},t.signatures.push({name:"envelopeintersects",min:2,max:2}),t.functions.contains=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelContains"))},t.functions.overlaps=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelOverlaps"))},t.functions.within=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelWithin"))},t.functions.touches=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelTouches"))},t.functions.crosses=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelCrosses"))},t.functions.relate=function(c,f){return t.standardFunctionAsync(c,f,async(t,c,p)=>{if(p=n(p),r(p,3,3,f),a(p[0])&&a(p[1]))return u("relate",[p[0].toJSON(),p[1].toJSON(),i(p[2])]);if(a(p[0])&&null===p[1])return!1;if(a(p[1])&&null===p[0])return!1;if(s(p[0])&&null===p[1])return new l({parentfeatureset:p[0]});if(s(p[1])&&null===p[0])return new l({parentfeatureset:p[1]});if(s(p[0])&&a(p[1]))return new o({parentfeatureset:p[0],relation:"esriSpatialRelRelation",relationGeom:p[1],relationString:i(p[2])});if(s(p[1])&&a(p[0]))return new o({parentfeatureset:p[1],relation:"esriSpatialRelRelation",relationGeom:p[0],relationString:i(p[2])});if(null===p[0]&&null===p[1])return!1;throw new e("InvalidParameter",f)})})}export{f as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as n}from"../ArcadeDate.js";import{isEmpty as t}from"../containerUtils.js";import{ArcadeExecutionError as e}from"../executionError.js";import{a3 as r,L as a,P as i,G as o,n as s,J as u,m as c}from"../../chunks/languageUtils.js";import{calculateStat as f}from"./fieldStats.js";import{SqlTimeStampOffset as m}from"../../core/sql/SqlTimestampOffset.js";import d from"../../core/sql/WhereClause.js";import{DateTime as l}from"luxon";import{isArray as g,isString as y,isBoolean as p,isDate as A}from"../../support/guards.js";async function F(n,t,e,r){if(1===e.length){if(g(e[0]))return f(n,e[0],s(e[1],-1));if(i(e[0]))return f(n,e[0].toArray(),s(e[1],-1))}else if(2===e.length){if(g(e[0]))return f(n,e[0],s(e[1],-1));if(i(e[0]))return f(n,e[0].toArray(),s(e[1],-1));if(a(e[0])){const a=await e[0].load(),i=await w(d.create(e[1],{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),r,t);return h(t,await e[0].calculateStatistic(n,i,s(e[2],1e3),t.abortSignal))}}else if(3===e.length&&a(e[0])){const a=await e[0].load(),i=await w(d.create(e[1],{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),r,t);return h(t,await e[0].calculateStatistic(n,i,s(e[2],1e3),t.abortSignal))}return f(n,e,-1)}function h(t,e){return m.isTimestampOffset(e)?n.fromReaderAsTimeStampOffset(e.toStorageFormat()):A(e)?n.dateJSAndZoneToArcadeDate(e,c(t)):l.isDateTime(e)?n.dateTimeToArcadeDate(e):e}async function w(n,t,e){const r=n.getVariables();if(r.length>0){const a={};for(const n of r)a[n]=t.evaluateIdentifier(e,{name:n});n.parameters=a}return n}function S(n){"async"===n.mode&&(n.functions.stdev=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("stdev",t,a,n))},n.functions.variance=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("variance",t,a,n))},n.functions.average=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("mean",t,a,n))},n.functions.mean=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("mean",t,a,n))},n.functions.sum=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("sum",t,a,n))},n.functions.min=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("min",t,a,n))},n.functions.max=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("max",t,a,n))},n.functions.count=function(t,s){return n.standardFunctionAsync(t,s,async(n,u
|
|
2
|
+
import{ArcadeDate as n}from"../ArcadeDate.js";import{isEmpty as t}from"../containerUtils.js";import{ArcadeExecutionError as e}from"../executionError.js";import{a3 as r,L as a,P as i,G as o,n as s,J as u,m as c}from"../../chunks/languageUtils.js";import{calculateStat as f}from"./fieldStats.js";import{SqlTimeStampOffset as m}from"../../core/sql/SqlTimestampOffset.js";import d from"../../core/sql/WhereClause.js";import{DateTime as l}from"luxon";import{isArray as g,isString as y,isBoolean as p,isDate as A}from"../../support/guards.js";async function F(n,t,e,r){if(1===e.length){if(g(e[0]))return f(n,e[0],s(e[1],-1));if(i(e[0]))return f(n,e[0].toArray(),s(e[1],-1))}else if(2===e.length){if(g(e[0]))return f(n,e[0],s(e[1],-1));if(i(e[0]))return f(n,e[0].toArray(),s(e[1],-1));if(a(e[0])){const a=await e[0].load(),i=await w(d.create(e[1],{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),r,t);return h(t,await e[0].calculateStatistic(n,i,s(e[2],1e3),t.abortSignal))}}else if(3===e.length&&a(e[0])){const a=await e[0].load(),i=await w(d.create(e[1],{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),r,t);return h(t,await e[0].calculateStatistic(n,i,s(e[2],1e3),t.abortSignal))}return f(n,e,-1)}function h(t,e){return m.isTimestampOffset(e)?n.fromReaderAsTimeStampOffset(e.toStorageFormat()):A(e)?n.dateJSAndZoneToArcadeDate(e,c(t)):l.isDateTime(e)?n.dateTimeToArcadeDate(e):e}async function w(n,t,e){const r=n.getVariables();if(r.length>0){const a={};for(const n of r)a[n]=t.evaluateIdentifier(e,{name:n});n.parameters=a}return n}function S(n){"async"===n.mode&&(n.functions.stdev=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("stdev",t,a,n))},n.functions.variance=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("variance",t,a,n))},n.functions.average=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("mean",t,a,n))},n.functions.mean=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("mean",t,a,n))},n.functions.sum=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("sum",t,a,n))},n.functions.min=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("min",t,a,n))},n.functions.max=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("max",t,a,n))},n.functions.count=function(t,s){return n.standardFunctionAsync(t,s,async(n,t,u)=>{if(r(u,1,1,s),null==u[0])return 0;if(a(u[0]))return u[0].count(n.abortSignal);if(g(u[0])||y(u[0]))return u[0].length;if(i(u[0]))return u[0].length();if(o(u[0]))return u[0].entryCount();throw new e("InvalidParameter",s)})},n.functions.isempty=function(i,o){return n.standardFunctionAsync(i,o,async(n,i,o)=>{if(r(o,1,2,i),o.length>=2&&!p(o[1]))throw new e("InvalidParameter",i);return s(o[1],!1)?a(o[0])?await o[0].isEmpty(n.abortSignal):t(o[0]):u(o[0])})})}export{S as registerFunctions};
|