@arcgis/core 4.34.0-next.45 → 4.34.0-next.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AttributeBinsGraphic.js +1 -1
- package/PopupTemplate.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/geometry/wkt.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/04cbd3aa9965b2eb71ea.js +1 -0
- package/assets/esri/core/workers/chunks/{33f3e3d05429f845c139.js → 0b67b16d7e6c030bcfc7.js} +1 -1
- package/assets/esri/core/workers/chunks/{787d281b2fe1edf6cf30.js → 2bb61f80473b495163e3.js} +1 -1
- package/assets/esri/core/workers/chunks/2cda605c302176905e84.js +1 -0
- package/assets/esri/core/workers/chunks/{78de16f65ea297452a65.js → 31c6e951b99315e8e68a.js} +1 -1
- package/assets/esri/core/workers/chunks/3610357c8fa9bec9e0dc.js +1 -0
- package/assets/esri/core/workers/chunks/{d547b27ac750953a998f.js → 46a470bea2a3601182dc.js} +1 -1
- package/assets/esri/core/workers/chunks/{17df0f766ee1e323d3fa.js → 46ab551bd19e52e73649.js} +1 -1
- package/assets/esri/core/workers/chunks/47f2e905ef42e36897aa.js +1 -0
- package/assets/esri/core/workers/chunks/4f5e72993a4f5180d703.js +1 -0
- package/assets/esri/core/workers/chunks/50d526a16bc86a481055.js +1 -0
- package/assets/esri/core/workers/chunks/516b30778cd54d29e362.js +1 -0
- package/assets/esri/core/workers/chunks/54b1a960bb8c3fe05976.js +1 -0
- package/assets/esri/core/workers/chunks/5713f96bade5ebb54c81.js +1 -0
- package/assets/esri/core/workers/chunks/{d70e1b8b8bee88a7a5b8.js → 574ea32d6c257e0d2079.js} +1 -1
- package/assets/esri/core/workers/chunks/{dd0f1e06b7df953ea223.js → 576792b5e1e13084adba.js} +1 -1
- package/assets/esri/core/workers/chunks/5d331f7628514a572f82.js +1 -0
- package/assets/esri/core/workers/chunks/5f7dc9657803ae3140a6.js +1 -0
- package/assets/esri/core/workers/chunks/65e1f5b20a585e04655a.js +1 -0
- package/assets/esri/core/workers/chunks/66db5f77e09d25e33951.js +1 -0
- package/assets/esri/core/workers/chunks/{863e87ac982d7727b435.js → 69e37365c17e7cc4168f.js} +1 -1
- package/assets/esri/core/workers/chunks/6fe738748ce837811ff4.js +1 -0
- package/assets/esri/core/workers/chunks/719450ccd455f503d81a.js +1 -0
- package/assets/esri/core/workers/chunks/{14d3039f92b0d96944f0.js → 71acded1b3c0057917a1.js} +1 -1
- package/assets/esri/core/workers/chunks/790e97ddbe318bc75415.js +1 -0
- package/assets/esri/core/workers/chunks/7df8c78e36b04ad657d2.js +1 -0
- package/assets/esri/core/workers/chunks/838c7fd37b2e78b1d582.js +1 -0
- package/assets/esri/core/workers/chunks/8736b78256037b145f8b.js +1 -0
- package/assets/esri/core/workers/chunks/8c6119dde0eead8d90d9.js +1 -0
- package/assets/esri/core/workers/chunks/{4f3c187a7cb2b1444281.js → 8c81156b1605a16acc29.js} +1 -1
- package/assets/esri/core/workers/chunks/8f70650aba8e55eb7a96.js +1 -0
- package/assets/esri/core/workers/chunks/{48514235c32917e43a3f.js → 90a97ffba604c1c35532.js} +23 -12
- package/assets/esri/core/workers/chunks/{44116cf0bd4d6a127c96.js → 99b9392946d776a62997.js} +1 -1
- package/assets/esri/core/workers/chunks/9affcf990ea810fa426b.js +1 -0
- package/assets/esri/core/workers/chunks/9b7fee0adffeee8d45ae.js +1 -0
- package/assets/esri/core/workers/chunks/9cbec2ffa445a72d4c33.js +1 -0
- package/assets/esri/core/workers/chunks/9f178cf73c63caaea190.js +1 -0
- package/assets/esri/core/workers/chunks/a50026e567b1edff87c6.js +1 -0
- package/assets/esri/core/workers/chunks/a6493607b98783bf1ef2.js +1 -0
- package/assets/esri/core/workers/chunks/a69258f34a5eb5a1954f.js +1 -0
- package/assets/esri/core/workers/chunks/a7ff44157b8cf19de37e.js +1 -0
- package/assets/esri/core/workers/chunks/{8bab4c59c9b644224ecb.js → b87ed14fde381f79bc9f.js} +1 -1
- package/assets/esri/core/workers/chunks/bd1c2afaf491d1c79a9e.js +1 -0
- package/assets/esri/core/workers/chunks/{f34739daceab54a280ad.js → beb77cdae0b1b6ad73da.js} +1 -1
- package/assets/esri/core/workers/chunks/{a638f1688ac9525a52a7.js → c2f184e9f579152aa29a.js} +1 -1
- package/assets/esri/core/workers/chunks/c483d2149d9d0099bfdb.js +1 -0
- package/assets/esri/core/workers/chunks/cf6330f721c6910d25ff.js +1 -0
- package/assets/esri/core/workers/chunks/cfa8b17cf1349f6ed355.js +33 -0
- package/assets/esri/core/workers/chunks/{0faec78b2dd6990a5da0.js → d09ded9fb621491e2466.js} +1 -1
- package/assets/esri/core/workers/chunks/d1842745a7699879a1e1.js +1 -0
- package/assets/esri/core/workers/chunks/d62d41091f7ac5f77f16.js +1 -0
- package/assets/esri/core/workers/chunks/d8d17e3ecccec7e99f0b.js +1 -0
- package/assets/esri/core/workers/chunks/{01ae7d36bda6b6186786.js → eb61b47df99a54a364c8.js} +1 -1
- package/assets/esri/core/workers/chunks/ef02e33ea53b46b566cb.js +1 -0
- package/assets/esri/core/workers/chunks/{b4304673696fc0774bff.js → f1de768b0a6d345f7e39.js} +1 -1
- package/assets/esri/core/workers/chunks/fc6408208c850eec4019.js +1 -0
- package/assets/esri/core/workers/chunks/ff79a8df1b1941ae350d.js +1 -0
- package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
- package/chunks/BloomBlur.glsl.js +8 -8
- package/chunks/BloomComposition.glsl.js +15 -21
- package/chunks/NativeLine.glsl.js +5 -14
- package/chunks/bundle.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/persistableUrlUtils.js +1 -1
- package/colorUtils.js +1 -1
- package/config.js +1 -1
- package/core/BidiEngine.js +1 -1
- package/core/accessorSupport/get.js +1 -1
- package/core/accessorSupport/read.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/screenUtils.js +1 -1
- package/core/sql/DateOnly.js +1 -1
- package/core/urlUtils.js +1 -1
- package/core/uuid.js +1 -1
- package/editing/templateUtils.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/kernel.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/support/TitleCreator.js +1 -1
- package/layers/support/parquetUtils.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/libs/maquette-advanced-projector/utils.js +1 -1
- package/package.json +1 -1
- package/rest/featureService/FeatureService.js +1 -1
- package/rest/generateRenderer.js +1 -1
- package/rest/networks/support/Subcircuit.js +5 -0
- package/rest/networks/support/TraceResult.js +1 -1
- package/rest/sharedTemplates/querySharedTemplates.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetSnapshotLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
- package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomPresets.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/{DrawManipulator.js → LegacyDrawManipulator.js} +1 -1
- package/views/draw/{DrawTool.js → LegacyDrawTool.js} +1 -1
- package/views/draw/PointDrawAction.js +1 -1
- package/views/draw/PolygonDrawAction.js +1 -1
- package/views/draw/PolylineDrawAction.js +1 -1
- package/views/draw/SegmentDrawAction.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/webscene/spec-certification/spec.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/VideoEnhancementTools.js +5 -0
- package/widgets/OrientedImageryViewer/symbols.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Track/TrackViewModel.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/0494e1212dd94d927287.js +0 -1
- package/assets/esri/core/workers/chunks/092cb42b88ecfb9c4a07.js +0 -1
- package/assets/esri/core/workers/chunks/129144cbdb3fcbb87baf.js +0 -1
- package/assets/esri/core/workers/chunks/2370ff6c3006691ac688.js +0 -1
- package/assets/esri/core/workers/chunks/2c816d3a737e39e6eb84.js +0 -1
- package/assets/esri/core/workers/chunks/2f54776ff86f397adc55.js +0 -1
- package/assets/esri/core/workers/chunks/349da65a8793f7873366.js +0 -22
- package/assets/esri/core/workers/chunks/3af4a410ff0bca7ba2e3.js +0 -1
- package/assets/esri/core/workers/chunks/4970d439d9648e97fd5a.js +0 -1
- package/assets/esri/core/workers/chunks/73140c5c0beda7ea3703.js +0 -1
- package/assets/esri/core/workers/chunks/7c7338af011b8f0d7218.js +0 -1
- package/assets/esri/core/workers/chunks/838998bfda90f099c6e9.js +0 -1
- package/assets/esri/core/workers/chunks/84f3e1ce25c36e46fd2a.js +0 -1
- package/assets/esri/core/workers/chunks/8e36693e5213c20158d7.js +0 -1
- package/assets/esri/core/workers/chunks/8f3ce10eacb5bc14a641.js +0 -1
- package/assets/esri/core/workers/chunks/8fae35af98c29bef8500.js +0 -1
- package/assets/esri/core/workers/chunks/91be247f868ce6596c9e.js +0 -1
- package/assets/esri/core/workers/chunks/a2a13dd95238bb144479.js +0 -1
- package/assets/esri/core/workers/chunks/b45772b72f2b8f4fd53f.js +0 -1
- package/assets/esri/core/workers/chunks/b5f6a0607b620b027cdd.js +0 -1
- package/assets/esri/core/workers/chunks/c645009f3d2576494bfc.js +0 -1
- package/assets/esri/core/workers/chunks/c6e3d4c6bb02d58d5cfe.js +0 -1
- package/assets/esri/core/workers/chunks/cd6398a2951922e13b86.js +0 -1
- package/assets/esri/core/workers/chunks/ceb63ca9ad473c3f1820.js +0 -1
- package/assets/esri/core/workers/chunks/d392fbbcfac2a1b54bd6.js +0 -1
- package/assets/esri/core/workers/chunks/da396fdbd6f213042aa7.js +0 -1
- package/assets/esri/core/workers/chunks/dd79d3aa6e1a8aee6881.js +0 -1
- package/assets/esri/core/workers/chunks/e1272db232194cbe102c.js +0 -1
- package/assets/esri/core/workers/chunks/e5aeb34d918dee539694.js +0 -1
- package/assets/esri/core/workers/chunks/e65fc26f4384a328a753.js +0 -1
- package/assets/esri/core/workers/chunks/e7806a57d29bca385f1d.js +0 -1
- package/assets/esri/core/workers/chunks/e799433770e4303fcd9c.js +0 -1
- package/assets/esri/core/workers/chunks/ea262087938335fed19f.js +0 -1
- package/assets/esri/core/workers/chunks/ec9fd49e0252797f7f6a.js +0 -1
- package/assets/esri/core/workers/chunks/f1b02c4bd5fde235212b.js +0 -1
- package/assets/esri/core/workers/chunks/f65b2d3a91a0c726fee4.js +0 -1
- package/assets/esri/core/workers/chunks/f67997250569069ee2ef.js +0 -1
- package/assets/esri/core/workers/chunks/fc3a6f2f99629e57dbbd.js +0 -1
- package/assets/esri/core/workers/chunks/ff9eef1940eaa3406223.js +0 -1
package/AttributeBinsGraphic.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as t}from"tslib";import r from"./Graphic.js";import{ClonableMixin as s}from"./core/Clonable.js";import{clone as o}from"./core/lang.js";import{property as e}from"./core/accessorSupport/decorators/property.js";import"./core/has.js";import"./core/Logger.js";import{subclass as c}from"./core/accessorSupport/decorators/subclass.js";var i;let a=class extends(s(r)){static{i=this}constructor(t){super(t),this.stackedAttributes=null}cloneShallow(){return new i(
|
|
5
|
+
import{__decorate as t}from"tslib";import r from"./Graphic.js";import{ClonableMixin as s}from"./core/Clonable.js";import{clone as o}from"./core/lang.js";import{property as e}from"./core/accessorSupport/decorators/property.js";import"./core/has.js";import"./core/Logger.js";import{subclass as c}from"./core/accessorSupport/decorators/subclass.js";var i;let a=class extends(s(r)){static{i=this}constructor(t){super(t),this.stackedAttributes=null}cloneShallow(){return new i(Object.assign({stackedAttributes:this.stackedAttributes},super.cloneShallow()))}toJSON(){return{...super.toJSON(),stackedAttributes:o(this.stackedAttributes)}}};t([e()],a.prototype,"stackedAttributes",void 0),a=i=t([c("esri.AttributeBinsGraphic")],a);export{a as default};
|
package/PopupTemplate.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as t}from"tslib";import{ClonableMixin as e}from"./core/Clonable.js";import o from"./core/Collection.js";import{JSONSupport as s}from"./core/JSONSupport.js";import{clone as i}from"./core/lang.js";import r from"./core/Logger.js";import{isPromiseLike as n}from"./core/promiseUtils.js";import{property as p}from"./core/accessorSupport/decorators/property.js";import{cast as l}from"./core/accessorSupport/decorators/cast.js";import{reader as a}from"./core/accessorSupport/decorators/reader.js";import{subclass as d}from"./core/accessorSupport/decorators/subclass.js";import{writer as c}from"./core/accessorSupport/decorators/writer.js";import{ensureOneOfType as f}from"./core/accessorSupport/ensureType.js";import{collectFields as m,collectArcadeFieldNames as u,extractSubstitutionTemplatesFromString as h}from"./layers/support/fieldUtils.js";import{persistableWebSceneTypes as y,persistableTypes as I}from"./popup/content.js";import F from"./popup/ExpressionInfo.js";import _ from"./popup/FieldInfo.js";import w from"./popup/LayerOptions.js";import x from"./popup/RelatedRecordsInfo.js";import{types as g}from"./popup/content/support/mediaInfoTypes.js";import N from"./support/actions/ActionBase.js";import A from"./support/actions/ActionButton.js";import C from"./support/actions/ActionToggle.js";import j from"./popup/content/UtilityNetworkAssociationsContent.js";import S from"./popup/content/RelationshipContent.js";import E from"./popup/content/ExpressionContent.js";import
|
|
5
|
+
import{__decorate as t}from"tslib";import{ClonableMixin as e}from"./core/Clonable.js";import o from"./core/Collection.js";import{JSONSupport as s}from"./core/JSONSupport.js";import{clone as i}from"./core/lang.js";import r from"./core/Logger.js";import{isPromiseLike as n}from"./core/promiseUtils.js";import{property as p}from"./core/accessorSupport/decorators/property.js";import{cast as l}from"./core/accessorSupport/decorators/cast.js";import{reader as a}from"./core/accessorSupport/decorators/reader.js";import{subclass as d}from"./core/accessorSupport/decorators/subclass.js";import{writer as c}from"./core/accessorSupport/decorators/writer.js";import{ensureOneOfType as f}from"./core/accessorSupport/ensureType.js";import{collectFields as m,collectArcadeFieldNames as u,extractSubstitutionTemplatesFromString as h}from"./layers/support/fieldUtils.js";import{persistableWebSceneTypes as y,persistableTypes as I}from"./popup/content.js";import F from"./popup/ExpressionInfo.js";import _ from"./popup/FieldInfo.js";import w from"./popup/LayerOptions.js";import x from"./popup/RelatedRecordsInfo.js";import{types as g}from"./popup/content/support/mediaInfoTypes.js";import N from"./support/actions/ActionBase.js";import A from"./support/actions/ActionButton.js";import C from"./support/actions/ActionToggle.js";import j from"./popup/content/UtilityNetworkAssociationsContent.js";import S from"./popup/content/RelationshipContent.js";import E from"./popup/content/ExpressionContent.js";import R from"./popup/content/FieldsContent.js";import O from"./popup/content/AttachmentsContent.js";import T from"./popup/content/TextContent.js";import v from"./popup/content/CustomContent.js";import b from"./popup/content/MediaContent.js";import J from"./popup/content/Content.js";const B="relationships/",L="expression/",M=o.ofType({key:"type",defaultKeyValue:"button",base:N,typeMap:{button:A,toggle:C}}),P={base:J,key:"type",typeMap:{media:b,custom:v,text:T,attachments:O,fields:R,expression:E,relationship:S,utilityNetworkAssociations:j}},W=new Set(["attachments","fields","media","text","expression","relationship"]),k=new Set([...W,"utility-network-associations"]);let U=class extends(e(s)){constructor(t){super(t),this.actions=null,this.content="",this.expressionInfos=null,this.fieldInfos=null,this.layerOptions=null,this.lastEditInfoEnabled=!0,this.outFields=null,this.overwriteActions=!1,this.returnGeometry=!1,this.title=""}castContent(t){return Array.isArray(t)?t.map(t=>f(P,t)):"string"==typeof t||"function"==typeof t||t instanceof HTMLElement||n(t)?t:(r.getLogger(this).error("content error","unsupported content value",{value:t}),null)}readContent(t,e){const{popupElements:o}=e;return Array.isArray(o)&&o.length>0?this._readPopupInfoElements(e.description,e.mediaInfos,o):this._readPopupInfo(e)}writeWebSceneContent(t,e,o,s){this._writePopupTemplateContent(t,e,s)}writeWebMapContent(t,e,o,s){this._writePopupTemplateContent(t,e,s)}writeFieldInfos(t,e,o,s){const{content:i}=this,r=Array.isArray(i)?i:null;if(t){const o=r?r.filter(t=>"fields"===t.type):[],i=o.length&&o.every(t=>t.fieldInfos?.length);e.fieldInfos=t.filter(Boolean).map(t=>{const e=t.toJSON(s);return i&&(e.visible=!1),e})}if(r)for(const n of r)"fields"===n.type&&this._writeFieldsContent(n,e)}writeLayerOptions(t,e,o,s){e[o]=!t||null===t.showNoDataRecords&&null===t.returnTopmostRaster?null:t.toJSON(s)}writeTitle(t,e){e.title=t||""}async collectRequiredFields(t,e){const o=this.expressionInfos||[];await this._collectExpressionInfoFields(t,e,[...o,...this._getContentExpressionInfos(this.content,o)]),m(t,e,[...this.outFields||[],...this._getActionsFields(this.actions),...this._getTitleFields(this.title),...this._getContentFields(this.content)])}async getRequiredFields(t){const e=new Set;return await this.collectRequiredFields(e,t),[...e].sort()}_writePopupTemplateContent(t,e,o){"string"!=typeof t?Array.isArray(t)&&(e.popupElements=t.filter(t=>"web-scene"===o?.origin?W.has(t.type):k.has(t.type)).map(t=>t?.toJSON(o)),e.popupElements.forEach(t=>{"attachments"===t.type?this._writeAttachmentContent(e):"media"===t.type?this._writeMediaContent(t,e):"text"===t.type?this._writeTextContent(t,e):"relationship"===t.type&&this._writeRelationshipContent(t,e)})):e.description=t}_writeFieldsContent(t,e){if(!Array.isArray(t.fieldInfos)||!t.fieldInfos.length)return;const o=i(t.fieldInfos);Array.isArray(e.fieldInfos)?o.forEach(t=>{const o=e.fieldInfos.find(e=>e.fieldName?.toLowerCase()===t.fieldName?.toLowerCase());o?o.visible=!0:e.fieldInfos.push(t)}):e.fieldInfos=o}_writeAttachmentContent(t){t.showAttachments||(t.showAttachments=!0)}_writeRelationshipContent(t,e){const o=t.orderByFields?.map(e=>this._toFieldOrderJSON(e,t.relationshipId))||[],s=[...e.relatedRecordsInfo?.orderByFields||[],...o];e.relatedRecordsInfo={showRelatedRecords:!0,...s?.length&&{orderByFields:s}}}_writeTextContent(t,e){!e.description&&t.text&&(e.description=t.text)}_writeMediaContent(t,e){if(!Array.isArray(t.mediaInfos)||!t.mediaInfos.length)return;const o=i(t.mediaInfos);Array.isArray(e.mediaInfos)?e.mediaInfos=[...e.mediaInfos,...o]:e.mediaInfos=o}_readPopupInfoElements(t,e,o){const s={description:!1,mediaInfos:!1};return o.map(o=>"media"===o.type?(o.mediaInfos||!e||s.mediaInfos||(o.mediaInfos=e,s.mediaInfos=!0),b.fromJSON(o)):"text"===o.type?(o.text||!t||s.description||(o.text=t,s.description=!0),T.fromJSON(o)):"attachments"===o.type?O.fromJSON(o):"fields"===o.type?R.fromJSON(o):"expression"===o.type?E.fromJSON(o):"relationship"===o.type?S.fromJSON(o):"utilityNetworkAssociations"===o.type?j.fromJSON(o):void 0).filter(Boolean)}_toRelationshipContent(t){const{field:e,order:o}=t;if(!e?.startsWith(B))return null;const s=e.replace(B,"").split("/");if(2!==s.length)return null;const i=parseInt(s[0],10),r=s[1];return!Number.isNaN(i)&&r?S.fromJSON({relationshipId:i,orderByFields:[{field:r,order:o}]}):null}_toFieldOrderJSON(t,e){const{order:o,field:s}=t;return{field:`${B}${e}/${s}`,order:o}}_readPopupInfo({description:t,mediaInfos:e,showAttachments:o,relatedRecordsInfo:s={showRelatedRecords:!1}}){const i=[];t?i.push(new T({text:t})):i.push(new R),Array.isArray(e)&&e.length&&i.push(b.fromJSON({mediaInfos:e})),o&&i.push(O.fromJSON({displayType:"auto"}));const{showRelatedRecords:r,orderByFields:n}=s;return r&&n?.length&&n.forEach(t=>{const e=this._toRelationshipContent(t);e&&i.push(e)}),i.length?i:t}_getContentElementFields(t){const e=t?.type;if("attachments"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description)];if("custom"===e)return t.outFields||[];if("fields"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...this._getFieldInfoFields(t.fieldInfos??this.fieldInfos)];if("media"===e){const e=t.mediaInfos||[];return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...e.reduce((t,e)=>[...t,...this._getMediaInfoFields(e)],[])]}return"text"===e?this._extractFieldNames(t.text):"relationship"===e||"utility-network-associations"===e?[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description)]:[]}_getMediaInfoFields(t){const{caption:e,title:o,value:s}=t,i=s||{},{fields:r,normalizeField:n,tooltipField:p,sourceURL:l,linkURL:a}=i,d=[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(l),...this._extractFieldNames(a),...r??[]];return n&&d.push(n),p&&d.push(p),d}_getContentExpressionInfos(t,e){return Array.isArray(t)?t.reduce((t,e)=>[...t,..."expression"===e.type&&e.expressionInfo?[e.expressionInfo]:[]],e):[]}_getContentFields(t){return"string"==typeof t?this._extractFieldNames(t):Array.isArray(t)?t.reduce((t,e)=>[...t,...this._getContentElementFields(e)],[]):[]}async _collectExpressionInfoFields(t,e,o){o&&await Promise.all(o.map(o=>u(t,e,o.expression)))}_getFieldInfoFields(t){return t?t.filter(({fieldName:t,visible:e})=>!(void 0!==e&&!e||!t||t.startsWith(B)||t.startsWith(L))).map(t=>t.fieldName):[]}_getActionsFields(t){return t?t.toArray().reduce((t,e)=>[...t,...this._getActionFields(e)],[]):[]}_getActionFields(t){const{className:e,title:o,type:s}=t,i="button"===s||"toggle"===s?t.image:"";return[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(i)]}_getTitleFields(t){return"string"==typeof t?this._extractFieldNames(t):[]}_extractFieldNames(t){return h(t).filter(t=>!(t.startsWith(B)||t.startsWith(L)))}};t([p({type:M})],U.prototype,"actions",void 0),t([p()],U.prototype,"content",void 0),t([l("content")],U.prototype,"castContent",null),t([a("content",["description","fieldInfos","popupElements","mediaInfos","showAttachments","relatedRecordsInfo"])],U.prototype,"readContent",null),t([c("web-scene","content",{popupElements:{type:o.ofType(y)},showAttachments:{type:Boolean},mediaInfos:{type:o.ofType(g)},description:{type:String},relatedRecordsInfo:{type:x}})],U.prototype,"writeWebSceneContent",null),t([c("content",{popupElements:{type:o.ofType(I)},showAttachments:{type:Boolean},mediaInfos:{type:o.ofType(g)},description:{type:String},relatedRecordsInfo:{type:x}})],U.prototype,"writeWebMapContent",null),t([p({type:[F],json:{write:!0}})],U.prototype,"expressionInfos",void 0),t([p({type:[_]})],U.prototype,"fieldInfos",void 0),t([c("fieldInfos")],U.prototype,"writeFieldInfos",null),t([p({type:w})],U.prototype,"layerOptions",void 0),t([c("layerOptions")],U.prototype,"writeLayerOptions",null),t([p({type:Boolean,json:{read:{source:"showLastEditInfo"},write:{target:"showLastEditInfo"},default:!0}})],U.prototype,"lastEditInfoEnabled",void 0),t([p()],U.prototype,"outFields",void 0),t([p()],U.prototype,"overwriteActions",void 0),t([p()],U.prototype,"returnGeometry",void 0),t([p({json:{type:String}})],U.prototype,"title",void 0),t([c("title")],U.prototype,"writeTitle",null),U=t([d("esri.PopupTemplate")],U);const q=U;export{q as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../request.js";import t from"./featureSetCollection.js";import{m as a,$ as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import p from"./featureset/support/cache.js";import{FeatureSetError as f}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as y,isSupportedLayer as m,extractServiceUrl as h}from"./featureset/support/shared.js";import{isLoadable as I}from"../core/Loadable.js";import w from"../core/sql/WhereClause.js";import L from"../layers/FeatureLayer.js";import S from"../layers/Layer.js";import _ from"../portal/PortalItem.js";function C(){null===p.applicationCache&&(p.applicationCache=new p)}async function g(e,t,a){if(p.applicationCache){const a=p.applicationCache.getLayerInfo(e);if(a){const r=await a;return new L({url:e,outFields:t,sourceJSON:r})}const n=new L({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(p.applicationCache){p.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw p.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new L({url:e,outFields:t,sourceJSON:a})}const l=new L({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new L({url:e,outFields:t})}async function k(e,t,a,r,n,l=null){return F(await g(e,["*"],n),t,a,r,n,l)}function F(e,t=null,a=null,r=!0,n=null,l=null){switch(e.type){case"catalog-footprint":return F(e.parent,t,a,r,n,l);case"subtype-sublayer":{const s=F(e.parent,t,a,r,n,l);return s.filter(w.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:s.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const s={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l};return!e.url&&e.source?new c(s):new u(s)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function N(t){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw p.applicationCache.clearLayerInfo(t),r}}return a}async function T(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new f("DataElementsNotFound")})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw p.applicationCache.clearLayerInfo(r),l}}return n}async function A(t,a){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw p.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function O(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},n=await A(e,null);if(r.metadata=n,void 0!==n.controllerDatasetLayers?.utilityNetworkLayerId&&null!==n.controllerDatasetLayers.utilityNetworkLayerId){if(n.layers)for(const e of n.layers)r.layerNameLkp[e.id]=e.name;if(n.tables)for(const e of n.tables)r.layerNameLkp[e.id]=e.name;const l=n.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=l;const s=await T(e,l);if(s){r.queryelem=s,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const n=await N(e+"/"+l);if(void 0!==n.systemLayers?.associationsTableId&&null!==n.systemLayers.associationsTableId){let l=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),l=await k(e+"/"+n.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await l.load(),r.unVersion>=4&&(l=l.filter(w.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})),await l.load())}return{lkp:r.lkp,associations:l,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function E(e,t,a,r=null,n=null,l=!0,s=null,i=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await k(o,r,n,l,s,i);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:i})}n.registerAction(),l.registerAction(),s.registerAction(),i.registerAction(),o.registerAction();class j extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(I(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>m(t)&&t.title===e);if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>m(t)&&t.title===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(I(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>m(t)&&t.id===e);if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>m(t)&&t.id===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await A(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await g(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await g(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function M(e,t,a=null,r=null){return new j(e,t,a,r)}function b(e,t,a=null,r=null){return new D(e,t,a,r)}function v(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof S&&y(e)){const a=e;switch(t){case"datasource":return F(a,s,"outFields"in a?a.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return F(a,s,"outFields"in a?a.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return F(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return F(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function R(e,t,a,r,n,l,s,i=null){if(p.applicationCache){const o=p.applicationCache.getLayerInfo(e+":"+l.url);if(o)return q(await o,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await q(await o,t,a,r,n,s,i)}const o=new _({id:e,portal:l}).load();p.applicationCache?p.applicationCache.setLayerInfo(e+":"+l.url,o):null!=s&&s.setCachedPortalItem(l.url,e,o);try{return await q(await o,t,a,r,n,s,i)}catch(u){throw p.applicationCache&&p.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,o),u}}async function q(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await g(h(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=S.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await S.fromPortalItem(e)}return F(i,a,r,n,l,s)}export{O as constructAssociationMetaDataFeatureSetFromUrl,F as constructFeatureSet,R as constructFeatureSetFromPortalItem,E as constructFeatureSetFromRelationship,k as constructFeatureSetFromUrl,v as convertToFeatureSet,M as createFeatureSetCollectionFromMap,b as createFeatureSetCollectionFromService,C as initialiseMetaDataCache};
|
|
5
|
+
import e from"../request.js";import t from"./featureSetCollection.js";import{m as a,$ as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import p from"./featureset/support/cache.js";import{FeatureSetError as f}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as y,isSupportedLayer as m,extractServiceUrl as h}from"./featureset/support/shared.js";import{isLoadable as I}from"../core/Loadable.js";import w from"../core/sql/WhereClause.js";import L from"../layers/FeatureLayer.js";import S from"../layers/Layer.js";import _ from"../portal/PortalItem.js";function C(){null===p.applicationCache&&(p.applicationCache=new p)}async function g(e,t,a){if(p.applicationCache){const a=p.applicationCache.getLayerInfo(e);if(a){const r=await a;return new L({url:e,outFields:t,sourceJSON:r})}const n=new L({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(p.applicationCache){p.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw p.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new L({url:e,outFields:t,sourceJSON:a})}const l=new L({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new L({url:e,outFields:t})}async function k(e,t,a,r,n,l=null){return F(await g(e,["*"],n),t,a,r,n,l)}function F(e,t=null,a=null,r=!0,n=null,l=null){switch(e.type){case"catalog-footprint":return F(e.parent,t,a,r,n,l);case"subtype-sublayer":{const s=F(e.parent,t,a,r,n,l);return s.filter(w.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:s.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const s={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l};return!e.url&&e.source?new c(s):new u(s)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function N(t){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw p.applicationCache.clearLayerInfo(t),r}}return a}async function T(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new f("DataElementsNotFound")})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw p.applicationCache.clearLayerInfo(r),l}}return n}async function A(t,a){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw p.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function O(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},n=await A(e,null);if(r.metadata=n,void 0!==n.controllerDatasetLayers?.utilityNetworkLayerId&&null!==n.controllerDatasetLayers.utilityNetworkLayerId){if(n.layers)for(const e of n.layers)r.layerNameLkp[e.id]=e.name;if(n.tables)for(const e of n.tables)r.layerNameLkp[e.id]=e.name;const l=n.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=l;const s=await T(e,l);if(s){r.queryelem=s,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const n=await N(e+"/"+l);if(void 0!==n.systemLayers?.associationsTableId&&null!==n.systemLayers.associationsTableId){let l=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),l=await k(e+"/"+n.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await l.load(),r.unVersion>=4&&(l=l.filter(w.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})),await l.load())}return{lkp:r.lkp,associations:l,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function E(e,t,a,r=null,n=null,l=!0,s=null,i=null){let o=e.serviceUrl();if(!o)return null;o=o.endsWith("/")?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await k(o,r,n,l,s,i);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:i})}n.registerAction(),l.registerAction(),s.registerAction(),i.registerAction(),o.registerAction();class j extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(I(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>m(t)&&t.title===e);if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>m(t)&&t.title===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(I(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find(t=>m(t)&&t.id===e);if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find(t=>m(t)&&t.id===e);if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await A(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await g(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await g(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function M(e,t,a=null,r=null){return new j(e,t,a,r)}function b(e,t,a=null,r=null){return new D(e,t,a,r)}function v(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof S&&y(e)){const a=e;switch(t){case"datasource":return F(a,s,"outFields"in a?a.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return F(a,s,"outFields"in a?a.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return F(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return F(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function R(e,t,a,r,n,l,s,i=null){if(p.applicationCache){const o=p.applicationCache.getLayerInfo(e+":"+l.url);if(o)return q(await o,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await q(await o,t,a,r,n,s,i)}const o=new _({id:e,portal:l}).load();p.applicationCache?p.applicationCache.setLayerInfo(e+":"+l.url,o):null!=s&&s.setCachedPortalItem(l.url,e,o);try{return await q(await o,t,a,r,n,s,i)}catch(u){throw p.applicationCache&&p.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,o),u}}async function q(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await g(h(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=S.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await S.fromPortalItem(e)}return F(i,a,r,n,l,s)}export{O as constructAssociationMetaDataFeatureSetFromUrl,F as constructFeatureSet,R as constructFeatureSetFromPortalItem,E as constructFeatureSetFromRelationship,k as constructFeatureSetFromUrl,v as convertToFeatureSet,M as createFeatureSetCollectionFromMap,b as createFeatureSetCollectionFromService,C as initialiseMetaDataCache};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../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 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 I,m as h,u as g,N 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,s as S,L,Y as j}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/OrderBy.js";import O from"../featureset/actions/Top.js";import z from"../featureset/sources/Empty.js";import H from"../featureset/sources/FeatureLayerMemory.js";import W from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as G,cloneField as V}from"../featureset/support/shared.js";import{isSingleField as _}from"../featureset/support/sqlUtils.js";import{calculateStat as B}from"./fieldStats.js";import{isPromiseLike as K}from"../../core/promiseUtils.js";import q from"../../core/sql/WhereClause.js";import Q from"../../layers/FeatureLayer.js";import J from"../../layers/support/Field.js";import Y from"../../portal/Portal.js";import{queryAssociations as X}from"../../rest/networks/queryAssociations.js";import ee from"../../rest/networks/support/NetworkElement.js";import te from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ne,isArray as ie,isInteger as ae}from"../../support/guards.js";function re(e){if(1===e.length){if(ie(e[0]))return B("distinct",e[0],-1);if(A(e[0]))return B("distinct",e[0].toArray(),-1)}return B("distinct",e,-1)}function oe(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 se(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function le(e){if(null===e)return null;const t={type:se(e,"type",""),name:se(e,"name","")};if("range"===t.type)t.range=se(e,"range",[]);else{t.codedValues=[];for(const n of se(e,"codedValues",[]))t.codedValues.push({name:se(n,"name",""),code:se(n,"code",null)})}return t}function fe(e){if(null===e)return null;const t={},n=se(e,"wkt");null!==n&&(t.wkt=n);const i=se(e,"wkid");return null!==i&&(t.wkid=i),t}function de(e){if(null===e)return null;const t={hasZ:se(e,"hasz",!1),hasM:se(e,"hasm",!1)},n=se(e,"spatialreference");null!=n&&(t.spatialReference=fe(n));const i=se(e,"x",null);if(null!==i)return t.x=i,t.y=se(e,"y",null),t.hasZ&&(t.z=se(e,"z",null)),t.hasM&&(t.m=se(e,"m",null)),t;const a=se(e,"rings",null);if(null!==a)return t.rings=a,t;const r=se(e,"paths",null);if(null!==r)return t.paths=r,t;const o=se(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=se(e,s,null);null!==n&&(t[s]=n)}return t}function ue(e,t){for(const n of t)if(n===e)return!0;return!1}function ce(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ue(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ie(e.layerDefinition.fields)&&!1!==ie(e.featureSet.features))))}function me(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function pe(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 ee({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(f.layerId).sourceId,...m?{terminalId:m}:""}),o=await X(u,new te({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 Q({source:y,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new J({name:"objectId",alias:"objectId",type:"oid"}),new J({name:"globalId",alias:"globalId",type:"global-id"}),new J({name:"percentAlong",alias:"percentAlong",type:"double"}),new J({name:"side",alias:"side",type:"string"}),new J({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new J({name:"className",alias:"className",type:"string"})]});return d(w)}function ye(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(I(s[0]))return"Unknown";if(h(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?me("unknown"):me(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===ne(e))throw new o(n,"InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return me(s[0].preferredTimeZone);case"editfieldsinfo":return me(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return me(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ne(s[1].field("fieldname")))return me(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(I(r))return r.toSQLWithKeyword();if(h(r)){if(3!==a.length)throw new o(t,"InvalidParameter",n);await r.load();const e=g(a[1]);if(I(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===ie(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 B=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":B.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===ie(a))throw new o(t,"InvalidParameter",i);let l;return l=t.services?.portal?t.services.portal:Y.getDefault(),l=C(r[0],l),f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ne(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===ie(d))throw new o(t,"InvalidParameter",i);return f(s,l,t.spatialReference,d,u,t.services?.portal??Y.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===ie(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(ne(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=se(e,"layerdefinition");if(null!==i){s.layerDefinition.geometryType=se(i,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=se(i,"globalidfield",""),s.layerDefinition.objectIdField=se(i,"objectidfield",""),s.layerDefinition.typeIdField=se(i,"typeidfield",""),s.layerDefinition.hasZ=!0===se(i,"hasz",!1),s.layerDefinition.hasM=!0===se(i,"hasm",!1);const t=se(i,"spatialreference");t&&(s.layerDefinition.spatialReference=fe(t));const n=[];for(const e of se(i,"fields",[])){const t={name:se(e,"name",""),alias:se(e,"alias",""),type:se(e,"type",""),nullable:se(e,"nullable",!0),editable:se(e,"editable",!0),length:se(e,"length",null),domain:le(se(e,"domain"))};n.push(t)}s.layerDefinition.fields=n;const a=se(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of se(a,"features",[])){const n={},i=se(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:de(se(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===se(e,"hasz",!1),s.layerDefinition.hasM=!0===se(e,"hasm",!1),s.layerDefinition.geometryType=se(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=se(e,"objectidfieldname",""),s.layerDefinition.typeIdField=se(e,"typeidfieldname","");const i=se(e,"spatialreference");i&&(s.layerDefinition.spatialReference=fe(i));const a=[],r=se(e,"fields",null);if(!ie(r))throw new o(t,"InvalidParameter",n);for(const e of r){const t={name:se(e,"name",""),alias:se(e,"alias",""),type:se(e,"type",""),nullable:se(e,"nullable",!0),editable:se(e,"editable",!0),length:se(e,"length",null),domain:le(se(e,"domain"))};a.push(t)}s.layerDefinition.fields=a;const l={};for(const e of a)l[e.name.toLowerCase()]=e.name;let f=se(e,"features",null);if(ie(f))for(const e of f){const t={},n=se(e,"attributes",{});for(const e in n)t[l[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:de(se(e,"geometry",null))})}else f=null,s.featureSet.features=f}}}if(!1===ce(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),ie(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);K(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(h(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),h(a[0])){const e=new W(a[1]);return new R({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),h(a[0]))return new O({parentfeatureset:a[0],topnum:a[1]});if(ie(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),h(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 ie(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=L(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o(t,"InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(h(e))n=e;else{if(null==e||!G(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===ie(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(h(m))p=m;else{if(null==m||!G(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 I=p.serviceUrl();if(!I)return null;I="/"===I.charAt(I.length-1)?I+w[0].relatedTableId.toString():I+"/"+w[0].relatedTableId.toString();const F=await c(I,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]},F.filter(t)}return new z({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)},F.filter(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=ne(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);let u=s._layer;if(u instanceof Q&&(u=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)),null===u)return null;if(!1===h(u))return null;await u.load();const c=u.serviceUrl(),p=await m(c,t.spatialReference,!0);if(p.unVersion>=8)return await pe(u,s,l,f,p,t,n);const w=p.associations;let I=null,F=null,b=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of p.terminals)e.terminalName===f&&(F=e.terminalId);null===F&&(b=!0)}const T=w.getFieldsIndex(),D=T.get("TOGLOBALID").name,E=T.get("FROMGLOBALID").name,A=T.get("TOTERMINALID").name,v=T.get("FROMTERMINALID").name,S=T.get("FROMNETWORKSOURCEID").name,L=T.get("TONETWORKSOURCEID").name,C=T.get("ASSOCIATIONTYPE").name,M=T.get("ISCONTENTVISIBLE").name,R=T.get("OBJECTID").name;for(const t of u.fields)if("global-id"===t.type){I=s.field(t.name);break}let O=null,z=new k(new J({name:"percentalong",alias:"percentalong",type:"double"}),q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),H=new k(new J({name:"side",alias:"side",type:"string"}),q.create("''",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));const W="globalid",G="globalId",_={};for(const t in p.lkp)_[t]=p.lkp[t].sourceId;const B=new Z(new J({name:"classname",alias:"classname",type:"string"}),null,_);let K="";switch(l){case"midspan":{K=`((${D}='${I}') OR ( ${E}='${I}')) AND (${C} IN (5))`,B.codefield=q.create(`CASE WHEN (${D}='${I}') THEN ${S} ELSE ${L} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const e=V(P.findField(w.fields,E));e.name=W,e.alias=W,O=new k(e,q.create(`CASE WHEN (${E}='${I}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),z=p.unVersion>=4?new U(P.findField(w.fields,T.get("PERCENTALONG").name)):new k(new J({name:"percentalong",alias:"percentalong",type:"double"}),q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{K=`((${D}='${I}') OR ( ${E}='${I}')) AND (${C} IN (4,6))`,B.codefield=q.create(`CASE WHEN (${D}='${I}') THEN ${S} ELSE ${L} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const e=V(P.findField(w.fields,E));e.name=W,e.alias=W,O=new k(e,q.create(`CASE WHEN (${E}='${I}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),H=new k(new J({name:"side",alias:"side",type:"string"}),q.create(`CASE WHEN (${C}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${D}='@T'`,t=`${E}='@T'`;null!==F&&(e+=` AND ${A}=@A`,t+=` AND ${v}=@A`),K="(("+e+") OR ("+t+"))",K=j(K,"@T",I??""),e=j(e,"@T",I??""),null!==F&&(e=j(e,"@A",F.toString()),K=j(K,"@A",F.toString())),B.codefield=q.create("CASE WHEN "+e+` THEN ${S} ELSE ${L} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const n=V(P.findField(w.fields,E));n.name=W,n.alias=W,O=new k(n,q.create("CASE WHEN "+e+` THEN ${E} ELSE ${D} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"container":K=`${D}='${I}' AND ${C} = 2`,null!==F&&(K+=` AND ${A} = `+F.toString()),B.codefield=S,K="( "+K+" )",O=new $(P.findField(w.fields,E),W,W);break;case"content":K=`(${E}='${I}' AND ${C} = 2)`,null!==F&&(K+=` AND ${v} = `+F.toString()),B.codefield=L,K="( "+K+" )",O=new $(P.findField(w.fields,D),W,W);break;case"structure":K=`(${D}='${I}' AND ${C} = 3)`,null!==F&&(K+=` AND ${A} = `+F.toString()),B.codefield=S,K="( "+K+" )",O=new $(P.findField(w.fields,E),W,G);break;case"attached":K=`(${E}='${I}' AND ${C} = 3)`,null!==F&&(K+=` AND ${v} = `+F.toString()),B.codefield=L,K="( "+K+" )",O=new $(P.findField(w.fields,D),W,G);break;default:throw new o(t,"InvalidParameter",n)}b&&(K="1 <> 1");return new P({parentfeatureset:w,adaptedFields:[new U(P.findField(w.fields,R)),new U(P.findField(w.fields,M)),O,H,B,z],extraFilter:K?q.create(K,{fieldsIndex:w.getFieldsIndex(),timeZone:w.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),!h(s[0]))throw new o(t,"InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ne(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ie(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(ne(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=[],ne(s[2]))c.push(s[2]);else if(ie(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&&ne(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)oe(n.expression,e,t);for(const n of d)oe(n.expression,e,t);return s[0].groupby(f,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(h(s[0])){y(s,2,2,t,n);const a=await s[0].load(),r=[];let l=[];if(ne(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ie(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(ne(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)oe(n.expression,e,t);return s[0].groupby(r,[])}return re(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{if(y(r,1,1,t,n),!h(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),h(a[0])){const e=await a[0].load(),i=a[1];if(!ae(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{ye as registerFunctions};
|
|
5
|
+
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 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 I,m as h,u as g,N 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,s as S,L,Y as j}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/OrderBy.js";import O from"../featureset/actions/Top.js";import z from"../featureset/sources/Empty.js";import W from"../featureset/sources/FeatureLayerMemory.js";import H from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as G,cloneField as V}from"../featureset/support/shared.js";import{isSingleField as _}from"../featureset/support/sqlUtils.js";import{calculateStat as B}from"./fieldStats.js";import{isPromiseLike as K}from"../../core/promiseUtils.js";import q from"../../core/sql/WhereClause.js";import Q from"../../layers/FeatureLayer.js";import J from"../../layers/support/Field.js";import Y from"../../portal/Portal.js";import{queryAssociations as X}from"../../rest/networks/queryAssociations.js";import ee from"../../rest/networks/support/NetworkElement.js";import te from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ne,isArray as ie,isInteger as ae}from"../../support/guards.js";function re(e){if(1===e.length){if(ie(e[0]))return B("distinct",e[0],-1);if(A(e[0]))return B("distinct",e[0].toArray(),-1)}return B("distinct",e,-1)}function oe(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 se(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function le(e){if(null===e)return null;const t={type:se(e,"type",""),name:se(e,"name","")};if("range"===t.type)t.range=se(e,"range",[]);else{t.codedValues=[];for(const n of se(e,"codedValues",[]))t.codedValues.push({name:se(n,"name",""),code:se(n,"code",null)})}return t}function fe(e){if(null===e)return null;const t={},n=se(e,"wkt");null!==n&&(t.wkt=n);const i=se(e,"wkid");return null!==i&&(t.wkid=i),t}function de(e){if(null===e)return null;const t={hasZ:se(e,"hasz",!1),hasM:se(e,"hasm",!1)},n=se(e,"spatialreference");null!=n&&(t.spatialReference=fe(n));const i=se(e,"x",null);if(null!==i)return t.x=i,t.y=se(e,"y",null),t.hasZ&&(t.z=se(e,"z",null)),t.hasM&&(t.m=se(e,"m",null)),t;const a=se(e,"rings",null);if(null!==a)return t.rings=a,t;const r=se(e,"paths",null);if(null!==r)return t.paths=r,t;const o=se(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=se(e,s,null);null!==n&&(t[s]=n)}return t}function ue(e,t){for(const n of t)if(n===e)return!0;return!1}function ce(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ue(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ie(e.layerDefinition.fields)&&!1!==ie(e.featureSet.features))))}function me(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function pe(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 ee({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(f.layerId).sourceId,...m?{terminalId:m}:""}),o=await X(u,new te({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 Q({source:y,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new J({name:"objectId",alias:"objectId",type:"oid"}),new J({name:"globalId",alias:"globalId",type:"global-id"}),new J({name:"percentAlong",alias:"percentAlong",type:"double"}),new J({name:"side",alias:"side",type:"string"}),new J({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new J({name:"className",alias:"className",type:"string"})]});return d(w)}function ye(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(I(s[0]))return"Unknown";if(h(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?me("unknown"):me(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===ne(e))throw new o(n,"InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return me(s[0].preferredTimeZone);case"editfieldsinfo":return me(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return me(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ne(s[1].field("fieldname")))return me(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(I(r))return r.toSQLWithKeyword();if(h(r)){if(3!==a.length)throw new o(t,"InvalidParameter",n);await r.load();const e=g(a[1]);if(I(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===ie(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 B=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":B.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===ie(a))throw new o(t,"InvalidParameter",i);let l;return l=t.services?.portal?t.services.portal:Y.getDefault(),l=C(r[0],l),f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ne(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===ie(d))throw new o(t,"InvalidParameter",i);return f(s,l,t.spatialReference,d,u,t.services?.portal??Y.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===ie(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(ne(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=se(e,"layerdefinition");if(null!==i){s.layerDefinition.geometryType=se(i,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=se(i,"globalidfield",""),s.layerDefinition.objectIdField=se(i,"objectidfield",""),s.layerDefinition.typeIdField=se(i,"typeidfield",""),s.layerDefinition.hasZ=!0===se(i,"hasz",!1),s.layerDefinition.hasM=!0===se(i,"hasm",!1);const t=se(i,"spatialreference");t&&(s.layerDefinition.spatialReference=fe(t));const n=[];for(const e of se(i,"fields",[])){const t={name:se(e,"name",""),alias:se(e,"alias",""),type:se(e,"type",""),nullable:se(e,"nullable",!0),editable:se(e,"editable",!0),length:se(e,"length",null),domain:le(se(e,"domain"))};n.push(t)}s.layerDefinition.fields=n;const a=se(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of se(a,"features",[])){const n={},i=se(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:de(se(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===se(e,"hasz",!1),s.layerDefinition.hasM=!0===se(e,"hasm",!1),s.layerDefinition.geometryType=se(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=se(e,"objectidfieldname",""),s.layerDefinition.typeIdField=se(e,"typeidfieldname","");const i=se(e,"spatialreference");i&&(s.layerDefinition.spatialReference=fe(i));const a=[],r=se(e,"fields",null);if(!ie(r))throw new o(t,"InvalidParameter",n);for(const e of r){const t={name:se(e,"name",""),alias:se(e,"alias",""),type:se(e,"type",""),nullable:se(e,"nullable",!0),editable:se(e,"editable",!0),length:se(e,"length",null),domain:le(se(e,"domain"))};a.push(t)}s.layerDefinition.fields=a;const l={};for(const e of a)l[e.name.toLowerCase()]=e.name;let f=se(e,"features",null);if(ie(f))for(const e of f){const t={},n=se(e,"attributes",{});for(const e in n)t[l[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:de(se(e,"geometry",null))})}else f=null,s.featureSet.features=f}}}if(!1===ce(s))throw new o(t,"InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),W.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),ie(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);K(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(h(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),h(a[0])){const e=new H(a[1]);return new R({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),h(a[0]))return new O({parentfeatureset:a[0],topnum:a[1]});if(ie(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),h(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 ie(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=L(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o(t,"InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(h(e))n=e;else{if(null==e||!G(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===ie(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(h(m))p=m;else{if(null==m||!G(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 I=p.serviceUrl();if(!I)return null;I=I.endsWith("/")?I+w[0].relatedTableId.toString():I+"/"+w[0].relatedTableId.toString();const F=await c(I,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]},F.filter(t)}return new z({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)},F.filter(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=ne(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o(t,"InvalidParameter",n);let u=s._layer;if(u instanceof Q&&(u=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)),null===u)return null;if(!1===h(u))return null;await u.load();const c=u.serviceUrl(),p=await m(c,t.spatialReference,!0);if(p.unVersion>=8)return await pe(u,s,l,f,p,t,n);const w=p.associations;let I=null,F=null,b=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of p.terminals)e.terminalName===f&&(F=e.terminalId);null===F&&(b=!0)}const T=w.getFieldsIndex(),D=T.get("TOGLOBALID").name,E=T.get("FROMGLOBALID").name,A=T.get("TOTERMINALID").name,v=T.get("FROMTERMINALID").name,S=T.get("FROMNETWORKSOURCEID").name,L=T.get("TONETWORKSOURCEID").name,C=T.get("ASSOCIATIONTYPE").name,M=T.get("ISCONTENTVISIBLE").name,R=T.get("OBJECTID").name;for(const t of u.fields)if("global-id"===t.type){I=s.field(t.name);break}let O=null,z=new k(new J({name:"percentalong",alias:"percentalong",type:"double"}),q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new k(new J({name:"side",alias:"side",type:"string"}),q.create("''",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));const H="globalid",G="globalId",_={};for(const t in p.lkp)_[t]=p.lkp[t].sourceId;const B=new Z(new J({name:"classname",alias:"classname",type:"string"}),null,_);let K="";switch(l){case"midspan":{K=`((${D}='${I}') OR ( ${E}='${I}')) AND (${C} IN (5))`,B.codefield=q.create(`CASE WHEN (${D}='${I}') THEN ${S} ELSE ${L} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const e=V(P.findField(w.fields,E));e.name=H,e.alias=H,O=new k(e,q.create(`CASE WHEN (${E}='${I}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),z=p.unVersion>=4?new U(P.findField(w.fields,T.get("PERCENTALONG").name)):new k(new J({name:"percentalong",alias:"percentalong",type:"double"}),q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{K=`((${D}='${I}') OR ( ${E}='${I}')) AND (${C} IN (4,6))`,B.codefield=q.create(`CASE WHEN (${D}='${I}') THEN ${S} ELSE ${L} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const e=V(P.findField(w.fields,E));e.name=H,e.alias=H,O=new k(e,q.create(`CASE WHEN (${E}='${I}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new k(new J({name:"side",alias:"side",type:"string"}),q.create(`CASE WHEN (${C}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${D}='@T'`,t=`${E}='@T'`;null!==F&&(e+=` AND ${A}=@A`,t+=` AND ${v}=@A`),K="(("+e+") OR ("+t+"))",K=j(K,"@T",I??""),e=j(e,"@T",I??""),null!==F&&(e=j(e,"@A",F.toString()),K=j(K,"@A",F.toString())),B.codefield=q.create("CASE WHEN "+e+` THEN ${S} ELSE ${L} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC});const n=V(P.findField(w.fields,E));n.name=H,n.alias=H,O=new k(n,q.create("CASE WHEN "+e+` THEN ${E} ELSE ${D} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC}));break}case"container":K=`${D}='${I}' AND ${C} = 2`,null!==F&&(K+=` AND ${A} = `+F.toString()),B.codefield=S,K="( "+K+" )",O=new $(P.findField(w.fields,E),H,H);break;case"content":K=`(${E}='${I}' AND ${C} = 2)`,null!==F&&(K+=` AND ${v} = `+F.toString()),B.codefield=L,K="( "+K+" )",O=new $(P.findField(w.fields,D),H,H);break;case"structure":K=`(${D}='${I}' AND ${C} = 3)`,null!==F&&(K+=` AND ${A} = `+F.toString()),B.codefield=S,K="( "+K+" )",O=new $(P.findField(w.fields,E),H,G);break;case"attached":K=`(${E}='${I}' AND ${C} = 3)`,null!==F&&(K+=` AND ${v} = `+F.toString()),B.codefield=L,K="( "+K+" )",O=new $(P.findField(w.fields,D),H,G);break;default:throw new o(t,"InvalidParameter",n)}b&&(K="1 <> 1");return new P({parentfeatureset:w,adaptedFields:[new U(P.findField(w.fields,R)),new U(P.findField(w.fields,M)),O,W,B,z],extraFilter:K?q.create(K,{fieldsIndex:w.getFieldsIndex(),timeZone:w.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),!h(s[0]))throw new o(t,"InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ne(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ie(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(ne(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=[],ne(s[2]))c.push(s[2]);else if(ie(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&&ne(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)oe(n.expression,e,t);for(const n of d)oe(n.expression,e,t);return s[0].groupby(f,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(h(s[0])){y(s,2,2,t,n);const a=await s[0].load(),r=[];let l=[];if(ne(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ie(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(ne(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)oe(n.expression,e,t);return s[0].groupby(r,[])}return re(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{if(y(r,1,1,t,n),!h(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),h(a[0])){const e=await a[0].load(),i=a[1];if(!ae(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{ye as registerFunctions};
|
package/arcade/geometry/wkt.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const t=[];function e(t){return 0===t.length?'""':'"'
|
|
5
|
+
const t=[];function e(t){return 0===t.length?'""':t.startsWith('"')||t.startsWith(".")||t[0]>="0"&&t[0]<="9"?t:'"'+t.trim()+'"'}function n(t){let n="",r="",u=!1;for(let l=0;l<t.length;l++){const s=t[l];u?'"'===s?'"'===t[l+1]?(n+=`\\${s}`,l+=1):u=!1:n+=s:/\s/.test(s)||(","===s?(r+=""!==n?e(n)+",":",",n=""):")"===s||"]"===s?(r+=""!==n?e(n)+"]}":"]}",n=""):"("===s||"["===s?(r+='{ "entity": "'+n.toUpperCase().trim()+'", "values":[',n=""):'"'===s?(u=!0,n=""):n+=s)}return JSON.parse(r)}function r(e){try{for(let n=0;n<t.length;n++)if(t[n].spatialReferenceWkt===e)return t[n].unit;const r=l(n(e));if(null===r)return null;let s=null;for(const t of r.values)if("object"==typeof t&&("UNIT"===t.entity||"ANGLEUNIT"===t.entity||"LENGTHUNIT"===t.entity)){s=t;break}if(null===s)return null;const i=u("GEOGCS"===r.entity||"GEOGCRS"===r.entity?"angular":"linear",s.values[1],s.values[2]);return t.push({spatialReferenceWkt:e,unit:i}),t.length>10&&t.shift(),i}catch(r){return null}}function u(t,e,n){if(null!=n)try{if("EPSG"===n.values[0]){return{type:t,wkid:Number.parseInt(n.values[1],10),factor:e}}}catch(r){}return{type:t,factor:e}}function l(t){if(null===t)return null;switch(t.entity){case"GEOGCRS":case"GEOGCS":case"PROJCRS":case"PROJCS":return t}const e=[];for(const n of t.values)if("object"==typeof n&&void 0!==n.entity)switch(n.entity){case"GEOGCRS":case"GEOGCS":case"PROJCRS":case"PROJCS":return n;default:e.push(n)}for(const n of e){const t=l(n);if(null!=t)return t}return null}export{r as findSpatialReferenceUnitFromWkt};
|