@arcgis/core 4.34.0-next.75 → 4.34.0-next.77
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/Basemap.js +1 -1
- package/Ground.js +1 -1
- package/applications/Components/arcadeEditorUtils.d.ts +4 -0
- package/applications/Components/arcadeEditorUtils.js +5 -0
- package/applications/Components/featureUtils.d.ts +1 -0
- package/applications/Components/featureUtils.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/Pixel.js +1 -1
- package/arcade/Voxel.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/featureset/support/FeatureSetIterator.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/025f1d78dfa5ec93178b.js +1 -0
- package/assets/esri/core/workers/chunks/050429f516149ce3b517.js +1 -0
- package/assets/esri/core/workers/chunks/0652d7e525d99e39c957.js +1 -0
- package/assets/esri/core/workers/chunks/0668eee42b3169e1bf66.js +1 -0
- package/assets/esri/core/workers/chunks/07a355a9c95154971aab.js +1 -0
- package/assets/esri/core/workers/chunks/0dd6b8b3e634bb5f0ca7.js +1 -0
- package/assets/esri/core/workers/chunks/124f8757ea18bfd158ec.js +1 -0
- package/assets/esri/core/workers/chunks/16d66770ef841564ee3f.js +1 -0
- package/assets/esri/core/workers/chunks/17103e6542aae53c7301.js +1 -0
- package/assets/esri/core/workers/chunks/1990162dcf73601d54f7.js +1 -0
- package/assets/esri/core/workers/chunks/{5c30252c1bb8350cae5f.js → 1c52999a6392370844a6.js} +1 -1
- package/assets/esri/core/workers/chunks/20850b0fdb55fb17bc90.js +1 -0
- package/assets/esri/core/workers/chunks/{6a1b652ccbf58ac44658.js → 23e17b745adf71a5efc7.js} +1 -1
- package/assets/esri/core/workers/chunks/2605062e44f2d4e73f14.js +1 -0
- package/assets/esri/core/workers/chunks/29a86d51407310bb7745.js +1 -0
- package/assets/esri/core/workers/chunks/2a2a925c45d5fd58628b.js +1 -0
- package/assets/esri/core/workers/chunks/2fe96bf7dedef11a3b63.js +1 -0
- package/assets/esri/core/workers/chunks/3452ba299f6ce0582f09.js +1 -0
- package/assets/esri/core/workers/chunks/36a006c55766f9540bfc.js +1 -0
- package/assets/esri/core/workers/chunks/{18641332bee3e9b9c44a.js → 388482cea4b9fdeaf06e.js} +1 -1
- package/assets/esri/core/workers/chunks/3b23c37e5bc552dc81d4.js +1 -0
- package/assets/esri/core/workers/chunks/{9325000c87295c473291.js → 3b2ef975831eb75b40fb.js} +1 -1
- package/assets/esri/core/workers/chunks/3ff3e1507220d3869c76.js +1 -0
- package/assets/esri/core/workers/chunks/43818bf53dd5445a7bdb.js +1 -0
- package/assets/esri/core/workers/chunks/4823e4522bd7379d858e.js +1 -0
- package/assets/esri/core/workers/chunks/49e6202da7a20f06c661.js +353 -0
- package/assets/esri/core/workers/chunks/4d47187bc0821413492d.js +1 -0
- package/assets/esri/core/workers/chunks/{b818b5e392d5eb7c7e70.js → 4e6e8dda6c12f6fbed8e.js} +1 -1
- package/assets/esri/core/workers/chunks/5019f1b8186a65a0313b.js +1 -0
- package/assets/esri/core/workers/chunks/5102c20645d9708c34b4.js +1 -0
- package/assets/esri/core/workers/chunks/512dcd6e34e217029391.js +1 -0
- package/assets/esri/core/workers/chunks/5248581d23ada240c78d.js +1 -0
- package/assets/esri/core/workers/chunks/614a00a3179f8fe23f45.js +1 -0
- package/assets/esri/core/workers/chunks/{e12e8d69c05c182b6a69.js → 61bb39597ccf89f99a72.js} +1 -1
- package/assets/esri/core/workers/chunks/{5477ff0ce432c9e5b3ab.js → 6201356f7f91e5c06425.js} +1 -1
- package/assets/esri/core/workers/chunks/6271a706ac3fcba91432.js +1 -0
- package/assets/esri/core/workers/chunks/6593b419339e7598b760.js +1 -0
- package/assets/esri/core/workers/chunks/{51ddda291bbbf5db9905.js → 65e279516170ddbd4a65.js} +1 -1
- package/assets/esri/core/workers/chunks/67fdc8074cdcf374af9a.js +1 -0
- package/assets/esri/core/workers/chunks/6dafb2b95bae552c1cc2.js +1 -0
- package/assets/esri/core/workers/chunks/7680d4d739f7aa3f7ae1.js +1 -0
- package/assets/esri/core/workers/chunks/7889a909394c61a9d3e0.js +1 -0
- package/assets/esri/core/workers/chunks/79e965e8f7cf822b4f45.js +1 -0
- package/assets/esri/core/workers/chunks/804e3b3df375177e6c86.js +1 -0
- package/assets/esri/core/workers/chunks/81a8addcb858086ff9ee.js +1 -0
- package/assets/esri/core/workers/chunks/83065bef261314f9b2c5.js +1 -0
- package/assets/esri/core/workers/chunks/8a5e40f48a8265fd1b42.js +1 -0
- package/assets/esri/core/workers/chunks/8bd6c27a93a697a7fa3d.js +1 -0
- package/assets/esri/core/workers/chunks/8c94448a44fb27054a22.js +1 -0
- package/assets/esri/core/workers/chunks/92d0e0155563c6355079.js +1 -0
- package/assets/esri/core/workers/chunks/930322c9790572bd0c49.js +1 -0
- package/assets/esri/core/workers/chunks/96a14689815bec741308.js +1 -0
- package/assets/esri/core/workers/chunks/97d71459ad72b4b780a3.js +1 -0
- package/assets/esri/core/workers/chunks/9835c579edfc08125d31.js +1 -0
- package/assets/esri/core/workers/chunks/9971de3f38a55735cec9.js +1 -0
- package/assets/esri/core/workers/chunks/99ac292a858bbedc6a89.js +1 -0
- package/assets/esri/core/workers/chunks/9ce599dc1d385e6893c1.js +1 -0
- package/assets/esri/core/workers/chunks/{fec572f03f9514244972.js → a05a7df07b74e1957538.js} +1 -1
- package/assets/esri/core/workers/chunks/a0edff37fd4a3f2cb2eb.js +1 -0
- package/assets/esri/core/workers/chunks/a7e649b3b02e664ada80.js +1 -0
- package/assets/esri/core/workers/chunks/a8a79a5c804ef715aa94.js +1 -0
- package/assets/esri/core/workers/chunks/{10ec10ca361842efce92.js → ab005fe84952f0676020.js} +1 -1
- package/assets/esri/core/workers/chunks/acb49f3d2b783e81a215.js +1 -0
- package/assets/esri/core/workers/chunks/adc61d88c3c6936ad75a.js +1 -0
- package/assets/esri/core/workers/chunks/afa3ca2bd2648774f133.js +1 -0
- package/assets/esri/core/workers/chunks/afb76f9d6abedef771df.js +1 -0
- package/assets/esri/core/workers/chunks/b168b6ffc16cd509d316.js +1 -0
- package/assets/esri/core/workers/chunks/b19d723d09f5bea9ca27.js +1 -0
- package/assets/esri/core/workers/chunks/b246ed6d86c2c8df56fb.js +1 -0
- package/assets/esri/core/workers/chunks/b4a053063e6022080d31.js +1 -0
- package/assets/esri/core/workers/chunks/b4ba7f8ea81522ad1e2e.js +1 -0
- package/assets/esri/core/workers/chunks/b8d02f1b73c374767a5f.js +1 -0
- package/assets/esri/core/workers/chunks/b97f224972f1b1abaee8.js +1 -0
- package/assets/esri/core/workers/chunks/b9e725d2b5a7d0132663.js +1 -0
- package/assets/esri/core/workers/chunks/ba6452acee3d6defb37e.js +1 -0
- package/assets/esri/core/workers/chunks/bbb3b32affde9ea78534.js +1 -0
- package/assets/esri/core/workers/chunks/bbb585f0b484ab5eabb3.js +1 -0
- package/assets/esri/core/workers/chunks/bc83bcfe123525d21884.js +1 -0
- package/assets/esri/core/workers/chunks/c799f1c03cb22ef52f5f.js +1 -0
- package/assets/esri/core/workers/chunks/cac5732f9dfece4bf2c5.js +1 -0
- package/assets/esri/core/workers/chunks/cafc19bf2caaf7a8c2e8.js +1 -0
- package/assets/esri/core/workers/chunks/cc7423413747566f56e2.js +1 -0
- package/assets/esri/core/workers/chunks/ccd157ede169b93eea65.js +1 -0
- package/assets/esri/core/workers/chunks/ce0bf0d0cd9e9a90093b.js +1 -0
- package/assets/esri/core/workers/chunks/ce49ff6bf20cff349726.js +1 -0
- package/assets/esri/core/workers/chunks/d1657a29321adb259166.js +1 -0
- package/assets/esri/core/workers/chunks/d2b69f91eb85b561fe01.js +1 -0
- package/assets/esri/core/workers/chunks/d51e8eeb1e1eb0605cc9.js +1 -0
- package/assets/esri/core/workers/chunks/d69bd6b5d781a6c527d1.js +1 -0
- package/assets/esri/core/workers/chunks/d7fc8ea2ff527a09f4b9.js +1 -0
- package/assets/esri/core/workers/chunks/d8494617cebc68e50d35.js +1 -0
- package/assets/esri/core/workers/chunks/d89832617bac4890893e.js +1 -0
- package/assets/esri/core/workers/chunks/{d55c55d39a253630d228.js → db2396bf062468ee8b60.js} +1 -1
- package/assets/esri/core/workers/chunks/e4833b718a813a8d125b.js +1 -0
- package/assets/esri/core/workers/chunks/{b5f197e24982f6e14468.js → e7af5caab9aa9b6a12e3.js} +3 -3
- package/assets/esri/core/workers/chunks/e81386199a6db9a50fd3.js +1 -0
- package/assets/esri/core/workers/chunks/ecac5ca00c742bfb5898.js +1 -0
- package/assets/esri/core/workers/chunks/f45c343527709f6f91c2.js +1 -0
- package/assets/esri/core/workers/chunks/f5710ced8d38f9a90fc5.js +1 -0
- package/assets/esri/core/workers/chunks/f592c4e5e1746d4619db.js +1 -0
- package/assets/esri/core/workers/chunks/f8d2c52cc51d5f1bbce2.js +1 -0
- package/assets/esri/core/workers/chunks/{0d946a226b846b3c0849.js → fc06014fb484fc8c697e.js} +1 -1
- package/assets/esri/core/workers/chunks/feed74ed275f21a68a1b.js +1 -0
- package/assets/esri/core/workers/chunks/ffee8cc83d703c1dc0c0.js +1 -0
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/chunks/Compositing.glsl.js +4 -3
- package/chunks/cameraUtilsSpherical.js +1 -1
- package/chunks/lyr3DMain.js +1 -1
- package/chunks/lyr3DWorker.js +1 -1
- package/config.js +1 -1
- package/core/sql.d.ts +1 -0
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/geometry/support/normalizeUtils.js +1 -1
- package/geometry/support/spatialReferenceUtils.js +1 -1
- package/interfaces.d.ts +45 -0
- package/kernel.js +1 -1
- package/layers/GaussianSplatLayer.js +1 -1
- package/layers/Layer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/Lyr3DWorkerHandle.js +1 -1
- package/layers/catalog/catalogUtils.js +1 -1
- package/layers/mixins/ScaleRangeLayer.js +1 -1
- package/layers/support/tiles3DUtils.js +1 -1
- package/networks/CircuitManager.js +1 -1
- package/networks/support/Circuit.js +1 -1
- package/networks/support/CircuitSection.js +1 -1
- package/networks/support/Subcircuit.js +1 -1
- package/package.json +1 -1
- package/support/LayersMixin.js +1 -1
- package/support/TablesMixin.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/modeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/support/symbolUtils.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/Lyr3DWorker.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/cameraUtilsSpherical.js +1 -1
- package/{layers/support/GaussianSplatAtlasPageAllocator.js → views/3d/support/gaussianSplatting/GaussianSplatAtlasPages.js} +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +5 -0
- package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +5 -0
- package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +5 -0
- package/views/3d/support/gaussianSplatting/GaussianTile.js +5 -0
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +12 -13
- package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/strokes.js +1 -1
- package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +10 -11
- package/views/VideoView.js +1 -1
- package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/support/widget.js +1 -1
- package/assets/esri/core/workers/chunks/03fac1122eb73bb14d2d.js +0 -1
- package/assets/esri/core/workers/chunks/0434a490326c0de47c22.js +0 -1
- package/assets/esri/core/workers/chunks/0618ea8bf9da93d713b1.js +0 -1
- package/assets/esri/core/workers/chunks/06b65105b15abf4d0fbf.js +0 -1
- package/assets/esri/core/workers/chunks/06bd58c219678315cf5c.js +0 -1
- package/assets/esri/core/workers/chunks/0751f539db31bdb5caec.js +0 -1
- package/assets/esri/core/workers/chunks/0b71100fa1e7ca706dbb.js +0 -1
- package/assets/esri/core/workers/chunks/181b3564a0e3939020bc.js +0 -1
- package/assets/esri/core/workers/chunks/19228ab0fe7944c554e5.js +0 -1
- package/assets/esri/core/workers/chunks/199a17b0a0f75cbaed16.js +0 -1
- package/assets/esri/core/workers/chunks/19c1f1431c0b2f4525a2.js +0 -1
- package/assets/esri/core/workers/chunks/28a2f74d4a449386d082.js +0 -1
- package/assets/esri/core/workers/chunks/2a19a4d7d1c580121065.js +0 -1
- package/assets/esri/core/workers/chunks/2afafaf40293d5ab1d8e.js +0 -1
- package/assets/esri/core/workers/chunks/2c399991e8627baa51b3.js +0 -1
- package/assets/esri/core/workers/chunks/2f44848916051f5501eb.js +0 -1
- package/assets/esri/core/workers/chunks/356c96fad88558be9054.js +0 -1
- package/assets/esri/core/workers/chunks/37ff19a9c5c99bd4e7c7.js +0 -1
- package/assets/esri/core/workers/chunks/38e7d1c6987aaa9b520b.js +0 -1
- package/assets/esri/core/workers/chunks/3bf99037befdedd75cb4.js +0 -1
- package/assets/esri/core/workers/chunks/3d2629357242492afcfa.js +0 -1
- package/assets/esri/core/workers/chunks/3e9c3e7c5cf7c0afbc80.js +0 -1
- package/assets/esri/core/workers/chunks/3fecfe4f8ca2a5fd7360.js +0 -1
- package/assets/esri/core/workers/chunks/43095bed5456251940b9.js +0 -1
- package/assets/esri/core/workers/chunks/433c4dc666a6b2c99063.js +0 -353
- package/assets/esri/core/workers/chunks/451761c7bd2da530e1d0.js +0 -1
- package/assets/esri/core/workers/chunks/48449abe795cb7a831eb.js +0 -1
- package/assets/esri/core/workers/chunks/4bc091770bab38874848.js +0 -1
- package/assets/esri/core/workers/chunks/52286d4135b8395a3400.js +0 -1
- package/assets/esri/core/workers/chunks/540506802776f77e47f3.js +0 -1
- package/assets/esri/core/workers/chunks/56f54d007b0da0d908aa.js +0 -1
- package/assets/esri/core/workers/chunks/5879cebb22157b0b4998.js +0 -1
- package/assets/esri/core/workers/chunks/5c4ba165816809e06340.js +0 -1
- package/assets/esri/core/workers/chunks/5f239972cb95afdfa77a.js +0 -1
- package/assets/esri/core/workers/chunks/61896e64e9ef49b4bb1b.js +0 -1
- package/assets/esri/core/workers/chunks/6531f33d6710960079e9.js +0 -1
- package/assets/esri/core/workers/chunks/6963ded8428cc8d51d85.js +0 -1
- package/assets/esri/core/workers/chunks/6c3ae96c6ef764fb9552.js +0 -1
- package/assets/esri/core/workers/chunks/6e59ba2afd444eb4be18.js +0 -1
- package/assets/esri/core/workers/chunks/7430c462c350fdd26349.js +0 -1
- package/assets/esri/core/workers/chunks/76ec3d2646ba64e3442f.js +0 -1
- package/assets/esri/core/workers/chunks/7aaa6b318195d7342e6c.js +0 -1
- package/assets/esri/core/workers/chunks/7e746427375e83fc4351.js +0 -1
- package/assets/esri/core/workers/chunks/810e4c16c6eae420508b.js +0 -1
- package/assets/esri/core/workers/chunks/8b587affaaa0b1e4368c.js +0 -1
- package/assets/esri/core/workers/chunks/8bc8caa384b24af12411.js +0 -1
- package/assets/esri/core/workers/chunks/8e428b0f33ef4688415e.js +0 -1
- package/assets/esri/core/workers/chunks/8fc13e0e1a5a8f3e4798.js +0 -1
- package/assets/esri/core/workers/chunks/90540fdfb0c5f68aa959.js +0 -1
- package/assets/esri/core/workers/chunks/925ad2665c2fe0f47cc3.js +0 -1
- package/assets/esri/core/workers/chunks/92d5b0559e128d62fbda.js +0 -1
- package/assets/esri/core/workers/chunks/9304c3cdf732745577fd.js +0 -1
- package/assets/esri/core/workers/chunks/93b2e0a300b2758a1ca4.js +0 -1
- package/assets/esri/core/workers/chunks/9421389888d4d9e4e809.js +0 -1
- package/assets/esri/core/workers/chunks/98c94a99e2e04d5ae65f.js +0 -1
- package/assets/esri/core/workers/chunks/9c35860439948638cb8f.js +0 -1
- package/assets/esri/core/workers/chunks/a0a519f498e9ea7623ff.js +0 -1
- package/assets/esri/core/workers/chunks/a25b75de1bca1dd21941.js +0 -1
- package/assets/esri/core/workers/chunks/a2baeb9fa805c3537049.js +0 -1
- package/assets/esri/core/workers/chunks/a33e1a031ba9f028023d.js +0 -1
- package/assets/esri/core/workers/chunks/ad3ebd4f05cc673140f3.js +0 -1
- package/assets/esri/core/workers/chunks/b03dcbc31bccb9fdf9fe.js +0 -1
- package/assets/esri/core/workers/chunks/b0de01f8c9b1c3182e0c.js +0 -1
- package/assets/esri/core/workers/chunks/b6c6f82df3b60c2f831f.js +0 -1
- package/assets/esri/core/workers/chunks/b7f5a26ff3a73c64552d.js +0 -1
- package/assets/esri/core/workers/chunks/bd2dc1282c49125ede89.js +0 -1
- package/assets/esri/core/workers/chunks/bd4e64d6e73cd4db9695.js +0 -1
- package/assets/esri/core/workers/chunks/c07507a42def2bd2a222.js +0 -1
- package/assets/esri/core/workers/chunks/c34a164a8ece4cb33e81.js +0 -1
- package/assets/esri/core/workers/chunks/c7ba8f2aca0fbd6ceded.js +0 -1
- package/assets/esri/core/workers/chunks/c908184d747d33366881.js +0 -1
- package/assets/esri/core/workers/chunks/d1711256493d55eca523.js +0 -1
- package/assets/esri/core/workers/chunks/e086b835a98b71a46825.js +0 -1
- package/assets/esri/core/workers/chunks/e3f2cdf5d71a7040894b.js +0 -1
- package/assets/esri/core/workers/chunks/e54df2128039425a9090.js +0 -1
- package/assets/esri/core/workers/chunks/e58c5c8639aa837c84d1.js +0 -1
- package/assets/esri/core/workers/chunks/e6e4e2fb9568319c6207.js +0 -1
- package/assets/esri/core/workers/chunks/e92d9e0ac789bcf1cdf4.js +0 -1
- package/assets/esri/core/workers/chunks/eb0a5d592f5805836203.js +0 -1
- package/assets/esri/core/workers/chunks/eccb4550edc4752cf41a.js +0 -1
- package/assets/esri/core/workers/chunks/ee391a41144855fc625d.js +0 -1
- package/assets/esri/core/workers/chunks/f060a52a9b69eb250d63.js +0 -1
- package/assets/esri/core/workers/chunks/f3ef59991c577ff5e825.js +0 -1
- package/assets/esri/core/workers/chunks/f749e2a89a14ab89ae59.js +0 -1
- package/assets/esri/core/workers/chunks/f7f5c4f30e5a0ddbf9a4.js +0 -1
- package/assets/esri/core/workers/chunks/fb0f729eff2f2911d6c3.js +0 -1
- package/assets/esri/core/workers/chunks/fdf2b980e8a8aa47ce91.js +0 -1
- package/assets/esri/core/workers/chunks/fe24c6d61a50898549a5.js +0 -1
- package/layers/support/gaussianSplatUtils.js +0 -5
package/arcade/arcadeRuntime.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.34/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as i}from"./compilerUtils.js";import{getNestedOptionalValue as s,getGeometryKeys as l,geometryMember as a}from"./containerUtils.js";import c from"./Dictionary.js";import{ArcadeExecutionError as u,ensureArcadeExecutionError as f}from"./executionError.js";import p from"./Feature.js";import{NativeFunction as h,ArcadeFunction as d,ScopeMarshalledFunction as w,wrapModuleScopedResponse as m}from"./FunctionWrapper.js";import{R as g,I as b,q as y,i as v,z as x,A as S,v as F,B as R,x as I,j,r as O,h as A,s as M,u as N,w as k,y as C,k as E}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as G}from"../chunks/array.js";import{registerFunctions as U}from"./functions/date.js";import{registerFunctions as D}from"./functions/feature.js";import{registerFunctions as K}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/geomsync.js";import{registerFunctions as _}from"./functions/maths.js";import{registerFunctions as z}from"./functions/stats.js";import{registerFunctions as Z}from"./functions/string.js";import{registerFunctions as q}from"./functions/track.js";import"../core/has.js";import W from"../core/Logger.js";import P from"../geometry/Geometry.js";import V from"../geometry/SpatialReference.js";import{isGraphic as T,isBoolean as Y,isArray as $,isString as H,isNumber as J}from"../support/guards.js";const Q=()=>W.getLogger("esri.arcade.arcadeRuntime"),X=Symbol("uninitialized");function ee(e){if(e===X)throw new u(null,"InvalidIdentifier",null)}function te(e){return ee(e),e}function ne(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new u(t,"InvalidIdentifier",n)}function re(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return ee(e),e.value}const i=t.globalScope[o];if(void 0!==i)return ee(i),i.value;throw new u(t,r,n)}const oe=function(){};oe.prototype=Object.freeze(Object.create(null));class ie extends d{constructor(e,t,n,r){super(),this.definition=e,this.context=t,this._params=n,this._locals=r}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:new oe,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",null);return se(n,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return ce(e,t,(n,r,o)=>{const i={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new oe,track:e.track};if(i.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",t);return se(i,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,(o,i,s)=>{const l={spatialReference:e.spatialReference,globalScope:n.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new oe,track:e.track};return s=s.map(t=>!v(t)||t instanceof w?t:m(t,e,r)),m(se(l,this.definition.body,this._params,this._locals,s,t),n,r)})}}function se(e,t,n,r,o,i){try{if(n.length!==o.length)throw new u(e,"WrongNumberOfParameters",i);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=X}const s=fe(e,t);if(s instanceof g)return s.value;if(s===x)throw new u(e,"UnexpectedToken",i);if(s===S)throw new u(e,"UnexpectedToken",i);return s instanceof b?s.value:s}catch(s){throw s}}class le extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t),r=this.moduleGlobalContext.globalScope[n];if(ee(r),v(r.value)&&!(r.value instanceof w)){const e=new w;return e.fn=r.value,e.parameterEvaluator=ce,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(v(n))throw new u(null,"AssignModuleFunction",null);const r=e(t);if(void 0===this.moduleGlobalContext.globalScope[r])throw new u(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static load(e,n){const{globals:i,exports:s}=o(n),l=new Ve;for(const t of i)t in l||(l[t]=X);const a=e.spatialReference??V.WebMercator,c={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Ye,abortSignal:t,timeZone:e.timeZone??null,spatialReference:a,track:e.track,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:s,localScope:null,globalScope:l};return Fe(c,n),new le(c)}}function ae(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(ue(e,t.arguments[r]));return n}function ce(e,t,n){try{return!0===t.preparsed?n(e,null,t.arguments):n(e,t,ae(e,t))}catch(r){throw r}}function ue(e,t){try{switch(t.type){case"AssignmentExpression":return ve(e,t);case"UpdateExpression":return be(e,t);case"TemplateLiteral":return Ue(e,t);case"Identifier":return De(e,t);case"MemberExpression":return Ne(e,t);case"Literal":return t.value;case"CallExpression":return Ke(e,t);case"UnaryExpression":return ke(e,t);case"BinaryExpression":return Ee(e,t);case"LogicalExpression":return Be(e,t);case"ArrayExpression":return Ce(e,t);case"ObjectExpression":return pe(e,t);default:throw new u(e,"Unrecognized",t)}}catch(n){throw f(e,t,n)}}function fe(e,t){switch(t.type){case"EmptyStatement":return F;case"VariableDeclaration":return Ae(e,t);case"ImportDeclaration":return je(e,t);case"ExportNamedDeclaration":return Oe(e,t);case"BlockStatement":return Fe(e,t);case"FunctionDeclaration":return Ie(e,t);case"ReturnStatement":return Re(e,t);case"IfStatement":return Se(e,t);case"ExpressionStatement":return xe(e,t);case"BreakStatement":return x;case"ContinueStatement":return S;case"ForStatement":return we(e,t);case"ForInStatement":return he(e,t);case"ForOfStatement":return de(e,t);case"WhileStatement":return me(e,t);default:throw new u(e,"Unrecognized",t)}}function pe(e,t){const n=Object.create(null),r=new Map;for(let i=0;i<t.properties.length;i++){const o=t.properties[i],s="Identifier"===o.key.type?o.key.name:ue(e,o.key),l=ue(e,o.value);if(v(l))throw new u(e,"NoFunctionInDictionary",t);if(!1===H(s))throw new u(e,"KeyMustBeString",t);let a=s.toString();const c=a.toLowerCase();r.has(c)?a=r.get(c):r.set(c,a),n[a]=l===F?null:l}const o=new c(n);return o.immutable=!1,o}function he(e,t){const n=ue(e,t.right);"VariableDeclaration"===t.left.type&&Ae(e,t.left);const r=ne(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if($(n)||H(n)){const o=n.length;for(let n=0;n<o;n++){r.scope[r.id]={value:n};const o=fe(e,t.body);if(o===x)break;if(o instanceof g)return o}return F}if(j(n)){for(let o=0;o<n.length();o++){r.scope[r.id]={value:o};const n=fe(e,t.body);if(n===x)break;if(n instanceof g)return n}return F}if(n instanceof c||O(n)){const o=n.keys();for(let n=0;n<o.length;n++){r.scope[r.id]={value:o[n]};const i=fe(e,t.body);if(i===x)break;if(i instanceof g)return i}return F}if(A(n)){for(const o of l(n)){r.scope[r.id]={value:o};const n=fe(e,t.body);if(n===x)break;if(n instanceof g)return n}return F}return F}function de(e,t){const n=ue(e,t.right);"VariableDeclaration"===t.left.type&&fe(e,t.left);const r=ne(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if($(n)||H(n)){const o=n.length;for(let i=0;i<o;i++){if(i>=n.length)throw new u(e,"OutOfBounds",t);r.scope[r.id]={value:n[i]};const o=fe(e,t.body);if(o===x)break;if(o instanceof g)return o}return F}if(j(n)){for(let o=0;o<n.length();o++){r.scope[r.id]={value:n.get(o)};const i=fe(e,t.body);if(i===x)break;if(i instanceof g)return i}return F}if(n instanceof c||O(n)){for(const o of n.keys()){const i=n.field(o);r.scope[r.id]={value:c.containerEntry(o,i)};const s=fe(e,t.body);if(s===x)break;if(s instanceof g)return s}return F}if(A(n)){for(const o of l(n)){const i=a(n,o,e,t,1);r.scope[r.id]={value:c.containerEntry(o,i)};const s=fe(e,t.body);if(s===x)break;if(s instanceof g)return s}return F}return F}function we(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?fe(e,t.init):ue(e,t.init));const n={testResult:!0,lastAction:F};do{ge(e,t,n)}while(!0===n.testResult);return n.lastAction instanceof g?n.lastAction:F}function me(e,t){const n={testResult:!0,lastAction:F};if(n.testResult=ue(e,t.test),!1===n.testResult)return F;if(!0!==n.testResult)throw new u(e,"BooleanConditionRequired",t);for(;!0===n.testResult&&(n.lastAction=fe(e,t.body),n.lastAction!==x)&&!(n.lastAction instanceof g);)if(n.testResult=ue(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new u(e,"BooleanConditionRequired",t);return n.lastAction instanceof g?n.lastAction:F}function ge(e,t,n){if(null!==t.test){if(n.testResult=ue(e,t.test),!1===n.testResult)return;if(!0!==n.testResult)throw new u(e,"BooleanConditionRequired",t)}n.lastAction=fe(e,t.body),n.lastAction!==x?n.lastAction instanceof g?n.testResult=!1:null!==t.update&&ue(e,t.update):n.testResult=!1}function be(e,t){if("CallExpression"===t.argument.type)throw new u(e,"NeverReach",t);let n;if("MemberExpression"===t.argument.type){const r=ue(e,t.argument.object);let o;if(!0===t.argument.computed)o=ue(e,t.argument.property);else{if("Identifier"!==t.argument.property.type)throw new u(e,"Unrecognized",t);o=t.argument.property.name}if($(r)){if(!J(o))throw new u(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new u(e,"OutOfBounds",t);n=M(r[o]),r[o]="++"===t.operator?n+1:n-1}else if(r instanceof c){if(!1===H(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t);n=M(r.field(o)),r.setField(o,"++"===t.operator?n+1:n-1)}else if(E(r)){if(!1===H(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t);n=M(r.field(o)),r.setField(o,"++"===t.operator?n+1:n-1)}else{if(j(r))throw new u(e,"Immutable",t);if(!(r instanceof le))throw new u(e,"InvalidParameter",t);if(!1===H(o))throw new u(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new u(e,"ModuleExportNotFound",t);n=M(r.global(o)),r.setGlobal(o,"++"===t.operator?n+1:n-1)}return!1===t.prefix?n:"++"===t.operator?n+1:n-1}const r=ne(e,t.argument);n=M(te(r.var).value);const o="++"===t.operator?n+1:n-1;return r.scope[r.id]={value:o},!1===t.prefix?n:"++"===t.operator?n+1:n-1}function ye(e,t,n,r,o){switch(t){case"=":return e===F?null:e;case"/=":return M(n)/M(e);case"*=":return M(n)*M(e);case"-=":return M(n)-M(e);case"+=":return H(n)||H(e)?N(n)+N(e):M(n)+M(e);case"%=":return M(n)%M(e);default:throw new u(o,"UnsupportedOperator",r)}}function ve(e,t){if("MemberExpression"===t.left.type){const n=ue(e,t.left.object);let r;if(!0===t.left.computed)r=ue(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new u(e,"InvalidIdentifier",t);r=t.left.property.name}const o=ue(e,t.right);if($(n)){if(!J(r))throw new u(e,"ArrayAccessMustBeNumber",t);if(r<0&&(r=n.length+r),r<0||r>n.length)throw new u(e,"OutOfBounds",t);if(r===n.length){if("="!==t.operator)throw new u(e,"OutOfBounds",t);n[r]=ye(o,t.operator,n[r],t,e)}else n[r]=ye(o,t.operator,n[r],t,e)}else if(n instanceof c){if(!1===H(r))throw new u(e,"KeyAccessorMustBeString",t);if(!0===n.hasField(r))n.setField(r,ye(o,t.operator,n.field(r),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:r});n.setField(r,ye(o,t.operator,null,t,e))}}else if(E(n)){if(!1===H(r))throw new u(e,"KeyAccessorMustBeString",t);if(!0===n.hasField(r))n.setField(r,ye(o,t.operator,n.field(r),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:r});n.setField(r,ye(o,t.operator,null,t,e))}}else{if(j(n))throw new u(e,"Immutable",t);if(!(n instanceof le))throw new u(e,"InvalidIdentifier",t);if(!1===H(r))throw new u(e,"ModuleAccessorMustBeString",t);if(!0!==n.hasGlobal(r))throw new u(e,"ModuleExportNotFound",t);n.setGlobal(r,ye(o,t.operator,n.global(r),t,e))}return F}const n=ne(e,t.left),r=ue(e,t.right);return n.scope[n.id]={value:ye(r,t.operator,"="!==t.operator?te(n.var).value:null,t,e)},F}function xe(e,t){const n=ue(e,t.expression);return n===F?F:new b(n)}function Se(e,t){const n=ue(e,t.test);if(!0===n)return fe(e,t.consequent);if(!1===n)return null!==t.alternate?fe(e,t.alternate):F;throw new u(e,"BooleanConditionRequired",t)}function Fe(e,t){let n=F;for(let r=0;r<t.body.length;r++)if(n=fe(e,t.body[r]),n instanceof g||n===x||n===S)return n;return n}function Re(e,t){if(null===t.argument)return new g(F);const n=ue(e,t.argument);return new g(n)}function Ie(t,n){if(null!=t.localScope)throw Q().error("Function declarations are only valid in global scope."),new u(t,"NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw Q().error(`Function "${r}" not declared.`),new u(t,"NeverReach",n);const o=i(n),s=n.params.map(t=>e(t)),l=Array.from(o).filter(e=>!s.includes(e));return t.globalScope[r]={value:new ie(n,t,s,l)},F}function je(e,t){const n=ne(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw Q().error("Internal error: module loader not initialized"),new u(e,"NeverReach",t);const o=r.loadLibrary(n.id);let i;return r._moduleSingletons?.has(o.uri)?i=r._moduleSingletons.get(o.uri):(i=le.load(e,o.syntax),r._moduleSingletons?.set(o.uri,i)),n.scope[n.id]={value:i},F}function Oe(e,t){return fe(e,t.declaration),F}function Ae(e,t){for(let n=0;n<t.declarations.length;n++)Me(e,t.declarations[n]);return F}function Me(e,t){let n=null===t.init?null:ue(e,t.init);if(n===F&&(n=null),"Identifier"!==t.id.type)throw new u(e,"InvalidIdentifier",t);const r=ne(e,t.id);r.scope[r.id]={value:n}}function Ne(e,t){try{const n=ue(e,t.object);if(null===n)throw new u(e,"MemberOfNull",t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof c||O(n))return n.field(t.property.name);if(n instanceof P)return a(n,t.property.name,e,t);if(n instanceof le){if(!n.hasGlobal(t.property.name))throw new u(e,"InvalidIdentifier",t);return n.global(t.property.name)}}throw new u(e,"InvalidMemberAccessKey",t)}let r=ue(e,t.property);if(n instanceof c||O(n)){if(H(r))return n.field(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof le){if(H(r))return n.global(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof P){if(H(r))return a(n,r,e,t);throw new u(e,"InvalidMemberAccessKey",t)}if($(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}if(H(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}if(j(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new u(e,"OutOfBounds",t);return n.get(r)}throw new u(e,"InvalidMemberAccessKey",t)}throw new u(e,"InvalidMemberAccessKey",t)}catch(n){throw n}}function ke(e,t){try{const n=ue(e,t.argument);if(Y(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*M(n);if("+"===t.operator)return 1*M(n);if("~"===t.operator)return~M(n);throw new u(e,"UnsupportUnaryOperator",t)}if("~"===t.operator)return~M(n);if("-"===t.operator)return-1*M(n);if("+"===t.operator)return 1*M(n);throw new u(e,"UnsupportUnaryOperator",t)}catch(n){throw n}}function Ce(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++){const o=ue(e,t.elements[r]);if(v(o))throw new u(e,"NoFunctionInArray",t);o===F?n.push(null):n.push(o)}return n}catch(n){throw n}}function Ee(e,t){try{const n=ue(e,t.left),r=ue(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return C(M(n),M(r),t.operator);case"==":return I(n,r);case"!=":return!I(n,r);case"<":case">":case"<=":case">=":return k(n,r,t.operator);case"+":return H(n)||H(r)?N(n)+N(r):M(n)+M(r);case"-":return M(n)-M(r);case"*":return M(n)*M(r);case"/":return M(n)/M(r);case"%":return M(n)%M(r);default:throw new u(e,"UnsupportedOperator",t)}}catch(n){throw n}}function Be(e,t){try{const n=ue(e,t.left);if(Y(n))switch(t.operator){case"||":{if(!0===n)return n;const r=ue(e,t.right);if(Y(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=ue(e,t.right);if(Y(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}default:throw new u(e,"LogicExpressionOrAnd",t)}throw new u(e,"LogicalExpressionOnlyBoolean",t)}catch(n){throw n}}function Ge(e,t,n){if(v(e))throw new u(t,"NoFunctionInTemplateLiteral",n);return e}function Ue(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){n+=t.expressions[r]?N(Ge(ue(e,t.expressions[r]),e,t)):"",r++}return n}function De(e,t){return re(e,t)}function Ke(e,t){try{if("MemberExpression"===t.callee.type){const n=ue(e,t.callee.object);if(!(n instanceof le))throw new u(e,"FunctionNotFound",t);const r=!1===t.callee.computed?t.callee.property.name:ue(e,t.callee.property);if(!n.hasGlobal(r))throw new u(e,"FunctionNotFound",t);const o=n.global(r);if(!v(o))throw new u(e,"CallNonFunction",t);return o.call(e,t)}if("Identifier"!==t.callee.type)throw new u(e,"FunctionNotFound",t);const n=re(e,t.callee,"FunctionNotFound");if(v(n))return n.call(e,t);throw new u(e,"CallNonFunction",t)}catch(n){throw n}}function Le(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;R(null===n?[]:n,3,3,e,t);const r=ue(e,n[0]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",t);return ue(e,!0===r?n[1]:n[2])}catch(n){throw n}}function _e(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;R(null===n?[]:n,2,3,e,t);const r=ue(e,n[0]);if(3===n.length){const t=ue(e,n[1]),o=s(r,t);return null!=o&&""!==o?o:ue(e,n[2])}return null===r||""===r||void 0===r?ue(e,n[1]):r}catch(n){throw n}}function ze(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;if(n.length<2)throw new u(e,"WrongNumberOfParameters",t);if(2===n.length)return ue(e,n[1]);{if((n.length-1)%2==0)throw new u(e,"WrongNumberOfParameters",t);const r=ue(e,n[0]);return Ze(e,t,1,r)}}catch(n){throw n}}function Ze(e,t,n,r){try{const o=t.arguments,i=ue(e,o[n]);if(I(i,r))return ue(e,o[n+1]);{const i=o.length-n;return 1===i?ue(e,o[n]):2===i?null:3===i?ue(e,o[n+2]):Ze(e,t,n+2,r)}}catch(o){throw o}}function qe(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;if(n.length<3)throw new u(e,"WrongNumberOfParameters",t);if(n.length%2==0)throw new u(e,"WrongNumberOfParameters",t);const r=ue(e,n[0]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",n[0]);return We(e,t,0,r)}catch(n){throw n}}function We(e,t,n,r){try{const o=t.arguments;if(!0===r)return ue(e,o[n+1]);if(3===o.length-n)return ue(e,o[n+2]);{const r=ue(e,o[n+2]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",o[n+2]);return We(e,t,n+2,r)}}catch(o){throw o}}function Pe(){const e=Object.create(null);U(e,ce),Z(e,ce),D(e,ce,De),_(e,ce),K(e,ce),z(e,ce),L(e,ce),q(e,ce),e.iif=Le,e.defaultvalue=_e,e.decode=ze,e.when=qe;const t=function(){this.textformatting={value:c.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new h(r)});return t}const Ve=Pe();function Te(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:ce,evaluateIdentifier:De};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))Ve.prototype[n]=Object.freeze({value:new h(r)});for(let n=0;n<t.signatures.length;n++)B(t.signatures[n],"sync")}function Ye(e){console.log(e)}function $e(n,i){const s=new Set(Object.keys(i?.vars||{}).map(t=>e(t))),l=new Set(Object.keys(i?.customfunctions||{}).map(t=>e(t))),{globals:a,exports:c}=o(n);return e=>{const o=e.spatialReference??V.WebMercator;let i=null;n.usesModules&&(i=new r(new Map,n.loadedModules));const f=new Ve;for(const t of l)null!=e.customfunctions&&t in e.customfunctions?f[t]={value:new h(e.customfunctions[t])}:f[t]=X;for(const t of s){if(null==e.vars||!(t in e.vars)){t in f||(f[t]=X);continue}const n=e.vars[t]??null;T(n)?f[t]={value:p.createFromGraphic(n,e.timeZone??null)}:f[t]={value:n}}for(const t of a)t in f||(f[t]=X);const d={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Ye,abortSignal:t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:i,exports:c,localScope:null,globalScope:f},w=Fe(d,n);if(w instanceof g||w instanceof b){const e=w.value;if(y(e))return null;if(v(e))throw new u(d,"IllegalResult",null);return e}if(y(w))return null;if(w===x)throw new u(d,"IllegalResult",null);if(w===S)throw new u(d,"IllegalResult",null);throw new u(d,"NeverReach",null)}}function He(e,t){return $e(e,t)(t)}Te([G]);export{He as executeScript,Te as extend,$e as prepareScript};
|
|
5
|
+
import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as i}from"./compilerUtils.js";import{getNestedOptionalValue as s,getGeometryKeys as l,geometryMember as a}from"./containerUtils.js";import c from"./Dictionary.js";import{ArcadeExecutionError as u,ensureArcadeExecutionError as f}from"./executionError.js";import{Feature as p}from"./Feature.js";import{NativeFunction as h,ArcadeFunction as d,ScopeMarshalledFunction as w,wrapModuleScopedResponse as m}from"./FunctionWrapper.js";import{R as g,I as b,q as y,i as v,z as x,A as S,v as F,B as R,x as I,j,r as O,h as A,s as M,u as N,w as k,y as C,k as E}from"../chunks/languageUtils.js";import{addFunctionDeclaration as B}from"./treeAnalysis.js";import{A as G}from"../chunks/array.js";import{registerFunctions as U}from"./functions/date.js";import{registerFunctions as D}from"./functions/feature.js";import{registerFunctions as K}from"./functions/geometry.js";import{registerFunctions as L}from"./functions/geomsync.js";import{registerFunctions as _}from"./functions/maths.js";import{registerFunctions as z}from"./functions/stats.js";import{registerFunctions as Z}from"./functions/string.js";import{registerFunctions as q}from"./functions/track.js";import"../core/has.js";import W from"../core/Logger.js";import P from"../geometry/Geometry.js";import V from"../geometry/SpatialReference.js";import{isGraphic as T,isBoolean as Y,isArray as $,isString as H,isNumber as J}from"../support/guards.js";const Q=()=>W.getLogger("esri.arcade.arcadeRuntime"),X=Symbol("uninitialized");function ee(e){if(e===X)throw new u(null,"InvalidIdentifier",null)}function te(e){return ee(e),e}function ne(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new u(t,"InvalidIdentifier",n)}function re(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return ee(e),e.value}const i=t.globalScope[o];if(void 0!==i)return ee(i),i.value;throw new u(t,r,n)}const oe=function(){};oe.prototype=Object.freeze(Object.create(null));class ie extends d{constructor(e,t,n,r){super(),this.definition=e,this.context=t,this._params=n,this._locals=r}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,services:this.context.services,timeZone:this.context.timeZone??null,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,abortSignal:this.context.abortSignal,localScope:new oe,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,track:this.context.track};if(n.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",null);return se(n,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return ce(e,t,(n,r,o)=>{const i={spatialReference:e.spatialReference,services:e.services,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,timeZone:e.timeZone??null,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new oe,track:e.track};if(i.depthCounter.depth>64)throw new u(e,"MaximumCallDepth",t);return se(i,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,(o,i,s)=>{const l={spatialReference:e.spatialReference,globalScope:n.globalScope,services:e.services,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,timeZone:e.timeZone??null,lrucache:e.lrucache,interceptor:e.interceptor,abortSignal:e.abortSignal,localScope:new oe,track:e.track};return s=s.map(t=>!v(t)||t instanceof w?t:m(t,e,r)),m(se(l,this.definition.body,this._params,this._locals,s,t),n,r)})}}function se(e,t,n,r,o,i){try{if(n.length!==o.length)throw new u(e,"WrongNumberOfParameters",i);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=X}const s=fe(e,t);if(s instanceof g)return s.value;if(s===x)throw new u(e,"UnexpectedToken",i);if(s===S)throw new u(e,"UnexpectedToken",i);return s instanceof b?s.value:s}catch(s){throw s}}class le extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t),r=this.moduleGlobalContext.globalScope[n];if(ee(r),v(r.value)&&!(r.value instanceof w)){const e=new w;return e.fn=r.value,e.parameterEvaluator=ce,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(v(n))throw new u(null,"AssignModuleFunction",null);const r=e(t);if(void 0===this.moduleGlobalContext.globalScope[r])throw new u(null,"ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static load(e,n){const{globals:i,exports:s}=o(n),l=new Ve;for(const t of i)t in l||(l[t]=X);const a=e.spatialReference??V.WebMercator,c={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Ye,abortSignal:t,timeZone:e.timeZone??null,spatialReference:a,track:e.track,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:s,localScope:null,globalScope:l};return Fe(c,n),new le(c)}}function ae(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(ue(e,t.arguments[r]));return n}function ce(e,t,n){try{return!0===t.preparsed?n(e,null,t.arguments):n(e,t,ae(e,t))}catch(r){throw r}}function ue(e,t){try{switch(t.type){case"AssignmentExpression":return ve(e,t);case"UpdateExpression":return be(e,t);case"TemplateLiteral":return Ue(e,t);case"Identifier":return De(e,t);case"MemberExpression":return Ne(e,t);case"Literal":return t.value;case"CallExpression":return Ke(e,t);case"UnaryExpression":return ke(e,t);case"BinaryExpression":return Ee(e,t);case"LogicalExpression":return Be(e,t);case"ArrayExpression":return Ce(e,t);case"ObjectExpression":return pe(e,t);default:throw new u(e,"Unrecognized",t)}}catch(n){throw f(e,t,n)}}function fe(e,t){switch(t.type){case"EmptyStatement":return F;case"VariableDeclaration":return Ae(e,t);case"ImportDeclaration":return je(e,t);case"ExportNamedDeclaration":return Oe(e,t);case"BlockStatement":return Fe(e,t);case"FunctionDeclaration":return Ie(e,t);case"ReturnStatement":return Re(e,t);case"IfStatement":return Se(e,t);case"ExpressionStatement":return xe(e,t);case"BreakStatement":return x;case"ContinueStatement":return S;case"ForStatement":return we(e,t);case"ForInStatement":return he(e,t);case"ForOfStatement":return de(e,t);case"WhileStatement":return me(e,t);default:throw new u(e,"Unrecognized",t)}}function pe(e,t){const n=Object.create(null),r=new Map;for(let i=0;i<t.properties.length;i++){const o=t.properties[i],s="Identifier"===o.key.type?o.key.name:ue(e,o.key),l=ue(e,o.value);if(v(l))throw new u(e,"NoFunctionInDictionary",t);if(!1===H(s))throw new u(e,"KeyMustBeString",t);let a=s.toString();const c=a.toLowerCase();r.has(c)?a=r.get(c):r.set(c,a),n[a]=l===F?null:l}const o=new c(n);return o.immutable=!1,o}function he(e,t){const n=ue(e,t.right);"VariableDeclaration"===t.left.type&&Ae(e,t.left);const r=ne(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if($(n)||H(n)){const o=n.length;for(let n=0;n<o;n++){r.scope[r.id]={value:n};const o=fe(e,t.body);if(o===x)break;if(o instanceof g)return o}return F}if(j(n)){for(let o=0;o<n.length();o++){r.scope[r.id]={value:o};const n=fe(e,t.body);if(n===x)break;if(n instanceof g)return n}return F}if(n instanceof c||O(n)){const o=n.keys();for(let n=0;n<o.length;n++){r.scope[r.id]={value:o[n]};const i=fe(e,t.body);if(i===x)break;if(i instanceof g)return i}return F}if(A(n)){for(const o of l(n)){r.scope[r.id]={value:o};const n=fe(e,t.body);if(n===x)break;if(n instanceof g)return n}return F}return F}function de(e,t){const n=ue(e,t.right);"VariableDeclaration"===t.left.type&&fe(e,t.left);const r=ne(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);if($(n)||H(n)){const o=n.length;for(let i=0;i<o;i++){if(i>=n.length)throw new u(e,"OutOfBounds",t);r.scope[r.id]={value:n[i]};const o=fe(e,t.body);if(o===x)break;if(o instanceof g)return o}return F}if(j(n)){for(let o=0;o<n.length();o++){r.scope[r.id]={value:n.get(o)};const i=fe(e,t.body);if(i===x)break;if(i instanceof g)return i}return F}if(n instanceof c||O(n)){for(const o of n.keys()){const i=n.field(o);r.scope[r.id]={value:c.containerEntry(o,i)};const s=fe(e,t.body);if(s===x)break;if(s instanceof g)return s}return F}if(A(n)){for(const o of l(n)){const i=a(n,o,e,t,1);r.scope[r.id]={value:c.containerEntry(o,i)};const s=fe(e,t.body);if(s===x)break;if(s instanceof g)return s}return F}return F}function we(e,t){null!==t.init&&("VariableDeclaration"===t.init.type?fe(e,t.init):ue(e,t.init));const n={testResult:!0,lastAction:F};do{ge(e,t,n)}while(!0===n.testResult);return n.lastAction instanceof g?n.lastAction:F}function me(e,t){const n={testResult:!0,lastAction:F};if(n.testResult=ue(e,t.test),!1===n.testResult)return F;if(!0!==n.testResult)throw new u(e,"BooleanConditionRequired",t);for(;!0===n.testResult&&(n.lastAction=fe(e,t.body),n.lastAction!==x)&&!(n.lastAction instanceof g);)if(n.testResult=ue(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new u(e,"BooleanConditionRequired",t);return n.lastAction instanceof g?n.lastAction:F}function ge(e,t,n){if(null!==t.test){if(n.testResult=ue(e,t.test),!1===n.testResult)return;if(!0!==n.testResult)throw new u(e,"BooleanConditionRequired",t)}n.lastAction=fe(e,t.body),n.lastAction!==x?n.lastAction instanceof g?n.testResult=!1:null!==t.update&&ue(e,t.update):n.testResult=!1}function be(e,t){if("CallExpression"===t.argument.type)throw new u(e,"NeverReach",t);let n;if("MemberExpression"===t.argument.type){const r=ue(e,t.argument.object);let o;if(!0===t.argument.computed)o=ue(e,t.argument.property);else{if("Identifier"!==t.argument.property.type)throw new u(e,"Unrecognized",t);o=t.argument.property.name}if($(r)){if(!J(o))throw new u(e,"ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new u(e,"OutOfBounds",t);n=M(r[o]),r[o]="++"===t.operator?n+1:n-1}else if(r instanceof c){if(!1===H(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t);n=M(r.field(o)),r.setField(o,"++"===t.operator?n+1:n-1)}else if(E(r)){if(!1===H(o))throw new u(e,"KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new u(e,"FieldNotFound",t);n=M(r.field(o)),r.setField(o,"++"===t.operator?n+1:n-1)}else{if(j(r))throw new u(e,"Immutable",t);if(!(r instanceof le))throw new u(e,"InvalidParameter",t);if(!1===H(o))throw new u(e,"ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new u(e,"ModuleExportNotFound",t);n=M(r.global(o)),r.setGlobal(o,"++"===t.operator?n+1:n-1)}return!1===t.prefix?n:"++"===t.operator?n+1:n-1}const r=ne(e,t.argument);n=M(te(r.var).value);const o="++"===t.operator?n+1:n-1;return r.scope[r.id]={value:o},!1===t.prefix?n:"++"===t.operator?n+1:n-1}function ye(e,t,n,r,o){switch(t){case"=":return e===F?null:e;case"/=":return M(n)/M(e);case"*=":return M(n)*M(e);case"-=":return M(n)-M(e);case"+=":return H(n)||H(e)?N(n)+N(e):M(n)+M(e);case"%=":return M(n)%M(e);default:throw new u(o,"UnsupportedOperator",r)}}function ve(e,t){if("MemberExpression"===t.left.type){const n=ue(e,t.left.object);let r;if(!0===t.left.computed)r=ue(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new u(e,"InvalidIdentifier",t);r=t.left.property.name}const o=ue(e,t.right);if($(n)){if(!J(r))throw new u(e,"ArrayAccessMustBeNumber",t);if(r<0&&(r=n.length+r),r<0||r>n.length)throw new u(e,"OutOfBounds",t);if(r===n.length){if("="!==t.operator)throw new u(e,"OutOfBounds",t);n[r]=ye(o,t.operator,n[r],t,e)}else n[r]=ye(o,t.operator,n[r],t,e)}else if(n instanceof c){if(!1===H(r))throw new u(e,"KeyAccessorMustBeString",t);if(!0===n.hasField(r))n.setField(r,ye(o,t.operator,n.field(r),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:r});n.setField(r,ye(o,t.operator,null,t,e))}}else if(E(n)){if(!1===H(r))throw new u(e,"KeyAccessorMustBeString",t);if(!0===n.hasField(r))n.setField(r,ye(o,t.operator,n.field(r),t,e));else{if("="!==t.operator)throw new u(e,"FieldNotFound",t,{key:r});n.setField(r,ye(o,t.operator,null,t,e))}}else{if(j(n))throw new u(e,"Immutable",t);if(!(n instanceof le))throw new u(e,"InvalidIdentifier",t);if(!1===H(r))throw new u(e,"ModuleAccessorMustBeString",t);if(!0!==n.hasGlobal(r))throw new u(e,"ModuleExportNotFound",t);n.setGlobal(r,ye(o,t.operator,n.global(r),t,e))}return F}const n=ne(e,t.left),r=ue(e,t.right);return n.scope[n.id]={value:ye(r,t.operator,"="!==t.operator?te(n.var).value:null,t,e)},F}function xe(e,t){const n=ue(e,t.expression);return n===F?F:new b(n)}function Se(e,t){const n=ue(e,t.test);if(!0===n)return fe(e,t.consequent);if(!1===n)return null!==t.alternate?fe(e,t.alternate):F;throw new u(e,"BooleanConditionRequired",t)}function Fe(e,t){let n=F;for(let r=0;r<t.body.length;r++)if(n=fe(e,t.body[r]),n instanceof g||n===x||n===S)return n;return n}function Re(e,t){if(null===t.argument)return new g(F);const n=ue(e,t.argument);return new g(n)}function Ie(t,n){if(null!=t.localScope)throw Q().error("Function declarations are only valid in global scope."),new u(t,"NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw Q().error(`Function "${r}" not declared.`),new u(t,"NeverReach",n);const o=i(n),s=n.params.map(t=>e(t)),l=Array.from(o).filter(e=>!s.includes(e));return t.globalScope[r]={value:new ie(n,t,s,l)},F}function je(e,t){const n=ne(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw Q().error("Internal error: module loader not initialized"),new u(e,"NeverReach",t);const o=r.loadLibrary(n.id);let i;return r._moduleSingletons?.has(o.uri)?i=r._moduleSingletons.get(o.uri):(i=le.load(e,o.syntax),r._moduleSingletons?.set(o.uri,i)),n.scope[n.id]={value:i},F}function Oe(e,t){return fe(e,t.declaration),F}function Ae(e,t){for(let n=0;n<t.declarations.length;n++)Me(e,t.declarations[n]);return F}function Me(e,t){let n=null===t.init?null:ue(e,t.init);if(n===F&&(n=null),"Identifier"!==t.id.type)throw new u(e,"InvalidIdentifier",t);const r=ne(e,t.id);r.scope[r.id]={value:n}}function Ne(e,t){try{const n=ue(e,t.object);if(null===n)throw new u(e,"MemberOfNull",t);if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof c||O(n))return n.field(t.property.name);if(n instanceof P)return a(n,t.property.name,e,t);if(n instanceof le){if(!n.hasGlobal(t.property.name))throw new u(e,"InvalidIdentifier",t);return n.global(t.property.name)}}throw new u(e,"InvalidMemberAccessKey",t)}let r=ue(e,t.property);if(n instanceof c||O(n)){if(H(r))return n.field(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof le){if(H(r))return n.global(r);throw new u(e,"InvalidMemberAccessKey",t)}if(n instanceof P){if(H(r))return a(n,r,e,t);throw new u(e,"InvalidMemberAccessKey",t)}if($(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}if(H(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length+r),r>=n.length||r<0)throw new u(e,"OutOfBounds",t);return n[r]}throw new u(e,"InvalidMemberAccessKey",t)}if(j(n)){if(J(r)&&isFinite(r)&&Math.floor(r)===r){if(r<0&&(r=n.length()+r),r>=n.length()||r<0)throw new u(e,"OutOfBounds",t);return n.get(r)}throw new u(e,"InvalidMemberAccessKey",t)}throw new u(e,"InvalidMemberAccessKey",t)}catch(n){throw n}}function ke(e,t){try{const n=ue(e,t.argument);if(Y(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*M(n);if("+"===t.operator)return 1*M(n);if("~"===t.operator)return~M(n);throw new u(e,"UnsupportUnaryOperator",t)}if("~"===t.operator)return~M(n);if("-"===t.operator)return-1*M(n);if("+"===t.operator)return 1*M(n);throw new u(e,"UnsupportUnaryOperator",t)}catch(n){throw n}}function Ce(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++){const o=ue(e,t.elements[r]);if(v(o))throw new u(e,"NoFunctionInArray",t);o===F?n.push(null):n.push(o)}return n}catch(n){throw n}}function Ee(e,t){try{const n=ue(e,t.left),r=ue(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return C(M(n),M(r),t.operator);case"==":return I(n,r);case"!=":return!I(n,r);case"<":case">":case"<=":case">=":return k(n,r,t.operator);case"+":return H(n)||H(r)?N(n)+N(r):M(n)+M(r);case"-":return M(n)-M(r);case"*":return M(n)*M(r);case"/":return M(n)/M(r);case"%":return M(n)%M(r);default:throw new u(e,"UnsupportedOperator",t)}}catch(n){throw n}}function Be(e,t){try{const n=ue(e,t.left);if(Y(n))switch(t.operator){case"||":{if(!0===n)return n;const r=ue(e,t.right);if(Y(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=ue(e,t.right);if(Y(r))return r;throw new u(e,"LogicExpressionOrAnd",t)}default:throw new u(e,"LogicExpressionOrAnd",t)}throw new u(e,"LogicalExpressionOnlyBoolean",t)}catch(n){throw n}}function Ge(e,t,n){if(v(e))throw new u(t,"NoFunctionInTemplateLiteral",n);return e}function Ue(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){n+=t.expressions[r]?N(Ge(ue(e,t.expressions[r]),e,t)):"",r++}return n}function De(e,t){return re(e,t)}function Ke(e,t){try{if("MemberExpression"===t.callee.type){const n=ue(e,t.callee.object);if(!(n instanceof le))throw new u(e,"FunctionNotFound",t);const r=!1===t.callee.computed?t.callee.property.name:ue(e,t.callee.property);if(!n.hasGlobal(r))throw new u(e,"FunctionNotFound",t);const o=n.global(r);if(!v(o))throw new u(e,"CallNonFunction",t);return o.call(e,t)}if("Identifier"!==t.callee.type)throw new u(e,"FunctionNotFound",t);const n=re(e,t.callee,"FunctionNotFound");if(v(n))return n.call(e,t);throw new u(e,"CallNonFunction",t)}catch(n){throw n}}function Le(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;R(null===n?[]:n,3,3,e,t);const r=ue(e,n[0]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",t);return ue(e,!0===r?n[1]:n[2])}catch(n){throw n}}function _e(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;R(null===n?[]:n,2,3,e,t);const r=ue(e,n[0]);if(3===n.length){const t=ue(e,n[1]),o=s(r,t);return null!=o&&""!==o?o:ue(e,n[2])}return null===r||""===r||void 0===r?ue(e,n[1]):r}catch(n){throw n}}function ze(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;if(n.length<2)throw new u(e,"WrongNumberOfParameters",t);if(2===n.length)return ue(e,n[1]);{if((n.length-1)%2==0)throw new u(e,"WrongNumberOfParameters",t);const r=ue(e,n[0]);return Ze(e,t,1,r)}}catch(n){throw n}}function Ze(e,t,n,r){try{const o=t.arguments,i=ue(e,o[n]);if(I(i,r))return ue(e,o[n+1]);{const i=o.length-n;return 1===i?ue(e,o[n]):2===i?null:3===i?ue(e,o[n+2]):Ze(e,t,n+2,r)}}catch(o){throw o}}function qe(e,t){try{if(!0===t.preparsed)throw new u(e,"NeverReach",t);const n=t.arguments;if(n.length<3)throw new u(e,"WrongNumberOfParameters",t);if(n.length%2==0)throw new u(e,"WrongNumberOfParameters",t);const r=ue(e,n[0]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",n[0]);return We(e,t,0,r)}catch(n){throw n}}function We(e,t,n,r){try{const o=t.arguments;if(!0===r)return ue(e,o[n+1]);if(3===o.length-n)return ue(e,o[n+2]);{const r=ue(e,o[n+2]);if(!1===Y(r))throw new u(e,"BooleanConditionRequired",o[n+2]);return We(e,t,n+2,r)}}catch(o){throw o}}function Pe(){const e=Object.create(null);U(e,ce),Z(e,ce),D(e,ce,De),_(e,ce),K(e,ce),z(e,ce),L(e,ce),q(e,ce),e.iif=Le,e.defaultvalue=_e,e.decode=ze,e.when=qe;const t=function(){this.textformatting={value:c.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new h(r)});return t}const Ve=Pe();function Te(e){const t={mode:"sync",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:ce,evaluateIdentifier:De};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))Ve.prototype[n]=Object.freeze({value:new h(r)});for(let n=0;n<t.signatures.length;n++)B(t.signatures[n],"sync")}function Ye(e){console.log(e)}function $e(n,i){const s=new Set(Object.keys(i?.vars||{}).map(t=>e(t))),l=new Set(Object.keys(i?.customfunctions||{}).map(t=>e(t))),{globals:a,exports:c}=o(n);return e=>{const o=e.spatialReference??V.WebMercator;let i=null;n.usesModules&&(i=new r(new Map,n.loadedModules));const f=new Ve;for(const t of l)null!=e.customfunctions&&t in e.customfunctions?f[t]={value:new h(e.customfunctions[t])}:f[t]=X;for(const t of s){if(null==e.vars||!(t in e.vars)){t in f||(f[t]=X);continue}const n=e.vars[t]??null;T(n)?f[t]={value:p.createFromGraphic(n,e.timeZone??null)}:f[t]={value:n}}for(const t of a)t in f||(f[t]=X);const d={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??Ye,abortSignal:t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:i,exports:c,localScope:null,globalScope:f},w=Fe(d,n);if(w instanceof g||w instanceof b){const e=w.value;if(y(e))return null;if(v(e))throw new u(d,"IllegalResult",null);return e}if(y(w))return null;if(w===x)throw new u(d,"IllegalResult",null);if(w===S)throw new u(d,"IllegalResult",null);throw new u(d,"NeverReach",null)}}function He(e,t){return $e(e,t)(t)}Te([G]);export{He as executeScript,Te as extend,$e as prepareScript};
|
|
@@ -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 t
|
|
5
|
+
import{Feature as t}from"../../Feature.js";class e{constructor(t,e){this._lastId=-1,this._progress=e,this._parent=t}reset(){this._lastId=-1}async nextBatchAsArcadeFeatures(e,s){const n=await this.nextBatch(e);return null===n?n:n.map(e=>t.createFromGraphicLikeObject(e.geometry,e.attributes,this._parent,s))}nextBatch(t){if(null!==this._parent._mainSetInUse)return this._parent._mainSetInUse.then(e=>this.nextBatch(t),e=>this.nextBatch(t));const e={returnpromise:null,hasset:!1},s=[];return e.returnpromise=new Promise((n,a)=>{this._parent._getSet(this._progress).then(r=>{const i=r._known;let h=i.length-1;if("GETPAGES"===i[i.length-1]&&(h-=1),this._lastId+t>h&&i.length>0&&"GETPAGES"===i[i.length-1])return void this._parent._expandPagedSet(r,this._parent._maxQueryRate(),0,0,this._progress).then(s=>{e.hasset=!0,this._parent._mainSetInUse=null,this.nextBatch(t).then(n,a)},t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)});const _=r._candidates;if(h>=this._lastId+t||0===_.length){for(let e=0;e<t;e++){const t=e+this._lastId+1;if(t>=i.length)break;s[e]=i[t]}return this._lastId+=s.length,0===s.length&&(e.hasset=!0,this._parent._mainSetInUse=null,n([])),void this._parent._getFeatureBatch(s,this._progress).then(t=>{e.hasset=!0,this._parent._mainSetInUse=null,n(t)},t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)})}this._parent._refineSetBlock(r,this._parent._maxProcessingRate(),this._progress).then(()=>{e.hasset=!0,this._parent._mainSetInUse=null,this.nextBatch(t).then(n,a)},t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)})},t=>{e.hasset=!0,this._parent._mainSetInUse=null,a(t)})}),!1===e.hasset&&(this._parent._mainSetInUse=e.returnpromise,e.hasset=!0),e.returnpromise}next(){if(null!==this._parent._mainSetInUse)return this._parent._mainSetInUse.then(t=>this.next(),t=>this.next());const t={returnpromise:null,hasset:!1};return t.returnpromise=new Promise((e,s)=>{this._parent._getSet(this._progress).then(n=>{const a=n._known;if(this._lastId<a.length-1)"GETPAGES"===a[this._lastId+1]?this._parent._expandPagedSet(n,this._parent._maxQueryRate(),0,0,this._progress).then(e=>(t.hasset=!0,this._parent._mainSetInUse=null,this.next())).then(e,s):(this._lastId+=1,this._parent._getFeature(n,a[this._lastId],this._progress).then(s=>{t.hasset=!0,this._parent._mainSetInUse=null,e(s)},e=>{t.hasset=!0,this._parent._mainSetInUse=null,s(e)}));else{n._candidates.length>0?this._parent._refineSetBlock(n,this._parent._maxProcessingRate(),this._progress).then(()=>{t.hasset=!0,this._parent._mainSetInUse=null,this.next().then(e,s)},e=>{t.hasset=!0,this._parent._mainSetInUse=null,s(e)}):(t.hasset=!0,this._parent._mainSetInUse=null,e(null))}},e=>{t.hasset=!0,this._parent._mainSetInUse=null,s(e)})}),!1===t.hasset&&(this._parent._mainSetInUse=t.returnpromise,t.hasset=!0),t.returnpromise}async count(){if(-1!==this._parent._totalCount)return this._parent._totalCount;const t=await this._parent._getSet(this._progress),e=await this._refineAllSets(t);return this._parent._totalCount=e._known.length,this._parent._totalCount}async _refineAllSets(t){if(t._known.length>0&&"GETPAGES"===t._known[t._known.length-1])return await this._parent._expandPagedSet(t,this._parent._maxQueryRate(),0,1,this._progress),this._refineAllSets(t);if(t._candidates.length>0){if("GETPAGES"===t._known[t._candidates.length-1])return await this._parent._expandPagedSet(t,this._parent._maxQueryRate(),0,2,this._progress),this._refineAllSets(t);const e=await this._parent._refineSetBlock(t,this._parent._maxProcessingRate(),this._progress);return e._candidates.length>0?this._refineAllSets(e):e}return t}}export{e 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{ArcadeDate as e}from"../ArcadeDate.js";import{toSymbolId as r}from"../arcadeEnvironment.js";import t from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import o
|
|
5
|
+
import{ArcadeDate as e}from"../ArcadeDate.js";import{toSymbolId as r}from"../arcadeEnvironment.js";import t from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import{Feature as o}from"../Feature.js";import{B as i,k as a,Q as u,u as s,K as d,S as m,T as c,v as f,U as l,V as p,e as y}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as v}from"../featureset/support/shared.js";import{SqlTimeStampOffset as w}from"../../core/sql/SqlTimestampOffset.js";import h from"../../core/sql/WhereClause.js";import{internalTimeReceivedField as b}from"../../layers/support/streamLayerUtils.js";import{isString as T,isNumber as j}from"../../support/guards.js";function I(e){const r=e?.fullSchema();return r?.datesInUnknownTimezone?"unknown":r?.dateFieldsTimeZone||"UTC"}function F(e){const r=e.fullSchema()?.fieldsIndex;return null==r&&e instanceof o?e.fieldsIndex:r}const g={getAttributeSQL(e,r){const t=e.field(r);if(null==t)return t;if(y(t)){const n=t.toDateTime(),o=F(e)?.get(r)?.type;return"esriFieldTypeTimestampOffset"===o||"timestamp-offset"===o?w.fromDateTime(n):n}return t}};function P(o,w,P){o.domain=function(e,r){return w(e,r,(o,m,c)=>{if(i(c,2,3,e,r),a(c[0])){const r=u(c[0],s(c[1]),void 0===c[2]?void 0:c[2]);return r&&r.domain?"coded-value"===r.domain.type||"codedValue"===r.domain.type?t.convertObjectToArcadeDictionary({type:"codedValue",name:r.domain.name,dataType:v[r.field.type],codedValues:r.domain.codedValues.map(e=>({name:e.name,code:e.code}))},d(e)):t.convertObjectToArcadeDictionary({type:"range",name:r.domain.name,dataType:v[r.field.type],min:r.domain.minValue,max:r.domain.maxValue},d(e)):null}throw new n(e,"InvalidParameter",r)})},o.domaincode=function(e,r){return w(e,r,(t,o,u)=>{if(i(u,2,4,e,r),a(u[0]))return m(u[0],s(u[1]),u[2],void 0===u[3]?void 0:u[3]);throw new n(e,"InvalidParameter",r)})},o.domainname=function(e,r){return w(e,r,(t,o,u)=>{if(i(u,2,4,e,r),a(u[0]))return c(u[0],s(u[1]),u[2],void 0===u[3]?void 0:u[3]);throw new n(e,"InvalidParameter",r)})},o.expects=function(e,r){return w(e,r,(t,o,i)=>{if(i.length<1)throw new n(e,"WrongNumberOfParameters",r);return f})},o.featureinfilter=function(e,r){return w(e,r,(e,r,t)=>{i(t,2,2,e,r);const[o,u]=t;if(null==o)return!1;if(""===u||null==u)return!0;if(!a(o)||!T(u))throw new n(e,"InvalidParameter",r);const s=h.create(u,{fieldsIndex:F(o),timeZone:I(o)}),d=s.getVariables();for(const n of d)s.parameters[n]=P(e,{name:n});return s.testFeature(o,g)})},o.gdbversion=function(e,r){return w(e,r,(t,o,u)=>{if(i(u,1,1,e,r),a(u[0]))return u[0].gdbVersion();throw new n(e,"InvalidParameter",r)})},o.schema=function(e,r){return w(e,r,(o,i,u)=>{if(a(u[0])){const r=l(u[0]);return r?t.convertObjectToArcadeDictionary(r,d(e)):null}throw new n(e,"InvalidParameter",r)})},o.subtypecode=function(e,r){return w(e,r,(t,o,u)=>{if(i(u,1,1,e,r),a(u[0])){const e=p(u[0]);if(!e)return null;if(e.subtypeField&&u[0].hasField(e.subtypeField)){const r=u[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===r)return t.code;return null}return null}throw new n(e,"InvalidParameter",r)})},o.subtypename=function(e,r){return w(e,r,(t,o,u)=>{if(i(u,1,1,e,r),a(u[0])){const e=p(u[0]);if(!e)return"";if(e.subtypeField&&u[0].hasField(e.subtypeField)){const r=u[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===r)return t.name;return""}return""}throw new n(e,"InvalidParameter",r)})},o.subtypes=function(e,r){return w(e,r,(o,u,s)=>{if(i(s,1,1,e,r),a(s[0])){const r=p(s[0]);return r?t.convertObjectToArcadeDictionary(r,d(e)):null}throw new n(e,"InvalidParameter",r)})},o[r("TimeReceived")]=function(r,t){return w(r,t,(r,t,o)=>{if(i(o,1,1,r,t),a(o[0])){if(o[0].hasField(b)){const t=o[0].field(b);return j(t)?e.epochToArcadeDate(t,r.timeZone??"system"):y(t)?t:null}return null}throw new n(r,"InvalidParameter",t)})}}export{P as registerFunctions};
|
|
@@ -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,Z as j}from"../../chunks/languageUtils.js";import{getPortal as C}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as k,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 Z(new J({name:"percentalong",alias:"percentalong",type:"double"}),q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new Z(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 k(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 Z(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 Z(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 Z(e,q.create(`CASE WHEN (${E}='${I}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new Z(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 Z(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};
|
|
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{Feature as s}from"../Feature.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as f,constructFeatureSet as d,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as m}from"../featureSetUtils.js";import p from"../ImmutableArray.js";import{B as y,g as w,f as 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,Z as j}from"../../chunks/languageUtils.js";import{getPortal as C}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as k,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 Z(new J({name:"percentalong",alias:"percentalong",type:"double"}),q.create("0",{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new Z(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 k(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 Z(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 Z(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 Z(e,q.create(`CASE WHEN (${E}='${I}') THEN ${D} ELSE ${E} END`,{fieldsIndex:w.getFieldsIndex(),timeZone:w.dateFieldsTimeZoneDefaultUTC})),W=new Z(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 Z(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};
|
|
@@ -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{geometryMember as e,getNestedOptionalValue as t}from"../containerUtils.js";import n from"../Dictionary.js";import{ArcadeExecutionError as r}from"../executionError.js";import a
|
|
5
|
+
import{geometryMember as e,getNestedOptionalValue as t}from"../containerUtils.js";import n from"../Dictionary.js";import{ArcadeExecutionError as r}from"../executionError.js";import{Feature as a}from"../Feature.js";import i from"../ImmutablePointArray.js";import{B as l,j as o,D as s,W as f,C as c,k as u,v as m,n as p,h as w,u as h,e as R,g,f as y,i as d,d as P,K as v,X as I,Y as b,r as O,x as j}from"../../chunks/languageUtils.js";import{angle2D as N,angleBetween2D as S,bearing2D as x,bearingBetween2D as J}from"./centroid.js";import{constructGeometryFromDictionary as F}from"../geometry/constructors.js";import k from"../../geometry/Extent.js";import Z from"../../geometry/Geometry.js";import W from"../../geometry/Multipoint.js";import z from"../../geometry/Point.js";import A from"../../geometry/Polygon.js";import q from"../../geometry/Polyline.js";import{isClockwise as D}from"../../geometry/support/coordsUtils.js";import{fromJSON as M}from"../../geometry/support/jsonUtils.js";import{isArray as G,isString as L,isNumber as U,isBoolean as _}from"../../support/guards.js";function C(C,E){C.ringisclockwise=function(e,t){return E(e,t,(n,a,s)=>{l(s,1,1,e,t);let f=[];if(null===s[0])return!1;if(G(s[0]))for(const i of s[0]){if(!(i instanceof z))throw new r(e,"InvalidParameter",t);f.push(i.hasZ?i.hasM?[i.x,i.y,i.z,i.m]:[i.x,i.y,i.z]:[i.x,i.y])}else if(s[0]instanceof i)f=s[0]._elements;else{if(!o(s[0]))throw new r(e,"InvalidParameter",t);for(const n of s[0].toArray()){if(!(n instanceof z))throw new r(e,"InvalidParameter",t);f.push(n.hasZ?n.hasM?[n.x,n.y,n.z,n.m]:[n.x,n.y,n.z]:[n.x,n.y])}}return!(f.length<3)&&D(f)})},C.polygon=function(e,t){return E(e,t,(a,i,o)=>{let c;if(l(o,1,1,e,t),o[0]instanceof n){const t=s(F(o[0],e.spatialReference,"polygon"),e.spatialReference);if(null==t)return null;c=t}else if(o[0]instanceof A)c=M(o[0].toJSON());else{const t=JSON.parse(o[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),c=s(new A(t),e.spatialReference)}if(null!==c&&!1===c.spatialReference.equals(e.spatialReference))throw new r(e,"WrongSpatialReference",t);return f(c)})},C.polyline=function(e,t){return E(e,t,(a,i,o)=>{let c;if(l(o,1,1,e,t),o[0]instanceof n){const t=s(F(o[0],e.spatialReference,"polyline"),e.spatialReference);if(null==t)return null;c=t}else if(o[0]instanceof q)c=M(o[0].toJSON());else{const t=JSON.parse(o[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),c=s(new q(t),e.spatialReference)}if(null!==c&&!1===c.spatialReference.equals(e.spatialReference))throw new r(e,"WrongSpatialReference",t);return f(c)})},C.point=function(e,t){return E(e,t,(a,i,o)=>{let c;if(l(o,1,1,e,t),o[0]instanceof n){const t=s(F(o[0],e.spatialReference,"point"),e.spatialReference);if(null==t)return null;c=t}else if(o[0]instanceof z)c=M(o[0].toJSON());else{const t=JSON.parse(o[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),c=s(new z(t),e.spatialReference)}if(null!==c&&!1===c.spatialReference.equals(e.spatialReference))throw new r(e,"WrongSpatialReference",t);return f(c)})},C.multipoint=function(e,t){return E(e,t,(a,i,o)=>{let c;if(l(o,1,1,e,t),o[0]instanceof n){const t=s(F(o[0],e.spatialReference,"multipoint"),e.spatialReference);if(null==t)return null;c=t}else if(o[0]instanceof W)c=M(o[0].toJSON());else{const t=JSON.parse(o[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),c=s(new W(t),e.spatialReference)}if(null!==c&&!1===c.spatialReference.equals(e.spatialReference))throw new r(e,"WrongSpatialReference",t);return f(c)})},C.extent=function(e,t){return E(e,t,(a,i,o)=>{o=c(o),l(o,1,1,e,t);let u=null;if(o[0]instanceof n)u=s(F(o[0],e.spatialReference),e.spatialReference);else if(o[0]instanceof z){const e={xmin:o[0].x,ymin:o[0].y,xmax:o[0].x,ymax:o[0].y,spatialReference:o[0].spatialReference.toJSON()},t=o[0];t.hasZ&&(e.zmin=t.z,e.zmax=t.z),t.hasM&&(e.mmin=t.m,e.mmax=t.m),u=M(e)}else if(o[0]instanceof A)u=M(o[0].extent?.toJSON());else if(o[0]instanceof q)u=M(o[0].extent?.toJSON());else if(o[0]instanceof W)u=M(o[0].extent?.toJSON());else if(o[0]instanceof k)u=M(o[0].toJSON());else{const t=JSON.parse(o[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),u=s(new k(t),e.spatialReference)}if(null!==u&&!1===u.spatialReference.equals(e.spatialReference))throw new r(e,"WrongSpatialReference",t);return f(u)})},C.geometry=function(e,t){return E(e,t,(a,i,o)=>{l(o,1,1,e,t);let c=null;if(null===o[0])return null;if(u(o[0]))c=s(o[0].geometry(),e.spatialReference);else if(o[0]instanceof n)c=s(F(o[0],e.spatialReference),e.spatialReference);else{const t=JSON.parse(o[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),c=s(M(t),e.spatialReference)}if(null!==c&&!1===c.spatialReference.equals(e.spatialReference))throw new r(e,"WrongSpatialReference",t);return f(c)})},C.setgeometry=function(e,t){return E(e,t,(n,a,i)=>{if(l(i,2,2,e,t),!u(i[0]))throw new r(e,"InvalidParameter",t);if(!0===i[0].immutable)throw new r(e,"Immutable",t);if(!(i[1]instanceof Z||null===i[1]))throw new r(e,"InvalidParameter",t);return i[0]._geometry=i[1],m})},C.feature=function(e,t){return E(e,t,(i,l,o)=>{if(0===o.length)throw new r(e,"WrongNumberOfParameters",t);let f;if(1===o.length)if(L(o[0]))f=a.fromJson(JSON.parse(o[0]),e.timeZone);else if(u(o[0]))f=a.createFromArcadeFeature(o[0]);else if(o[0]instanceof Z)f=a.createFromGraphicLikeObject(o[0],null,null,e.timeZone);else{if(!(o[0]instanceof n))throw new r(e,"InvalidParameter",t);{const n=o[0].hasField("geometry")?o[0].field("geometry"):null,i=o[0].hasField("attributes")?o[0].field("attributes"):null;let l,s;if(p(n))l=F(n,e.spatialReference);else{if(null!=n&&!w(n))throw new r(e,"InvalidParameter",t);l=n}if(p(i))s=a.parseAttributesFromDictionary(i);else{if(null!=i)throw new r(e,"InvalidParameter",t);s=null}f=a.createFromGraphicLikeObject(l,s,null,e.timeZone)}}else if(2===o.length){let i=null,l=null;if(null!==o[0])if(o[0]instanceof Z)i=o[0];else{if(!(o[0]instanceof n))throw new r(e,"InvalidParameter",t);i=F(o[0],e.spatialReference)}if(null!==o[1]){if(!(o[1]instanceof n))throw new r(e,"InvalidParameter",t);l=a.parseAttributesFromDictionary(o[1])}f=a.createFromGraphicLikeObject(i,l,null,e.timeZone)}else{let i=null;const l={};if(null!==o[0])if(o[0]instanceof Z)i=o[0];else{if(!(o[0]instanceof n))throw new r(e,"InvalidParameter",t);i=F(o[0],e.spatialReference)}for(let n=1;n<o.length;n+=2){const a=h(o[n]),i=o[n+1];if(!(null==i||L(i)||isNaN(i)||R(i)||U(i)||g(i)||y(i)||_(i)))throw new r(e,"InvalidParameter",t);if(d(i)||!1===P(i))throw new r(e,"InvalidParameter",t);l[a]=i===m?null:i}f=a.createFromGraphicLikeObject(i,l,null,e.timeZone)}return f._geometry=s(f.geometry(),e.spatialReference),f.immutable=!1,f})},C.dictionary=function(e,t){return E(e,t,(a,i,l)=>{if(0===l.length||1===l.length&&null===l[0]){const e=new n;return e.immutable=!1,e}if(1===l.length&&L(l[0]))try{const t=JSON.parse(l[0]),r=n.convertObjectToArcadeDictionary(t,v(e),!1);return r.immutable=!1,r}catch(c){throw new r(e,"InvalidParameter",t)}if(1===l.length&&l[0]instanceof Z)try{const t=l[0].toJSON();t.hasZ=!0===l[0].hasZ,t.hasM=!0===l[0].hasM;const r=n.convertObjectToArcadeDictionary(t,v(e),!1);return r.immutable=!1,r}catch(c){throw new r(e,"InvalidParameter",t)}if(1===l.length&&u(l[0]))try{const e=new n;e.immutable=!1,e.setField("geometry",l[0].geometry());const t=new n;t.immutable=!1,e.setField("attributes",t);for(const n of l[0].keys())t.setField(n,l[0].field(n));return e}catch(c){throw new r(e,"InvalidParameter",t)}if(1===l.length&&(p(l[0])||I(l[0])||b(l[0])))try{const e=new n;e.immutable=!1;for(const t of l[0].keys())e.setField(t,l[0].field(t));return e}catch(c){throw new r(e,"InvalidParameter",t)}if(2===l.length&&l[0]instanceof n&&_(l[1]))try{if(!(!0===l[1])){const e=new n;e.immutable=!1;for(const t of l[0].keys())e.setField(t,l[0].field(t));return e}return l[0].deepClone()}catch(c){throw new r(e,"InvalidParameter",t)}if(l.length%2!=0)throw new r(e,"WrongNumberOfParameters",t);const s=Object.create(null);for(let n=0;n<l.length;n+=2){const a=h(l[n]),i=l[n+1];if(!(null==i||L(i)||isNaN(i)||R(i)||U(i)||_(i)||y(i)||g(i)||G(i)||o(i)))throw new r(e,"InvalidParameter",t);if(d(i))throw new r(e,"InvalidParameter",t);s[a]=i===m?null:i}const f=new n(s);return f.immutable=!1,f})},C.haskey=function(t,a){return E(t,a,(i,o,s)=>{l(s,2,2,t,a);const f=h(s[1]);if(O(s[0])||s[0]instanceof n)return s[0].hasField(f);if(s[0]instanceof Z){const t=e(s[0],f,null,null,2);return!t||"notfound"!==t.keystate}throw new r(t,"InvalidParameter",a)})},C.hasvalue=function(e,n){return E(e,n,(r,a,i)=>(l(i,2,2,e,n),null!=t(i[0],i[1])))},C.indexof=function(e,t){return E(e,t,(n,a,i)=>{l(i,2,2,e,t);const s=i[1];if(G(i[0])){for(let e=0;e<i[0].length;e++)if(j(s,i[0][e]))return e;return-1}if(o(i[0])){const e=i[0].length();for(let t=0;t<e;t++)if(j(s,i[0].get(t)))return t;return-1}throw new r(e,"InvalidParameter",t)})},C.angle=function(e,t){return E(e,t,(n,a,i)=>{if(i=c(i),l(i,2,3,e,t),!(i[0]instanceof z))throw new r(e,"InvalidParameter",t);if(!(i[1]instanceof z))throw new r(e,"InvalidParameter",t);if(i.length>2&&!(i[2]instanceof z))throw new r(e,"InvalidParameter",t);return 2===i.length?N(i[0],i[1]):S(i[0],i[1],i[2])})},C.bearing=function(e,t){return E(e,t,(n,a,i)=>{if(i=c(i),l(i,2,3,e,t),!(i[0]instanceof z))throw new r(e,"InvalidParameter",t);if(!(i[1]instanceof z))throw new r(e,"InvalidParameter",t);if(i.length>2&&!(i[2]instanceof z))throw new r(e,"InvalidParameter",t);return 2===i.length?x(i[0],i[1]):J(i[0],i[1],i[2])})}}export{C as registerFunctions};
|