@arcgis/core 5.1.0-next.73 → 5.1.0-next.75
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/Viewpoint.js +1 -1
- package/applications/Urban/editingSessionUtils.d.ts +95 -0
- package/applications/Urban/editingSessionUtils.js +2 -0
- package/arcade/ArcadePortal.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/functions/aiServices.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade/portalUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{d17fcfc502f0e0fa6523.js → 003476e950bd27a2f884.js} +1 -1
- package/assets/esri/core/workers/chunks/{8a664451845a47048859.js → 0539b5d015157c1d34a0.js} +1 -1
- package/assets/esri/core/workers/chunks/07aca5ecad659d55e795.js +2 -0
- package/assets/esri/core/workers/chunks/{5a4d7ba6dc1d4b41d80d.js → 07eff82916681fcff069.js} +1 -1
- package/assets/esri/core/workers/chunks/09630888267cde87654f.js +1 -0
- package/assets/esri/core/workers/chunks/{8a14e3db28c403b046cf.js → 0d2bc1be5802681666a4.js} +1 -1
- package/assets/esri/core/workers/chunks/0eed2b1b06355ab89013.js +1 -0
- package/assets/esri/core/workers/chunks/0fa207c68dfd7ddee160.js +1 -0
- package/assets/esri/core/workers/chunks/146424b5717d0a645ee1.js +1 -0
- package/assets/esri/core/workers/chunks/{cfe246adb5e6cb6f0cfc.js → 14eb2cc8e2ad6d8d03fd.js} +1 -1
- package/assets/esri/core/workers/chunks/1765dfeac20e34ce25b7.js +1 -0
- package/assets/esri/core/workers/chunks/176dd195f77b98cb0b0f.js +1 -0
- package/assets/esri/core/workers/chunks/18f77ee3552d92962f15.js +1 -0
- package/assets/esri/core/workers/chunks/1906416c84bab369bbd6.js +1 -0
- package/assets/esri/core/workers/chunks/1a87e9bbd85ba29b1514.js +1 -0
- package/assets/esri/core/workers/chunks/{b98c24229463029504e8.js → 1f6b7626f333809837ef.js} +1 -1
- package/assets/esri/core/workers/chunks/{b54b7cc6b23a70fed700.js → 1f8ccf96069ac3a40c3d.js} +1 -1
- package/assets/esri/core/workers/chunks/1ff3c15a51c4dc991806.js +1 -0
- package/assets/esri/core/workers/chunks/{cdf6ad970dc1893dac58.js → 24646a1176ce34039155.js} +1 -1
- package/assets/esri/core/workers/chunks/2a2e97918524e0f436d7.js +1 -0
- package/assets/esri/core/workers/chunks/2b0b398180ed98c2c84c.js +1 -0
- package/assets/esri/core/workers/chunks/{03894992558d063d0d5e.js → 312036c89a6a09bb06c2.js} +1 -1
- package/assets/esri/core/workers/chunks/{80ace1c7203c5059525d.js → 330b47ac0759c3c35cc5.js} +1 -1
- package/assets/esri/core/workers/chunks/34b6b5dd415c68f0b0d1.js +1 -0
- package/assets/esri/core/workers/chunks/{422824e407b550170c8c.js → 34ea3ed78041437a8fc8.js} +1 -1
- package/assets/esri/core/workers/chunks/{93ceb74ac88ef460fe5f.js → 359d3acb3953e64e5a78.js} +1 -1
- package/assets/esri/core/workers/chunks/384c235d36f32769e32b.js +1 -0
- package/assets/esri/core/workers/chunks/3a183259805638c25363.js +1 -0
- package/assets/esri/core/workers/chunks/{0839da55707f7c4cf780.js → 3b9100c59a8050f4834e.js} +1 -1
- package/assets/esri/core/workers/chunks/{deaca3cd202851ecf9c2.js → 3cce9dad8ee0e4971d50.js} +1 -1
- package/assets/esri/core/workers/chunks/3efbb684c0409955186d.js +1 -0
- package/assets/esri/core/workers/chunks/40d251b6b42a41d68bd2.js +1 -0
- package/assets/esri/core/workers/chunks/42336e0d1ef88737b078.js +1 -0
- package/assets/esri/core/workers/chunks/452c01cecbbd1e370098.js +1 -0
- package/assets/esri/core/workers/chunks/47656ec12401e53f4bd3.js +1 -0
- package/assets/esri/core/workers/chunks/47b3a5213539548ff3a6.js +1 -0
- package/assets/esri/core/workers/chunks/{260d4571722cb1ff1366.js → 484d6c1b0fe1633515b7.js} +1 -1
- package/assets/esri/core/workers/chunks/4a23b27bfbcfa08fd9a7.js +1 -0
- package/assets/esri/core/workers/chunks/4c97cc922eece3a91b6b.js +1 -0
- package/assets/esri/core/workers/chunks/52b3a11c962810bc6dbe.js +1 -0
- package/assets/esri/core/workers/chunks/53750e85f3128993a43a.js +1 -0
- package/assets/esri/core/workers/chunks/{f207b3be0714cc50030a.js → 537fe2522dff1e6ce03b.js} +1 -1
- package/assets/esri/core/workers/chunks/{656d6963e8f837fbf28f.js → 54023458195549f66215.js} +1 -1
- package/assets/esri/core/workers/chunks/55fd201ca5e10c6e4761.js +1 -0
- package/assets/esri/core/workers/chunks/56941e8bbd2d49bf2656.js +1 -0
- package/assets/esri/core/workers/chunks/{faad127dc07e54e7f6d1.js → 5abe34bb0110694f7b42.js} +1 -1
- package/assets/esri/core/workers/chunks/5d8e944b192aad4cf986.js +1 -0
- package/assets/esri/core/workers/chunks/{a78bc340a794fd332667.js → 5e1b847b116d21908a54.js} +1 -1
- package/assets/esri/core/workers/chunks/5ed8d8b5336c81fbcda3.js +1 -0
- package/assets/esri/core/workers/chunks/60915a3708a34da1977e.js +1 -0
- package/assets/esri/core/workers/chunks/6124141ac642e4ce1454.js +1 -0
- package/assets/esri/core/workers/chunks/61c523dd9d8027922465.js +1 -0
- package/assets/esri/core/workers/chunks/65c61171e6c6be5c5c2f.js +1 -0
- package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +1 -0
- package/assets/esri/core/workers/chunks/{b6cadb8a579241adcb86.js → 6b66fc32451433129a88.js} +1 -1
- package/assets/esri/core/workers/chunks/6c35583707f5c339ee99.js +1 -0
- package/assets/esri/core/workers/chunks/6f7aaba26773fe416ac2.js +1 -0
- package/assets/esri/core/workers/chunks/702e8468836863abd81b.js +1 -0
- package/assets/esri/core/workers/chunks/7540f7df86620f067b5a.js +1 -0
- package/assets/esri/core/workers/chunks/{9f4b97204def91567e3c.js → 7595ceba529ed01c7590.js} +1 -1
- package/assets/esri/core/workers/chunks/75d5ea0da181f9e7425f.js +1312 -0
- package/assets/esri/core/workers/chunks/{af75e91b88e747aa76ac.js → 7601278ebced0c0c31cf.js} +1 -1
- package/assets/esri/core/workers/chunks/76e34f81bb4a7b0e694c.js +1 -0
- package/assets/esri/core/workers/chunks/{1661684357912726a72a.js → 77dd719516138afb1a2a.js} +1 -1
- package/assets/esri/core/workers/chunks/7b6c8be59ed87e386aa4.js +1 -0
- package/assets/esri/core/workers/chunks/7c820c5f6f05480d5050.js +1 -0
- package/assets/esri/core/workers/chunks/{ce2aa75e084ee56f5e29.js → 7f55eef696e9ed717bfc.js} +1 -1
- package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +1 -0
- package/assets/esri/core/workers/chunks/852f4cd514008fee5a55.js +1 -0
- package/assets/esri/core/workers/chunks/85aac8539996372f1ee8.js +1 -0
- package/assets/esri/core/workers/chunks/{50d5d6654ada9f28345d.js → 85e65ced3312bf9cf162.js} +1 -1
- package/assets/esri/core/workers/chunks/8a3bff0f58483c1665f9.js +1 -0
- package/assets/esri/core/workers/chunks/8b046e28f879079caada.js +1 -0
- package/assets/esri/core/workers/chunks/8d738e9acc2f222235ea.js +1 -0
- package/assets/esri/core/workers/chunks/{b9848bdbaf3d9ac93d54.js → 8f4cd30ce23e41c1a42c.js} +1 -1
- package/assets/esri/core/workers/chunks/9103eb0b9078019d3a26.js +1 -0
- package/assets/esri/core/workers/chunks/915e2711d3a2cfa402b2.js +1 -0
- package/assets/esri/core/workers/chunks/91f9e0e3662d4bf9f163.js +1 -0
- package/assets/esri/core/workers/chunks/983f6c8727fd9484718e.js +1 -0
- package/assets/esri/core/workers/chunks/99c161fecae710b53b40.js +1 -0
- package/assets/esri/core/workers/chunks/99d298d0039c536fcf3e.js +1 -0
- package/assets/esri/core/workers/chunks/9a5ef33d99a8f89956ff.js +1 -0
- package/assets/esri/core/workers/chunks/9d10db72e342fe63c981.js +1 -0
- package/assets/esri/core/workers/chunks/{bef27a25fbc4a6e19ec0.js → 9d6491f996eeb0c646ed.js} +1 -1
- package/assets/esri/core/workers/chunks/a015c2f54eb91e43a1f4.js +1 -0
- package/assets/esri/core/workers/chunks/a242ec19a7508de436da.js +1 -0
- package/assets/esri/core/workers/chunks/a320998f18922a35899f.js +1 -0
- package/assets/esri/core/workers/chunks/a7f9f478bd1493fc3c76.js +1 -0
- package/assets/esri/core/workers/chunks/aac6a57edd7494125204.js +1 -0
- package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +1 -0
- package/assets/esri/core/workers/chunks/b7af0e6b9aadbcaf6a0b.js +1 -0
- package/assets/esri/core/workers/chunks/b803e7b0d489bb628d72.js +1 -0
- package/assets/esri/core/workers/chunks/b858adff7043683fe41c.js +1 -0
- package/assets/esri/core/workers/chunks/baeb96aef03d4c566af7.js +1 -0
- package/assets/esri/core/workers/chunks/bc75ab48f4c7609ef09d.js +1 -0
- package/assets/esri/core/workers/chunks/bc78937986854e500b8e.js +1 -0
- package/assets/esri/core/workers/chunks/{6ef3b8d67b498d655a99.js → bcb021a167580bb1619f.js} +1 -1
- package/assets/esri/core/workers/chunks/bd10d21545bca9a49de0.js +1 -0
- package/assets/esri/core/workers/chunks/bec3ee5ea945e1e07a35.js +1 -0
- package/assets/esri/core/workers/chunks/{5c663d5f98bdfa29151b.js → bf8f603848bad4a7deb4.js} +1 -1
- package/assets/esri/core/workers/chunks/bfe575da727ce7c8d331.js +2 -0
- package/assets/esri/core/workers/chunks/c31ee5617c61a933cb0e.js +1 -0
- package/assets/esri/core/workers/chunks/cb45e5d4a4ef82cda583.js +1 -0
- package/assets/esri/core/workers/chunks/ce7ef7c4ca14d66d96f6.js +1 -0
- package/assets/esri/core/workers/chunks/{f5c57ff48ca505ed701d.js → cf14b3a44705dacefac4.js} +1 -1
- package/assets/esri/core/workers/chunks/d1a7d13e1d48abcd7bf1.js +1 -0
- package/assets/esri/core/workers/chunks/{06df187a116709f69952.js → d35c475f004367e333eb.js} +1 -1
- package/assets/esri/core/workers/chunks/d3b086eb9aa8c7d09048.js +1 -0
- package/assets/esri/core/workers/chunks/d55cef8199b8246fea3f.js +1 -0
- package/assets/esri/core/workers/chunks/d82da31dc702b8fd6a07.js +1 -0
- package/assets/esri/core/workers/chunks/d8decaee2c780e1b5e35.js +1 -0
- package/assets/esri/core/workers/chunks/{41809c16544ec25120fa.js → d95ffd990b3a7df69e1e.js} +1 -1
- package/assets/esri/core/workers/chunks/dc54d4a9fe1691862356.js +1 -0
- package/assets/esri/core/workers/chunks/dd4f431511edd975a53b.js +1 -0
- package/assets/esri/core/workers/chunks/dda2cb5c073d1e65f14f.js +1 -0
- package/assets/esri/core/workers/chunks/e18badd11f360cc2912b.js +1 -0
- package/assets/esri/core/workers/chunks/{e25a684eb9f025bdcc01.js → e262c4864dc06c43b380.js} +1 -1
- package/assets/esri/core/workers/chunks/e610d24539a675fb054b.js +1 -0
- package/assets/esri/core/workers/chunks/{99101789035f1787c630.js → e785f76c1a75cb1d1e1f.js} +1 -1
- package/assets/esri/core/workers/chunks/e9c5c295b6bf10e942a4.js +1 -0
- package/assets/esri/core/workers/chunks/ea59b81299acaf0d85ee.js +1 -0
- package/assets/esri/core/workers/chunks/{873c1b705ac3d4e6c384.js → ea97619a4470f1540b99.js} +1 -1
- package/assets/esri/core/workers/chunks/eaab5ac049622986e3bc.js +1 -0
- package/assets/esri/core/workers/chunks/edee616b6f1b5be8fd39.js +1 -0
- package/assets/esri/core/workers/chunks/ef0085aa743b33cb549f.js +1 -0
- package/assets/esri/core/workers/chunks/f0250cecb243b32cdba7.js +1 -0
- package/assets/esri/core/workers/chunks/f518835b2dc89a48cfb1.js +1 -0
- package/assets/esri/core/workers/chunks/f590b60fca607d66001a.js +1 -0
- package/assets/esri/core/workers/chunks/{f6d047358d14328f3622.js → f60292d97bcdbf19165b.js} +1 -1
- package/assets/esri/core/workers/chunks/f6c8e93ca2987e83f925.js +1 -0
- package/assets/esri/core/workers/chunks/fb5a2205f05afc396119.js +1 -0
- package/assets/esri/themes/base/widgets/_Sketch.scss +32 -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/widgets/Directions/t9n/Directions_ja.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_en.json +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/SpatialReference.js +1 -1
- package/chunks/aiServices.js +1 -1
- package/chunks/geometryEngineBase.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/core/has.js +1 -1
- package/core/workers/registry.js +1 -1
- package/form/elements/AttachmentElement.d.ts +15 -16
- package/form/elements/FieldElement.js +1 -1
- package/form/elements/GroupElement.d.ts +3 -2
- package/form/elements/inputs/attachments/AttachmentInput.d.ts +7 -9
- package/form/elements/inputs/attachments/AudioInput.d.ts +6 -8
- package/form/elements/inputs/attachments/DocumentInput.d.ts +5 -7
- package/form/elements/inputs/attachments/ImageInput.d.ts +6 -8
- package/form/elements/inputs/attachments/Input.d.ts +2 -6
- package/form/elements/inputs/attachments/SignatureInput.d.ts +5 -7
- package/form/elements/inputs/attachments/VideoInput.d.ts +6 -8
- package/form/elements/inputs/attachments/types.d.ts +3 -3
- package/geometry/FlatGeometry.js +1 -1
- package/geometry/geometryEngine.js +1 -1
- package/geometry/geometryEngineJSON.js +1 -1
- package/geometry/operators/projectOperator.d.ts +5 -4
- package/geometry/operators/projectOperator.js +1 -1
- package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
- package/geometry/support/normalizeUtils.js +1 -1
- package/geometry/support/normalizeUtilsCommon.js +1 -1
- package/graphic/ImageryGraphicOrigin.js +1 -1
- package/graphic/ImageryTileGraphicOrigin.js +1 -1
- package/graphic/WCSGraphicOrigin.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/kernel.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/IntegratedMeshLayer.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/support/SymbolLayerDrawing.d.ts +18 -4
- package/package.json +4 -4
- package/popup/Features.d.ts +9 -9
- package/popup/Features.js +1 -1
- package/popup/actionUtils.js +1 -1
- package/popup/actions.js +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalQueryParams.js +1 -1
- package/rest/print.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/support/previewCIMSymbol.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/Dimension/DimensionController.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/camera/intersectionUtils.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/PinchAndPanNavigation.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/state/GoToOperation.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
- package/views/3d/support/cameraScaleUtils.js +2 -0
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/renderInfoUtils/line.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +13 -12
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl.js +1 -1
- package/views/SceneView.d.ts +1 -0
- package/views/VideoView.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/editingSessionUtils.js +2 -0
- package/views/draw/support/managers/MeasurementManager.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +9 -1
- package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
- package/views/support/GeometryWorker.js +2 -0
- package/views/support/GeometryWorkerHandle.js +2 -0
- package/views/support/Scheduler.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
- package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -3
- package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -11
- package/widgets/FeatureTable/support/types.d.ts +2 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.d.ts +28 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
- package/widgets/OrientedImageryViewer.d.ts +27 -0
- package/widgets/Sketch/SketchViewModel.d.ts +10 -2
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/MeasuredContentGroup.js +1 -1
- package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/assets/esri/core/workers/chunks/00bae4b7e179336e0362.js +0 -1
- package/assets/esri/core/workers/chunks/027c3ea756db68e51f0a.js +0 -1
- package/assets/esri/core/workers/chunks/041c372e98a6fba90b36.js +0 -1
- package/assets/esri/core/workers/chunks/0783890816bac45277b9.js +0 -1
- package/assets/esri/core/workers/chunks/07aac6245a0d1adbb2d4.js +0 -1
- package/assets/esri/core/workers/chunks/0c00e5e4bd18467bcecd.js +0 -1
- package/assets/esri/core/workers/chunks/0dad0bca8d58b2c63d22.js +0 -1
- package/assets/esri/core/workers/chunks/0ef93722524620023f69.js +0 -1
- package/assets/esri/core/workers/chunks/1286f41f245ef22b3a26.js +0 -1
- package/assets/esri/core/workers/chunks/12e575a6d2b008b8fc2b.js +0 -1
- package/assets/esri/core/workers/chunks/161d60fdac2013c15543.js +0 -1
- package/assets/esri/core/workers/chunks/168de44a789d1cecc1f8.js +0 -1
- package/assets/esri/core/workers/chunks/1d9d7915cf7449e5d468.js +0 -1
- package/assets/esri/core/workers/chunks/235cb82952a18ff8d206.js +0 -1
- package/assets/esri/core/workers/chunks/266ba61b72a278d93a26.js +0 -1
- package/assets/esri/core/workers/chunks/27b80c386cebadcaca3c.js +0 -1
- package/assets/esri/core/workers/chunks/29d3890a5a43d934067a.js +0 -1
- package/assets/esri/core/workers/chunks/29e76256e3e867e80520.js +0 -1
- package/assets/esri/core/workers/chunks/2abf124e2956e4f76688.js +0 -1
- package/assets/esri/core/workers/chunks/2f17438d215bea3ce70f.js +0 -1
- package/assets/esri/core/workers/chunks/30f04dc001eaf838d64c.js +0 -1
- package/assets/esri/core/workers/chunks/356cb86606b8c674f947.js +0 -1
- package/assets/esri/core/workers/chunks/398e0dd2bc7e1ab84831.js +0 -1
- package/assets/esri/core/workers/chunks/3b1052aa30af3f6186cc.js +0 -1
- package/assets/esri/core/workers/chunks/3e87e3ad857d72f6ecbb.js +0 -1
- package/assets/esri/core/workers/chunks/42e483fde18f12da32a6.js +0 -1
- package/assets/esri/core/workers/chunks/43678e08a3d9d51c2a6d.js +0 -1
- package/assets/esri/core/workers/chunks/43ab44d37bc0ea97ef98.js +0 -1
- package/assets/esri/core/workers/chunks/47f2113357b2aa4f4f37.js +0 -1
- package/assets/esri/core/workers/chunks/488ed9584b527ec47be3.js +0 -1
- package/assets/esri/core/workers/chunks/4ad32580e0c0699fde1f.js +0 -1
- package/assets/esri/core/workers/chunks/54ed37ec9682ea739deb.js +0 -1
- package/assets/esri/core/workers/chunks/55369c5bd65bcaf78da1.js +0 -1
- package/assets/esri/core/workers/chunks/56fd3da911c2c4511e5d.js +0 -1
- package/assets/esri/core/workers/chunks/59592bb25f226865e88a.js +0 -1
- package/assets/esri/core/workers/chunks/5a83ea967ecde01d5622.js +0 -1
- package/assets/esri/core/workers/chunks/5b278b9980752ef495a2.js +0 -1
- package/assets/esri/core/workers/chunks/5d55b4449bcb24cd72b6.js +0 -1
- package/assets/esri/core/workers/chunks/5d8fe41a3c06ddb4094b.js +0 -1
- package/assets/esri/core/workers/chunks/5e59ff96aecdf2adcb3b.js +0 -1
- package/assets/esri/core/workers/chunks/608d707fd9d9f9088473.js +0 -1
- package/assets/esri/core/workers/chunks/6a21c9a4aeebe806ea39.js +0 -1
- package/assets/esri/core/workers/chunks/6c7ff968bd4fc816442d.js +0 -1
- package/assets/esri/core/workers/chunks/6d11ec355e5474b2968b.js +0 -1
- package/assets/esri/core/workers/chunks/6ea8b0d68881d16a2432.js +0 -1
- package/assets/esri/core/workers/chunks/7027d93dc5a4595d70c6.js +0 -1
- package/assets/esri/core/workers/chunks/70b35b2446558d5280e3.js +0 -1
- package/assets/esri/core/workers/chunks/7349cb45a93e6916f115.js +0 -1
- package/assets/esri/core/workers/chunks/74be994d789c57031631.js +0 -1
- package/assets/esri/core/workers/chunks/76edaeaf8fe344bb77a8.js +0 -1
- package/assets/esri/core/workers/chunks/76fe5b821d6b54db5721.js +0 -1
- package/assets/esri/core/workers/chunks/770880ad43f252962017.js +0 -1
- package/assets/esri/core/workers/chunks/7951d93f5f15aa76f49c.js +0 -1
- package/assets/esri/core/workers/chunks/7a56c836c89a8b978800.js +0 -1
- package/assets/esri/core/workers/chunks/81750c5177d8d52a3e05.js +0 -1
- package/assets/esri/core/workers/chunks/81d30c9062ad0120a863.js +0 -1
- package/assets/esri/core/workers/chunks/84772b023d04e415f17f.js +0 -1
- package/assets/esri/core/workers/chunks/88c5f7c712c6b89b5109.js +0 -1
- package/assets/esri/core/workers/chunks/88e469b82d2594f23649.js +0 -1
- package/assets/esri/core/workers/chunks/8a8242e7cc7e6a9e7876.js +0 -1
- package/assets/esri/core/workers/chunks/9444ed8ea117861ae89b.js +0 -1
- package/assets/esri/core/workers/chunks/9a38fd68b02b617c45d3.js +0 -1
- package/assets/esri/core/workers/chunks/9eb4ae556950e1d0124d.js +0 -2
- package/assets/esri/core/workers/chunks/a11f05ddd8314b648f76.js +0 -1
- package/assets/esri/core/workers/chunks/a37c28e3c4a2be9fd1d5.js +0 -1
- package/assets/esri/core/workers/chunks/a8d7f59927bdad564141.js +0 -1
- package/assets/esri/core/workers/chunks/a94bd20551c1179c7ec5.js +0 -1
- package/assets/esri/core/workers/chunks/abe22ae8ee0dcc9efbb7.js +0 -1
- package/assets/esri/core/workers/chunks/af5db0372d526e592fcc.js +0 -1
- package/assets/esri/core/workers/chunks/b702279c48f3009f6dd8.js +0 -1
- package/assets/esri/core/workers/chunks/bc53ce9a643f82d516c2.js +0 -1
- package/assets/esri/core/workers/chunks/bc887bd62579dba81e2b.js +0 -1
- package/assets/esri/core/workers/chunks/be1d6a571f76933dfbb0.js +0 -1
- package/assets/esri/core/workers/chunks/bfcdc5c315131aae34d8.js +0 -1
- package/assets/esri/core/workers/chunks/c0f624a2ca0d07ef8f8c.js +0 -1
- package/assets/esri/core/workers/chunks/c327fe276238af60fda4.js +0 -1
- package/assets/esri/core/workers/chunks/c3381b9a36299210ee47.js +0 -1
- package/assets/esri/core/workers/chunks/cb5e4b9b4a59c2622eb5.js +0 -1
- package/assets/esri/core/workers/chunks/d201a5dff18a5bb467ab.js +0 -1
- package/assets/esri/core/workers/chunks/d21fdd67477800101f3b.js +0 -1
- package/assets/esri/core/workers/chunks/d65b1234867f7d773d50.js +0 -2
- package/assets/esri/core/workers/chunks/d8d7331600d93bbca2b4.js +0 -1
- package/assets/esri/core/workers/chunks/db588bf3256e95c977b7.js +0 -1
- package/assets/esri/core/workers/chunks/dfdd474fddcd1d6091ce.js +0 -1
- package/assets/esri/core/workers/chunks/e1bc9ad767e08dc18bbc.js +0 -1
- package/assets/esri/core/workers/chunks/e235ea4293d5d463acfb.js +0 -1
- package/assets/esri/core/workers/chunks/e272411e2c9378aa8496.js +0 -1312
- package/assets/esri/core/workers/chunks/e43486113aaf72ac4dc1.js +0 -1
- package/assets/esri/core/workers/chunks/ea4c3393c5757e309a71.js +0 -1
- package/assets/esri/core/workers/chunks/ed216ddeb7f59f510bd0.js +0 -1
- package/assets/esri/core/workers/chunks/ef8886dff54063928bcb.js +0 -1
- package/assets/esri/core/workers/chunks/f43a63094190d2074cd0.js +0 -1
- package/assets/esri/core/workers/chunks/f5223ffb3be548c9b0a1.js +0 -1
- package/assets/esri/core/workers/chunks/fa160a2a5dc9f5a7c34b.js +0 -1
- package/geometry/support/triangulationUtilsDeprecated.js +0 -2
- package/views/3d/layers/graphics/extrudeUtilsDeprecated.js +0 -2
- package/views/3d/support/renderInfoUtils/polygonDeprecated.js +0 -2
- package/views/support/MeasurementWorker.js +0 -2
- package/views/support/MeasurementWorkerHandle.js +0 -2
- /package/assets/esri/core/workers/chunks/{9eb4ae556950e1d0124d.js.LICENSE.txt → 07aca5ecad659d55e795.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{d65b1234867f7d773d50.js.LICENSE.txt → bfe575da727ce7c8d331.js.LICENSE.txt} +0 -0
package/Viewpoint.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as
|
|
2
|
+
import{__decorate as t}from"tslib";import e from"./Camera.js";import{JSONSupport as r}from"./core/JSONSupport.js";import{property as o,cast as i,subclass as s}from"./core/accessorSupport/decorators.js";import{fromJSON as a}from"./geometry/support/jsonUtils.js";import{geometryTypes as n}from"./geometry/support/typeUtils.js";var p;let l=p=class extends r{constructor(t){super(t),this.rotation=0,this.scale=0,this.targetGeometry=null,this.camera=null}castRotation(t){return(t%=360)<0&&(t+=360),t}clone(){return new p({rotation:this.rotation,scale:this.scale,targetGeometry:null!=this.targetGeometry?this.targetGeometry.clone():null,camera:null!=this.camera?this.camera.clone():null})}};t([o({type:Number,json:{write:!0,origins:{"web-map":{default:0,write:!0},"web-scene":{write:{overridePolicy:m}}}}})],l.prototype,"rotation",void 0),t([i("rotation")],l.prototype,"castRotation",null),t([o({type:Number,json:{write:!0,default:0}})],l.prototype,"scale",void 0),t([o({types:n,json:{read:a,write:!0,origins:{"web-scene":{read:a,write:{overridePolicy:m}}}}})],l.prototype,"targetGeometry",void 0),t([o({type:e,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}})],l.prototype,"camera",void 0),l=p=t([s("esri.Viewpoint")],l);const c=l;function m(){return{enabled:!this.camera}}export{c as default};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type Graphic from "../../Graphic.js";
|
|
2
|
+
import type GraphicsLayer from "../../layers/GraphicsLayer.js";
|
|
3
|
+
import type { AbortOptions } from "../../core/promiseUtils.js";
|
|
4
|
+
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Options used by [openEditingSession()](https://developers.arcgis.com/javascript/latest/references/core/applications/Urban/editingSessionUtils/#openEditingSession).
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export interface OpenEditingSessionOptions extends AbortOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Temporary graphics layer where the editing graphic will be displayed during the session.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
graphicsLayer: GraphicsLayer;
|
|
19
|
+
/**
|
|
20
|
+
* Graphic to edit in the session.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
graphic: Graphic;
|
|
25
|
+
/**
|
|
26
|
+
* View where the editing session is opened.
|
|
27
|
+
*
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
view: MapViewOrSceneView;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Handle returned by [openEditingSession()](https://developers.arcgis.com/javascript/latest/references/core/applications/Urban/editingSessionUtils/#openEditingSession).
|
|
35
|
+
*
|
|
36
|
+
* Includes the queried editing graphic and disposal helpers that restore
|
|
37
|
+
* source feature visibility.
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export interface EditingSession extends AsyncDisposable {
|
|
43
|
+
/**
|
|
44
|
+
* Fully queried graphic used during the editing session.
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
graphic: Graphic;
|
|
49
|
+
/**
|
|
50
|
+
* Closes the editing session and waits for the view to settle.
|
|
51
|
+
*
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
remove(): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Closes the editing session and waits for the view to settle when used with `await using`.
|
|
57
|
+
*
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Opens a temporary editing session for a feature graphic.
|
|
65
|
+
*
|
|
66
|
+
* The function queries the full feature by object ID, updates the symbol to
|
|
67
|
+
* match current display conditions, and swaps visibility so edits are shown on
|
|
68
|
+
* a temporary graphic in `graphicsLayer`.
|
|
69
|
+
*
|
|
70
|
+
* @param options - Options for opening the editing session.
|
|
71
|
+
* @returns A session handle with the editing graphic and cleanup methods.
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* const session = await openEditingSession({
|
|
75
|
+
* graphicsLayer,
|
|
76
|
+
* graphic,
|
|
77
|
+
* view,
|
|
78
|
+
* signal,
|
|
79
|
+
* });
|
|
80
|
+
*
|
|
81
|
+
* try {
|
|
82
|
+
* editHandles.attach(session.graphic);
|
|
83
|
+
* } finally {
|
|
84
|
+
* await session.remove();
|
|
85
|
+
* }
|
|
86
|
+
* ```
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* // The session has a `Symbol.asyncDispose` method that can be used with `await using` to ensure proper cleanup.
|
|
90
|
+
* await using session = await openEditingSession({ graphicsLayer, graphic: partialGraphic, view });
|
|
91
|
+
* ```
|
|
92
|
+
* @internal
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
export function openEditingSession(options: OpenEditingSessionOptions): Promise<EditingSession>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import e from"../../core/Error.js";import{throwIfAborted as o}from"../../core/promiseUtils.js";import{fetchFullFeaturesByObjectId as i,updateGraphicSymbolWhenRequired as s,swapForEditingSession as t}from"../../views/draw/support/editingSessionUtils.js";async function n(n){const{graphicsLayer:a,graphic:c,signal:p,view:d}=n,u=c.sourceLayer;if(!r(u))throw new e("editing-session:unsupported-layer","The graphic source layer does not support editing sessions.");const l=c.getObjectId();if(null==l)throw new e("editing-session:missing-object-id","The graphic does not have an object id and cannot be used for an editing session.");const g=await i([l],u,d.spatialReference,p);if(o(n),1!==g.length)throw new e("editing-session:feature-not-found","Unable to resolve exactly one feature for the provided graphic.");const f=g[0],h="2d"===d.type?d.scale:null;await s(f,void 0,h,p),o(n);const w=await t(a,d,c,f,p),y=()=>w.remove();return{graphic:f,remove:y,[Symbol.asyncDispose]:y}}function r(e){return null!=e&&"object"==typeof e&&"createQuery"in e&&"queryFeatures"in e}export{n as openEditingSession};
|
package/arcade/ArcadePortal.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import
|
|
2
|
+
import t from"./Dictionary.js";class e extends t{constructor(t){super(),this.declaredClass="esri.arcade.Portal",this.immutable=!1,this.setField("url",t),this.immutable=!0}get url(){return this.field("url")}}export{e as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{id as e}from"../../../kernel.js";import t from"../../../request.js";import{neverAbortedSignal as r}from"../../arcadeEnvironment.js";import i from"../../Attachment.js";import a from"../../Dictionary.js";import{throwIfCancelled as s,FeatureSetError as l}from"../support/errorsupport.js";import{RootFeatureSet as n,emptyFeaturesResult as o,assignSpatialReferenceOnFeatures as u}from"../support/FeatureSet.js";import{defaultMaxRecords as c,stableStringify as h,extractServiceUrl as d}from"../support/shared.js";import{toWhereClause as y,isSingleField as p}from"../support/sqlUtils.js";import{decodeStatType as _}from"../support/stats.js";import{splitIntoChunks as m,sliceEquals as f}from"../../../core/arrayUtils.js";import{createMD5Hash as F,outputTypes as w}from"../../../core/MD5.js";import{sqlAnd as S}from"../../../core/sql.js";import g from"../../../core/sql/WhereClause.js";import b from"../../../layers/FeatureLayer.js";import{toQueryStringParameters as R}from"../../../rest/query/operations/queryRelatedRecords.js";import I from"../../../rest/support/AttachmentQuery.js";import T from"../../../rest/support/Query.js";import q from"../../../rest/support/StatisticDefinition.js";function Q(e){if(0===e.length)throw new l("NeverReach");const t=[];for(let i=0;i<e.length;i++){const r=e[i],a=[`"${r.name.replaceAll('"','""')}" ${r.asc?">":"<"} @last_${i}`];for(let t=0;t<i;t++){const r=e[t];a.push(`"${r.name.replaceAll('"','""')}" = @last_${t}`)}t.push(a.join(" AND "))}const r=t.join(" OR ");return g.create(r)}function v(e,t){null==e.clause&&(e.clause=Q(e.keyFields));for(let r=0;r<e.keyFields.length;r++){const i=e.keyFields[r].name;e.clause.parameters[`last_${r}`]=t.attributes[i]}}class x extends n{constructor(e){super(),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerDynamic",this._removeGeometry=!1,this._overrideFields=null,this._requestStandardised=!1,this._useDefinitionExpression=!0,this._recentlyUsedQueries=null,this._featureSetQueryInterceptor=null,this._featureSetInfo=null,this._maxProcessing=1e3,this._layer=e.layer,e.spatialReference&&(this.spatialReference=e.spatialReference),void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry),e.lrucache&&(this._recentlyUsedQueries=e.lrucache),e.interceptor&&(this._featureSetQueryInterceptor=e.interceptor)}_maxQueryRate(){return c}get urlQueryPath(){return this._layer.parsedUrl.path||""}convertQueryToLruCacheKey(e){const t=this.urlQueryPath+","+h(e.toJSON());return F(t,w.String)}async loadImpl(){return!0===this._layer.loaded?(this._initialiseFeatureSet(),this):(await this._layer.load(),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){if(this.spatialReference??=this._layer.spatialReference,this.geometryType=this._layer.geometryType??"",this.fields=this._layer.fields.slice(),this.hasZ=!0===this._layer.capabilities?.data?.supportsZ,this.hasM=!0===this._layer.capabilities?.data?.supportsM,null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=new Set(this._overrideFields.map(e=>e.toLowerCase()));this.fields=this.fields.filter(({type:t,name:r})=>"oid"===t||e.has(r.toLowerCase())),this._overrideFields=this.fields.map(({name:e})=>e)}if(this._layer.source&&this._layer.source.sourceJSON){const e=this._layer.source.sourceJSON.currentVersion;!0===this._layer.source.sourceJSON.useStandardizedQueries?(this._databaseType=1,null!=e&&e>=10.61&&(this._databaseType=0)):null!=e&&(e>=10.5&&(this._databaseType=1,this._requestStandardised=!0),e>=10.61&&(this._databaseType=0))}this.objectIdField=this._layer.objectIdField;for(const e of this.fields)"global-id"===e.type&&(this.globalIdField=e.name);this.subtypeField=this._layer.subtypeField??"",this.subtypes=this._layer.subtypes,this.typeIdField=("typeIdField"in this._layer?this._layer.typeIdField:null)??"",this.types="types"in this._layer?this._layer.types:null}async _runDatabaseProbe(e){await this._ensureLoaded();const t=new T;this.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t.where=e.replace("OBJECTID",this._layer.objectIdField);try{return await this._layer.queryObjectIds(t),!0}catch{return!1}}_canUsePagination(){return!(!this._layer.capabilities||!this._layer.capabilities.query||!0!==this._layer.capabilities.query.supportsPagination)}_cacheableFeatureSetSourceKey(){return this._layer.url}get gdbVersion(){return this._layer&&this._layer.capabilities&&this._layer.capabilities.data&&this._layer.capabilities.data.isVersioned?this._layer.gdbVersion||"SDE.DEFAULT":""}nativeCapabilities(){return{title:this._layer.title??"",source:this,canQueryRelated:!0,capabilities:this._layer.capabilities,databaseType:this._databaseType,requestStandardised:this._requestStandardised}}async _queryAll(){return(await this.query({abortSignal:r})).features}async query(e){return await this._ensureLoaded(),this.isTable()&&null!=e.spatialFilter?o:this._canUsePagination()?this._queryUsingPaging(e):this._queryUsingIdSetTraversal(e)}async _queryUsingPaging(e){const t=this._layer.capabilities.query;let r=!0,i=null,a=!1;null!=e.orderBy&&(t.supportsOrderBy?(i=e.orderBy.toOrderByFields(),a=!0):r=!1);const s=await this.databaseType(),l=null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,s),n=!0!==this._removeGeometry,o=this._overrideFields??this._fieldsIncludingObjectId(["*"]),u=(this.isTable()||!n?t.standardMaxRecordCountNoGeometry:void 0)??t.standardMaxRecordCount??t.maxRecordCount??this._maxQueryRate(),c=this._createQuery();return c.where=S(c.where,l),null!=e.spatialFilter&&(c.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),c.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),c.geometry=e.spatialFilter.geometry),c.orderByFields=i,c.outFields=o,c.returnGeometry=n,c.outSpatialReference=this.spatialReference,c.resultType="standard",{ordered:a,filterApplied:!0,spatialFilterApplied:!0,features:this._queryPaginated(c,u,r?e.limit:null,e.abortSignal)}}async*_queryPaginated(e,t,r,i){let a;e.num=null!=r?Math.min(r,t):t,e.start=0;do{s(i),a=await this.executeQuery(e,"execute"),yield*m(a.features,this._maxQueryRate()),e.start+=a.features.length,e.num=null!=r?Math.min(r-e.start,t):t}while(e.num>0&&!0===a.exceededTransferLimit)}async _queryUsingIdSetTraversal(e){let t=!0,r=null,i=!1;null!=e.orderBy&&(this._layer.capabilities?.query?.supportsOrderBy?(r=e.orderBy.toOrderByFields(),i=!0):t=!1);const a=await this.databaseType(),l=null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,a),n=this._createQuery();n.where=S(n.where,l),null!=e.spatialFilter&&(n.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),n.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),n.geometry=e.spatialFilter.geometry),n.orderByFields=r,n.outSpatialReference=this.spatialReference,n.num=t?e.limit:null;const u=await this.executeQuery(n,"executeForIds");if(s(e.abortSignal),null==u||u.length<=0)return o;let c=this._maxQueryRate();const h=this._layer.capabilities?.query.maxRecordCount;null!=h&&h<c&&(c=h);const d=this._createQuery();return n.outFields=this._overrideFields??this._fieldsIncludingObjectId(["*"]),n.returnGeometry=!0!==this._removeGeometry,n.outSpatialReference=this.spatialReference,{ordered:i,filterApplied:!0,spatialFilterApplied:!0,features:this._traverseIdSet(d,u,c,e.abortSignal)}}async*_traverseIdSet(e,t,r,i){for(let a=0;a<t.length;a+=r){e.objectIds=t.slice(a,a+r),s(i);const l=await this.executeQuery(e,"execute");yield l.features}}async queryStat(e){await this._ensureLoaded();const t=this._layer.capabilities?.query,r=!!t?.supportsSqlExpression,i=!!t?.supportsStatistics,a=!!t?.supportsDistinct,s=_(e.stat);if("count"===s)return a?this._queryCount(e):{calculated:!1};const n=e.field;if(null==n)return{calculated:!1};if(!1===i||!1===p(n)&&!1===r||!1===n.isStandardized)return null!=e.spatialFilter||null!=e.where?{calculated:!1}:this._manualStat(e.stat,n,e.limit??c,e.abortSignal);if("distinct"===s)return!1===a?null!=e.spatialFilter||null!=e.where?{calculated:!1}:this._manualStat(s,n,e.limit??c,e.abortSignal):{calculated:!1};const o=await this.databaseType();if(this.isTable()&&null!=e.spatialFilter)return{calculated:!0,result:null};const u=this._createQuery();u.where=S(u.where,null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,o)),null!=e.spatialFilter&&(u.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),u.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),u.geometry=e.spatialFilter.geometry);const h=new q;h.statisticType=s,h.onStatisticField=y(n,o),h.outStatisticFieldName="ARCADE_STAT_RESULT",u.returnGeometry=!1;let d="ARCADE_STAT_RESULT";u.outStatistics=[h];const m=await this.executeQuery(u,"execute");if(!m.hasOwnProperty("features")||0===m.features.length)throw new l("InvalidStatResponse");let f=!1;const F=m.fields??[];for(const l of F)if("ARCADE_STAT_RESULT"===l.name.toUpperCase()){d=l.name,"esriFieldTypeDate"===l.type&&(f=!0);break}const w=m.features[0].attributes[d];return{calculated:!0,result:f&&null!=w?new Date(w):w}}async _queryCount(e){const t=await this.databaseType();if(this.isTable()&&null!=e.spatialFilter)return{calculated:!0,result:0};const r=this._createQuery();r.where=S(r.where,null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,t)),null!=e.spatialFilter&&(r.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),r.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),r.geometry=e.spatialFilter.geometry),r.returnGeometry=!1;return{calculated:!0,result:await this.executeQuery(r,"executeForCount")}}async canQueryAggregate(e){await this._ensureLoaded();let t=!1;const r=this._layer.capabilities?.query,i=!0===r?.supportsSqlExpression;if(null!=r&&!0===r.supportsStatistics&&!0===r.supportsOrderBy&&(t=!0),t)for(const a of e.statistics)(!1===a.workingexpr?.isStandardized||!1===p(a.workingexpr)&&!1===i)&&(t=!1);return t}async queryAggregate(e){if(await this._ensureLoaded(),this.isTable()&&null!=e.spatialFilter)return o;const t=await this.databaseType(),r=e.groupBy,i=e.orderBy;let a=null;if(!this._layer.capabilities.query.supportsPaginationOnAggregatedQueries){const e=this.getFieldsIndex();a={keyFields:r.map((t,r)=>({name:e.normalizeFieldName(t)??t,asc:null==i||1===i._directions[r]}))}}let s=null,l=!1;null!=i&&!0===this._layer.capabilities?.query?.supportsOrderBy&&(null==a||f(r,0,r.length,i._fields,0,Math.min(i._fields.length,r.length),(e,t)=>e.toLowerCase()===t.toLowerCase()))&&(s=i.toOrderByFields(),l=!0),null==s&&(s=r.slice());const n=e.statistics.map(e=>new q({onStatisticField:null!==e.workingexpr?y(e.workingexpr,t):"",outStatisticFieldName:e.field,statisticType:e.toStatisticsName()}));let u=this._maxQueryRate();const c=this._layer.capabilities?.query.maxRecordCount;null!=c&&c<u&&(u=c);const h=null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,t),d=this._createQuery();return d.where=S(d.where,h),null!=e.spatialFilter&&(d.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),d.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),d.geometry=e.spatialFilter.geometry),d.orderByFields=s,d.outFields=["*"],d.outStatistics=n,d.groupByFieldsForStatistics=r,d.returnGeometry=!1,null==a?{filterApplied:!0,spatialFilterApplied:!0,ordered:l,features:this._queryPaginated(d,u,null,e.abortSignal)}:{filterApplied:!0,spatialFilterApplied:!0,ordered:l,features:this._queryKeysetPaginated(d,a,e.abortSignal)}}async*_queryKeysetPaginated(e,t,r){const i=e.where;for(;;){if(null!=t.clause){if(!this._layer.capabilities.query.supportsOrderBy)throw new l("NotImplemented");e.where=S(i,y(t.clause,await this.databaseType()))}const a=await this.executeQuery(e,"execute");if(s(r),!a.hasOwnProperty("features"))throw new l("InvalidStatResponse");if(yield a.features,0===a.features.length||!0!==a.exceededTransferLimit)break;v(t,a.features.at(-1))}}_createQuery(){const e=this._layer.createQuery();return e.returnZ=this.hasZ,e.returnM=this.hasM,this.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),this._requestStandardised&&(e.sqlFormat="standard"),this._useDefinitionExpression?"subtype-group"===this._layer.type&&(e.where=this._layer.definitionExpression):e.where=null,e}executeQuery(e,t){const r="execute"===t?async e=>{const t=await this._layer.source.queryFeaturesJSON(e);return u(t.features,t.spatialReference??this.spatialReference.toJSON()),t}:"executeForCount"===t?this._layer.queryFeatureCount.bind(this._layer):this._layer.queryObjectIds.bind(this._layer);let i=null;if(this._recentlyUsedQueries){const t=this.convertQueryToLruCacheKey(e);i=this._recentlyUsedQueries.getFromCache(t),null===i&&(i=r(e),this._recentlyUsedQueries.addToCache(t,i),i=i.catch(e=>{throw this._recentlyUsedQueries?.removeFromCache(t),e}))}return this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:e,method:t}),null===i&&(i=r(e)),i}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice();if(t.includes("*"))return t;let r=!1;for(const i of t)if(i.toUpperCase()===this.objectIdField.toUpperCase()){r=!0;break}return r||t.push(this.objectIdField),t}isTable(){return this._layer.isTable||null===this._layer.geometryType||"table"===this._layer.type||""===this._layer.geometryType||"esriGeometryNull"===this._layer.geometryType}_makeRelationshipEnum(e){if(e.includes("esriSpatialRelRelation"))return"relation";switch(e){case"esriSpatialRelRelation":return"relation";case"esriSpatialRelIntersects":return"intersects";case"esriSpatialRelContains":return"contains";case"esriSpatialRelOverlaps":return"overlaps";case"esriSpatialRelWithin":return"within";case"esriSpatialRelTouches":return"touches";case"esriSpatialRelCrosses":return"crosses";case"esriSpatialRelEnvelopeIntersects":return"envelope-intersects"}return e}_makeRelationshipParam(e){return e.includes("esriSpatialRelRelation")?e.split(":")[1]:""}static create(e,t,r,i,a){const s=new b({url:e,outFields:null===t?["*"]:t});return new x({layer:s,spatialReference:r,lrucache:i,interceptor:a})}relationshipMetadata(){return this._layer&&this._layer.source&&this._layer.source.sourceJSON?.relationships?this._layer.source.sourceJSON.relationships:[]}serviceUrl(){return d(this._layer.parsedUrl.path)}async queryAttachments(e,t,r,s,l){function n(e){const t=e.capabilities;return t?.data.supportsAttachment&&t?.operations.supportsQueryAttachments}const o=this._layer;if(!n(o))return[];const u=new I({objectIds:[e],returnMetadata:l});(t&&t>0||r&&r>0)&&(u.size=[t&&t>0?t:0,r&&r>0?r:t+1]),s&&s.length>0&&(u.attachmentTypes=s),this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preLayerQueryCallback({layer:o,query:u,method:"attachments"});const c=await o.queryAttachments(u);return c?.[e]?c[e].map(t=>{const r=`${this._layer.parsedUrl.path}/${e}/attachments/${t.id}`;let s=null;return l&&t.exifInfo&&(s=a.convertJsonToArcade(t.exifInfo,"system",!0)),new i(t.id,t.name,t.contentType,t.size,r,s,t.keywords??null)}):[]}async queryRelatedFeatures(e){const r=R(e);r.f="json",this._requestStandardised&&(r.sqlFormat="standard"),this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preRequestCallback({layer:this._layer,queryPayload:r,method:"relatedrecords",url:this._layer.parsedUrl.path+"/queryRelatedRecords"});const i=await t(this._layer.parsedUrl.path+"/queryRelatedRecords",{responseType:"json",query:r});if(i.data){const e={},t=i.data;if(t?.relatedRecordGroups){const r=t.spatialReference,i=!0===t.exceededTransferLimit;for(const a of t.relatedRecordGroups)u(a.relatedRecords,r),e[a.objectId]={features:a.relatedRecords,exceededTransferLimit:i}}return e}throw new l("InvalidRequest")}async getFeatureByObjectId(e,t){const r=this._createQuery();r.outFields=t,r.returnGeometry=!1,r.outSpatialReference=this.spatialReference,r.where=S(r.where,this.objectIdField+"="+e.toString()),this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:r,method:"execute"});const i=await this._layer.source.queryFeaturesJSON(r);return 1===i.features.length?(u(i.features,i.spatialReference??this.spatialReference.toJSON()),i.features[0]):null}async getIdentityUser(){await this.load();const t=e?.findCredential(this._layer.url);return t?t.userId:null}async getOwningSystemUrl(){await this.load();const r=e?.findServerInfo(this._layer.url);if(r)return r.owningSystemUrl??"";let i=this._layer.url;const a=i.toLowerCase().indexOf("/rest/services");if(i=a>-1?i.slice(0,a):i,i){i+="/rest/info";try{const e=await t(i,{query:{f:"json"}});let r="";return e.data?.owningSystemUrl&&(r=e.data.owningSystemUrl),r}catch{return""}}return""}getDataSourceFeatureSet(){const e=new x({layer:this._layer,spatialReference:this.spatialReference??void 0,outFields:this._overrideFields??void 0,includeGeometry:!this._removeGeometry,lrucache:this._recentlyUsedQueries??void 0,interceptor:this._featureSetQueryInterceptor??void 0});return e._useDefinitionExpression=!1,e}get preferredTimeZone(){return this._layer.preferredTimeZone??null}get dateFieldsTimeZone(){return this._layer.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this._layer.datesInUnknownTimezone??!1}get editFieldsInfo(){return this._layer.editFieldsInfo??null}get timeInfo(){return this._layer.timeInfo??null}async getFeatureSetInfo(){if(this._featureSetInfo)return this._featureSetInfo;let e=null,r="serviceItemId"in this._layer?this._layer.serviceItemId:null;const i=this._layer.parsedUrl?.path??null;if(i){const a=await t(i,{responseType:"json",query:{f:"json"}});e=a?.data?.name??null,r=a?.data?.serviceItemId??null}const a=this._layer.title&&null!==(this._layer.parent??null);return this._featureSetInfo={layerId:this._layer.layerId,layerName:""===e?null:e,itemId:""===r?null:r,serviceLayerUrl:""===i?null:i,webMapLayerId:a?this._layer.id??null:null,webMapLayerTitle:a?this._layer.title??null:null,className:null,objectClassId:null},this._featureSetInfo}}export{x as default};
|
|
2
|
+
import{id as e}from"../../../kernel.js";import t from"../../../request.js";import{neverAbortedSignal as r}from"../../arcadeEnvironment.js";import a from"../../Attachment.js";import i from"../../Dictionary.js";import{throwIfCancelled as s,FeatureSetError as l}from"../support/errorsupport.js";import{RootFeatureSet as n,emptyFeaturesResult as o,assignSpatialReferenceOnFeatures as u}from"../support/FeatureSet.js";import{defaultMaxRecords as c,stableStringify as h,extractServiceUrl as d}from"../support/shared.js";import{toWhereClause as y,isSingleField as p}from"../support/sqlUtils.js";import{decodeStatType as _}from"../support/stats.js";import{splitIntoChunks as m,sliceEquals as f}from"../../../core/arrayUtils.js";import{createMD5Hash as F,outputTypes as w}from"../../../core/MD5.js";import{sqlAnd as S}from"../../../core/sql.js";import g from"../../../core/sql/WhereClause.js";import b from"../../../layers/FeatureLayer.js";import{toQueryStringParameters as R}from"../../../rest/query/operations/queryRelatedRecords.js";import I from"../../../rest/support/AttachmentQuery.js";import T from"../../../rest/support/Query.js";import q from"../../../rest/support/StatisticDefinition.js";function Q(e){if(0===e.length)throw new l("NeverReach");const t=[];for(let a=0;a<e.length;a++){const r=e[a],i=[`"${r.name.replaceAll('"','""')}" ${r.asc?">":"<"} @last_${a}`];for(let t=0;t<a;t++){const r=e[t];i.push(`"${r.name.replaceAll('"','""')}" = @last_${t}`)}t.push(i.join(" AND "))}const r=t.join(" OR ");return g.create(r)}function x(e,t){null==e.clause&&(e.clause=Q(e.keyFields));for(let r=0;r<e.keyFields.length;r++){const a=e.keyFields[r].name;e.clause.parameters[`last_${r}`]=t.attributes[a]}}class v extends n{constructor(e){super(),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerDynamic",this._removeGeometry=!1,this._overrideFields=null,this._requestStandardised=!1,this._useDefinitionExpression=!0,this._recentlyUsedQueries=null,this._featureSetQueryInterceptor=null,this._featureSetInfo=null,this._maxProcessing=1e3,this._layer=e.layer,e.spatialReference&&(this.spatialReference=e.spatialReference),void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry),e.lrucache&&(this._recentlyUsedQueries=e.lrucache),e.interceptor&&(this._featureSetQueryInterceptor=e.interceptor)}_maxQueryRate(){return c}get urlQueryPath(){return this._layer.parsedUrl.path||""}convertQueryToLruCacheKey(e){const t=this.urlQueryPath+","+h(e.toJSON());return F(t,w.String)}async loadImpl(){return!0===this._layer.loaded?(this._initialiseFeatureSet(),this):(await this._layer.load(),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){if(this.spatialReference??=this._layer.spatialReference,this.geometryType=this._layer.geometryType??"",this.fields=this._layer.fields.slice(),this.hasZ=!0===this._layer.capabilities?.data?.supportsZ,this.hasM=!0===this._layer.capabilities?.data?.supportsM,null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=new Set(this._overrideFields.map(e=>e.toLowerCase()));this.fields=this.fields.filter(({type:t,name:r})=>"oid"===t||e.has(r.toLowerCase())),this._overrideFields=this.fields.map(({name:e})=>e)}if(this._layer.source&&this._layer.source.sourceJSON){const e=this._layer.source.sourceJSON.currentVersion;!0===this._layer.source.sourceJSON.useStandardizedQueries?(this._databaseType=1,null!=e&&e>=10.61&&(this._databaseType=0)):null!=e&&(e>=10.5&&(this._databaseType=1,this._requestStandardised=!0),e>=10.61&&(this._databaseType=0))}this.objectIdField=this._layer.objectIdField;for(const e of this.fields)"global-id"===e.type&&(this.globalIdField=e.name);this.subtypeField=this._layer.subtypeField??"",this.subtypes=this._layer.subtypes,this.typeIdField=("typeIdField"in this._layer?this._layer.typeIdField:null)??"",this.types="types"in this._layer?this._layer.types:null}async _runDatabaseProbe(e){await this._ensureLoaded();const t=new T;this.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t.where=e.replace("OBJECTID",this._layer.objectIdField);try{return await this._layer.queryObjectIds(t),!0}catch{return!1}}_canUsePagination(){return!(!this._layer.capabilities||!this._layer.capabilities.query||!0!==this._layer.capabilities.query.supportsPagination)}_cacheableFeatureSetSourceKey(){return this._layer.url}get gdbVersion(){return this._layer&&this._layer.capabilities&&this._layer.capabilities.data&&this._layer.capabilities.data.isVersioned?this._layer.gdbVersion||"SDE.DEFAULT":""}nativeCapabilities(){return{title:this._layer.title??"",source:this,canQueryRelated:!0,capabilities:this._layer.capabilities,databaseType:this._databaseType,requestStandardised:this._requestStandardised}}async _queryAll(){return(await this.query({abortSignal:r})).features}async query(e){return await this._ensureLoaded(),this.isTable()&&null!=e.spatialFilter?o:this._canUsePagination()?this._queryUsingPaging(e):this._queryUsingIdSetTraversal(e)}async _queryUsingPaging(e){const t=this._layer.capabilities.query;let r=!0,a=null,i=!1;null!=e.orderBy&&(t.supportsOrderBy?(a=e.orderBy.toOrderByFields(),i=!0):r=!1);const s=await this.databaseType(),l=null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,s),n=!0!==this._removeGeometry,o=this._overrideFields??this._fieldsIncludingObjectId(["*"]),u=o.includes("*")?this._layer.fields.length:o.length,c=(this.isTable()||!n?t.standardMaxRecordCountNoGeometry:void 0)??t.standardMaxRecordCount??t.maxRecordCount??this._maxQueryRate(),h=u<=50?1:u<=100?.5:u<=200?.25:.125,d=Math.max(Math.ceil(c*h),t.maxRecordCount??this._maxQueryRate()),p=this._createQuery();return p.where=S(p.where,l),null!=e.spatialFilter&&(p.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),p.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),p.geometry=e.spatialFilter.geometry),p.orderByFields=a,p.outFields=o,p.returnGeometry=n,p.outSpatialReference=this.spatialReference,p.resultType="standard",{ordered:i,filterApplied:!0,spatialFilterApplied:!0,features:this._queryPaginated(p,d,r?e.limit:null,e.abortSignal)}}async*_queryPaginated(e,t,r,a){let i;e.num=null!=r?Math.min(r,t):t,e.start=0;do{s(a),i=await this.executeQuery(e,"execute"),yield*m(i.features,this._maxQueryRate()),e.start+=i.features.length,e.num=null!=r?Math.min(r-e.start,t):t}while(e.num>0&&!0===i.exceededTransferLimit)}async _queryUsingIdSetTraversal(e){let t=!0,r=null,a=!1;null!=e.orderBy&&(this._layer.capabilities?.query?.supportsOrderBy?(r=e.orderBy.toOrderByFields(),a=!0):t=!1);const i=await this.databaseType(),l=null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,i),n=this._createQuery();n.where=S(n.where,l),null!=e.spatialFilter&&(n.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),n.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),n.geometry=e.spatialFilter.geometry),n.orderByFields=r,n.outSpatialReference=this.spatialReference,n.num=t?e.limit:null;const u=await this.executeQuery(n,"executeForIds");if(s(e.abortSignal),null==u||u.length<=0)return o;let c=this._maxQueryRate();const h=this._layer.capabilities?.query.maxRecordCount;null!=h&&h<c&&(c=h);const d=this._createQuery();return n.outFields=this._overrideFields??this._fieldsIncludingObjectId(["*"]),n.returnGeometry=!0!==this._removeGeometry,n.outSpatialReference=this.spatialReference,{ordered:a,filterApplied:!0,spatialFilterApplied:!0,features:this._traverseIdSet(d,u,c,e.abortSignal)}}async*_traverseIdSet(e,t,r,a){for(let i=0;i<t.length;i+=r){e.objectIds=t.slice(i,i+r),s(a);const l=await this.executeQuery(e,"execute");yield l.features}}async queryStat(e){await this._ensureLoaded();const t=this._layer.capabilities?.query,r=!!t?.supportsSqlExpression,a=!!t?.supportsStatistics,i=!!t?.supportsDistinct,s=_(e.stat);if("count"===s)return i?this._queryCount(e):{calculated:!1};const n=e.field;if(null==n)return{calculated:!1};if(!1===a||!1===p(n)&&!1===r||!1===n.isStandardized)return null!=e.spatialFilter||null!=e.where?{calculated:!1}:this._manualStat(e.stat,n,e.limit??c,e.abortSignal);if("distinct"===s)return!1===i?null!=e.spatialFilter||null!=e.where?{calculated:!1}:this._manualStat(s,n,e.limit??c,e.abortSignal):{calculated:!1};const o=await this.databaseType();if(this.isTable()&&null!=e.spatialFilter)return{calculated:!0,result:null};const u=this._createQuery();u.where=S(u.where,null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,o)),null!=e.spatialFilter&&(u.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),u.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),u.geometry=e.spatialFilter.geometry);const h=new q;h.statisticType=s,h.onStatisticField=y(n,o),h.outStatisticFieldName="ARCADE_STAT_RESULT",u.returnGeometry=!1;let d="ARCADE_STAT_RESULT";u.outStatistics=[h];const m=await this.executeQuery(u,"execute");if(!m.hasOwnProperty("features")||0===m.features.length)throw new l("InvalidStatResponse");let f=!1;const F=m.fields??[];for(const l of F)if("ARCADE_STAT_RESULT"===l.name.toUpperCase()){d=l.name,"esriFieldTypeDate"===l.type&&(f=!0);break}const w=m.features[0].attributes[d];return{calculated:!0,result:f&&null!=w?new Date(w):w}}async _queryCount(e){const t=await this.databaseType();if(this.isTable()&&null!=e.spatialFilter)return{calculated:!0,result:0};const r=this._createQuery();r.where=S(r.where,null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,t)),null!=e.spatialFilter&&(r.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),r.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),r.geometry=e.spatialFilter.geometry),r.returnGeometry=!1;return{calculated:!0,result:await this.executeQuery(r,"executeForCount")}}async canQueryAggregate(e){await this._ensureLoaded();let t=!1;const r=this._layer.capabilities?.query,a=!0===r?.supportsSqlExpression;if(null!=r&&!0===r.supportsStatistics&&!0===r.supportsOrderBy&&(t=!0),t)for(const i of e.statistics)(!1===i.workingexpr?.isStandardized||!1===p(i.workingexpr)&&!1===a)&&(t=!1);return t}async queryAggregate(e){if(await this._ensureLoaded(),this.isTable()&&null!=e.spatialFilter)return o;const t=await this.databaseType(),r=e.groupBy,a=e.orderBy;let i=null;if(!this._layer.capabilities.query.supportsPaginationOnAggregatedQueries){const e=this.getFieldsIndex();i={keyFields:r.map((t,r)=>({name:e.normalizeFieldName(t)??t,asc:null==a||1===a._directions[r]}))}}let s=null,l=!1;null!=a&&!0===this._layer.capabilities?.query?.supportsOrderBy&&(null==i||f(r,0,r.length,a._fields,0,Math.min(a._fields.length,r.length),(e,t)=>e.toLowerCase()===t.toLowerCase()))&&(s=a.toOrderByFields(),l=!0),null==s&&(s=r.slice());const n=e.statistics.map(e=>new q({onStatisticField:null!==e.workingexpr?y(e.workingexpr,t):"",outStatisticFieldName:e.field,statisticType:e.toStatisticsName()}));let u=this._maxQueryRate();const c=this._layer.capabilities?.query.maxRecordCount;null!=c&&c<u&&(u=c);const h=null==e.where?null==e.spatialFilter?"1=1":"":y(e.where,t),d=this._createQuery();return d.where=S(d.where,h),null!=e.spatialFilter&&(d.spatialRelationship=this._makeRelationshipEnum(e.spatialFilter.relation),d.relationParameter=this._makeRelationshipParam(e.spatialFilter.relation),d.geometry=e.spatialFilter.geometry),d.orderByFields=s,d.outFields=["*"],d.outStatistics=n,d.groupByFieldsForStatistics=r,d.returnGeometry=!1,null==i?{filterApplied:!0,spatialFilterApplied:!0,ordered:l,features:this._queryPaginated(d,u,null,e.abortSignal)}:{filterApplied:!0,spatialFilterApplied:!0,ordered:l,features:this._queryKeysetPaginated(d,i,e.abortSignal)}}async*_queryKeysetPaginated(e,t,r){const a=e.where;for(;;){if(null!=t.clause){if(!this._layer.capabilities.query.supportsOrderBy)throw new l("NotImplemented");e.where=S(a,y(t.clause,await this.databaseType()))}const i=await this.executeQuery(e,"execute");if(s(r),!i.hasOwnProperty("features"))throw new l("InvalidStatResponse");if(yield i.features,0===i.features.length||!0!==i.exceededTransferLimit)break;x(t,i.features.at(-1))}}_createQuery(){const e=this._layer.createQuery();return e.returnZ=this.hasZ,e.returnM=this.hasM,this.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),this._requestStandardised&&(e.sqlFormat="standard"),this._useDefinitionExpression?"subtype-group"===this._layer.type&&(e.where=this._layer.definitionExpression):e.where=null,e}executeQuery(e,t){const r="execute"===t?async e=>{const t=await this._layer.source.queryFeaturesJSON(e);return u(t.features,t.spatialReference??this.spatialReference.toJSON()),t}:"executeForCount"===t?this._layer.queryFeatureCount.bind(this._layer):this._layer.queryObjectIds.bind(this._layer);let a=null;if(this._recentlyUsedQueries){const t=this.convertQueryToLruCacheKey(e);a=this._recentlyUsedQueries.getFromCache(t),null===a&&(a=r(e),this._recentlyUsedQueries.addToCache(t,a),a=a.catch(e=>{throw this._recentlyUsedQueries?.removeFromCache(t),e}))}return this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:e,method:t}),null===a&&(a=r(e)),a}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice();if(t.includes("*"))return t;let r=!1;for(const a of t)if(a.toUpperCase()===this.objectIdField.toUpperCase()){r=!0;break}return r||t.push(this.objectIdField),t}isTable(){return this._layer.isTable||null===this._layer.geometryType||"table"===this._layer.type||""===this._layer.geometryType||"esriGeometryNull"===this._layer.geometryType}_makeRelationshipEnum(e){if(e.includes("esriSpatialRelRelation"))return"relation";switch(e){case"esriSpatialRelRelation":return"relation";case"esriSpatialRelIntersects":return"intersects";case"esriSpatialRelContains":return"contains";case"esriSpatialRelOverlaps":return"overlaps";case"esriSpatialRelWithin":return"within";case"esriSpatialRelTouches":return"touches";case"esriSpatialRelCrosses":return"crosses";case"esriSpatialRelEnvelopeIntersects":return"envelope-intersects"}return e}_makeRelationshipParam(e){return e.includes("esriSpatialRelRelation")?e.split(":")[1]:""}static create(e,t,r,a,i){const s=new b({url:e,outFields:null===t?["*"]:t});return new v({layer:s,spatialReference:r,lrucache:a,interceptor:i})}relationshipMetadata(){return this._layer&&this._layer.source&&this._layer.source.sourceJSON?.relationships?this._layer.source.sourceJSON.relationships:[]}serviceUrl(){return d(this._layer.parsedUrl.path)}async queryAttachments(e,t,r,s,l){function n(e){const t=e.capabilities;return t?.data.supportsAttachment&&t?.operations.supportsQueryAttachments}const o=this._layer;if(!n(o))return[];const u=new I({objectIds:[e],returnMetadata:l});(t&&t>0||r&&r>0)&&(u.size=[t&&t>0?t:0,r&&r>0?r:t+1]),s&&s.length>0&&(u.attachmentTypes=s),this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preLayerQueryCallback({layer:o,query:u,method:"attachments"});const c=await o.queryAttachments(u);return c?.[e]?c[e].map(t=>{const r=`${this._layer.parsedUrl.path}/${e}/attachments/${t.id}`;let s=null;return l&&t.exifInfo&&(s=i.convertJsonToArcade(t.exifInfo,"system",!0)),new a(t.id,t.name,t.contentType,t.size,r,s,t.keywords??null)}):[]}async queryRelatedFeatures(e){const r=R(e);r.f="json",this._requestStandardised&&(r.sqlFormat="standard"),this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preRequestCallback({layer:this._layer,queryPayload:r,method:"relatedrecords",url:this._layer.parsedUrl.path+"/queryRelatedRecords"});const a=await t(this._layer.parsedUrl.path+"/queryRelatedRecords",{responseType:"json",query:r});if(a.data){const e={},t=a.data;if(t?.relatedRecordGroups){const r=t.spatialReference,a=!0===t.exceededTransferLimit;for(const i of t.relatedRecordGroups)u(i.relatedRecords,r),e[i.objectId]={features:i.relatedRecords,exceededTransferLimit:a}}return e}throw new l("InvalidRequest")}async getFeatureByObjectId(e,t){const r=this._createQuery();r.outFields=t,r.returnGeometry=!1,r.outSpatialReference=this.spatialReference,r.where=S(r.where,this.objectIdField+"="+e.toString()),this._featureSetQueryInterceptor&&this._featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:r,method:"execute"});const a=await this._layer.source.queryFeaturesJSON(r);return 1===a.features.length?(u(a.features,a.spatialReference??this.spatialReference.toJSON()),a.features[0]):null}async getIdentityUser(){await this.load();const t=e?.findCredential(this._layer.url);return t?t.userId:null}async getOwningSystemUrl(){await this.load();const r=e?.findServerInfo(this._layer.url);if(r)return r.owningSystemUrl??"";let a=this._layer.url;const i=a.toLowerCase().indexOf("/rest/services");if(a=i>-1?a.slice(0,i):a,a){a+="/rest/info";try{const e=await t(a,{query:{f:"json"}});let r="";return e.data?.owningSystemUrl&&(r=e.data.owningSystemUrl),r}catch{return""}}return""}getDataSourceFeatureSet(){const e=new v({layer:this._layer,spatialReference:this.spatialReference??void 0,outFields:this._overrideFields??void 0,includeGeometry:!this._removeGeometry,lrucache:this._recentlyUsedQueries??void 0,interceptor:this._featureSetQueryInterceptor??void 0});return e._useDefinitionExpression=!1,e}get preferredTimeZone(){return this._layer.preferredTimeZone??null}get dateFieldsTimeZone(){return this._layer.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this._layer.datesInUnknownTimezone??!1}get editFieldsInfo(){return this._layer.editFieldsInfo??null}get timeInfo(){return this._layer.timeInfo??null}async getFeatureSetInfo(){if(this._featureSetInfo)return this._featureSetInfo;let e=null,r="serviceItemId"in this._layer?this._layer.serviceItemId:null;const a=this._layer.parsedUrl?.path??null;if(a){const i=await t(a,{responseType:"json",query:{f:"json"}});e=i?.data?.name??null,r=i?.data?.serviceItemId??null}const i=this._layer.title&&null!==(this._layer.parent??null);return this._featureSetInfo={layerId:this._layer.layerId,layerName:""===e?null:e,itemId:""===r?null:r,serviceLayerUrl:""===a?null:a,webMapLayerId:i?this._layer.id??null:null,webMapLayerTitle:i?this._layer.title??null:null,className:null,objectClassId:null},this._featureSetInfo}}export{v as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../arcadeEnvironment.js";import"../Dictionary.js";import"../executionError.js";import"../../chunks/languageUtils.js";import"
|
|
2
|
+
import"../arcadeEnvironment.js";import"../Dictionary.js";import"../executionError.js";import"../../chunks/languageUtils.js";import"../portalUtils.js";import"../../core/Error.js";import"../../core/Logger.js";import"../../core/MapUtils.js";import"../../rest/translate.js";import"../../rest/support/TranslateContent.js";import"../../rest/support/TranslateParameters.js";import"../../rest/support/TranslateResult.js";import"../../support/guards.js";export{B as BatchTranslationServiceFactory,P as PortalTranslationService,g as getTranslateParametersKey,r as registerFunctions}from"../../chunks/aiServices.js";
|
|
@@ -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{B as y,g as w,f as h,m as I,s as g,P as F,K as b,e as T,l as D,J as x,H as E,k as N,j as A,i as v,r as S,N as j,$ as L}from"../../chunks/languageUtils.js";import{getPortal as C}from"../portalUtils.js";import{SqlExpressionAdapted as k,StringToCodeAdapted as Z,FieldRename as $,AdaptedFeatureSet as P,OriginalField as U}from"../featureset/actions/Adapted.js";import M from"../featureset/actions/AttributeFilter.js";import R from"../featureset/actions/GroupBy.js";import O from"../featureset/actions/OrderBy.js";import z from"../featureset/actions/Top.js";import W from"../featureset/sources/Empty.js";import H from"../featureset/sources/FeatureLayerMemory.js";import G from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as V,cloneField as B}from"../featureset/support/shared.js";import{isSingleField as _}from"../featureset/support/sqlUtils.js";import{calculateStat as K}from"./fieldStats.js";import{isPromiseLike as q}from"../../core/promiseUtils.js";import Q from"../../core/sql/WhereClause.js";import J from"../../layers/FeatureLayer.js";import Y from"../../layers/support/Field.js";import X from"../../portal/Portal.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return K("distinct",e[0],-1);if(A(e[0]))return K("distinct",e[0].toArray(),-1)}return K("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,s,l){const f=await t.getFeatureSetInfo();if(null===(f?.layerId??null))return null;if(!r.layerIdLookup.get(f.layerId))return null;const u=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),c=[];switch(i){case"connected":c.push("connectivity"),c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity"),c.push("junction-edge-midspan-connectivity"),c.push("junction-junction-connectivity");break;case"container":case"content":c.push("containment");break;case"structure":case"attached":c.push("attachment");break;case"junctionedge":c.push("junction-edge-from-connectivity"),c.push("junction-edge-to-connectivity");break;case"midspan":c.push("junction-edge-midspan-connectivity");break;default:throw new o(s,"InvalidParameter",l)}let m=null,p=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(m=e.terminalId);null===m&&(p=!0)}const y=[];if(!p){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(f.layerId).sourceId,...m?{terminalId:m}:""}),o=await ee(u,new ne({types:c,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";y.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const w=new J({source:y,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new Y({name:"objectId",alias:"objectId",type:"oid"}),new Y({name:"globalId",alias:"globalId",type:"global-id"}),new Y({name:"percentAlong",alias:"percentAlong",type:"double"}),new Y({name:"side",alias:"side",type:"string"}),new Y({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new Y({name:"className",alias:"className",type:"string"})]});return d(w)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,async(e,r,s)=>{if(y(s,1,2,n,a),w(s[0]))return"Unknown";if(h(s[0]))return"Unknown";if(I(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?pe("unknown"):pe(s[0].dateFieldsTimeZone);if(!(s[1]instanceof i)||!1===s[1].hasField("type"))throw new o(n,"InvalidParameter",a);const e=s[1].field("type");if(!1===ie(e))throw new o(n,"InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return pe(s[0].preferredTimeZone);case"editfieldsinfo":return pe(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ie(s[1].field("fieldname")))return pe(s[0].fieldTimeZone(g(s[1].field("fieldname"))))}throw new o(n,"InvalidParameter",a)}const l=F(s[0],b(n));if(null===l)return null;const f=l.timeZone;return"system"===f?t.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,1,3,t,n);const r=a[0];if(T(r)){if(1===a.length)return r.toSQLWithKeyword();if(2===a.length)return r.changeTimeZone(g(a[1])).toSQLWithKeyword();throw new o(t,"InvalidParameter",n)}if(h(r))return r.toSQLWithKeyword();if(I(r)){if(3!==a.length)throw new o(t,"InvalidParameter",n);await r.load();const e=g(a[1]);if(h(a[2]))return a[2].toSQLWithKeyword();if(!1===T(a[2]))throw new o(t,"InvalidParameter",n);const i=r.fieldTimeZone(e);return null==i?a[2].toSQLWithKeyword():a[2].changeTimeZone(i).toSQLWithKeyword()}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetById(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const K=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,2,t,n),N(a[0])){const e=null==a[1]?"datasource":K.lookup(g(a[1]));return l(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,a,r)=>{if(y(r,2,5,t,i),null===r[0])throw new o(t,"PortalRequired",i);if(r[0]instanceof n){const e=g(r[1]),n=g(r[2]);let a=x(r[3],null);const s=E(x(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o(t,"InvalidParameter",i);let l;return l=t.services?.portal?t.services.portal:X.getDefault(),l=C(r[0],l),f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o(t,"PortalRequired",i);const s=g(r[0]),l=g(r[1]);let d=x(r[2],null);const u=E(x(r[3],!0));if(null===d&&(d=["*"]),!1===ae(d))throw new o(t,"InvalidParameter",i);return f(s,l,t.spatialReference,d,u,t.services?.portal??X.getDefault(),t.lrucache,t.interceptor)})},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,(e,i,a)=>{if(y(a,2,4,t,n),D(a[0])){const e=g(a[1]);let i=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetByName(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,t,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o(t,"InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),i=le(e,"layerdefinition");if(null!==i){s.layerDefinition.geometryType=le(i,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(i,"globalidfield",""),s.layerDefinition.objectIdField=le(i,"objectidfield",""),s.layerDefinition.typeIdField=le(i,"typeidfield",""),s.layerDefinition.hasZ=!0===le(i,"hasz",!1),s.layerDefinition.hasM=!0===le(i,"hasm",!1);const t=le(i,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const n=[];for(const e of le(i,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};n.push(t)}s.layerDefinition.fields=n;const a=le(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const i=le(e,"spatialreference");i&&(s.layerDefinition.spatialReference=de(i));const a=[],r=le(e,"fields",null);if(!ae(r))throw new o(t,"InvalidParameter",n);for(const e of r){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};a.push(t)}s.layerDefinition.fields=a;const l={};for(const e of a)l[e.name.toLowerCase()]=e.name;let f=le(e,"features",null);if(ae(f))for(const e of f){const t={},n=le(e,"attributes",{});for(const e in n)t[l[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else f=null,s.featureSet.features=f}}}if(!1===me(s))throw new o(t,"InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),H.create(s,t.spatialReference)})},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,async(i,a,r)=>{if(y(r,2,2,t,n),ae(r[0])||A(r[0])){const e=[];let i,a=r[0];if(a instanceof p&&(a=a.toArray()),!v(r[1]))throw new o(t,"InvalidParameter",n);i=r[1].createFunction(t);for(const t of a){const n=i(t);q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(I(r[0])){const n=await r[0].load(),i=Q.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new M({parentfeatureset:r[0],whereclause:i})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=new G(a[1]);return new O({parentfeatureset:a[0],orderbyclause:e})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0]))return new z({parentfeatureset:a[0],topnum:a[1]});if(ae(a[0]))return S(a[1])>=a[0].length?a[0].slice():a[0].slice(0,S(a[1]));if(A(a[0]))return S(a[1])>=a[0].length()?a[0].slice():a[0].slice(0,S(a[1]));throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,1,t,n),I(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=s.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null})},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{y(r,1,2,t,n);const s={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(s.minsize=S(r[1].field("minsize"))),r[1].hasField("metadata")&&(s.returnMetadata=E(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=S(r[1].field("maxsize"))),r[1].hasField("types")){const e=j(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o(t,"InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!V(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,t,n);const r=a[0],s=g(a[1]);let l=x(a[2],null);const f=E(x(a[3],!0));if(null===l&&(l=["*"]),!1===ae(l))throw new o(t,"InvalidParameter",n);if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!V(m))return null;p=d(m,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}p=await p.load();const w=p.relationshipMetadata().filter(e=>e.name===s);if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(p,w[0],r.field(p.objectIdField),p.spatialReference,l,f,t.lrucache,t.interceptor);let h=p.serviceUrl();if(!h)return null;h=h.endsWith("/")?h+w[0].relatedTableId.toString():h+"/"+w[0].relatedTableId.toString();const F=await c(h,p.spatialReference,l,f,t.lrucache,t.interceptor);await F.load();let b=F.relationshipMetadata();if(b=b.filter(e=>e.id===w[0].id),!1===r.hasField(w[0].keyField)||null===r.field(w[0].keyField)){const e=await p.getFeatureByObjectId(r.field(p.objectIdField),[w[0].keyField]);if(e){const t=Q.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[w[0].keyField]},new M({parentfeatureset:F,whereclause:t})}return new W({parentfeatureset:F})}const T=Q.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return T.parameters={id:r.field(w[0].keyField)},new M({parentfeatureset:F,whereclause:T})})},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,3,t,n);const s=a[0],l=r(g(x(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const u=s._layer;let c;if(I(u))c=u;else{if(null==u||!V(u))return null;c=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}await c.load();const p=c.serviceUrl(),w=await m(p,t.spatialReference,!0);if(w.unVersion>=8)return await ye(c,s,l,f,w,t,n);const h=w.associations;if(null==h)return null;let F=null,b=null,T=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of w.terminals)e.terminalName===f&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),E=D.get("TOGLOBALID").name,A=D.get("FROMGLOBALID").name,v=D.get("TOTERMINALID").name,S=D.get("FROMTERMINALID").name,j=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,M=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){F=s.field(t.name);break}let z=null,W=new k(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new Y({name:"side",alias:"side",type:"string"}),Q.create("''",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));const G="globalid",_="globalId",K={};for(const t in w.lkp)K[t]=w.lkp[t].sourceId;const q=new Z(new Y({name:"classname",alias:"classname",type:"string"}),null,K);let J="";switch(l){case"midspan":{J=`((${E}='${F}') OR ( ${A}='${F}')) AND (${M} IN (5))`,q.codefield=Q.create(`CASE WHEN (${E}='${F}') THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(P.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,Q.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=w.unVersion>=4?new U(P.findField(h.fields,D.get("PERCENTALONG").name)):new k(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{J=`((${E}='${F}') OR ( ${A}='${F}')) AND (${M} IN (4,6))`,q.codefield=Q.create(`CASE WHEN (${E}='${F}') THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(P.findField(h.fields,A));e.name=G,e.alias=G,z=new k(e,Q.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new k(new Y({name:"side",alias:"side",type:"string"}),Q.create(`CASE WHEN (${M}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${E}='@T'`,t=`${A}='@T'`;null!==b&&(e+=` AND ${v}=@A`,t+=` AND ${S}=@A`),J="(("+e+") OR ("+t+"))",J=L(J,"@T",F??""),e=L(e,"@T",F??""),null!==b&&(e=L(e,"@A",b.toString()),J=L(J,"@A",b.toString())),q.codefield=Q.create("CASE WHEN "+e+` THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=B(P.findField(h.fields,A));n.name=G,n.alias=G,z=new k(n,Q.create("CASE WHEN "+e+` THEN ${A} ELSE ${E} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":J=`${E}='${F}' AND ${M} = 2`,null!==b&&(J+=` AND ${v} = `+b.toString()),q.codefield=j,J="( "+J+" )",z=new $(P.findField(h.fields,A),G,G);break;case"content":J=`(${A}='${F}' AND ${M} = 2)`,null!==b&&(J+=` AND ${S} = `+b.toString()),q.codefield=C,J="( "+J+" )",z=new $(P.findField(h.fields,E),G,G);break;case"structure":J=`(${E}='${F}' AND ${M} = 3)`,null!==b&&(J+=` AND ${v} = `+b.toString()),q.codefield=j,J="( "+J+" )",z=new $(P.findField(h.fields,A),G,_);break;case"attached":J=`(${A}='${F}' AND ${M} = 3)`,null!==b&&(J+=` AND ${S} = `+b.toString()),q.codefield=C,J="( "+J+" )",z=new $(P.findField(h.fields,E),G,_);break;default:throw new o(t,"InvalidParameter",n)}T&&(J="1 <> 1");return new P({parentfeatureset:h,adaptedFields:[new U(P.findField(h.fields,O)),new U(P.findField(h.fields,R)),z,H,q,W],extraFilter:J?Q.create(J,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}):null})})},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(y(s,3,3,t,n),!I(s[0]))throw new o(t,"InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ie(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ae(s[1]))c=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);c=s[1].toArray()}for(const e of c)if(ie(e)){const t=Q.create(g(e),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),n=!0===_(t)?g(e):"%%%%FIELDNAME";f.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(u=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",a=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(u=!0),!i)throw new o(t,"InvalidParameter",n);f.push({name:i,expression:Q.create(a||i,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],ie(s[2]))c.push(s[2]);else if(ae(s[2]))c=s[2];else if(A(s[2]))c=s[2].toArray();else{if(!(s[2]instanceof i))throw new o(t,"InvalidParameter",n);c.push(s[2])}for(const e of c){if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"",a=e.hasField("statistic")?e.field("statistic"):"",r=e.hasField("expression")?e.field("expression"):"";if(!(i&&a&&ie(a)&&r))throw new o(t,"InvalidParameter",n);d.push({name:i,statistic:a,expression:Q.create(r,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of f)se(n.expression,e,t);for(const n of d)se(n.expression,e,t);return new R({parentfeatureset:s[0],groupbyfields:f,statsfields:d})})},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(I(s[0])){y(s,2,2,t,n);const a=await s[0].load(),r=[];let l=[];if(ie(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ae(s[1]))l=s[1];else{if(!A(s[1]))throw new o(t,"InvalidParameter",n);l=s[1].toArray()}let f=!1;for(const e of l)if(ie(e)){const t=Q.create(g(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===_(t)?g(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(f=!0)}else{if(!(e instanceof i))throw new o(t,"InvalidParameter",n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",s=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(f=!0),!i)throw new o(t,"InvalidParameter",n);r.push({name:i,expression:Q.create(s||i,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of r)se(n.expression,e,t);return new R({parentfeatureset:s[0],groupbyfields:r,statsfields:[]})}return oe(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{if(y(r,1,1,t,n),!I(r[0]))return null;const o=await r[0].getFeatureSetInfo();return o?i.convertObjectToArcadeDictionary({layerId:o.layerId,layerName:o.layerName,itemId:o.itemId,serviceLayerUrl:o.serviceLayerUrl,webMapLayerId:o.webMapLayerId??null,webMapLayerTitle:o.webMapLayerTitle??null,className:null,objectClassId:null},b(t),!1,!1):null})},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,2,2,t,n),I(a[0])){const e=await a[0].load(),i=a[1];if(!re(i))throw new o(t,"InvalidParameter",n);if(e.subtypeField){const t=Q.create(`${e.subtypeField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new M({parentfeatureset:a[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o(t,"FeatureSetDoesNotHaveSubtypes",n);const r=Q.create(`${e.typeIdField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new M({parentfeatureset:a[0],whereclause:r})}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
|
|
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{B as y,g as w,f as h,m as I,s as g,P as F,K as b,e as T,l as D,J as x,H as E,k as N,j as A,i as S,r as v,N as j,$ as L}from"../../chunks/languageUtils.js";import{getPortal as C,getDefaultPortal as k}from"../portalUtils.js";import{SqlExpressionAdapted as Z,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 B,cloneField as _}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=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetById(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const 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=x(r[3],null);const s=E(x(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=x(r[2],null);const u=E(x(r[3],!0));if(null===d&&(d=["*"]),!1===ae(d))throw new o(t,"InvalidParameter",i);return f(s,l,t.spatialReference,d,u,k(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=x(a[2],null);const r=E(x(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,"InvalidParameter",n);return a[0].featureSetByName(e,r,i)}throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,t,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o(t,"InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),i=le(e,"layerdefinition");if(null!==i){s.layerDefinition.geometryType=le(i,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(i,"globalidfield",""),s.layerDefinition.objectIdField=le(i,"objectidfield",""),s.layerDefinition.typeIdField=le(i,"typeidfield",""),s.layerDefinition.hasZ=!0===le(i,"hasz",!1),s.layerDefinition.hasM=!0===le(i,"hasm",!1);const t=le(i,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const n=[];for(const e of le(i,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};n.push(t)}s.layerDefinition.fields=n;const a=le(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const i=le(e,"spatialreference");i&&(s.layerDefinition.spatialReference=de(i));const a=[],r=le(e,"fields",null);if(!ae(r))throw new o(t,"InvalidParameter",n);for(const e of r){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};a.push(t)}s.layerDefinition.fields=a;const l={};for(const e of a)l[e.name.toLowerCase()]=e.name;let f=le(e,"features",null);if(ae(f))for(const e of f){const t={},n=le(e,"attributes",{});for(const e in n)t[l[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else f=null,s.featureSet.features=f}}}if(!1===me(s))throw new o(t,"InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),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=E(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=v(r[1].field("maxsize"))),r[1].hasField("types")){const e=j(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o(t,"InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!B(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o(t,"InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,t,n);const r=a[0],s=g(a[1]);let l=x(a[2],null);const f=E(x(a[3],!0));if(null===l&&(l=["*"]),!1===ae(l))throw new o(t,"InvalidParameter",n);if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!B(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(x(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);const u=s._layer;let c;if(I(u))c=u;else{if(null==u||!B(u))return null;c=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}await c.load();const p=c.serviceUrl(),w=await m(p,t.spatialReference,!0);if(w.unVersion>=8)return await ye(c,s,l,f,w,t,n);const h=w.associations;if(null==h)return null;let F=null,b=null,T=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of w.terminals)e.terminalName===f&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),E=D.get("TOGLOBALID").name,A=D.get("FROMGLOBALID").name,S=D.get("TOTERMINALID").name,v=D.get("FROMTERMINALID").name,j=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,k=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 Z(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(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=`((${E}='${F}') OR ( ${A}='${F}')) AND (${k} IN (5))`,q.codefield=J.create(`CASE WHEN (${E}='${F}') THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=_(U.findField(h.fields,A));e.name=G,e.alias=G,z=new Z(e,J.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=w.unVersion>=4?new M(U.findField(h.fields,D.get("PERCENTALONG").name)):new Z(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{Q=`((${E}='${F}') OR ( ${A}='${F}')) AND (${k} IN (4,6))`,q.codefield=J.create(`CASE WHEN (${E}='${F}') THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=_(U.findField(h.fields,A));e.name=G,e.alias=G,z=new Z(e,J.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(new X({name:"side",alias:"side",type:"string"}),J.create(`CASE WHEN (${k}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${E}='@T'`,t=`${A}='@T'`;null!==b&&(e+=` AND ${S}=@A`,t+=` AND ${v}=@A`),Q="(("+e+") OR ("+t+"))",Q=L(Q,"@T",F??""),e=L(e,"@T",F??""),null!==b&&(e=L(e,"@A",b.toString()),Q=L(Q,"@A",b.toString())),q.codefield=J.create("CASE WHEN "+e+` THEN ${j} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=_(U.findField(h.fields,A));n.name=G,n.alias=G,z=new Z(n,J.create("CASE WHEN "+e+` THEN ${A} ELSE ${E} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":Q=`${E}='${F}' AND ${k} = 2`,null!==b&&(Q+=` AND ${S} = `+b.toString()),q.codefield=j,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,G);break;case"content":Q=`(${A}='${F}' AND ${k} = 2)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),q.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,E),G,G);break;case"structure":Q=`(${E}='${F}' AND ${k} = 3)`,null!==b&&(Q+=` AND ${S} = `+b.toString()),q.codefield=j,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,V);break;case"attached":Q=`(${A}='${F}' AND ${k} = 3)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),q.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,E),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};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import n from"../ArcadePortal.js";import t from"../Dictionary.js";import{ArcadeExecutionError as e}from"../executionError.js";import{cloneGeometry as r}from"../kernel.js";import{C as a,B as i,e as o,g as s,f as c,s as l,j as u,D as f,m as d,E as w,h as m,F as y,G as h,r as p,H as g,J as N,K as S}from"../../chunks/languageUtils.js";import{getPortal as O}from"../portalUtils.js";import{commonRelationsCheck as v,toCurveType as J,planarLength3D as P,toOffsetJoinType as A,toCentroidAlgorithm as I,measureToCoordinateFunc as F,pointToCoordinateFunc as j,distanceToCoordinateFunc as R}from"../geometry/functions.js";import{invokeRemoteGeometryOp as b}from"../geometry/operatorsWorkerConnection.js";import{equals as x}from"../../core/arrayUtils.js";import D from"../../geometry/Extent.js";import L from"../../geometry/Geometry.js";import C from"../../geometry/Multipoint.js";import U from"../../geometry/Point.js";import E from"../../geometry/Polygon.js";import k from"../../geometry/Polyline.js";import{fromJSON as M}from"../../geometry/support/jsonUtils.js";import T from"../../portal/Portal.js";import{lookupUser as Z}from"../../portal/support/utils.js";import{isArray as q}from"../../support/guards.js";function z(n){if(null==n)return n;switch(typeof n){case"string":case"number":return n;default:throw new e(null,"InvalidParameter",null)}}function B(B){"async"===B.mode&&(B.functions.disjoint=function(n,t){return B.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),v(i,n,t),null===i[0]||null===i[1]||b("disjoint",[i[0].toJSON(),i[1].toJSON()])))},B.functions.intersects=function(n,t){return B.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),v(i,n,t),null!==i[0]&&null!==i[1]&&b("intersects",[i[0].toJSON(),i[1].toJSON()])))},B.functions.touches=function(n,t){return B.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),v(i,n,t),null!==i[0]&&null!==i[1]&&b("touches",[i[0].toJSON(),i[1].toJSON()])))},B.functions.crosses=function(n,t){return B.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),v(i,n,t),null!==i[0]&&null!==i[1]&&b("crosses",[i[0].toJSON(),i[1].toJSON()])))},B.functions.within=function(n,t){return B.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),v(i,n,t),null!==i[0]&&null!==i[1]&&b("within",[i[0].toJSON(),i[1].toJSON()])))},B.functions.contains=function(n,t){return B.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),v(i,n,t),null!==i[0]&&null!==i[1]&&b("contains",[i[0].toJSON(),i[1].toJSON()])))},B.functions.overlaps=function(n,t){return B.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),v(i,n,t),null!==i[0]&&null!==i[1]&&b("overlaps",[i[0].toJSON(),i[1].toJSON()])))},B.functions.equals=function(n,t){return B.standardFunctionAsync(n,t,(e,r,a)=>(i(a,2,2,n,t),a[0]===a[1]||(a[0]instanceof L&&a[1]instanceof L?b("equals",[a[0].toJSON(),a[1].toJSON()]):(o(a[0])&&o(a[1])||!!(s(a[0])&&s(a[1])||c(a[0])&&c(a[1])))&&a[0].equals(a[1]))))},B.functions.relate=function(n,t){return B.standardFunctionAsync(n,t,(r,o,s)=>{if(s=a(s),i(s,3,3,n,t),s[0]instanceof L&&s[1]instanceof L)return b("relate",[s[0].toJSON(),s[1].toJSON(),l(s[2])]);if(s[0]instanceof L&&null===s[1])return!1;if(s[1]instanceof L&&null===s[0])return!1;if(null===s[0]&&null===s[1])return!1;throw new e(n,"InvalidParameter",t)})},B.functions.intersection=function(n,t){return B.standardFunctionAsync(n,t,async(e,r,i)=>(i=a(i),v(i,n,t),null===i[0]||null===i[1]?null:M(await b("intersection",[i[0].toJSON(),i[1].toJSON()]))))},B.functions.union=function(n,t){return B.standardFunctionAsync(n,t,async(i,o,s)=>{if(0===(s=a(s)).length)throw new e(n,"WrongNumberOfParameters",t);const c=[];if(1===s.length)if(q(s[0])){for(const r of a(s[0]))if(null!==r){if(!(r instanceof L))throw new e(n,"InvalidParameter",t);c.push(r.toJSON())}}else{if(!u(s[0])){if(s[0]instanceof L)return f(r(s[0]),n.spatialReference);if(null===s[0])return null;throw new e(n,"InvalidParameter",t)}for(const r of a(s[0].toArray()))if(null!==r){if(!(r instanceof L))throw new e(n,"InvalidParameter",t);c.push(r.toJSON())}}else for(const r of s)if(null!==r){if(!(r instanceof L))throw new e(n,"InvalidParameter",t);c.push(r.toJSON())}return 0===c.length?null:M(await b("union",[c]))})},B.functions.difference=function(n,t){return B.standardFunctionAsync(n,t,async(e,i,o)=>(o=a(o),v(o,n,t),null===o[0]?null:null===o[1]?r(o[0]):M(await b("difference",[o[0].toJSON(),o[1].toJSON()]))))},B.functions.symmetricdifference=function(n,t){return B.standardFunctionAsync(n,t,async(e,i,o)=>(o=a(o),v(o,n,t),null===o[0]&&null===o[1]?null:null===o[0]?r(o[1]):null===o[1]?r(o[0]):M(await b("symmetricDifference",[o[0].toJSON(),o[1].toJSON()]))))},B.functions.clip=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,2,n,t),!(s[1]instanceof D)&&null!==s[1])throw new e(n,"InvalidParameter",t);if(null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return null===s[1]?null:M(await b("clip",[s[0].toJSON(),s[1].toJSON()]))})},B.functions.cut=function(n,t){return B.standardFunctionAsync(n,t,async(o,s,c)=>{if(c=a(c),i(c,2,2,n,t),!(c[1]instanceof k)&&null!==c[1])throw new e(n,"InvalidParameter",t);if(null===c[0])return[];if(!(c[0]instanceof L))throw new e(n,"InvalidParameter",t);return null===c[1]?[r(c[0])]:(await b("cut",[c[0].toJSON(),c[1].toJSON()])).map(n=>M(n))})},B.functions.area=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(i(s,1,2,n,t),s=a(s),d(s[0])){const r=await s[0].sumArea(z(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}let c=s[0];if((q(c)||u(c))&&(c=w(s[0],n.spatialReference)),null===c)return 0;if(!(c instanceof L))throw new e(n,"InvalidParameter",t);return b("area",[c.toJSON(),z(s[1])])})},B.functions.areageodetic=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{i(s,1,3,n,t);let c=(s=a(s))[0];(q(c)||u(c))&&(c=w(c,n.spatialReference));const l=z(s[1]),f=J(s[2]);if(d(c)){const r=await c.sumArea(l,f,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}if(null==c)return 0;if(!m(c))throw new e(n,"InvalidParameter",t);return b("geodeticArea",[c.toJSON(),l,f])})},B.functions.length=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(i(s,1,2,n,t),s=a(s),d(s[0])){const r=await s[0].sumLength(z(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}let c=s[0];if((q(s[0])||u(s[0]))&&(c=y(s[0],n.spatialReference)),null===c)return 0;if(!(c instanceof L))throw new e(n,"InvalidParameter",t);return b("length",[c.toJSON(),z(s[1])])})},B.functions.length3d=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(i(s,1,2,n,t),null===(s=a(s))[0])return 0;let c=s[0];if((q(s[0])||u(s[0]))&&(c=y(s[0],n.spatialReference)),null===c)return 0;if(!(c instanceof L))throw new e(n,"InvalidParameter",t);if(!0===c.hasZ){const{convertFromSpatialReferenceUnit:n,toLengthUnit:t}=await import("../geometry/unitConversion.js"),e=P(c);return n(c.spatialReference,t(s[1]),e)}return b("length",[c.toJSON(),z(s[1])])})},B.functions.lengthgeodetic=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{i(s,1,3,n,t);let c=(s=a(s))[0];(q(s[0])||u(s[0]))&&(c=y(s[0],n.spatialReference));const l=z(s[1]),f=J(s[2]);if(d(c)){const r=await c.sumLength(l,f,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}if(null===c)return 0;if(!m(c))throw new e(n,"InvalidParameter",t);return b("geodeticLength",[c.toJSON(),l,f])})},B.functions.distance=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,3,n,t);let c=s[0];if((q(s[0])||u(s[0]))&&(c=h(s[0],n.spatialReference)),!(c instanceof L))throw new e(n,"InvalidParameter",t);let l=s[1];if((q(s[1])||u(s[1]))&&(l=h(s[1],n.spatialReference)),!(l instanceof L))throw new e(n,"InvalidParameter",t);return b("distance",[c.toJSON(),l.toJSON(),z(s[2])])})},B.functions.distancegeodetic=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,4,n,t);const c=s[0];if(!(c instanceof U))throw new e(n,"InvalidParameter",t);const l=s[1];if(!(l instanceof U))throw new e(n,"InvalidParameter",t);const u=new k({paths:[],spatialReference:c.spatialReference});return u.addPath([c,l]),b("geodeticLength",[u.toJSON(),z(s[2]),J(s[3])])})},B.functions.densify=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,3,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);const c=p(s[1]);if(isNaN(c))throw new e(n,"InvalidParameter",t);if(c<=0)throw new e(n,"InvalidParameter",t);switch(s[0].type){case"polygon":case"polyline":case"extent":return M(await b("densify",[s[0].toJSON(),c,z(s[2])]));default:return s[0]}})},B.functions.densifygeodetic=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,4,n,t);const c=s[0];if(null==c)return null;if(!m(c))throw new e(n,"InvalidParameter",t);const l=p(s[1]);if(isNaN(l))throw new e(n,"InvalidParameter",t);if(l<=0)throw new e(n,"InvalidParameter",t);const u=z(s[2]),f=J(s[3]);switch(c.type){case"polygon":case"polyline":case"extent":return M(await b("geodeticDensify",[c.toJSON(),l,u,f]));default:return c}})},B.functions.generalize=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,4,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);const c=p(s[1]);if(isNaN(c))throw new e(n,"InvalidParameter",t);const l=g(N(s[2],!0));return M(await b("generalize",[s[0].toJSON(),c,z(s[3]),{removeDegenerateParts:l}]))})},B.functions.buffer=function(n,t){return B.standardFunctionAsync(n,t,async(o,s,c)=>{if(c=a(c),i(c,2,3,n,t),null===c[0])return null;if(!(c[0]instanceof L))throw new e(n,"InvalidParameter",t);const l=p(c[1]);if(isNaN(l))throw new e(n,"InvalidParameter",t);return 0===l?r(c[0]):M(await b("buffer",[c[0].toJSON(),l,z(c[2])]))})},B.functions.buffergeodetic=function(n,t){return B.standardFunctionAsync(n,t,async(o,s,c)=>{c=a(c),i(c,2,4,n,t);const l=c[0];if(null==l)return null;if(!m(l))throw new e(n,"InvalidParameter",t);const u=p(c[1]);if(isNaN(u))throw new e(n,"InvalidParameter",t);if(0===u)return r(l);const f=z(c[2]),d=J(c[3]);return M(await b("geodesicBuffer",[l.toJSON(),u,f,d]))})},B.functions.offset=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,6,n,t);const c=s[0];if(null===c)return null;if(!(c instanceof E||c instanceof k))throw new e(n,"InvalidParameter",t);const l=p(s[1]);if(isNaN(l))throw new e(n,"InvalidParameter",t);const u=s[2],f=A(s[3]),d=p(N(s[4],10));if(isNaN(d))throw new e(n,"InvalidParameter",t);const w=p(N(s[5],0));if(isNaN(w))throw new e(n,"InvalidParameter",t);return M(await b("offset",[c.toJSON(),l,z(u),f,d,w]))})},B.functions.rotate=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,3,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);const c=s[0]instanceof D?E.fromExtent(s[0]):s[0],l=p(s[1]);if(isNaN(l))throw new e(n,"InvalidParameter",t);const u=N(s[2],null);if(null===u){const n="point"===c.type?c:c.extent?.center;return M(await b("rotate",[c.toJSON(),l,n?.x,n?.y]))}if(u instanceof U)return M(await b("rotate",[c.toJSON(),l,u.x,u.y]));throw new e(n,"InvalidParameter",t)})},B.functions.centroid=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,1,2,n,t),null===s[0])return null;const c=I(s[1]);let l=s[0];if((q(s[0])||u(s[0]))&&(l="geometric"===c?h(s[0],n.spatialReference):w(s[0],n.spatialReference),null===l))return null;if(!(l instanceof L))throw new e(n,"InvalidParameter",t);return M("geometric"===c?await b("centroid",[l.toJSON()]):await b("labelPoint",[l.toJSON()]))})},B.functions.measuretocoordinate=function(n,t){return B.standardFunctionAsync(n,t,F)},B.functions.pointtocoordinate=function(n,t){return B.standardFunctionAsync(n,t,j)},B.functions.distancetocoordinate=function(n,t){return B.standardFunctionAsync(n,t,R)},B.functions.multiparttosinglepart=function(n,t){return B.standardFunctionAsync(n,t,async(o,s,c)=>{if(c=a(c),i(c,1,1,n,t),null===c[0])return null;if(!(c[0]instanceof L))throw new e(n,"InvalidParameter",t);if(c[0]instanceof U)return[f(r(c[0]),n.spatialReference)];if(c[0]instanceof D)return[f(r(c[0]),n.spatialReference)];const l=M(await b("simplify",[c[0].toJSON()]));if(l instanceof E){const n=[],t=[];for(let e=0;e<l.rings.length;e++)if(l.isClockwise(l.rings[e])){const t=M({rings:[l.rings[e]],hasZ:!0===l.hasZ,hasM:!0===l.hasM,spatialReference:l.spatialReference.toJSON()});n.push(t)}else t.push({ring:l.rings[e],pt:l.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(l instanceof k){const n=[];for(let t=0;t<l.paths.length;t++){const e=M({paths:[l.paths[t]],hasZ:!0===l.hasZ,hasM:!0===l.hasM,spatialReference:l.spatialReference.toJSON()});n.push(e)}return n}if(c[0]instanceof C){const t=[],e=f(r(c[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)t.push(e.getPoint(n));return t}return null})},B.functions.isselfintersecting=function(n,t){return B.standardFunctionAsync(n,t,async(n,t,e)=>{i(e,1,1,n,t);let r=(e=a(e))[0];if((q(e[0])||u(e[0]))&&(r=y(e[0],n.spatialReference)),r instanceof C){const n=r.points;for(let t=0;t<n.length;t++)for(let e=t+1;e<n.length;e++)if(x(n[t],n[e]))return!0;return!1}return(r instanceof k||r instanceof E)&&await b("isSelfIntersecting",[r.toJSON()])})},B.functions.issimple=function(n,t){return B.standardFunctionAsync(n,t,(r,o,s)=>{if(s=a(s),i(s,1,1,n,t),null===s[0])return!0;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return b("isSimple",[s[0].toJSON()])})},B.functions.simplify=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,1,1,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return M(await b("simplify",[s[0].toJSON()]))})},B.functions.convexhull=function(n,t){return B.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,1,1,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return M(await b("convexHull",[s[0].toJSON()]))})},B.functions.getuser=function(r,a){return B.standardFunctionAsync(r,a,async(o,s,c)=>{i(c,0,2,r,a);let u=N(c[1],""),f=!0===u;if(u=!0===u||!1===u?"":l(u),0===c.length||c[0]instanceof n){let n;n=r.services?.portal?r.services.portal:T.getDefault(),c.length>0&&(n=O(c[0],n));const e=await Z(n,u,f);if(e){const n=JSON.parse(JSON.stringify(e));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,S(r))}return null}let w=null;if(d(c[0])&&(w=c[0]),w){if(f=!1,u)return null;await w.load();const e=await w.getOwningSystemUrl();if(!e){if(!u){const n=await w.getIdentityUser();return n?t.convertObjectToArcadeDictionary({username:n},S(r)):null}return null}let a;a=r.services?.portal?r.services.portal:T.getDefault(),a=O(new n(e),a);const i=await Z(a,u,f);if(i){const n=JSON.parse(JSON.stringify(i));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,S(r))}return null}throw new e(r,"InvalidParameter",a)})},B.functions.nearestcoordinate=function(n,r){return B.standardFunctionAsync(n,r,async(o,s,c)=>{if(c=a(c),i(c,2,2,n,r),!(c[0]instanceof L||null===c[0]))throw new e(n,"InvalidParameter",r);if(!(c[1]instanceof U||null===c[1]))throw new e(n,"InvalidParameter",r);if(null===c[0]||null===c[1])return null;const l=c[0]instanceof D?E.fromExtent(c[0]):c[0],u=await b("getNearestCoordinate",[l.toJSON(),c[1].toJSON(),{calculateLeftRightSide:!0}]);return null===u?null:t.convertObjectToArcadeDictionary({coordinate:M(u.coordinate),distance:u.distance,sideOfLine:0===u.distance?"straddle":u.isRightSide?"right":"left"},S(n),!1,!0)})},B.functions.nearestvertex=function(n,r){return B.standardFunctionAsync(n,r,async(o,s,c)=>{if(c=a(c),i(c,2,2,n,r),!(c[0]instanceof L||null===c[0]))throw new e(n,"InvalidParameter",r);if(!(c[1]instanceof U||null===c[1]))throw new e(n,"InvalidParameter",r);if(null===c[0]||null===c[1])return null;const l=c[0]instanceof D?E.fromExtent(c[0]):c[0],u=await b("getNearestVertex",[l.toJSON(),c[1].toJSON()]);return null==u?null:t.convertObjectToArcadeDictionary({coordinate:M(u.coordinate),distance:u.distance,sideOfLine:u.sideOfLine},S(n),!1,!0)})})}export{B as registerFunctions};
|
|
2
|
+
import n from"../ArcadePortal.js";import t from"../Dictionary.js";import{ArcadeExecutionError as e}from"../executionError.js";import{cloneGeometry as r}from"../kernel.js";import{C as a,B as i,e as o,g as s,f as c,s as u,j as l,D as f,m as d,E as w,h as m,F as y,G as h,r as p,H as g,J as N,K as S}from"../../chunks/languageUtils.js";import{getPortal as O}from"../portalUtils.js";import{commonRelationsCheck as J,toCurveType as v,planarLength3D as P,toOffsetJoinType as A,toCentroidAlgorithm as I,measureToCoordinateFunc as F,pointToCoordinateFunc as j,distanceToCoordinateFunc as R}from"../geometry/functions.js";import{invokeRemoteGeometryOp as b}from"../geometry/operatorsWorkerConnection.js";import{equals as x}from"../../core/arrayUtils.js";import D from"../../geometry/Extent.js";import L from"../../geometry/Geometry.js";import C from"../../geometry/Multipoint.js";import U from"../../geometry/Point.js";import E from"../../geometry/Polygon.js";import k from"../../geometry/Polyline.js";import{fromJSON as M}from"../../geometry/support/jsonUtils.js";import{lookupUser as T}from"../../portal/support/utils.js";import{isArray as Z}from"../../support/guards.js";function q(n){if(null==n)return n;switch(typeof n){case"string":case"number":return n;default:throw new e(null,"InvalidParameter",null)}}function z(z){"async"===z.mode&&(z.functions.disjoint=function(n,t){return z.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),J(i,n,t),null===i[0]||null===i[1]||b("disjoint",[i[0].toJSON(),i[1].toJSON()])))},z.functions.intersects=function(n,t){return z.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),J(i,n,t),null!==i[0]&&null!==i[1]&&b("intersects",[i[0].toJSON(),i[1].toJSON()])))},z.functions.touches=function(n,t){return z.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),J(i,n,t),null!==i[0]&&null!==i[1]&&b("touches",[i[0].toJSON(),i[1].toJSON()])))},z.functions.crosses=function(n,t){return z.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),J(i,n,t),null!==i[0]&&null!==i[1]&&b("crosses",[i[0].toJSON(),i[1].toJSON()])))},z.functions.within=function(n,t){return z.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),J(i,n,t),null!==i[0]&&null!==i[1]&&b("within",[i[0].toJSON(),i[1].toJSON()])))},z.functions.contains=function(n,t){return z.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),J(i,n,t),null!==i[0]&&null!==i[1]&&b("contains",[i[0].toJSON(),i[1].toJSON()])))},z.functions.overlaps=function(n,t){return z.standardFunctionAsync(n,t,(e,r,i)=>(i=a(i),J(i,n,t),null!==i[0]&&null!==i[1]&&b("overlaps",[i[0].toJSON(),i[1].toJSON()])))},z.functions.equals=function(n,t){return z.standardFunctionAsync(n,t,(e,r,a)=>(i(a,2,2,n,t),a[0]===a[1]||(a[0]instanceof L&&a[1]instanceof L?b("equals",[a[0].toJSON(),a[1].toJSON()]):(o(a[0])&&o(a[1])||!!(s(a[0])&&s(a[1])||c(a[0])&&c(a[1])))&&a[0].equals(a[1]))))},z.functions.relate=function(n,t){return z.standardFunctionAsync(n,t,(r,o,s)=>{if(s=a(s),i(s,3,3,n,t),s[0]instanceof L&&s[1]instanceof L)return b("relate",[s[0].toJSON(),s[1].toJSON(),u(s[2])]);if(s[0]instanceof L&&null===s[1])return!1;if(s[1]instanceof L&&null===s[0])return!1;if(null===s[0]&&null===s[1])return!1;throw new e(n,"InvalidParameter",t)})},z.functions.intersection=function(n,t){return z.standardFunctionAsync(n,t,async(e,r,i)=>(i=a(i),J(i,n,t),null===i[0]||null===i[1]?null:M(await b("intersection",[i[0].toJSON(),i[1].toJSON()]))))},z.functions.union=function(n,t){return z.standardFunctionAsync(n,t,async(i,o,s)=>{if(0===(s=a(s)).length)throw new e(n,"WrongNumberOfParameters",t);const c=[];if(1===s.length)if(Z(s[0])){for(const r of a(s[0]))if(null!==r){if(!(r instanceof L))throw new e(n,"InvalidParameter",t);c.push(r.toJSON())}}else{if(!l(s[0])){if(s[0]instanceof L)return f(r(s[0]),n.spatialReference);if(null===s[0])return null;throw new e(n,"InvalidParameter",t)}for(const r of a(s[0].toArray()))if(null!==r){if(!(r instanceof L))throw new e(n,"InvalidParameter",t);c.push(r.toJSON())}}else for(const r of s)if(null!==r){if(!(r instanceof L))throw new e(n,"InvalidParameter",t);c.push(r.toJSON())}return 0===c.length?null:M(await b("union",[c]))})},z.functions.difference=function(n,t){return z.standardFunctionAsync(n,t,async(e,i,o)=>(o=a(o),J(o,n,t),null===o[0]?null:null===o[1]?r(o[0]):M(await b("difference",[o[0].toJSON(),o[1].toJSON()]))))},z.functions.symmetricdifference=function(n,t){return z.standardFunctionAsync(n,t,async(e,i,o)=>(o=a(o),J(o,n,t),null===o[0]&&null===o[1]?null:null===o[0]?r(o[1]):null===o[1]?r(o[0]):M(await b("symmetricDifference",[o[0].toJSON(),o[1].toJSON()]))))},z.functions.clip=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,2,n,t),!(s[1]instanceof D)&&null!==s[1])throw new e(n,"InvalidParameter",t);if(null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return null===s[1]?null:M(await b("clip",[s[0].toJSON(),s[1].toJSON()]))})},z.functions.cut=function(n,t){return z.standardFunctionAsync(n,t,async(o,s,c)=>{if(c=a(c),i(c,2,2,n,t),!(c[1]instanceof k)&&null!==c[1])throw new e(n,"InvalidParameter",t);if(null===c[0])return[];if(!(c[0]instanceof L))throw new e(n,"InvalidParameter",t);return null===c[1]?[r(c[0])]:(await b("cut",[c[0].toJSON(),c[1].toJSON()])).map(n=>M(n))})},z.functions.area=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(i(s,1,2,n,t),s=a(s),d(s[0])){const r=await s[0].sumArea(q(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}let c=s[0];if((Z(c)||l(c))&&(c=w(s[0],n.spatialReference)),null===c)return 0;if(!(c instanceof L))throw new e(n,"InvalidParameter",t);return b("area",[c.toJSON(),q(s[1])])})},z.functions.areageodetic=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{i(s,1,3,n,t);let c=(s=a(s))[0];(Z(c)||l(c))&&(c=w(c,n.spatialReference));const u=q(s[1]),f=v(s[2]);if(d(c)){const r=await c.sumArea(u,f,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}if(null==c)return 0;if(!m(c))throw new e(n,"InvalidParameter",t);return b("geodeticArea",[c.toJSON(),u,f])})},z.functions.length=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(i(s,1,2,n,t),s=a(s),d(s[0])){const r=await s[0].sumLength(q(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}let c=s[0];if((Z(s[0])||l(s[0]))&&(c=y(s[0],n.spatialReference)),null===c)return 0;if(!(c instanceof L))throw new e(n,"InvalidParameter",t);return b("length",[c.toJSON(),q(s[1])])})},z.functions.length3d=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(i(s,1,2,n,t),null===(s=a(s))[0])return 0;let c=s[0];if((Z(s[0])||l(s[0]))&&(c=y(s[0],n.spatialReference)),null===c)return 0;if(!(c instanceof L))throw new e(n,"InvalidParameter",t);if(!0===c.hasZ){const{convertFromSpatialReferenceUnit:n,toLengthUnit:t}=await import("../geometry/unitConversion.js"),e=P(c);return n(c.spatialReference,t(s[1]),e)}return b("length",[c.toJSON(),q(s[1])])})},z.functions.lengthgeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{i(s,1,3,n,t);let c=(s=a(s))[0];(Z(s[0])||l(s[0]))&&(c=y(s[0],n.spatialReference));const u=q(s[1]),f=v(s[2]);if(d(c)){const r=await c.sumLength(u,f,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,"Cancelled",t);return r}if(null===c)return 0;if(!m(c))throw new e(n,"InvalidParameter",t);return b("geodeticLength",[c.toJSON(),u,f])})},z.functions.distance=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,3,n,t);let c=s[0];if((Z(s[0])||l(s[0]))&&(c=h(s[0],n.spatialReference)),!(c instanceof L))throw new e(n,"InvalidParameter",t);let u=s[1];if((Z(s[1])||l(s[1]))&&(u=h(s[1],n.spatialReference)),!(u instanceof L))throw new e(n,"InvalidParameter",t);return b("distance",[c.toJSON(),u.toJSON(),q(s[2])])})},z.functions.distancegeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,4,n,t);const c=s[0];if(!(c instanceof U))throw new e(n,"InvalidParameter",t);const u=s[1];if(!(u instanceof U))throw new e(n,"InvalidParameter",t);const l=new k({paths:[],spatialReference:c.spatialReference});return l.addPath([c,u]),b("geodeticLength",[l.toJSON(),q(s[2]),v(s[3])])})},z.functions.densify=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,3,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);const c=p(s[1]);if(isNaN(c))throw new e(n,"InvalidParameter",t);if(c<=0)throw new e(n,"InvalidParameter",t);switch(s[0].type){case"polygon":case"polyline":case"extent":return M(await b("densify",[s[0].toJSON(),c,q(s[2])]));default:return s[0]}})},z.functions.densifygeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,4,n,t);const c=s[0];if(null==c)return null;if(!m(c))throw new e(n,"InvalidParameter",t);const u=p(s[1]);if(isNaN(u))throw new e(n,"InvalidParameter",t);if(u<=0)throw new e(n,"InvalidParameter",t);const l=q(s[2]),f=v(s[3]);switch(c.type){case"polygon":case"polyline":case"extent":return M(await b("geodeticDensify",[c.toJSON(),u,l,f]));default:return c}})},z.functions.generalize=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,4,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);const c=p(s[1]);if(isNaN(c))throw new e(n,"InvalidParameter",t);const u=g(N(s[2],!0));return M(await b("generalize",[s[0].toJSON(),c,q(s[3]),{removeDegenerateParts:u}]))})},z.functions.buffer=function(n,t){return z.standardFunctionAsync(n,t,async(o,s,c)=>{if(c=a(c),i(c,2,3,n,t),null===c[0])return null;if(!(c[0]instanceof L))throw new e(n,"InvalidParameter",t);const u=p(c[1]);if(isNaN(u))throw new e(n,"InvalidParameter",t);return 0===u?r(c[0]):M(await b("buffer",[c[0].toJSON(),u,q(c[2])]))})},z.functions.buffergeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(o,s,c)=>{c=a(c),i(c,2,4,n,t);const u=c[0];if(null==u)return null;if(!m(u))throw new e(n,"InvalidParameter",t);const l=p(c[1]);if(isNaN(l))throw new e(n,"InvalidParameter",t);if(0===l)return r(u);const f=q(c[2]),d=v(c[3]);return M(await b("geodesicBuffer",[u.toJSON(),l,f,d]))})},z.functions.offset=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{s=a(s),i(s,2,6,n,t);const c=s[0];if(null===c)return null;if(!(c instanceof E||c instanceof k))throw new e(n,"InvalidParameter",t);const u=p(s[1]);if(isNaN(u))throw new e(n,"InvalidParameter",t);const l=s[2],f=A(s[3]),d=p(N(s[4],10));if(isNaN(d))throw new e(n,"InvalidParameter",t);const w=p(N(s[5],0));if(isNaN(w))throw new e(n,"InvalidParameter",t);return M(await b("offset",[c.toJSON(),u,q(l),f,d,w]))})},z.functions.rotate=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,2,3,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);const c=s[0]instanceof D?E.fromExtent(s[0]):s[0],u=p(s[1]);if(isNaN(u))throw new e(n,"InvalidParameter",t);const l=N(s[2],null);if(null===l){const n="point"===c.type?c:c.extent?.center;return M(await b("rotate",[c.toJSON(),u,n?.x,n?.y]))}if(l instanceof U)return M(await b("rotate",[c.toJSON(),u,l.x,l.y]));throw new e(n,"InvalidParameter",t)})},z.functions.centroid=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,1,2,n,t),null===s[0])return null;const c=I(s[1]);let u=s[0];if((Z(s[0])||l(s[0]))&&(u="geometric"===c?h(s[0],n.spatialReference):w(s[0],n.spatialReference),null===u))return null;if(!(u instanceof L))throw new e(n,"InvalidParameter",t);return M("geometric"===c?await b("centroid",[u.toJSON()]):await b("labelPoint",[u.toJSON()]))})},z.functions.measuretocoordinate=function(n,t){return z.standardFunctionAsync(n,t,F)},z.functions.pointtocoordinate=function(n,t){return z.standardFunctionAsync(n,t,j)},z.functions.distancetocoordinate=function(n,t){return z.standardFunctionAsync(n,t,R)},z.functions.multiparttosinglepart=function(n,t){return z.standardFunctionAsync(n,t,async(o,s,c)=>{if(c=a(c),i(c,1,1,n,t),null===c[0])return null;if(!(c[0]instanceof L))throw new e(n,"InvalidParameter",t);if(c[0]instanceof U)return[f(r(c[0]),n.spatialReference)];if(c[0]instanceof D)return[f(r(c[0]),n.spatialReference)];const u=M(await b("simplify",[c[0].toJSON()]));if(u instanceof E){const n=[],t=[];for(let e=0;e<u.rings.length;e++)if(u.isClockwise(u.rings[e])){const t=M({rings:[u.rings[e]],hasZ:!0===u.hasZ,hasM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(t)}else t.push({ring:u.rings[e],pt:u.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(u instanceof k){const n=[];for(let t=0;t<u.paths.length;t++){const e=M({paths:[u.paths[t]],hasZ:!0===u.hasZ,hasM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(e)}return n}if(c[0]instanceof C){const t=[],e=f(r(c[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)t.push(e.getPoint(n));return t}return null})},z.functions.isselfintersecting=function(n,t){return z.standardFunctionAsync(n,t,async(n,t,e)=>{i(e,1,1,n,t);let r=(e=a(e))[0];if((Z(e[0])||l(e[0]))&&(r=y(e[0],n.spatialReference)),r instanceof C){const n=r.points;for(let t=0;t<n.length;t++)for(let e=t+1;e<n.length;e++)if(x(n[t],n[e]))return!0;return!1}return(r instanceof k||r instanceof E)&&await b("isSelfIntersecting",[r.toJSON()])})},z.functions.issimple=function(n,t){return z.standardFunctionAsync(n,t,(r,o,s)=>{if(s=a(s),i(s,1,1,n,t),null===s[0])return!0;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return b("isSimple",[s[0].toJSON()])})},z.functions.simplify=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,1,1,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return M(await b("simplify",[s[0].toJSON()]))})},z.functions.convexhull=function(n,t){return z.standardFunctionAsync(n,t,async(r,o,s)=>{if(s=a(s),i(s,1,1,n,t),null===s[0])return null;if(!(s[0]instanceof L))throw new e(n,"InvalidParameter",t);return M(await b("convexHull",[s[0].toJSON()]))})},z.functions.getuser=function(r,a){return z.standardFunctionAsync(r,a,async(o,s,c)=>{i(c,0,2,r,a);let l=N(c[1],""),f=!0===l;if(l=!0===l||!1===l?"":u(l),0===c.length||c[0]instanceof n){const n=O(r,c.length>0?c[0]:null),e=await T(n,l,f);if(e){const n=JSON.parse(JSON.stringify(e));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,S(r))}return null}let w=null;if(d(c[0])&&(w=c[0]),w){if(f=!1,l)return null;await w.load();const e=await w.getOwningSystemUrl();if(!e){if(!l){const n=await w.getIdentityUser();return n?t.convertObjectToArcadeDictionary({username:n},S(r)):null}return null}const a=O(r,new n(e)),i=await T(a,l,f);if(i){const n=JSON.parse(JSON.stringify(i));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,S(r))}return null}throw new e(r,"InvalidParameter",a)})},z.functions.nearestcoordinate=function(n,r){return z.standardFunctionAsync(n,r,async(o,s,c)=>{if(c=a(c),i(c,2,2,n,r),!(c[0]instanceof L||null===c[0]))throw new e(n,"InvalidParameter",r);if(!(c[1]instanceof U||null===c[1]))throw new e(n,"InvalidParameter",r);if(null===c[0]||null===c[1])return null;const u=c[0]instanceof D?E.fromExtent(c[0]):c[0],l=await b("getNearestCoordinate",[u.toJSON(),c[1].toJSON(),{calculateLeftRightSide:!0}]);return null===l?null:t.convertObjectToArcadeDictionary({coordinate:M(l.coordinate),distance:l.distance,sideOfLine:0===l.distance?"straddle":l.isRightSide?"right":"left"},S(n),!1,!0)})},z.functions.nearestvertex=function(n,r){return z.standardFunctionAsync(n,r,async(o,s,c)=>{if(c=a(c),i(c,2,2,n,r),!(c[0]instanceof L||null===c[0]))throw new e(n,"InvalidParameter",r);if(!(c[1]instanceof U||null===c[1]))throw new e(n,"InvalidParameter",r);if(null===c[0]||null===c[1])return null;const u=c[0]instanceof D?E.fromExtent(c[0]):c[0],l=await b("getNearestVertex",[u.toJSON(),c[1].toJSON()]);return null==l?null:t.convertObjectToArcadeDictionary({coordinate:M(l.coordinate),distance:l.distance,sideOfLine:l.sideOfLine},S(n),!1,!0)})})}export{z as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../../config.js";import r from"../ArcadePortal.js";import t from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import{B as o,s as a,o as i,J as s,K as p,e as
|
|
2
|
+
import e from"../../config.js";import r from"../ArcadePortal.js";import t from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import{B as o,s as a,o as i,J as s,K as p,e as c,f as l,g as f,n as u,h as m}from"../../chunks/languageUtils.js";import{getPortal as d}from"../portalUtils.js";import h from"../../geometry/Geometry.js";import{load as g,project as w,isLoaded as y}from"../../geometry/projectionUtils.js";import j from"../../geometry/SpatialReference.js";import{webMercatorToGeographic as S,geographicToWebMercator as R}from"../../geometry/support/webMercatorUtils.js";import G from"../../portal/PortalItem.js";import{project as v}from"../../rest/geometryService/project.js";import x from"../../rest/knowledgeGraph/Entity.js";import k from"../../rest/knowledgeGraph/GraphQueryStreaming.js";import P from"../../rest/knowledgeGraph/ObjectValue.js";import b from"../../rest/knowledgeGraph/Path.js";import I from"../../rest/knowledgeGraph/Relationship.js";import W from"../../rest/support/ProjectParameters.js";import{isString as T,isArray as D,isNumber as U,isDate as q}from"../../support/guards.js";let A=null;async function J(r){const t=e.geometryServiceUrl??"";if(!t){y()||await g();for(const e of r)e.container[e.indexer]=w(e.container[e.indexer],j.WGS84);return}const n=r.map(e=>e.container[e.indexer]),o=new W({geometries:n,outSpatialReference:j.WGS84}),a=await v(t,o);for(let e=0;e<a.length;e++){const t=r[e];t.container[t.indexer]=a[e]}}async function N(e,r){const t=new G({portal:e,id:r});return await t.load(),null===A&&(A=await import("../../rest/knowledgeGraphService.js")),await A.fetchKnowledgeGraph(t.url)}function F(e,r,t,n,o){if(null===e)return null;if(T(e)||U(e))return e;if(c(e))return e.toJSDate();if(c(e))return e.toJSDate();if(l(e))return e.toStorageFormat();if(f(e))return e.toStorageString();if(u(e)){const a={};for(const i of e.keys())a[i]=F(e.field(i),r,t,n,o),a[i]instanceof h&&o.push({container:a,indexer:i});return a}if(D(e)){const a=e.map(e=>F(e,r,t,n,o));for(let e=0;e<a.length;e++)a[e]instanceof h&&o.push({container:a,indexer:e});return a}return m(e)?e.spatialReference.isWGS84?e:e.spatialReference.isWebMercator&&r?S(e):e:void 0}function M(e,r){if(!e)return e;if(e.spatialReference.isWGS84&&r.spatialReference.isWebMercator)return R(e);if(e.spatialReference.equals(r.spatialReference))return e;throw new n(r,"WrongSpatialReference",null)}function Q(e,r){if(!e)return null;const t={};for(const n in e)t[n]=B(e[n],r);return t}function B(e,r){return null===e?null:D(e)?e.map(e=>B(e,r)):e instanceof x?{graphTypeName:e.typeName,id:e.id,graphType:"entity",properties:Q(e.properties,r)}:e instanceof P?{graphType:"object",properties:Q(e.properties,r)}:e instanceof I?{graphTypeName:e.typeName,id:e.id,graphType:"relationship",originId:e.originId??null,destinationId:e.destinationId??null,properties:Q(e.properties,r)}:e instanceof b?{graphType:"path",path:e.path?e.path.map(e=>B(e,r)):null}:m(e)?M(e,r):T(e)||U(e)||q(e)?e:null}function E(e){"async"===e.mode&&(e.functions.knowledgegraphbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,s,p)=>{if(o(p,2,2,t,i),!(p[0]instanceof r))throw new n(t,"PortalRequired",i);const c=a(p[1]);return N(d(t,p[0]),c)})},e.signatures.push({name:"knowledgegraphbyportalitem",min:2,max:2}),e.functions.querygraph=function(r,a){return e.standardFunctionAsync(r,a,async(e,c,l)=>{o(l,2,4,r,a);const f=l[0];if(!i(f))throw new n(r,"InvalidParameter",a);const u=l[1];if(!T(u))throw new n(r,"InvalidParameter",a);null===A&&(A=await import("../../rest/knowledgeGraphService.js"));let m=null;const d=s(l[2],null);if(!(d instanceof t||null===d))throw new n(r,"InvalidParameter",a);if(d){let e=[];m=F(d,!0,!1,r,e),e=e.filter(e=>!e.container[e.indexer].spatialReference.isWGS84),e.length>0&&await J(e)}const h=s(l[3],!1),g=new k({openCypherQuery:u,bindParameters:m,provenanceBehavior:h?"include":"exclude"});(f?.serviceDefinition?.currentVersion??11.3)>11.2&&(g.outputSpatialReference=r.spatialReference);const w=(await A.executeQueryStreaming(f,g)).resultRowsStream.getReader(),y=[];try{for(;;){const{done:e,value:t}=await w.read();if(e)break;if(D(t))for(const n of t)y.push(B(n,r));else{const e=[];for(const n of t)e.push(B(t[n],r));y.push(e)}}}catch(j){throw j}return t.convertJsonToArcade(y,p(r),!1,!0)})},e.signatures.push({name:"querygraph",min:2,max:4}))}export{E as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import t from"../ArcadePortal.js";import e from"../Attachment.js";import r from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as a}from"../executionError.js";import{B as o,s as i,O as u,r as s,v as l,J as p,H as f,t as c,j as d,$ as h,K as y,a0 as g,e as m,f as A,g as w,k as I,i as v,m as U,l as j}from"../../chunks/languageUtils.js";import{convertDirection as x}from"./convertdirection.js";import{XXH as N}from"./hash.js";import{hasSamePortal as k}from"../../core/urlUtils.js";import{generateUUID as C}from"../../core/uuid.js";import P from"../../geometry/Extent.js";import O from"../../geometry/Multipoint.js";import z from"../../geometry/Point.js";import S from"../../geometry/Polygon.js";import F from"../../geometry/Polyline.js";import T from"../../geometry/SpatialReference.js";import L from"../../portal/Portal.js";import{isArray as R,isString as H,isBoolean as M,isNumber as b}from"../../support/guards.js";function D(t){if("loaded"===t.loadStatus&&t.user?.sourceJSON){return t.user.sourceJSON}return null}function J(t,e){return!!t&&k(t,e?.restUrl||"")}function W(t,e){if(!t||!e)return t===e;if(t.x===e.x&&t.y===e.y){if(t.hasZ){if(t.z!==e.z)return!1}else if(e.hasZ)return!1;if(t.hasM){if(t.m!==e.m)return!1}else if(e.hasM)return!1;return!0}return!1}function B(n,o,i){if(null!==n)if(R(n)){if(o.updateUint8Array([61]),i.map.has(n)){const t=i.map.get(n);o.updateIntArray([61237541^t])}else{i.map.set(n,i.currentLength++);for(const t of n)B(t,o,i);i.map.delete(n),i.currentLength--}o.updateUint8Array([199])}else if(d(n)){if(o.updateUint8Array([61]),i.map.has(n)){const t=i.map.get(n);o.updateIntArray([61237541^t])}else{i.map.set(n,i.currentLength++);for(const t of n.toArray())B(t,o,i);i.map.delete(n),i.currentLength--}o.updateUint8Array([199])}else{if(m(n))return o.updateIntArray([n.toNumber()]),void o.updateUint8Array([241]);if(A(n))return o.updateIntArray([n.toNumber()]),void o.updateIntArray([257]);if(w(n))return o.updateIntArray([n.toNumber()]),void o.updateIntArray([263]);if(H(n))return o.updateIntArray([n.length]),o.updateWithString(n),void o.updateUint8Array([41]);if(M(n))o.updateUint8Array([!0===n?1:0,113]);else{if(b(n))return o.updateFloatArray([n]),void o.updateUint8Array([173]);if(n instanceof e)throw new a(i.context,"UnsupportedHashType",i.node);if(n instanceof t)throw new a(i.context,"UnsupportedHashType",i.node);if(!(n instanceof r)){if(I(n))throw new a(i.context,"UnsupportedHashType",i.node);if(n instanceof z)return o.updateIntArray([3833836621]),o.updateIntArray([0]),o.updateFloatArray([n.x]),o.updateIntArray([1]),o.updateFloatArray([n.y]),n.hasZ&&(o.updateIntArray([2]),o.updateFloatArray([n.z])),n.hasM&&(o.updateIntArray([3]),o.updateFloatArray([n.m])),o.updateIntArray([3765347959]),void B(n.spatialReference.wkid,o,i);if(n instanceof S){o.updateIntArray([1266616829]);for(let t=0;t<n.rings.length;t++){const e=n.rings[t],r=[];let a=null,u=null;for(let o=0;o<e.length;o++){const i=n.getPoint(t,o);if(0===o)a=i;else if(W(u,i))continue;u=i,o===e.length-1&&W(a,i)||r.push(i)}o.updateIntArray([1397116793,r.length]);for(let t=0;t<r.length;t++){const e=r[t];o.updateIntArray([3962308117,t]),B(e,o,i),o.updateIntArray([2716288009])}o.updateIntArray([2278822459])}return o.updateIntArray([3878477243]),void B(n.spatialReference.wkid,o,i)}if(n instanceof F){o.updateIntArray([4106883559]);for(let t=0;t<n.paths.length;t++){const e=n.paths[t];o.updateIntArray([1397116793,e.length]);for(let r=0;r<e.length;r++)o.updateIntArray([3962308117,r]),B(n.getPoint(t,r),o,i),o.updateIntArray([2716288009]);o.updateIntArray([2278822459])}return o.updateIntArray([2568784753]),void B(n.spatialReference.wkid,o,i)}if(n instanceof O){o.updateIntArray([588535921,n.points.length]);for(let t=0;t<n.points.length;t++){const e=n.getPoint(t);o.updateIntArray([t]),B(e,o,i)}return o.updateIntArray([1700171621]),void B(n.spatialReference.wkid,o,i)}if(n instanceof P)return o.updateIntArray([3483648373]),o.updateIntArray([0]),o.updateFloatArray([n.xmax]),o.updateIntArray([1]),o.updateFloatArray([n.xmin]),o.updateIntArray([2]),o.updateFloatArray([n.ymax]),o.updateIntArray([3]),o.updateFloatArray([n.ymin]),n.hasZ&&(o.updateIntArray([4]),o.updateFloatArray([n.zmax]),o.updateIntArray([5]),o.updateFloatArray([n.zmin])),n.hasM&&(o.updateIntArray([6]),o.updateFloatArray([n.mmax]),o.updateIntArray([7]),o.updateFloatArray([n.mmin])),o.updateIntArray([3622027469]),void B(n.spatialReference.wkid,o,i);if(n instanceof T)return o.updateIntArray([14]),void 0!==n.wkid&&null!==n.wkid&&o.updateIntArray([n.wkid]),n.wkt&&o.updateWithString(n.wkt),void(n.wkt2&&o.updateWithString(n.wkt2));if(v(n))throw new a(i.context,"UnsupportedHashType",i.node);if(U(n))throw new a(i.context,"UnsupportedHashType",i.node);if(j(n))throw new a(i.context,"UnsupportedHashType",i.node);if(n===l)throw new a(i.context,"UnsupportedHashType",i.node);throw new a(i.context,"UnsupportedHashType",i.node)}if(o.updateUint8Array([223]),i.map.has(n)){const t=i.map.get(n);o.updateIntArray([61237541^t])}else{i.map.set(n,i.currentLength++);for(const t of n.keys()){o.updateIntArray([t.length]),o.updateWithString(t),o.updateUint8Array([251]);B(n.field(t),o,i),o.updateUint8Array([239])}i.map.delete(n),i.currentLength--}o.updateUint8Array([73])}}else o.updateUint8Array([0,139])}function E(e,m){e.portal=function(e,r){return m(e,r,(n,a,u)=>(o(u,1,1,e,r),new t(i(u[0]))))},e.typeof=function(t,e){return m(t,e,(r,n,i)=>{o(i,1,1,t,e);const s=u(i[0]);if("Unrecognized Type"===s)throw new a(t,"UnrecognizedType",e);return s})},e.trim=function(t,e){return m(t,e,(r,n,a)=>(o(a,1,1,t,e),i(a[0]).trim()))},e.tohex=function(t,e){return m(t,e,(r,n,a)=>{o(a,1,1,t,e);const i=s(a[0]);return isNaN(i)?i:i.toString(16)})},e.upper=function(t,e){return m(t,e,(r,n,a)=>(o(a,1,1,t,e),i(a[0]).toUpperCase()))};const A=new n(["every-word","first-word"]);e.proper=function(t,e){return m(t,e,(r,n,a)=>{o(a,1,2,t,e);const u=(a.length>=2?A.lookup(i(a[1])):null)??"every-word",s=/\s/,l=i(a[0]);let p="",f=!0;for(let t=0;t<l.length;t++){let e=l[t];if(s.test(e))"every-word"===u&&(f=!0);else{e.toUpperCase()!==e.toLowerCase()&&(f?(e=e.toUpperCase(),f=!1):e=e.toLowerCase())}p+=e}return p})},e.lower=function(t,e){return m(t,e,(r,n,a)=>(o(a,1,1,t,e),i(a[0]).toLowerCase()))};const w=new n(["digits","digits-hyphen","digits-hyphen-braces","digits-hyphen-parentheses"]);e.guid=function(t,e){return m(t,e,(r,n,a)=>{o(a,0,1,t,e);switch(a.length>0?w.lookup(i(a[0])):null){case"digits":return C().replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return C();case"digits-hyphen-parentheses":return"("+C()+")";default:return"{"+C()+"}"}})},e.standardizeguid=function(t,e){return m(t,e,(r,n,a)=>{o(a,2,2,t,e);let u=i(a[0]);if(""===u||null===u)return"";const s=/^(\{|\()?(?<partA>[0-9a-z]{8})(-?)(?<partB>[0-9a-z]{4})(-?)(?<partC>[0-9a-z]{4})(-?)(?<partD>[0-9a-z]{4})(-?)(?<partE>[0-9a-z]{12})(\}|\))?$/gim.exec(u);if(!s)return"";const l=s.groups;switch(u=l.partA+"-"+l.partB+"-"+l.partC+"-"+l.partD+"-"+l.partE,w.lookup(i(a[1]))){case"digits":return u.replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return u;case"digits-hyphen-parentheses":return"("+u+")";default:return"{"+u+"}"}})},e.console=function(t,e){return m(t,e,(e,r,n)=>(0===n.length||(1===n.length?t.console(i(n[0])):t.console(i(n))),l))},e.mid=function(t,e){return m(t,e,(r,n,a)=>{o(a,2,3,t,e);let u=s(a[1]);if(isNaN(u))return"";if(u=Math.max(0,u),2===a.length)return i(a[0]).slice(u);let l=s(a[2]);return isNaN(l)?"":(l<0&&(l=0),i(a[0]).slice(u,u+l))})},e.find=function(t,e){return m(t,e,(r,n,a)=>{o(a,2,3,t,e);let u=0;if(a.length>2){if(u=s(p(a[2],0)),isNaN(u))return-1;u<0&&(u=0)}return i(a[1]).indexOf(i(a[0]),u)})},e.left=function(t,e){return m(t,e,(r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).slice(0,u))})},e.right=function(t,e){return m(t,e,(r,n,a)=>{o(a,2,2,t,e);const u=s(a[1]);if(isNaN(u)||u<=0)return"";return i(a[0]).slice(-u)})},e.split=function(t,e){return m(t,e,(r,n,a)=>{let u;o(a,2,4,t,e);let l=s(p(a[2],-1));const c=f(p(a[3],!1));if(-1===l||null===l||!0===c?u=i(a[0]).split(i(a[1])):(isNaN(l)&&(l=-1),l<-1&&(l=-1),u=i(a[0]).split(i(a[1]),l)),!1===c)return u;const d=[];for(let t=0;t<u.length&&!(-1!==l&&d.length>=l);t++)""!==u[t]&&void 0!==u[t]&&d.push(u[t]);return d})},e.text=function(t,e){return m(t,e,(r,n,a)=>(o(a,1,2,t,e),c(a[0],a[1])))},e.concatenate=function(t,e){return m(t,e,(t,e,r)=>{const n=[];if(r.length<1)return"";if(R(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length;e++)n[e]=c(r[0][e],t);return r.length>1?n.join(r[1]):n.join("")}if(d(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length();e++)n[e]=c(r[0].get(e),t);return r.length>1?n.join(r[1]):n.join("")}for(let a=0;a<r.length;a++)n[a]=c(r[a]);return n.join("")})},e.reverse=function(t,e){return m(t,e,(r,n,i)=>{if(o(i,1,1,t,e),R(i[0])){const t=i[0].slice();return t.reverse(),t}if(d(i[0])){const t=i[0].toArray().slice();return t.reverse(),t}throw new a(t,"InvalidParameter",e)})},e.replace=function(t,e){return m(t,e,(r,n,a)=>{o(a,3,4,t,e);const u=i(a[0]),s=i(a[1]),l=i(a[2]);return 4!==a.length||f(a[3])?h(u,s,l):u.replace(s,l)})},e.urlencode=function(t,e){return m(t,e,(n,a,u)=>{if(o(u,1,1,t,e),null===u[0])return"";if(u[0]instanceof r){let t="";for(const e of u[0].keys()){const r=u[0].field(e);""!==t&&(t+="&"),t+=null===r?encodeURIComponent(e)+"=":encodeURIComponent(e)+"="+encodeURIComponent(r)}return t}return encodeURIComponent(i(u[0]))})},e.hash=function(t,e){return m(t,e,(r,n,a)=>{o(a,1,1,t,e);const i=new N(0);return B(a[0],i,{context:t,node:e,map:new Map,currentLength:0}),i.digest()})},e.convertdirection=function(t,e){return m(t,e,(r,n,a)=>(o(a,3,3,t,e),x(a[0],a[1],a[2])))},e.fromjson=function(t,e){return m(t,e,(n,u,s)=>{if(o(s,1,1,t,e),!1===H(s[0]))throw new a(t,"InvalidParameter",e);return r.convertJsonToArcade(JSON.parse(i(s[0])),y(t))})},e.tocharcode=function(t,e){return m(t,e,(r,n,u)=>{o(u,1,2,t,e);const l=s(p(u[1],0)),f=i(u[0]);if(0===f.length&&1===u.length)return null;if(f.length<=l||l<0)throw new a(t,"OutOfBounds",e);return f.charCodeAt(l)})},e.tocodepoint=function(t,e){return m(t,e,(r,n,u)=>{o(u,1,2,t,e);const l=s(p(u[1],0)),f=i(u[0]);if(0===f.length&&1===u.length)return null;if(f.length<=l||l<0)throw new a(t,"OutOfBounds",e);return f.codePointAt(l)})},e.fromcharcode=function(t,e){return m(t,e,(r,n,o)=>{if(o.length<1)throw new a(t,"WrongNumberOfParameters",e);const i=o.map(t=>Math.trunc(s(t))).filter(t=>t>=0&&t<=65535);return 0===i.length?null:String.fromCharCode.apply(null,i)})},e.fromcodepoint=function(t,e){return m(t,e,(r,n,o)=>{if(o.length<1)throw new a(t,"WrongNumberOfParameters",e);let i;try{i=o.map(t=>Math.trunc(s(t))).filter(t=>t<=1114111&&t>>>0===t)}catch(u){return null}return 0===i.length?null:String.fromCodePoint.apply(null,i)})},e.getuser=function(e,n){return m(e,n,(u,s,l)=>{o(l,0,2,e,n);let f=p(l[1],"");if(f=!0===f||!1===f?"":i(f),null!==f&&""!==f)return null;if(0===l.length||l[0]instanceof t){let t=null;if(t=e.services?.portal?e.services.portal:L.getDefault(),l.length>0){if(!J(l[0].field("url"),t))return null}if(!t)return null;if(""===f){const n=D(t);if(n){const t=JSON.parse(JSON.stringify(n));for(const e of["lastLogin","created","modified"])void 0!==t[e]&&null!==t[e]&&(t[e]=new Date(t[e]));return r.convertObjectToArcadeDictionary(t,y(e))}}return null}throw new a(e,"InvalidParameter",n)})},e.getenvironment=function(t,e){return m(t,e,(n,a,i)=>(o(i,0,0,t,e),r.convertObjectToArcadeDictionary(g(y(t),t.spatialReference),y(t),!0)))},e.standardizefilename=function(t,e){return m(t,e,(t,e,r)=>{o(r,1,1,t,e);const[n]=r;if(null==n)return"";if(!H(n))throw new a(t,"InvalidParameter",e);return n.replaceAll(/[<>"?*]/g,"_").replaceAll(/[/\\|]/g,"-").replaceAll(":",", ")})}}export{E as registerFunctions};
|
|
2
|
+
import t from"../../config.js";import{version as e}from"../../kernel.js";import{ArcadeDate as r}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import a from"../Attachment.js";import o from"../Dictionary.js";import{StringEnum as i}from"../enum.js";import{ArcadeExecutionError as u}from"../executionError.js";import s from"../ImmutableArray.js";import{B as l,s as p,O as c,r as f,v as d,J as h,H as m,t as y,j as g,$ as A,K as w,a0 as I,e as v,f as U,g as j,k as x,i as N,m as k,l as C}from"../../chunks/languageUtils.js";import{getDefaultArcadePortal as P,getDefaultPortal as z,isSamePortal as O}from"../portalUtils.js";import{convertDirection as S}from"./convertdirection.js";import{XXH as T}from"./hash.js";import{generateUUID as F}from"../../core/uuid.js";import R from"../../geometry/Extent.js";import L from"../../geometry/Multipoint.js";import b from"../../geometry/Point.js";import H from"../../geometry/Polygon.js";import M from"../../geometry/Polyline.js";import _ from"../../geometry/SpatialReference.js";import{getLocale as J}from"../../intl/locale.js";import{isArray as Z,isString as D,isBoolean as W,isNumber as B}from"../../support/guards.js";function E(t){if("loaded"===t.loadStatus&&t.user?.sourceJSON){return t.user.sourceJSON}return null}function $(t,e){if(!t||!e)return t===e;if(t.x===e.x&&t.y===e.y){if(t.hasZ){if(t.z!==e.z)return!1}else if(e.hasZ)return!1;if(t.hasM){if(t.m!==e.m)return!1}else if(e.hasM)return!1;return!0}return!1}function K(t,e,r){if(null!==t)if(Z(t)){if(e.updateUint8Array([61]),r.map.has(t)){const n=r.map.get(t);e.updateIntArray([61237541^n])}else{r.map.set(t,r.currentLength++);for(const n of t)K(n,e,r);r.map.delete(t),r.currentLength--}e.updateUint8Array([199])}else if(g(t)){if(e.updateUint8Array([61]),r.map.has(t)){const n=r.map.get(t);e.updateIntArray([61237541^n])}else{r.map.set(t,r.currentLength++);for(const n of t.toArray())K(n,e,r);r.map.delete(t),r.currentLength--}e.updateUint8Array([199])}else{if(v(t))return e.updateIntArray([t.toNumber()]),void e.updateUint8Array([241]);if(U(t))return e.updateIntArray([t.toNumber()]),void e.updateIntArray([257]);if(j(t))return e.updateIntArray([t.toNumber()]),void e.updateIntArray([263]);if(D(t))return e.updateIntArray([t.length]),e.updateWithString(t),void e.updateUint8Array([41]);if(W(t))e.updateUint8Array([!0===t?1:0,113]);else{if(B(t))return e.updateFloatArray([t]),void e.updateUint8Array([173]);if(t instanceof a)throw new u(r.context,"UnsupportedHashType",r.node);if(t instanceof n)throw new u(r.context,"UnsupportedHashType",r.node);if(!(t instanceof o)){if(x(t))throw new u(r.context,"UnsupportedHashType",r.node);if(t instanceof b)return e.updateIntArray([3833836621]),e.updateIntArray([0]),e.updateFloatArray([t.x]),e.updateIntArray([1]),e.updateFloatArray([t.y]),t.hasZ&&(e.updateIntArray([2]),e.updateFloatArray([t.z])),t.hasM&&(e.updateIntArray([3]),e.updateFloatArray([t.m])),e.updateIntArray([3765347959]),void K(t.spatialReference.wkid,e,r);if(t instanceof H){e.updateIntArray([1266616829]);for(let n=0;n<t.rings.length;n++){const a=t.rings[n],o=[];let i=null,u=null;for(let e=0;e<a.length;e++){const r=t.getPoint(n,e);if(0===e)i=r;else if($(u,r))continue;u=r,e===a.length-1&&$(i,r)||o.push(r)}e.updateIntArray([1397116793,o.length]);for(let t=0;t<o.length;t++){const n=o[t];e.updateIntArray([3962308117,t]),K(n,e,r),e.updateIntArray([2716288009])}e.updateIntArray([2278822459])}return e.updateIntArray([3878477243]),void K(t.spatialReference.wkid,e,r)}if(t instanceof M){e.updateIntArray([4106883559]);for(let n=0;n<t.paths.length;n++){const a=t.paths[n];e.updateIntArray([1397116793,a.length]);for(let o=0;o<a.length;o++)e.updateIntArray([3962308117,o]),K(t.getPoint(n,o),e,r),e.updateIntArray([2716288009]);e.updateIntArray([2278822459])}return e.updateIntArray([2568784753]),void K(t.spatialReference.wkid,e,r)}if(t instanceof L){e.updateIntArray([588535921,t.points.length]);for(let n=0;n<t.points.length;n++){const a=t.getPoint(n);e.updateIntArray([n]),K(a,e,r)}return e.updateIntArray([1700171621]),void K(t.spatialReference.wkid,e,r)}if(t instanceof R)return e.updateIntArray([3483648373]),e.updateIntArray([0]),e.updateFloatArray([t.xmax]),e.updateIntArray([1]),e.updateFloatArray([t.xmin]),e.updateIntArray([2]),e.updateFloatArray([t.ymax]),e.updateIntArray([3]),e.updateFloatArray([t.ymin]),t.hasZ&&(e.updateIntArray([4]),e.updateFloatArray([t.zmax]),e.updateIntArray([5]),e.updateFloatArray([t.zmin])),t.hasM&&(e.updateIntArray([6]),e.updateFloatArray([t.mmax]),e.updateIntArray([7]),e.updateFloatArray([t.mmin])),e.updateIntArray([3622027469]),void K(t.spatialReference.wkid,e,r);if(t instanceof _)return e.updateIntArray([14]),void 0!==t.wkid&&null!==t.wkid&&e.updateIntArray([t.wkid]),t.wkt&&e.updateWithString(t.wkt),void(t.wkt2&&e.updateWithString(t.wkt2));if(N(t))throw new u(r.context,"UnsupportedHashType",r.node);if(k(t))throw new u(r.context,"UnsupportedHashType",r.node);if(C(t))throw new u(r.context,"UnsupportedHashType",r.node);if(t===d)throw new u(r.context,"UnsupportedHashType",r.node);throw new u(r.context,"UnsupportedHashType",r.node)}if(e.updateUint8Array([223]),r.map.has(t)){const n=r.map.get(t);e.updateIntArray([61237541^n])}else{r.map.set(t,r.currentLength++);for(const n of t.keys()){e.updateIntArray([n.length]),e.updateWithString(n),e.updateUint8Array([251]);K(t.field(n),e,r),e.updateUint8Array([239])}r.map.delete(t),r.currentLength--}e.updateUint8Array([73])}}else e.updateUint8Array([0,139])}function V(a,v){a.portal=function(t,e){return v(t,e,(r,a,o)=>(l(o,0,1,t,e),0===o.length?P(t):new n(p(o[0]))))},a.typeof=function(t,e){return v(t,e,(r,n,a)=>{l(a,1,1,t,e);const o=c(a[0]);if("Unrecognized Type"===o)throw new u(t,"UnrecognizedType",e);return o})},a.trim=function(t,e){return v(t,e,(r,n,a)=>(l(a,1,1,t,e),p(a[0]).trim()))},a.tohex=function(t,e){return v(t,e,(r,n,a)=>{l(a,1,1,t,e);const o=f(a[0]);return isNaN(o)?o:o.toString(16)})},a.upper=function(t,e){return v(t,e,(r,n,a)=>(l(a,1,1,t,e),p(a[0]).toUpperCase()))};const U=new i(["every-word","first-word"]);a.proper=function(t,e){return v(t,e,(r,n,a)=>{l(a,1,2,t,e);const o=(a.length>=2?U.lookup(p(a[1])):null)??"every-word",i=/\s/,u=p(a[0]);let s="",c=!0;for(let t=0;t<u.length;t++){let e=u[t];if(i.test(e))"every-word"===o&&(c=!0);else{e.toUpperCase()!==e.toLowerCase()&&(c?(e=e.toUpperCase(),c=!1):e=e.toLowerCase())}s+=e}return s})},a.lower=function(t,e){return v(t,e,(r,n,a)=>(l(a,1,1,t,e),p(a[0]).toLowerCase()))};const j=new i(["digits","digits-hyphen","digits-hyphen-braces","digits-hyphen-parentheses"]);a.guid=function(t,e){return v(t,e,(r,n,a)=>{l(a,0,1,t,e);switch(a.length>0?j.lookup(p(a[0])):null){case"digits":return F().replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return F();case"digits-hyphen-parentheses":return"("+F()+")";default:return"{"+F()+"}"}})},a.standardizeguid=function(t,e){return v(t,e,(r,n,a)=>{l(a,2,2,t,e);let o=p(a[0]);if(""===o||null===o)return"";const i=/^(\{|\()?(?<partA>[0-9a-z]{8})(-?)(?<partB>[0-9a-z]{4})(-?)(?<partC>[0-9a-z]{4})(-?)(?<partD>[0-9a-z]{4})(-?)(?<partE>[0-9a-z]{12})(\}|\))?$/gim.exec(o);if(!i)return"";const u=i.groups;switch(o=u.partA+"-"+u.partB+"-"+u.partC+"-"+u.partD+"-"+u.partE,j.lookup(p(a[1]))){case"digits":return o.replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return o;case"digits-hyphen-parentheses":return"("+o+")";default:return"{"+o+"}"}})},a.console=function(t,e){return v(t,e,(e,r,n)=>(0===n.length||(1===n.length?t.console(p(n[0])):t.console(p(n))),d))},a.mid=function(t,e){return v(t,e,(r,n,a)=>{l(a,2,3,t,e);let o=f(a[1]);if(isNaN(o))return"";if(o=Math.max(0,o),2===a.length)return p(a[0]).slice(o);let i=f(a[2]);return isNaN(i)?"":(i<0&&(i=0),p(a[0]).slice(o,o+i))})},a.find=function(t,e){return v(t,e,(r,n,a)=>{l(a,2,3,t,e);let o=0;if(a.length>2){if(o=f(h(a[2],0)),isNaN(o))return-1;o<0&&(o=0)}return p(a[1]).indexOf(p(a[0]),o)})},a.left=function(t,e){return v(t,e,(r,n,a)=>{l(a,2,2,t,e);let o=f(a[1]);return isNaN(o)?"":(o<0&&(o=0),p(a[0]).slice(0,o))})},a.right=function(t,e){return v(t,e,(r,n,a)=>{l(a,2,2,t,e);const o=f(a[1]);if(isNaN(o)||o<=0)return"";return p(a[0]).slice(-o)})},a.split=function(t,e){return v(t,e,(r,n,a)=>{let o;l(a,2,4,t,e);let i=f(h(a[2],-1));const u=m(h(a[3],!1));if(-1===i||null===i||!0===u?o=p(a[0]).split(p(a[1])):(isNaN(i)&&(i=-1),i<-1&&(i=-1),o=p(a[0]).split(p(a[1]),i)),!1===u)return o;const s=[];for(let t=0;t<o.length&&!(-1!==i&&s.length>=i);t++)""!==o[t]&&void 0!==o[t]&&s.push(o[t]);return s})},a.text=function(t,e){return v(t,e,(r,n,a)=>(l(a,1,2,t,e),y(a[0],a[1])))},a.concatenate=function(t,e){return v(t,e,(t,e,r)=>{const n=[];if(r.length<1)return"";if(Z(r[0])){const t=h(r[2],"");for(let e=0;e<r[0].length;e++)n[e]=y(r[0][e],t);return r.length>1?n.join(r[1]):n.join("")}if(g(r[0])){const t=h(r[2],"");for(let e=0;e<r[0].length();e++)n[e]=y(r[0].get(e),t);return r.length>1?n.join(r[1]):n.join("")}for(let a=0;a<r.length;a++)n[a]=y(r[a]);return n.join("")})},a.reverse=function(t,e){return v(t,e,(r,n,a)=>{if(l(a,1,1,t,e),Z(a[0])){const t=a[0].slice();return t.reverse(),t}if(g(a[0])){const t=a[0].toArray().slice();return t.reverse(),t}throw new u(t,"InvalidParameter",e)})},a.replace=function(t,e){return v(t,e,(r,n,a)=>{l(a,3,4,t,e);const o=p(a[0]),i=p(a[1]),u=p(a[2]);return 4!==a.length||m(a[3])?A(o,i,u):o.replace(i,u)})},a.urlencode=function(t,e){return v(t,e,(r,n,a)=>{if(l(a,1,1,t,e),null===a[0])return"";if(a[0]instanceof o){let t="";for(const e of a[0].keys()){const r=a[0].field(e);""!==t&&(t+="&"),t+=null===r?encodeURIComponent(e)+"=":encodeURIComponent(e)+"="+encodeURIComponent(r)}return t}return encodeURIComponent(p(a[0]))})},a.hash=function(t,e){return v(t,e,(r,n,a)=>{l(a,1,1,t,e);const o=new T(0);return K(a[0],o,{context:t,node:e,map:new Map,currentLength:0}),o.digest()})},a.convertdirection=function(t,e){return v(t,e,(r,n,a)=>(l(a,3,3,t,e),S(a[0],a[1],a[2])))},a.fromjson=function(t,e){return v(t,e,(r,n,a)=>{if(l(a,1,1,t,e),!1===D(a[0]))throw new u(t,"InvalidParameter",e);return o.convertJsonToArcade(JSON.parse(p(a[0])),w(t))})},a.tocharcode=function(t,e){return v(t,e,(r,n,a)=>{l(a,1,2,t,e);const o=f(h(a[1],0)),i=p(a[0]);if(0===i.length&&1===a.length)return null;if(i.length<=o||o<0)throw new u(t,"OutOfBounds",e);return i.charCodeAt(o)})},a.tocodepoint=function(t,e){return v(t,e,(r,n,a)=>{l(a,1,2,t,e);const o=f(h(a[1],0)),i=p(a[0]);if(0===i.length&&1===a.length)return null;if(i.length<=o||o<0)throw new u(t,"OutOfBounds",e);return i.codePointAt(o)})},a.fromcharcode=function(t,e){return v(t,e,(r,n,a)=>{if(a.length<1)throw new u(t,"WrongNumberOfParameters",e);const o=a.map(t=>Math.trunc(f(t))).filter(t=>t>=0&&t<=65535);return 0===o.length?null:String.fromCharCode.apply(null,o)})},a.fromcodepoint=function(t,e){return v(t,e,(r,n,a)=>{if(a.length<1)throw new u(t,"WrongNumberOfParameters",e);let o;try{o=a.map(t=>Math.trunc(f(t))).filter(t=>t<=1114111&&t>>>0===t)}catch(i){return null}return 0===o.length?null:String.fromCodePoint.apply(null,o)})},a.getuser=function(t,e){return v(t,e,(r,a,i)=>{l(i,0,2,t,e);let s=h(i[1],"");if(s=!0===s||!1===s?"":p(s),null!==s&&""!==s)return null;if(0===i.length||i[0]instanceof n){const e=z(t);if(i.length>0&&!O(i[0],e))return null;if(""===s){const r=E(e);if(r){const e=JSON.parse(JSON.stringify(r));for(const t of["lastLogin","created","modified"])void 0!==e[t]&&null!==e[t]&&(e[t]=new Date(e[t]));return o.convertObjectToArcadeDictionary(e,w(t))}}return null}throw new u(t,"InvalidParameter",e)})},a.getenvironment=function(n,a){return v(n,a,(i,u,p)=>{l(p,0,0,n,a);const c=r.systemTimeZoneCanonicalName;let f=w(n);"system"===f&&(f=c);const d=n.spatialReference,h=P(n);return new o({__proto__:null,version:I,engineVersion:e,timeZone:f,userTimeZone:c,spatialReference:new o({__proto__:null,wkt:d.wkt,wkid:d.wkid}),application:t.applicationName??"",engine:"web",locale:J(),activePortal:h,availablePortals:new s([h])})})},a.standardizefilename=function(t,e){return v(t,e,(t,e,r)=>{l(r,1,1,t,e);const[n]=r;if(null==n)return"";if(!D(n))throw new u(t,"InvalidParameter",e);return n.replaceAll(/[<>"?*]/g,"_").replaceAll(/[/\\|]/g,"-").replaceAll(":",", ")})}}export{V as registerFunctions};
|
package/arcade/languageUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"
|
|
2
|
+
import"./ArcadeDate.js";import"./ArcadeModule.js";import"./executionError.js";import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"./featureset/support/shared.js";import"../core/number.js";import"../core/sql/DateOnly.js";import"../core/sql/TimeOnly.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/support/coordsUtils.js";import"../geometry/support/jsonUtils.js";import"../intl/locale.js";export{isArray,isBoolean,isInteger,isDate as isJsDate,isNumber,isString}from"../support/guards.js";import"luxon";export{isGraphic}from"../support/graphicInstanceUtils.js";export{I as ImplicitResult,R as ReturnResult,S as absRound,a0 as arcadeVersion,G as autoCastArrayOfPointsToMultiPoint,E as autoCastArrayOfPointsToPolygon,F as autoCastArrayOfPointsToPolyline,C as autoCastFeatureToGeometry,x as binaryOperator,z as breakResult,a as castAsJson,b as castAsJsonAsync,c as castRecordToText,A as continueResult,K as defaultTimeZone,J as defaultUndefined,w as equalityTest,U as featureDomainCodeLookup,V as featureDomainValueLookup,T as featureFullDomain,W as featureSchema,X as featureSubtypes,Y as fixNullGeometry,D as fixSpatialReference,a7 as formatDate,a8 as formatNumber,a4 as getDomain,a6 as getDomainCode,a5 as getDomainValue,O as getType,u as greaterThanLessThan,e as isDate,f as isDateOnly,n as isDictionary,y as isDictionaryLike,L as isEmpty,k as isFeature,m as isFeatureSet,l as isFeatureSetCollection,i as isFunctionParameter,h as isGeometry,j as isImmutableArray,o as isKnowledgeGraph,M as isModule,a9 as isObject,_ as isPixel,d as isSimpleType,aa as isSubtypeGrouplayer,a2 as isSubtypeSublayer,g as isTime,q as isVoid,Z as isVoxel,$ as multiReplace,ab as parseGeometryFromJson,B as pcCheck,ac as stableStringify,Q as standardiseDateFormat,a3 as tick,H as toBoolean,P as toDate,r as toNumber,a1 as toNumberArray,s as toString,N as toStringArray,t as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";
|
package/arcade/portalUtils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import r from"../portal/Portal.js";function
|
|
2
|
+
import r from"./ArcadePortal.js";import{hasSamePortal as t}from"../core/urlUtils.js";import o from"../portal/Portal.js";function n(r,t){return null==t?u(r):new o({url:t.url})}function u(r){return r.services?.portal??o.getDefault()}function e(t){const o=u(t);return new r(o.url)}function l(r,o){const n=r.url;return!!n&&t(n,o.restUrl)}export{e as getDefaultArcadePortal,u as getDefaultPortal,n as getPortal,l as isSamePortal};
|