@arcgis/core 4.28.0-next.20230715 → 4.28.0-next.20230718
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/arcade/arcade.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02ab4779c6c8f1950c7d.js +1 -0
- package/assets/esri/core/workers/chunks/{f6e24113643784bc6731.js → 040b3fc9c9c0736dd893.js} +1 -1
- package/assets/esri/core/workers/chunks/{ee21b5ac2afa00d00e9d.js → 0914b513579eb5ca515b.js} +1 -1
- package/assets/esri/core/workers/chunks/0af18a96cbd4e2d35436.js +1 -0
- package/assets/esri/core/workers/chunks/{d5fd4780d57173f3e303.js → 0b5eeec0f66c87a46a0c.js} +1 -1
- package/assets/esri/core/workers/chunks/{23bb98aaa20b180ee680.js → 0cad2b991d0d0fd07846.js} +1 -1
- package/assets/esri/core/workers/chunks/111f3bfc6b3fb611bbc5.js +1 -0
- package/assets/esri/core/workers/chunks/11b58a70a0bce53455ab.js +1 -0
- package/assets/esri/core/workers/chunks/14a6067d462b75794d24.js +1 -0
- package/assets/esri/core/workers/chunks/182d6d264c27cba0679e.js +1 -0
- package/assets/esri/core/workers/chunks/190b199406878e9491e9.js +1 -0
- package/assets/esri/core/workers/chunks/{239d4176ff2d5142b7f1.js → 1ae96fc797d69e76af34.js} +1 -1
- package/assets/esri/core/workers/chunks/{dd7603c9e5fd178c88f7.js → 1bf00dd4b71c9ea16578.js} +1 -1
- package/assets/esri/core/workers/chunks/{bd9e6f38c9ec4195322a.js → 1e7c026ad549cb119e73.js} +1 -1
- package/assets/esri/core/workers/chunks/{4806116da11ef5192af3.js → 1edd2647343dcf611c30.js} +1 -1
- package/assets/esri/core/workers/chunks/212d98dbaf50df1cb087.js +1 -0
- package/assets/esri/core/workers/chunks/2158a6ec165503ec4711.js +1 -0
- package/assets/esri/core/workers/chunks/2216e299488d8a5a7cc8.js +1 -0
- package/assets/esri/core/workers/chunks/{c518410b1214ffc58017.js → 256a82f6f6e1405fbcc6.js} +1 -1
- package/assets/esri/core/workers/chunks/2c57c9bd71637c5bed8a.js +1 -0
- package/assets/esri/core/workers/chunks/2cdbabcbfe32286ec78d.js +1 -0
- package/assets/esri/core/workers/chunks/33f169fdf3c41d36e00a.js +1 -0
- package/assets/esri/core/workers/chunks/357e0381b6d767585576.js +1 -0
- package/assets/esri/core/workers/chunks/370a992bd308bd806f48.js +1 -0
- package/assets/esri/core/workers/chunks/3892650ecc61322f6f7f.js +1 -0
- package/assets/esri/core/workers/chunks/38d168e9a29c40de179d.js +1 -0
- package/assets/esri/core/workers/chunks/3b0e6836df29ba54bebd.js +1 -0
- package/assets/esri/core/workers/chunks/3c6ae021d30427db7ce8.js +1 -0
- package/assets/esri/core/workers/chunks/3cf748c025f3936c1cb2.js +1 -0
- package/assets/esri/core/workers/chunks/3d6ff8497c0acda3cb00.js +1 -0
- package/assets/esri/core/workers/chunks/42173ec8bdbde9fb029e.js +1 -0
- package/assets/esri/core/workers/chunks/48a8d5e763ea9a30d399.js +1 -0
- package/assets/esri/core/workers/chunks/4baee613a82f44a3cd0f.js +1 -0
- package/assets/esri/core/workers/chunks/{ddcf58937924ab5a3d76.js → 4bf1c6c7e0a3051dc797.js} +1 -1
- package/assets/esri/core/workers/chunks/550a2e7fcb68146e3689.js +1 -0
- package/assets/esri/core/workers/chunks/55705b1bbac91d7db0e7.js +1 -0
- package/assets/esri/core/workers/chunks/{c3d773c93efb41088c54.js → 5ae325e6a795c72eac6c.js} +1 -1
- package/assets/esri/core/workers/chunks/{87bb6b8f464727d58a64.js → 5ae98195bdfd7dc0c44e.js} +1 -1
- package/assets/esri/core/workers/chunks/5d46fd68878c973bcfab.js +1 -0
- package/assets/esri/core/workers/chunks/{fa14238f1c308a74f843.js → 5f36b5fe1ee4194a4824.js} +1 -1
- package/assets/esri/core/workers/chunks/{77fcc4fc0fb3739365f6.js → 5f675c8eeb5b2fb0aa0b.js} +1 -1
- package/assets/esri/core/workers/chunks/61f7facac9a8da5ea462.js +1 -0
- package/assets/esri/core/workers/chunks/{a5348f117dacdcae99ee.js → 697d5e58feafe98cf3ed.js} +1 -1
- package/assets/esri/core/workers/chunks/72efc3074d9e6b7eb3ad.js +1 -0
- package/assets/esri/core/workers/chunks/73459ffe698d88d414d0.js +1 -0
- package/assets/esri/core/workers/chunks/73acf940695786cee53b.js +1 -0
- package/assets/esri/core/workers/chunks/7ec70a250a26bac2072d.js +1 -0
- package/assets/esri/core/workers/chunks/7f7437a987a4e71e770b.js +1 -0
- package/assets/esri/core/workers/chunks/823ee9a60a005b52316e.js +1 -0
- package/assets/esri/core/workers/chunks/870a05451e074b58f19a.js +1 -0
- package/assets/esri/core/workers/chunks/8935745c296670d84d6f.js +1 -0
- package/assets/esri/core/workers/chunks/8bd5f94f7398b3601ddf.js +1 -0
- package/assets/esri/core/workers/chunks/8be617f74c57a6dc29eb.js +1 -0
- package/assets/esri/core/workers/chunks/8c72fec5fdcbbc628b30.js +1 -0
- package/assets/esri/core/workers/chunks/{3164b862a6b3f654fade.js → 8d324c861a68d45f34f3.js} +1 -1
- package/assets/esri/core/workers/chunks/8ef26aac0fe7feb8c324.js +1 -0
- package/assets/esri/core/workers/chunks/8f9178c50c707746e859.js +1 -0
- package/assets/esri/core/workers/chunks/{4f1f4cc82fea0d1f79ec.js → 9008dde941cb3973de20.js} +1 -1
- package/assets/esri/core/workers/chunks/{432e3558db53574d21b4.js → 901d3f5f1a33c4855e32.js} +1 -1
- package/assets/esri/core/workers/chunks/{6e562fa57c0347091154.js → 9124f0d6c09a71aa8091.js} +1 -1
- package/assets/esri/core/workers/chunks/{08ea1b3090a393cfa162.js → 94d124453e90a5ab1706.js} +1 -1
- package/assets/esri/core/workers/chunks/9a5916c66dad91d01d5b.js +1 -0
- package/assets/esri/core/workers/chunks/{4f079d0e69189c1d8bd9.js → 9c133fd8c1fbd0295b86.js} +1 -1
- package/assets/esri/core/workers/chunks/{d55faafe2ac914a3ebd1.js → a4fa40dc77e116c954ac.js} +1 -1
- package/assets/esri/core/workers/chunks/a54ec9929a7db879d5db.js +1 -0
- package/assets/esri/core/workers/chunks/acb59ff3f59d8e6bf465.js +1 -0
- package/assets/esri/core/workers/chunks/{1b948f8429d8f9b1bbfb.js → afc5b84693757fda2bc8.js} +1 -1
- package/assets/esri/core/workers/chunks/b08f2a4aa94087c6c367.js +1 -0
- package/assets/esri/core/workers/chunks/b2d4a56197dcabdbae35.js +1 -0
- package/assets/esri/core/workers/chunks/{d4881b238c8a93390cde.js → b361d4575f8631a1a8ed.js} +1 -1
- package/assets/esri/core/workers/chunks/b5270e1b512bca7adde8.js +1 -0
- package/assets/esri/core/workers/chunks/b7770bb3ddbab2024027.js +1 -0
- package/assets/esri/core/workers/chunks/{fcab431f13b4a9f92dbf.js → c0112f2177455e76deb9.js} +8 -8
- package/assets/esri/core/workers/chunks/{929ddc4d9975ed893767.js → c0e12f6a7bb2360e4c21.js} +1 -1
- package/assets/esri/core/workers/chunks/{e03a0f52d438f53a3057.js → c65fa970eddd27b00106.js} +1 -1
- package/assets/esri/core/workers/chunks/c8d5c320072f09a40322.js +1 -0
- package/assets/esri/core/workers/chunks/{dcb004dfba27335c7c3c.js → c8e656cd470a17f538e9.js} +1 -1
- package/assets/esri/core/workers/chunks/c900e747e9488fdce7e1.js +1 -0
- package/assets/esri/core/workers/chunks/{51da3c5c50b153ce6bc7.js → c9dfe3fe8c17406a7223.js} +1 -1
- package/assets/esri/core/workers/chunks/d81bd0907650a0378b7a.js +1 -0
- package/assets/esri/core/workers/chunks/{e433440fecd0114cb23d.js → d8e58dc14d3495f0830c.js} +1 -1
- package/assets/esri/core/workers/chunks/d9e99c207f3768005594.js +1 -0
- package/assets/esri/core/workers/chunks/ddc393a012588f799f42.js +1 -0
- package/assets/esri/core/workers/chunks/{4767f69b81d36dde9550.js → e1daab40a08af51f7a43.js} +1 -1
- package/assets/esri/core/workers/chunks/e6785027a0f532f08ed3.js +1 -0
- package/assets/esri/core/workers/chunks/e988b4ef78c4987395a6.js +1 -0
- package/assets/esri/core/workers/chunks/{26212a08ea383547335b.js → eba197e45507f56f3ed0.js} +1 -1
- package/assets/esri/core/workers/chunks/{595a2baa04d92de59558.js → ebd006fcd568a7731115.js} +1 -1
- package/assets/esri/core/workers/chunks/{54b97ca5f2164b941f5b.js → ef9a9a7d66d818720e20.js} +1 -1
- package/assets/esri/core/workers/chunks/f0c9df0089a05da2b613.js +1 -0
- package/assets/esri/core/workers/chunks/{78cb95d1594a0cb0dd7a.js → f35cbf3ce31a43bb9cbf.js} +1 -1
- package/assets/esri/core/workers/chunks/fd0a91b9e0216cc269c3.js +1 -0
- package/assets/esri/core/workers/chunks/fdd6403a8390d629392b.js +1 -0
- package/chunks/EdgeDetect.glsl.js +3 -3
- package/chunks/RibbonLine.glsl.js +2 -2
- package/chunks/SSAO.glsl.js +3 -3
- package/chunks/SSAOBlur.glsl.js +4 -4
- package/chunks/_commonjsHelpers.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/core/Accessor.js +1 -1
- package/core/accessorSupport/decorators/persistable.js +1 -1
- package/core/accessorSupport/decorators/subclass.js +1 -1
- package/core/urlUtils.js +1 -1
- package/layers/mixins/FeatureReductionLayer.js +1 -1
- package/libs/maquette/projection.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/previewUtils.js +1 -1
- package/views/2d/navigation/ZoomBox.js +1 -1
- package/views/2d/support/hitTestUtils.js +5 -0
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/graphics/MeshFastUpdateProcessor.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +0 -5
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +2 -2
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/MapView.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/support/UnitSelect.js +1 -1
- package/assets/esri/core/workers/chunks/0121bfc81b794745e024.js +0 -1
- package/assets/esri/core/workers/chunks/080a13dc08a8db498ffa.js +0 -1
- package/assets/esri/core/workers/chunks/14ab33573bb02d6c6b1a.js +0 -1
- package/assets/esri/core/workers/chunks/169b04f05f5c875c5083.js +0 -1
- package/assets/esri/core/workers/chunks/204ed2ebd2d3da659791.js +0 -1
- package/assets/esri/core/workers/chunks/25187c5e6a04917d3519.js +0 -1
- package/assets/esri/core/workers/chunks/27cf3ef9566d5226b0df.js +0 -1
- package/assets/esri/core/workers/chunks/2f1695e4807a534e1743.js +0 -1
- package/assets/esri/core/workers/chunks/35f60625ada14eb801fd.js +0 -1
- package/assets/esri/core/workers/chunks/36e6037ec266061966d6.js +0 -1
- package/assets/esri/core/workers/chunks/3a04bf1cdce263fe2191.js +0 -1
- package/assets/esri/core/workers/chunks/3a614d35dec6deebd041.js +0 -1
- package/assets/esri/core/workers/chunks/41011207b6cc5eb6232f.js +0 -1
- package/assets/esri/core/workers/chunks/490629c6f9fee501c9cd.js +0 -1
- package/assets/esri/core/workers/chunks/503a393327df755d8843.js +0 -1
- package/assets/esri/core/workers/chunks/50e05f479c7d414fc06b.js +0 -1
- package/assets/esri/core/workers/chunks/5a3fb63dab89cf3418f7.js +0 -1
- package/assets/esri/core/workers/chunks/5ceaf1f05b219034a10c.js +0 -1
- package/assets/esri/core/workers/chunks/6cf5949a4754b18c08ec.js +0 -1
- package/assets/esri/core/workers/chunks/6d084a1a8cd4d01db22f.js +0 -1
- package/assets/esri/core/workers/chunks/6fdfb71558958f2a265d.js +0 -1
- package/assets/esri/core/workers/chunks/70aabffaaa0a1da8e609.js +0 -1
- package/assets/esri/core/workers/chunks/7c585aee0f931e6b56c0.js +0 -1
- package/assets/esri/core/workers/chunks/7f391ae5e0ea7812baca.js +0 -1
- package/assets/esri/core/workers/chunks/803e81ff317e3082ebd5.js +0 -1
- package/assets/esri/core/workers/chunks/812cba53143565a825f1.js +0 -1
- package/assets/esri/core/workers/chunks/839d9039f0628ee98466.js +0 -1
- package/assets/esri/core/workers/chunks/8467d05626a3a72462c9.js +0 -1
- package/assets/esri/core/workers/chunks/8e1879242f9b5a4940cb.js +0 -1
- package/assets/esri/core/workers/chunks/8faf88599f86ee276185.js +0 -1
- package/assets/esri/core/workers/chunks/9038b1317f1252e31f09.js +0 -1
- package/assets/esri/core/workers/chunks/94633cc9cfb089ef010e.js +0 -1
- package/assets/esri/core/workers/chunks/95115370c2d1e1ae592d.js +0 -1
- package/assets/esri/core/workers/chunks/975eef6d20c17a0ed07b.js +0 -1
- package/assets/esri/core/workers/chunks/98cf4e744e8f2c3fc536.js +0 -1
- package/assets/esri/core/workers/chunks/a00414550fa21c5662f3.js +0 -1
- package/assets/esri/core/workers/chunks/a8f094ca487bd794f766.js +0 -1
- package/assets/esri/core/workers/chunks/b0f0a3178d88fa600a11.js +0 -1
- package/assets/esri/core/workers/chunks/b4446ce010bc4a5aa917.js +0 -1
- package/assets/esri/core/workers/chunks/b68f207f29808c1d8eb4.js +0 -1
- package/assets/esri/core/workers/chunks/b94b432173b3bd6a318e.js +0 -1
- package/assets/esri/core/workers/chunks/bb28207cae9e3cfc71c5.js +0 -1
- package/assets/esri/core/workers/chunks/bedb5d399dbeff7526ba.js +0 -1
- package/assets/esri/core/workers/chunks/c15c4bd52d4472ed50bc.js +0 -1
- package/assets/esri/core/workers/chunks/c4eb3bd0e9cba4b20510.js +0 -1
- package/assets/esri/core/workers/chunks/d0d9dcf9a06762087f08.js +0 -1
- package/assets/esri/core/workers/chunks/d4cb1cdd1cc5240526de.js +0 -1
- package/assets/esri/core/workers/chunks/d5009010aefb5cd41099.js +0 -1
- package/assets/esri/core/workers/chunks/d981e2e90b8ce617116f.js +0 -1
- package/assets/esri/core/workers/chunks/e0dfd109e860371d7323.js +0 -1
- package/assets/esri/core/workers/chunks/e3610549f4c573e705ba.js +0 -1
- package/assets/esri/core/workers/chunks/e3b5c22ce4290c19679e.js +0 -1
- package/assets/esri/core/workers/chunks/ea1560129e426980a4e2.js +0 -1
- package/assets/esri/core/workers/chunks/f3225ae2673562f2592d.js +0 -1
- package/assets/esri/core/workers/chunks/f73e2143f8d053aef092.js +0 -1
- package/assets/esri/core/workers/chunks/fb610982b1366cdbc0c3.js +0 -1
- package/assets/esri/core/workers/chunks/fcec1e27531633cfc99c.js +0 -1
- package/assets/esri/core/workers/chunks/fe57c5de660e28ec253b.js +0 -1
package/arcade/arcade.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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"./arcadeCompiler.js";import"./ArcadeModuleResolver.js";import"./arcadeRuntime.js";import"./executionError.js";import"./parser.js";import"./treeAnalysis.js";import"../core/has.js";import"../core/maybe.js";export{_ as _loadScriptDependenciesImpl,c as compileScript,o as enableAsyncSupport,q as enableAsyncSupportImpl,d as enableFeatureSetSupport,w as enableFeatureSetSupportImpl,b as enableGeometrySupport,n as enableGeometrySupportImpl,e as executeScript,i as extend,a as extractExpectedFieldLiterals,m as extractFieldLiterals,f as featureSetUtils,u as isAsyncEnabled,t as isFeatureSetSupportEnabled,v as isGeometryEnabled,A as loadDependentModules,l as loadScriptDependencies,j as parseAndExecuteScript,p as parseScript,k as referencesFunction,r as referencesMember,y as scriptIsAsync,s as scriptTouchesGeometry,x as scriptUsesFeatureSet,g as scriptUsesGeometryEngine,z as scriptUsesModules}from"../chunks/arcade.js";
|
|
5
|
+
import"./arcadeCompiler.js";import"./ArcadeModuleResolver.js";import"./arcadeRuntime.js";import"./executionError.js";import"./parser.js";import"./treeAnalysis.js";import"./functions/geomsync.js";import"../core/has.js";import"../core/maybe.js";export{_ as _loadScriptDependenciesImpl,c as compileScript,o as enableAsyncSupport,q as enableAsyncSupportImpl,d as enableFeatureSetSupport,w as enableFeatureSetSupportImpl,b as enableGeometrySupport,n as enableGeometrySupportImpl,e as executeScript,i as extend,a as extractExpectedFieldLiterals,m as extractFieldLiterals,f as featureSetUtils,u as isAsyncEnabled,t as isFeatureSetSupportEnabled,v as isGeometryEnabled,A as loadDependentModules,l as loadScriptDependencies,j as parseAndExecuteScript,p as parseScript,k as referencesFunction,r as referencesMember,y as scriptIsAsync,s as scriptTouchesGeometry,x as scriptUsesFeatureSet,g as scriptUsesGeometryEngine,z as scriptUsesModules}from"../chunks/arcade.js";
|
package/arcade/functions/date.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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeDate as n}from"../ArcadeDate.js";import{ArcadeExecutionError as e,ExecutionErrorCodes as t}from"../executionError.js";import{C as r,
|
|
5
|
+
import{ArcadeDate as n}from"../ArcadeDate.js";import{ArcadeExecutionError as e,ExecutionErrorCodes as t}from"../executionError.js";import{C as r,J as o,l as a,j as s,g as u,F as c,M as l,c as i,N as f}from"../../chunks/languageUtils.js";import{getLocale as d}from"../../intl/locale.js";import{DateTime as m}from"luxon";function h(n,e,t){return n+(N(t)?A:y)[e]}function N(n){return n%4==0&&(n%100!=0||n%400==0)}const y=[0,31,59,90,120,151,181,212,243,273,304,334],A=[0,31,60,91,121,152,182,213,244,274,305,335];function w(n){return null===n?n:!1===n.isValid?null:n}function D(n,e){return""===n||"default"===n.toLowerCase().trim()?o(e):n}function T(N,y){N.today=function(e,t){return y(e,t,((a,s,u)=>{r(u,0,0,e,t);const c=new Date;return c.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(c,o(e))}))},N.changetimezone=function(e,t){return y(e,t,((u,c,l)=>{r(l,2,2,e,t);const i=a(l[0],o(e));if(null===i)return null;const f=n.arcadeDateAndZoneToArcadeDate(i,D(s(l[1]),e));return!1===f.isValid?null:f}))},N.timezone=function(e,t){return y(e,t,((s,u,c)=>{r(c,1,2,e,t);const l=a(c[0],o(e));if(null===l)return null;const i=l.timeZone;return"system"===i?n.systemTimeZoneCanonicalName:i}))},N.timezoneoffset=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?null:c.timeZoneOffset}))},N.now=function(e,t){return y(e,t,((a,s,u)=>{r(u,0,0,e,t);const c=n.nowToArcadeDate(o(e));return!1===c.isValid?null:c}))},N.timestamp=function(e,t){return y(e,t,((o,a,s)=>{r(s,0,0,e,t);const u=n.nowUTCToArcadeDate();return!1===u.isValid?null:u}))},N.toutc=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?null:c.toUTC()}))},N.tolocal=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?null:c.toLocal()}))},N.day=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.day}))},N.month=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.monthJS}))},N.year=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.year}))},N.hour=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.hour}))},N.second=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.second}))},N.millisecond=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.millisecond}))},N.minute=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.minute}))},N.week=function(n,s){return y(n,s,((l,i,f)=>{r(f,1,2,n,s);const d=a(f[0],o(n));if(null===d)return NaN;const m=u(c(f[1],0));if(m<0||m>6)throw new e(n,t.InvalidParameter,s);const N=d.day,y=d.monthJS,A=d.year,w=d.dayOfWeekJS,D=h(N,y,A)-1,T=Math.floor(D/7);return w-m+(w-m<0?7:0)<D-7*T?T+1:T}))},N.weekday=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.dayOfWeekJS}))},N.isoweekday=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.dayOfWeekISO}))},N.isomonth=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.monthISO}))},N.isoweek=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.weekISO}))},N.isoyear=function(n,e){return y(n,e,((t,s,u)=>{r(u,1,1,n,e);const c=a(u[0],o(n));return null===c?NaN:c.yearISO}))},N.date=function(e,t){return y(e,t,((c,f,h)=>{if(r(h,0,8,e,t),3===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),0,0,0,0,o(e)));if(4===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),0,0,0,o(e)));if(5===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),0,0,o(e)));if(6===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),u(h[5]),0,o(e)));if(7===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),u(h[5]),u(h[6]),o(e)));if(8===h.length)return w(n.fromParts(u(h[0]),u(h[1])+1,u(h[2]),u(h[3]),u(h[4]),u(h[5]),u(h[6]),D(s(h[7]),e)));if(2===h.length){let e,t=s(h[1]);return""===t?null:(t=l(t),e="X"===t?m.fromSeconds(u(h[0])):"x"===t?m.fromMillis(u(h[0])):m.fromFormat(s(h[0]),t,{locale:d(),numberingSystem:"latn"}),e.isValid?n.dateTimeToArcadeDate(e):null)}if(1===h.length){if(i(h[0])){if(""===h[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(h[0]))return a(h[0]+"-01-01",o(e))}const t=u(h[0]);if(!1===isNaN(t)){const r=m.fromMillis(t);return r.isValid?n.dateTimeAndZoneToArcadeDate(r,o(e)):null}return a(h[0],o(e))}return 0===h.length?n.nowToArcadeDate(o(e)):null}))},N.datediff=function(e,t){return y(e,t,((u,l,i)=>{r(i,2,4,e,t);let f=a(i[0],o(e)),d=a(i[1],o(e));if(null===f||null===d)return NaN;let m=c(i[3],"");switch(""!==m&&null!==m?(m=s(m),f=n.arcadeDateAndZoneToArcadeDate(f,m),d=n.arcadeDateAndZoneToArcadeDate(d,m)):f.timeZone!==d.timeZone&&(f.isUnknownTimeZone?f=n.arcadeDateAndZoneToArcadeDate(f,d.timeZone):d=(d.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(d,f.timeZone))),s(i[2]).toLowerCase()){case"days":case"day":case"d":return f.diff(d,"days");case"months":case"month":return f.diff(d,"months");case"minutes":case"minute":case"m":return"M"===i[2]?f.diff(d,"months"):f.diff(d,"minutes");case"seconds":case"second":case"s":return f.diff(d,"seconds");case"milliseconds":case"millisecond":case"ms":default:return f.diff(d);case"hours":case"hour":case"h":return f.diff(d,"hours");case"years":case"year":case"y":return f.diff(d,"years")}}))},N.dateadd=function(n,e){return y(n,e,((t,c,l)=>{r(l,2,3,n,e);const i=a(l[0],o(n));if(null===i)return null;let d=u(l[1]);if(isNaN(d))return i;let m="milliseconds";switch(s(l[2]).toLowerCase()){case"days":case"day":case"d":m="days",d=f(d);break;case"months":case"month":m="months",d=f(d);break;case"minutes":case"minute":case"m":m="M"===l[2]?"months":"minutes";break;case"seconds":case"second":case"s":m="seconds";break;case"milliseconds":case"millisecond":case"ms":m="milliseconds";break;case"hours":case"hour":case"h":m="hours";break;case"years":case"year":case"y":m="years"}return i.plus({[m]:d})}))}}export{T 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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeDate as e}from"../ArcadeDate.js";import t from"../ArcadePortal.js";import n from"../Dictionary.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as a}from"../executionError.js";import r from"../Feature.js";import s from"../featureSetCollection.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as o,constructFeatureSet as f,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as d}from"../featureSetUtils.js";import m from"../ImmutableArray.js";import{C as p,r as y,c as h,j as g,l as w,G as I,k as F,D,h as E,m as b,p as x,o as A,i as N,g as S,a0 as T,P as L}from"../../chunks/languageUtils.js";import{getPortal as $}from"../portalUtils.js";import{SqlExpressionAdapted as v,StringToCodeAdapted as P,FieldRename as R,AdaptedFeatureSet as j,OriginalField as C}from"../featureset/actions/Adapted.js";import M from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/OrderBy.js";import k from"../featureset/actions/Top.js";import z from"../featureset/sources/Empty.js";import H from"../featureset/sources/FeatureLayerMemory.js";import Z from"../featureset/support/OrderbyClause.js";import{cloneField as G}from"../featureset/support/shared.js";import{isSingleField as W}from"../featureset/support/sqlUtils.js";import{calculateStat as _}from"./fieldStats.js";import{isPromiseLike as U}from"../../core/promiseUtils.js";import{WhereClause as B}from"../../core/sql/WhereClause.js";import q from"../../layers/FeatureLayer.js";import V from"../../layers/support/Field.js";import Q from"../../portal/Portal.js";function J(e,t,n,i){if(1===i.length){if(b(i[0]))return _(e,i[0],-1);if(A(i[0]))return _(e,i[0].toArray(),-1)}return _(e,i,-1)}async function K(e,t,n){const i=e.getVariables();if(i.length>0){const a=[];for(let e=0;e<i.length;e++){const r={name:i[e]};a.push(await t.evaluateIdentifier(n,r))}const r={};for(let e=0;e<i.length;e++)r[i[e]]=a[e];return e.parameters=r,e}return e}function Y(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function X(e){if(null===e)return null;const t={type:Y(e,"type",""),name:Y(e,"name","")};if("range"===t.type)t.range=Y(e,"range",[]);else{t.codedValues=[];for(const n of Y(e,"codedValues",[]))t.codedValues.push({name:Y(n,"name",""),code:Y(n,"code",null)})}return t}function ee(e){if(null===e)return null;const t={},n=Y(e,"wkt",null);null!==n&&(t.wkt=n);const i=Y(e,"wkid",null);return null!==i&&(t.wkid=i),t}function te(e){if(null===e)return null;const t={hasZ:Y(e,"hasz",!1),hasM:Y(e,"hasm",!1)},n=Y(e,"spatialreference",null);n&&(t.spatialReference=ee(n));const i=Y(e,"x",null);if(null!==i)return t.x=i,t.y=Y(e,"y",null),t;const a=Y(e,"rings",null);if(null!==a)return t.rings=a,t;const r=Y(e,"paths",null);if(null!==r)return t.paths=r,t;const s=Y(e,"points",null);if(null!==s)return t.points=s,t;for(const l of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=Y(e,l,null);null!==n&&(t[l]=n)}return t}function ne(e,t){for(const n of t)if(n===e)return!0;return!1}function ie(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ne(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==b(e.layerDefinition.fields)&&!1!==b(e.featureSet.features))))}function ae(_){"async"===_.mode&&(_.functions.timezone=function(t,r){return _.standardFunctionAsync(t,r,(async(s,l,o)=>{if(p(o,1,2,t,r),y(o[0])){if(await o[0].load(),1===o.length||null===o[1])return o[0].dateTimeReferenceFieldIndex.layerDateFieldsTimeZone;if(!(o[1]instanceof n)||!1===o[1].hasField("type"))throw new i(t,a.InvalidParameter,r);const e=o[1].field("type");if(!1===h(e))throw new i(t,a.InvalidParameter,r);switch(g(e).toLowerCase()){case"preferredtimezone":return o[0].dateTimeReferenceFieldIndex.layerPreferredTimeZone;case"editfieldsinfo":return o[0].dateTimeReferenceFieldIndex.layerEditFieldsTimeZone;case"timeinfo":return o[0].dateTimeReferenceFieldIndex.layerTimeInfoTimeZone;case"field":if(o[1].hasField("fieldname")&&h(o[1].field("fieldname")))return o[0].dateTimeReferenceFieldIndex.fieldTimeZone(g(o[1].field("fieldname")))}throw new i(t,a.InvalidParameter,r)}const f=w(o[0],I(t));if(null===f)return null;const u=f.timeZone;return"system"===u?e.systemTimeZoneCanonicalName:u}))},_.functions.sqltimestamp=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{p(s,1,3,e,t);const l=s[0];if(F(l)){if(1===s.length)return l.toSQLString();if(2===s.length)return l.changeTimeZone(g(s[1])).toSQLString();throw new i(e,a.InvalidParameter,t)}if(y(l)){if(3!==s.length)throw new i(e,a.InvalidParameter,t);await l.load();const n=g(s[1]);if(!1===F(s[2]))throw new i(e,a.InvalidParameter,t);const r=l.fieldTimeZone(n);return null===r?s[2].toSQLString():s[2].changeTimeZone(r).toSQLString()}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"sqltimestamp",min:2,max:4}),_.functions.featuresetbyid=function(e,t){return _.standardFunctionAsync(e,t,((n,r,l)=>{if(p(l,2,4,e,t),l[0]instanceof s){const n=g(l[1]);let r=D(l[2],null);const s=E(D(l[3],!0));if(null===r&&(r=["*"]),!1===b(r))throw new i(e,a.InvalidParameter,t);return l[0].featureSetById(n,s,r)}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"featuresetbyid",min:2,max:4}),_.functions.getfeatureset=function(e,t){return _.standardFunctionAsync(e,t,((n,r,s)=>{if(p(s,1,2,e,t),x(s[0])){let t=D(s[1],"datasource");return null===t&&(t="datasource"),t=g(t).toLowerCase(),l(s[0].fullSchema(),t,e.lrucache,e.interceptor,e.spatialReference)}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"getfeatureset",min:1,max:2}),_.functions.featuresetbyportalitem=function(e,n){return _.standardFunctionAsync(e,n,((r,s,l)=>{if(p(l,2,5,e,n),null===l[0])throw new i(e,a.PortalRequired,n);if(l[0]instanceof t){const t=g(l[1]),r=g(l[2]);let s=D(l[3],null);const f=E(D(l[4],!0));if(null===s&&(s=["*"]),!1===b(s))throw new i(e,a.InvalidParameter,n);let u=null;return u=e.services&&e.services.portal?e.services.portal:Q.getDefault(),u=$(l[0],u),o(t,r,e.spatialReference,s,f,u,e.lrucache,e.interceptor)}if(!1===h(l[0]))throw new i(e,a.PortalRequired,n);const f=g(l[0]),u=g(l[1]);let c=D(l[2],null);const d=E(D(l[3],!0));if(null===c&&(c=["*"]),!1===b(c))throw new i(e,a.InvalidParameter,n);return o(f,u,e.spatialReference,c,d,e.services?.portal??Q.getDefault(),e.lrucache,e.interceptor)}))},_.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),_.functions.featuresetbyname=function(e,t){return _.standardFunctionAsync(e,t,((n,r,l)=>{if(p(l,2,4,e,t),l[0]instanceof s){const n=g(l[1]);let r=D(l[2],null);const s=E(D(l[3],!0));if(null===r&&(r=["*"]),!1===b(r))throw new i(e,a.InvalidParameter,t);return l[0].featureSetByName(n,s,r)}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"featuresetbyname",min:2,max:4}),_.functions.featureset=function(e,t){return _.standardFunction(e,t,((r,s,l)=>{p(l,1,1,e,t);let o=l[0];const f={layerDefinition:{geometryType:"",objectIdField:"",hasM:!1,hasZ:!1,globalIdField:"",typeIdField:"",fields:[]},featureSet:{geometryType:"",features:[]}};if(h(o))o=JSON.parse(o),void 0!==o.layerDefinition?(f.layerDefinition=o.layerDefinition,f.featureSet=o.featureSet,o.layerDefinition.spatialReference&&(f.layerDefinition.spatialReference=o.layerDefinition.spatialReference)):(f.featureSet.features=o.features,f.featureSet.geometryType=o.geometryType,f.layerDefinition.geometryType=f.featureSet.geometryType,f.layerDefinition.objectIdField=o.objectIdFieldName??"",f.layerDefinition.typeIdField=o.typeIdFieldName,f.layerDefinition.globalIdField=o.globalIdFieldName,f.layerDefinition.fields=o.fields,o.spatialReference&&(f.layerDefinition.spatialReference=o.spatialReference));else{if(!(l[0]instanceof n))throw new i(e,a.InvalidParameter,t);{o=JSON.parse(l[0].castToText(!0));const e=Y(o,"layerdefinition");if(null!==e){f.layerDefinition.geometryType=Y(e,"geometrytype",""),f.featureSet.geometryType=f.layerDefinition.geometryType,f.layerDefinition.globalIdField=Y(e,"globalidfield",""),f.layerDefinition.objectIdField=Y(e,"objectidfield",""),f.layerDefinition.typeIdField=Y(e,"typeidfield",""),f.layerDefinition.hasZ=!0===Y(e,"hasz",!1),f.layerDefinition.hasM=!0===Y(e,"hasm",!1);const t=Y(e,"spatialreference",null);t&&(f.layerDefinition.spatialReference=ee(t));for(const i of Y(e,"fields",[])){const e={name:Y(i,"name",""),alias:Y(i,"alias",""),type:Y(i,"type",""),nullable:Y(i,"nullable",!0),editable:Y(i,"editable",!0),length:Y(i,"length",null),domain:X(Y(i,"domain"))};f.layerDefinition.fields.push(e)}const n=Y(o,"featureset",null);if(n){const e={};for(const t of f.layerDefinition.fields)e[t.name.toLowerCase()]=t.name;for(const t of Y(n,"features",[])){const n={},i=Y(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];f.featureSet.features.push({attributes:n,geometry:te(Y(t,"geometry",null))})}}}else{f.layerDefinition.hasZ=!0===Y(o,"hasz",!1),f.layerDefinition.hasM=!0===Y(o,"hasm",!1),f.layerDefinition.geometryType=Y(o,"geometrytype",""),f.featureSet.geometryType=f.layerDefinition.geometryType,f.layerDefinition.objectIdField=Y(o,"objectidfieldname",""),f.layerDefinition.typeIdField=Y(o,"typeidfieldname","");const e=Y(o,"spatialreference",null);e&&(f.layerDefinition.spatialReference=ee(e));let t=Y(o,"fields",null);if(b(t))for(const a of t){const e={name:Y(a,"name",""),alias:Y(a,"alias",""),type:Y(a,"type",""),nullable:Y(a,"nullable",!0),editable:Y(a,"editable",!0),length:Y(a,"length",null),domain:X(Y(a,"domain"))};f.layerDefinition.fields.push(e)}else t=null,f.layerDefinition.fields=t;const n={};for(const a of f.layerDefinition.fields)n[a.name.toLowerCase()]=a.name;let i=Y(o,"features",null);if(b(i))for(const a of i){const e={},t=Y(a,"attributes",{});for(const i in t)e[n[i.toLowerCase()]]=t[i];f.featureSet.features.push({attributes:e,geometry:te(Y(a,"geometry",null))})}else i=null,f.featureSet.features=i}}}if(!1===ie(f))throw new i(e,a.InvalidParameter,t);return""===(f?.layerDefinition?.geometryType||"")&&(f.layerDefinition.geometryType="esriGeometryNull"),H.create(f,e.spatialReference)}))},_.signatures.push({name:"featureset",min:1,max:1}),_.functions.filter=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{if(p(s,2,2,e,t),b(s[0])||A(s[0])){const n=[];let r=s[0];r instanceof m&&(r=r.toArray());let l=null;if(!N(s[1]))throw new i(e,a.InvalidParameter,t);l=s[1].createFunction(e);for(const e of r){const t=l(e);U(t)?!0===await t&&n.push(e):!0===t&&n.push(e)}return n}if(y(s[0])){const t=await s[0].load(),n=B.create(s[1],t.getFieldsIndex()),i=n.getVariables();if(i.length>0){const t=[];for(let n=0;n<i.length;n++){const a={name:i[n]};t.push(await _.evaluateIdentifier(e,a))}const a={};for(let e=0;e<i.length;e++)a[i[e]]=t[e];return n.parameters=a,new M({parentfeatureset:s[0],whereclause:n})}return new M({parentfeatureset:s[0],whereclause:n})}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"filter",min:2,max:2}),_.functions.orderby=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{if(p(s,2,2,e,t),y(s[0])){const e=new Z(s[1]);return new O({parentfeatureset:s[0],orderbyclause:e})}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"orderby",min:2,max:2}),_.functions.top=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{if(p(s,2,2,e,t),y(s[0]))return new k({parentfeatureset:s[0],topnum:s[1]});if(b(s[0]))return S(s[1])>=s[0].length?s[0].slice(0):s[0].slice(0,S(s[1]));if(A(s[0]))return S(s[1])>=s[0].length()?s[0].slice(0):s[0].slice(0,S(s[1]));throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"top",min:2,max:2}),_.functions.first=function(e,t){return _.standardFunctionAsync(e,t,(async(n,i,a)=>{if(p(a,1,1,e,t),y(a[0])){const t=await a[0].first(n.abortSignal);if(null!==t){const n=r.createFromGraphicLikeObject(t.geometry,t.attributes,a[0],e.timeReference);return n._underlyingGraphic=t,n}return t}return b(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null}))},_.signatures.push({name:"first",min:1,max:1}),_.functions.attachments=function(e,t){return _.standardFunctionAsync(e,t,(async(r,s,l)=>{p(l,1,2,e,t);const o={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(l.length>1)if(l[1]instanceof n){if(l[1].hasField("minsize")&&(o.minsize=S(l[1].field("minsize"))),l[1].hasField("metadata")&&(o.returnMetadata=E(l[1].field("metadata"))),l[1].hasField("maxsize")&&(o.maxsize=S(l[1].field("maxsize"))),l[1].hasField("types")){const e=T(l[1].field("types"),!1);e.length>0&&(o.types=e)}}else if(null!==l[1])throw new i(e,a.InvalidParameter,t);if(x(l[0])){let t=l[0]._layer;return t instanceof q&&(t=f(t,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===t?[]:!1===y(t)?[]:(await t.load(),t.queryAttachments(l[0].field(t.objectIdField),o.minsize,o.maxsize,o.types,o.returnMetadata))}if(null===l[0])return[];throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"attachments",min:1,max:2}),_.functions.featuresetbyrelationshipname=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{p(s,2,4,e,t);const l=s[0],o=g(s[1]);let d=D(s[2],null);const m=E(D(s[3],!0));if(null===d&&(d=["*"]),!1===b(d))throw new i(e,a.InvalidParameter,t);if(null===s[0])return null;if(!x(s[0]))throw new i(e,a.InvalidParameter,t);let h=l._layer;if(h instanceof q&&(h=f(h,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===h)return null;if(!1===y(h))return null;h=await h.load();const w=h.relationshipMetaData().filter((e=>e.name===o));if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(h,w[0],l.field(h.objectIdField),h.spatialReference,d,m,e.lrucache,e.interceptor);let I=h.serviceUrl();if(!I)return null;I="/"===I.charAt(I.length-1)?I+w[0].relatedTableId.toString():I+"/"+w[0].relatedTableId.toString();const F=await c(I,h.spatialReference,d,m,e.lrucache,e.interceptor);await F.load();let A=F.relationshipMetaData();if(A=A.filter((e=>e.id===w[0].id)),!1===l.hasField(w[0].keyField)||null===l.field(w[0].keyField)){const e=await h.getFeatureByObjectId(l.field(h.objectIdField),[w[0].keyField]);if(e){const t=B.create(A[0].keyField+"= @id",F.getFieldsIndex());return t.parameters={id:e.attributes[w[0].keyField]},F.filter(t)}return new z({parentfeatureset:F})}const N=B.create(A[0].keyField+"= @id",F.getFieldsIndex());return N.parameters={id:l.field(w[0].keyField)},F.filter(N)}))},_.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),_.functions.featuresetbyassociation=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{p(s,2,3,e,t);const l=s[0],o=g(D(s[1],"")).toLowerCase(),u=h(s[2])?g(s[2]):null;if(null===s[0])return null;if(!x(s[0]))throw new i(e,a.InvalidParameter,t);let c=l._layer;if(c instanceof q&&(c=f(c,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===c)return null;if(!1===y(c))return null;await c.load();const m=c.serviceUrl(),w=await d(m,e.spatialReference);let I=null,F=null,E=!1;if(null!==u&&""!==u&&void 0!==u){for(const e of w.terminals)e.terminalName===u&&(F=e.terminalId);null===F&&(E=!0)}const b=w.associations.getFieldsIndex(),A=b.get("TOGLOBALID").name,N=b.get("FROMGLOBALID").name,S=b.get("TOTERMINALID").name,T=b.get("FROMTERMINALID").name,$=b.get("FROMNETWORKSOURCEID").name,M=b.get("TONETWORKSOURCEID").name,O=b.get("ASSOCIATIONTYPE").name,k=b.get("ISCONTENTVISIBLE").name,z=b.get("OBJECTID").name;for(const e of c.fields)if("global-id"===e.type){I=l.field(e.name);break}let H=null,Z=new v(new V({name:"percentalong",alias:"percentalong",type:"double"}),B.create("0",w.associations.getFieldsIndex())),W=new v(new V({name:"side",alias:"side",type:"string"}),B.create("''",w.associations.getFieldsIndex()));const _="globalid",U="globalId",Q={};for(const e in w.lkp)Q[e]=w.lkp[e].sourceId;const J=new P(new V({name:"classname",alias:"classname",type:"string"}),null,Q);let K="";switch(o){case"midspan":{K=`((${A}='${I}') OR ( ${N}='${I}')) AND (${O} IN (5))`,J.codefield=B.create(`CASE WHEN (${A}='${I}') THEN ${$} ELSE ${M} END`,w.associations.getFieldsIndex());const e=G(j.findField(w.associations.fields,N));e.name=_,e.alias=_,H=new v(e,B.create(`CASE WHEN (${N}='${I}') THEN ${A} ELSE ${N} END`,w.associations.getFieldsIndex())),Z=w.unVersion>=4?new C(j.findField(w.associations.fields,b.get("PERCENTALONG").name)):new v(new V({name:"percentalong",alias:"percentalong",type:"double"}),B.create("0",w.associations.getFieldsIndex()));break}case"junctionedge":{K=`((${A}='${I}') OR ( ${N}='${I}')) AND (${O} IN (4,6))`,J.codefield=B.create(`CASE WHEN (${A}='${I}') THEN ${$} ELSE ${M} END`,w.associations.getFieldsIndex());const e=G(j.findField(w.associations.fields,N));e.name=_,e.alias=_,H=new v(e,B.create(`CASE WHEN (${N}='${I}') THEN ${A} ELSE ${N} END`,w.associations.getFieldsIndex())),W=new v(new V({name:"side",alias:"side",type:"string"}),B.create(`CASE WHEN (${O}=4) THEN 'from' ELSE 'to' END`,w.associations.getFieldsIndex()));break}case"connected":{let e=`${A}='@T'`,t=`${N}='@T'`;null!==F&&(e+=` AND ${S}=@A`,t+=` AND ${T}=@A`),K="(("+e+") OR ("+t+"))",K=L(K,"@T",I??""),e=L(e,"@T",I??""),null!==F&&(e=L(e,"@A",F.toString()),K=L(K,"@A",F.toString())),J.codefield=B.create("CASE WHEN "+e+` THEN ${$} ELSE ${M} END`,w.associations.getFieldsIndex());const n=G(j.findField(w.associations.fields,N));n.name=_,n.alias=_,H=new v(n,B.create("CASE WHEN "+e+` THEN ${N} ELSE ${A} END`,w.associations.getFieldsIndex()));break}case"container":K=`${A}='${I}' AND ${O} = 2`,null!==F&&(K+=` AND ${S} = `+F.toString()),J.codefield=$,K="( "+K+" )",H=new R(j.findField(w.associations.fields,N),_,_);break;case"content":K=`(${N}='${I}' AND ${O} = 2)`,null!==F&&(K+=` AND ${T} = `+F.toString()),J.codefield=M,K="( "+K+" )",H=new R(j.findField(w.associations.fields,A),_,_);break;case"structure":K=`(${A}='${I}' AND ${O} = 3)`,null!==F&&(K+=` AND ${S} = `+F.toString()),J.codefield=$,K="( "+K+" )",H=new R(j.findField(w.associations.fields,N),_,U);break;case"attached":K=`(${N}='${I}' AND ${O} = 3)`,null!==F&&(K+=` AND ${T} = `+F.toString()),J.codefield=M,K="( "+K+" )",H=new R(j.findField(w.associations.fields,A),_,U);break;default:throw new i(e,a.InvalidParameter,t)}E&&(K="1 <> 1");return new j({parentfeatureset:w.associations,adaptedFields:[new C(j.findField(w.associations.fields,z)),new C(j.findField(w.associations.fields,k)),H,W,J,Z],extraFilter:K?B.create(K,w.associations.getFieldsIndex()):null})}))},_.signatures.push({name:"featuresetbyassociation",min:2,max:6}),_.functions.groupby=function(e,t){return _.standardFunctionAsync(e,t,(async(r,s,l)=>{if(p(l,3,3,e,t),!y(l[0]))throw new i(e,a.InvalidParameter,t);const o=await l[0].load(),f=[],u=[];let c=!1,d=[];if(h(l[1]))d.push(l[1]);else if(l[1]instanceof n)d.push(l[1]);else if(b(l[1]))d=l[1];else{if(!A(l[1]))throw new i(e,a.InvalidParameter,t);d=l[1].toArray()}for(const m of d)if(h(m)){const e=B.create(g(m),o.getFieldsIndex()),t=!0===W(e)?g(m):"%%%%FIELDNAME";f.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(c=!0)}else{if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"%%%%FIELDNAME",r=m.hasField("expression")?m.field("expression"):"";if("%%%%FIELDNAME"===n&&(c=!0),!n)throw new i(e,a.InvalidParameter,t);f.push({name:n,expression:B.create(r||n,o.getFieldsIndex())})}}if(d=[],h(l[2]))d.push(l[2]);else if(b(l[2]))d=l[2];else if(A(l[2]))d=l[2].toArray();else{if(!(l[2]instanceof n))throw new i(e,a.InvalidParameter,t);d.push(l[2])}for(const m of d){if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"",r=m.hasField("statistic")?m.field("statistic"):"",s=m.hasField("expression")?m.field("expression"):"";if(!n||!r||!s)throw new i(e,a.InvalidParameter,t);u.push({name:n,statistic:r.toLowerCase(),expression:B.create(s,o.getFieldsIndex())})}}if(c){const e={};for(const n of o.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of u)"%%%%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 t of f)await K(t.expression,_,e);for(const t of u)await K(t.expression,_,e);return l[0].groupby(f,u)}))},_.signatures.push({name:"groupby",min:3,max:3}),_.functions.distinct=function(e,t){return _.standardFunctionAsync(e,t,(async(r,s,l)=>{if(y(l[0])){p(l,2,2,e,t);const r=await l[0].load(),s=[];let o=[];if(h(l[1]))o.push(l[1]);else if(l[1]instanceof n)o.push(l[1]);else if(b(l[1]))o=l[1];else{if(!A(l[1]))throw new i(e,a.InvalidParameter,t);o=l[1].toArray()}let f=!1;for(const l of o)if(h(l)){const e=B.create(g(l),r.getFieldsIndex()),t=!0===W(e)?g(l):"%%%%FIELDNAME";s.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(f=!0)}else{if(!(l instanceof n))throw new i(e,a.InvalidParameter,t);{const n=l.hasField("name")?l.field("name"):"%%%%FIELDNAME",o=l.hasField("expression")?l.field("expression"):"";if("%%%%FIELDNAME"===n&&(f=!0),!n)throw new i(e,a.InvalidParameter,t);s.push({name:n,expression:B.create(o||n,r.getFieldsIndex())})}}if(f){const e={};for(const n of r.fields)e[n.name.toLowerCase()]=1;for(const n of s)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of s)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of s)await K(t.expression,_,e);return l[0].groupby(s,[])}return J("distinct",r,s,l)}))})}export{ae as registerFunctions};
|
|
5
|
+
import{ArcadeDate as e}from"../ArcadeDate.js";import t from"../ArcadePortal.js";import n from"../Dictionary.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as a}from"../executionError.js";import r from"../Feature.js";import s from"../featureSetCollection.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as o,constructFeatureSet as f,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as d}from"../featureSetUtils.js";import m from"../ImmutableArray.js";import{C as p,r as y,c as h,j as g,l as w,J as I,k as F,F as D,h as E,m as b,p as x,o as A,i as N,g as S,a0 as T,P as L}from"../../chunks/languageUtils.js";import{getPortal as $}from"../portalUtils.js";import{SqlExpressionAdapted as v,StringToCodeAdapted as P,FieldRename as R,AdaptedFeatureSet as j,OriginalField as C}from"../featureset/actions/Adapted.js";import M from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/OrderBy.js";import k from"../featureset/actions/Top.js";import z from"../featureset/sources/Empty.js";import H from"../featureset/sources/FeatureLayerMemory.js";import Z from"../featureset/support/OrderbyClause.js";import{cloneField as G}from"../featureset/support/shared.js";import{isSingleField as W}from"../featureset/support/sqlUtils.js";import{calculateStat as _}from"./fieldStats.js";import{isPromiseLike as U}from"../../core/promiseUtils.js";import{WhereClause as B}from"../../core/sql/WhereClause.js";import q from"../../layers/FeatureLayer.js";import V from"../../layers/support/Field.js";import J from"../../portal/Portal.js";function Q(e,t,n,i){if(1===i.length){if(b(i[0]))return _(e,i[0],-1);if(A(i[0]))return _(e,i[0].toArray(),-1)}return _(e,i,-1)}async function K(e,t,n){const i=e.getVariables();if(i.length>0){const a=[];for(let e=0;e<i.length;e++){const r={name:i[e]};a.push(await t.evaluateIdentifier(n,r))}const r={};for(let e=0;e<i.length;e++)r[i[e]]=a[e];return e.parameters=r,e}return e}function Y(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function X(e){if(null===e)return null;const t={type:Y(e,"type",""),name:Y(e,"name","")};if("range"===t.type)t.range=Y(e,"range",[]);else{t.codedValues=[];for(const n of Y(e,"codedValues",[]))t.codedValues.push({name:Y(n,"name",""),code:Y(n,"code",null)})}return t}function ee(e){if(null===e)return null;const t={},n=Y(e,"wkt",null);null!==n&&(t.wkt=n);const i=Y(e,"wkid",null);return null!==i&&(t.wkid=i),t}function te(e){if(null===e)return null;const t={hasZ:Y(e,"hasz",!1),hasM:Y(e,"hasm",!1)},n=Y(e,"spatialreference",null);n&&(t.spatialReference=ee(n));const i=Y(e,"x",null);if(null!==i)return t.x=i,t.y=Y(e,"y",null),t;const a=Y(e,"rings",null);if(null!==a)return t.rings=a,t;const r=Y(e,"paths",null);if(null!==r)return t.paths=r,t;const s=Y(e,"points",null);if(null!==s)return t.points=s,t;for(const l of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=Y(e,l,null);null!==n&&(t[l]=n)}return t}function ne(e,t){for(const n of t)if(n===e)return!0;return!1}function ie(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ne(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==b(e.layerDefinition.fields)&&!1!==b(e.featureSet.features))))}function ae(_){"async"===_.mode&&(_.functions.timezone=function(t,r){return _.standardFunctionAsync(t,r,(async(s,l,o)=>{if(p(o,1,2,t,r),y(o[0])){if(await o[0].load(),1===o.length||null===o[1])return o[0].dateTimeReferenceFieldIndex.layerDateFieldsTimeZone;if(!(o[1]instanceof n)||!1===o[1].hasField("type"))throw new i(t,a.InvalidParameter,r);const e=o[1].field("type");if(!1===h(e))throw new i(t,a.InvalidParameter,r);switch(g(e).toLowerCase()){case"preferredtimezone":return o[0].dateTimeReferenceFieldIndex.layerPreferredTimeZone;case"editfieldsinfo":return o[0].dateTimeReferenceFieldIndex.layerEditFieldsTimeZone;case"timeinfo":return o[0].dateTimeReferenceFieldIndex.layerTimeInfoTimeZone;case"field":if(o[1].hasField("fieldname")&&h(o[1].field("fieldname")))return o[0].dateTimeReferenceFieldIndex.fieldTimeZone(g(o[1].field("fieldname")))}throw new i(t,a.InvalidParameter,r)}const f=w(o[0],I(t));if(null===f)return null;const u=f.timeZone;return"system"===u?e.systemTimeZoneCanonicalName:u}))},_.functions.sqltimestamp=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{p(s,1,3,e,t);const l=s[0];if(F(l)){if(1===s.length)return l.toSQLString();if(2===s.length)return l.changeTimeZone(g(s[1])).toSQLString();throw new i(e,a.InvalidParameter,t)}if(y(l)){if(3!==s.length)throw new i(e,a.InvalidParameter,t);await l.load();const n=g(s[1]);if(!1===F(s[2]))throw new i(e,a.InvalidParameter,t);const r=l.fieldTimeZone(n);return null===r?s[2].toSQLString():s[2].changeTimeZone(r).toSQLString()}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"sqltimestamp",min:2,max:4}),_.functions.featuresetbyid=function(e,t){return _.standardFunctionAsync(e,t,((n,r,l)=>{if(p(l,2,4,e,t),l[0]instanceof s){const n=g(l[1]);let r=D(l[2],null);const s=E(D(l[3],!0));if(null===r&&(r=["*"]),!1===b(r))throw new i(e,a.InvalidParameter,t);return l[0].featureSetById(n,s,r)}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"featuresetbyid",min:2,max:4}),_.functions.getfeatureset=function(e,t){return _.standardFunctionAsync(e,t,((n,r,s)=>{if(p(s,1,2,e,t),x(s[0])){let t=D(s[1],"datasource");return null===t&&(t="datasource"),t=g(t).toLowerCase(),l(s[0].fullSchema(),t,e.lrucache,e.interceptor,e.spatialReference)}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"getfeatureset",min:1,max:2}),_.functions.featuresetbyportalitem=function(e,n){return _.standardFunctionAsync(e,n,((r,s,l)=>{if(p(l,2,5,e,n),null===l[0])throw new i(e,a.PortalRequired,n);if(l[0]instanceof t){const t=g(l[1]),r=g(l[2]);let s=D(l[3],null);const f=E(D(l[4],!0));if(null===s&&(s=["*"]),!1===b(s))throw new i(e,a.InvalidParameter,n);let u=null;return u=e.services&&e.services.portal?e.services.portal:J.getDefault(),u=$(l[0],u),o(t,r,e.spatialReference,s,f,u,e.lrucache,e.interceptor)}if(!1===h(l[0]))throw new i(e,a.PortalRequired,n);const f=g(l[0]),u=g(l[1]);let c=D(l[2],null);const d=E(D(l[3],!0));if(null===c&&(c=["*"]),!1===b(c))throw new i(e,a.InvalidParameter,n);return o(f,u,e.spatialReference,c,d,e.services?.portal??J.getDefault(),e.lrucache,e.interceptor)}))},_.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),_.functions.featuresetbyname=function(e,t){return _.standardFunctionAsync(e,t,((n,r,l)=>{if(p(l,2,4,e,t),l[0]instanceof s){const n=g(l[1]);let r=D(l[2],null);const s=E(D(l[3],!0));if(null===r&&(r=["*"]),!1===b(r))throw new i(e,a.InvalidParameter,t);return l[0].featureSetByName(n,s,r)}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"featuresetbyname",min:2,max:4}),_.functions.featureset=function(e,t){return _.standardFunction(e,t,((r,s,l)=>{p(l,1,1,e,t);let o=l[0];const f={layerDefinition:{geometryType:"",objectIdField:"",hasM:!1,hasZ:!1,globalIdField:"",typeIdField:"",fields:[]},featureSet:{geometryType:"",features:[]}};if(h(o))o=JSON.parse(o),void 0!==o.layerDefinition?(f.layerDefinition=o.layerDefinition,f.featureSet=o.featureSet,o.layerDefinition.spatialReference&&(f.layerDefinition.spatialReference=o.layerDefinition.spatialReference)):(f.featureSet.features=o.features,f.featureSet.geometryType=o.geometryType,f.layerDefinition.geometryType=f.featureSet.geometryType,f.layerDefinition.objectIdField=o.objectIdFieldName??"",f.layerDefinition.typeIdField=o.typeIdFieldName,f.layerDefinition.globalIdField=o.globalIdFieldName,f.layerDefinition.fields=o.fields,o.spatialReference&&(f.layerDefinition.spatialReference=o.spatialReference));else{if(!(l[0]instanceof n))throw new i(e,a.InvalidParameter,t);{o=JSON.parse(l[0].castToText(!0));const e=Y(o,"layerdefinition");if(null!==e){f.layerDefinition.geometryType=Y(e,"geometrytype",""),f.featureSet.geometryType=f.layerDefinition.geometryType,f.layerDefinition.globalIdField=Y(e,"globalidfield",""),f.layerDefinition.objectIdField=Y(e,"objectidfield",""),f.layerDefinition.typeIdField=Y(e,"typeidfield",""),f.layerDefinition.hasZ=!0===Y(e,"hasz",!1),f.layerDefinition.hasM=!0===Y(e,"hasm",!1);const t=Y(e,"spatialreference",null);t&&(f.layerDefinition.spatialReference=ee(t));for(const i of Y(e,"fields",[])){const e={name:Y(i,"name",""),alias:Y(i,"alias",""),type:Y(i,"type",""),nullable:Y(i,"nullable",!0),editable:Y(i,"editable",!0),length:Y(i,"length",null),domain:X(Y(i,"domain"))};f.layerDefinition.fields.push(e)}const n=Y(o,"featureset",null);if(n){const e={};for(const t of f.layerDefinition.fields)e[t.name.toLowerCase()]=t.name;for(const t of Y(n,"features",[])){const n={},i=Y(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];f.featureSet.features.push({attributes:n,geometry:te(Y(t,"geometry",null))})}}}else{f.layerDefinition.hasZ=!0===Y(o,"hasz",!1),f.layerDefinition.hasM=!0===Y(o,"hasm",!1),f.layerDefinition.geometryType=Y(o,"geometrytype",""),f.featureSet.geometryType=f.layerDefinition.geometryType,f.layerDefinition.objectIdField=Y(o,"objectidfieldname",""),f.layerDefinition.typeIdField=Y(o,"typeidfieldname","");const e=Y(o,"spatialreference",null);e&&(f.layerDefinition.spatialReference=ee(e));let t=Y(o,"fields",null);if(b(t))for(const a of t){const e={name:Y(a,"name",""),alias:Y(a,"alias",""),type:Y(a,"type",""),nullable:Y(a,"nullable",!0),editable:Y(a,"editable",!0),length:Y(a,"length",null),domain:X(Y(a,"domain"))};f.layerDefinition.fields.push(e)}else t=null,f.layerDefinition.fields=t;const n={};for(const a of f.layerDefinition.fields)n[a.name.toLowerCase()]=a.name;let i=Y(o,"features",null);if(b(i))for(const a of i){const e={},t=Y(a,"attributes",{});for(const i in t)e[n[i.toLowerCase()]]=t[i];f.featureSet.features.push({attributes:e,geometry:te(Y(a,"geometry",null))})}else i=null,f.featureSet.features=i}}}if(!1===ie(f))throw new i(e,a.InvalidParameter,t);return""===(f?.layerDefinition?.geometryType||"")&&(f.layerDefinition.geometryType="esriGeometryNull"),H.create(f,e.spatialReference)}))},_.signatures.push({name:"featureset",min:1,max:1}),_.functions.filter=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{if(p(s,2,2,e,t),b(s[0])||A(s[0])){const n=[];let r=s[0];r instanceof m&&(r=r.toArray());let l=null;if(!N(s[1]))throw new i(e,a.InvalidParameter,t);l=s[1].createFunction(e);for(const e of r){const t=l(e);U(t)?!0===await t&&n.push(e):!0===t&&n.push(e)}return n}if(y(s[0])){const t=await s[0].load(),n=B.create(s[1],t.getFieldsIndex()),i=n.getVariables();if(i.length>0){const t=[];for(let n=0;n<i.length;n++){const a={name:i[n]};t.push(await _.evaluateIdentifier(e,a))}const a={};for(let e=0;e<i.length;e++)a[i[e]]=t[e];return n.parameters=a,new M({parentfeatureset:s[0],whereclause:n})}return new M({parentfeatureset:s[0],whereclause:n})}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"filter",min:2,max:2}),_.functions.orderby=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{if(p(s,2,2,e,t),y(s[0])){const e=new Z(s[1]);return new O({parentfeatureset:s[0],orderbyclause:e})}throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"orderby",min:2,max:2}),_.functions.top=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{if(p(s,2,2,e,t),y(s[0]))return new k({parentfeatureset:s[0],topnum:s[1]});if(b(s[0]))return S(s[1])>=s[0].length?s[0].slice(0):s[0].slice(0,S(s[1]));if(A(s[0]))return S(s[1])>=s[0].length()?s[0].slice(0):s[0].slice(0,S(s[1]));throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"top",min:2,max:2}),_.functions.first=function(e,t){return _.standardFunctionAsync(e,t,(async(n,i,a)=>{if(p(a,1,1,e,t),y(a[0])){const t=await a[0].first(n.abortSignal);if(null!==t){const n=r.createFromGraphicLikeObject(t.geometry,t.attributes,a[0],e.timeReference);return n._underlyingGraphic=t,n}return t}return b(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null}))},_.signatures.push({name:"first",min:1,max:1}),_.functions.attachments=function(e,t){return _.standardFunctionAsync(e,t,(async(r,s,l)=>{p(l,1,2,e,t);const o={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(l.length>1)if(l[1]instanceof n){if(l[1].hasField("minsize")&&(o.minsize=S(l[1].field("minsize"))),l[1].hasField("metadata")&&(o.returnMetadata=E(l[1].field("metadata"))),l[1].hasField("maxsize")&&(o.maxsize=S(l[1].field("maxsize"))),l[1].hasField("types")){const e=T(l[1].field("types"),!1);e.length>0&&(o.types=e)}}else if(null!==l[1])throw new i(e,a.InvalidParameter,t);if(x(l[0])){let t=l[0]._layer;return t instanceof q&&(t=f(t,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===t?[]:!1===y(t)?[]:(await t.load(),t.queryAttachments(l[0].field(t.objectIdField),o.minsize,o.maxsize,o.types,o.returnMetadata))}if(null===l[0])return[];throw new i(e,a.InvalidParameter,t)}))},_.signatures.push({name:"attachments",min:1,max:2}),_.functions.featuresetbyrelationshipname=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{p(s,2,4,e,t);const l=s[0],o=g(s[1]);let d=D(s[2],null);const m=E(D(s[3],!0));if(null===d&&(d=["*"]),!1===b(d))throw new i(e,a.InvalidParameter,t);if(null===s[0])return null;if(!x(s[0]))throw new i(e,a.InvalidParameter,t);let h=l._layer;if(h instanceof q&&(h=f(h,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===h)return null;if(!1===y(h))return null;h=await h.load();const w=h.relationshipMetaData().filter((e=>e.name===o));if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(h,w[0],l.field(h.objectIdField),h.spatialReference,d,m,e.lrucache,e.interceptor);let I=h.serviceUrl();if(!I)return null;I="/"===I.charAt(I.length-1)?I+w[0].relatedTableId.toString():I+"/"+w[0].relatedTableId.toString();const F=await c(I,h.spatialReference,d,m,e.lrucache,e.interceptor);await F.load();let A=F.relationshipMetaData();if(A=A.filter((e=>e.id===w[0].id)),!1===l.hasField(w[0].keyField)||null===l.field(w[0].keyField)){const e=await h.getFeatureByObjectId(l.field(h.objectIdField),[w[0].keyField]);if(e){const t=B.create(A[0].keyField+"= @id",F.getFieldsIndex());return t.parameters={id:e.attributes[w[0].keyField]},F.filter(t)}return new z({parentfeatureset:F})}const N=B.create(A[0].keyField+"= @id",F.getFieldsIndex());return N.parameters={id:l.field(w[0].keyField)},F.filter(N)}))},_.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),_.functions.featuresetbyassociation=function(e,t){return _.standardFunctionAsync(e,t,(async(n,r,s)=>{p(s,2,3,e,t);const l=s[0],o=g(D(s[1],"")).toLowerCase(),u=h(s[2])?g(s[2]):null;if(null===s[0])return null;if(!x(s[0]))throw new i(e,a.InvalidParameter,t);let c=l._layer;if(c instanceof q&&(c=f(c,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===c)return null;if(!1===y(c))return null;await c.load();const m=c.serviceUrl(),w=await d(m,e.spatialReference);let I=null,F=null,E=!1;if(null!==u&&""!==u&&void 0!==u){for(const e of w.terminals)e.terminalName===u&&(F=e.terminalId);null===F&&(E=!0)}const b=w.associations.getFieldsIndex(),A=b.get("TOGLOBALID").name,N=b.get("FROMGLOBALID").name,S=b.get("TOTERMINALID").name,T=b.get("FROMTERMINALID").name,$=b.get("FROMNETWORKSOURCEID").name,M=b.get("TONETWORKSOURCEID").name,O=b.get("ASSOCIATIONTYPE").name,k=b.get("ISCONTENTVISIBLE").name,z=b.get("OBJECTID").name;for(const e of c.fields)if("global-id"===e.type){I=l.field(e.name);break}let H=null,Z=new v(new V({name:"percentalong",alias:"percentalong",type:"double"}),B.create("0",w.associations.getFieldsIndex())),W=new v(new V({name:"side",alias:"side",type:"string"}),B.create("''",w.associations.getFieldsIndex()));const _="globalid",U="globalId",J={};for(const e in w.lkp)J[e]=w.lkp[e].sourceId;const Q=new P(new V({name:"classname",alias:"classname",type:"string"}),null,J);let K="";switch(o){case"midspan":{K=`((${A}='${I}') OR ( ${N}='${I}')) AND (${O} IN (5))`,Q.codefield=B.create(`CASE WHEN (${A}='${I}') THEN ${$} ELSE ${M} END`,w.associations.getFieldsIndex());const e=G(j.findField(w.associations.fields,N));e.name=_,e.alias=_,H=new v(e,B.create(`CASE WHEN (${N}='${I}') THEN ${A} ELSE ${N} END`,w.associations.getFieldsIndex())),Z=w.unVersion>=4?new C(j.findField(w.associations.fields,b.get("PERCENTALONG").name)):new v(new V({name:"percentalong",alias:"percentalong",type:"double"}),B.create("0",w.associations.getFieldsIndex()));break}case"junctionedge":{K=`((${A}='${I}') OR ( ${N}='${I}')) AND (${O} IN (4,6))`,Q.codefield=B.create(`CASE WHEN (${A}='${I}') THEN ${$} ELSE ${M} END`,w.associations.getFieldsIndex());const e=G(j.findField(w.associations.fields,N));e.name=_,e.alias=_,H=new v(e,B.create(`CASE WHEN (${N}='${I}') THEN ${A} ELSE ${N} END`,w.associations.getFieldsIndex())),W=new v(new V({name:"side",alias:"side",type:"string"}),B.create(`CASE WHEN (${O}=4) THEN 'from' ELSE 'to' END`,w.associations.getFieldsIndex()));break}case"connected":{let e=`${A}='@T'`,t=`${N}='@T'`;null!==F&&(e+=` AND ${S}=@A`,t+=` AND ${T}=@A`),K="(("+e+") OR ("+t+"))",K=L(K,"@T",I??""),e=L(e,"@T",I??""),null!==F&&(e=L(e,"@A",F.toString()),K=L(K,"@A",F.toString())),Q.codefield=B.create("CASE WHEN "+e+` THEN ${$} ELSE ${M} END`,w.associations.getFieldsIndex());const n=G(j.findField(w.associations.fields,N));n.name=_,n.alias=_,H=new v(n,B.create("CASE WHEN "+e+` THEN ${N} ELSE ${A} END`,w.associations.getFieldsIndex()));break}case"container":K=`${A}='${I}' AND ${O} = 2`,null!==F&&(K+=` AND ${S} = `+F.toString()),Q.codefield=$,K="( "+K+" )",H=new R(j.findField(w.associations.fields,N),_,_);break;case"content":K=`(${N}='${I}' AND ${O} = 2)`,null!==F&&(K+=` AND ${T} = `+F.toString()),Q.codefield=M,K="( "+K+" )",H=new R(j.findField(w.associations.fields,A),_,_);break;case"structure":K=`(${A}='${I}' AND ${O} = 3)`,null!==F&&(K+=` AND ${S} = `+F.toString()),Q.codefield=$,K="( "+K+" )",H=new R(j.findField(w.associations.fields,N),_,U);break;case"attached":K=`(${N}='${I}' AND ${O} = 3)`,null!==F&&(K+=` AND ${T} = `+F.toString()),Q.codefield=M,K="( "+K+" )",H=new R(j.findField(w.associations.fields,A),_,U);break;default:throw new i(e,a.InvalidParameter,t)}E&&(K="1 <> 1");return new j({parentfeatureset:w.associations,adaptedFields:[new C(j.findField(w.associations.fields,z)),new C(j.findField(w.associations.fields,k)),H,W,Q,Z],extraFilter:K?B.create(K,w.associations.getFieldsIndex()):null})}))},_.signatures.push({name:"featuresetbyassociation",min:2,max:6}),_.functions.groupby=function(e,t){return _.standardFunctionAsync(e,t,(async(r,s,l)=>{if(p(l,3,3,e,t),!y(l[0]))throw new i(e,a.InvalidParameter,t);const o=await l[0].load(),f=[],u=[];let c=!1,d=[];if(h(l[1]))d.push(l[1]);else if(l[1]instanceof n)d.push(l[1]);else if(b(l[1]))d=l[1];else{if(!A(l[1]))throw new i(e,a.InvalidParameter,t);d=l[1].toArray()}for(const m of d)if(h(m)){const e=B.create(g(m),o.getFieldsIndex()),t=!0===W(e)?g(m):"%%%%FIELDNAME";f.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(c=!0)}else{if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"%%%%FIELDNAME",r=m.hasField("expression")?m.field("expression"):"";if("%%%%FIELDNAME"===n&&(c=!0),!n)throw new i(e,a.InvalidParameter,t);f.push({name:n,expression:B.create(r||n,o.getFieldsIndex())})}}if(d=[],h(l[2]))d.push(l[2]);else if(b(l[2]))d=l[2];else if(A(l[2]))d=l[2].toArray();else{if(!(l[2]instanceof n))throw new i(e,a.InvalidParameter,t);d.push(l[2])}for(const m of d){if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"",r=m.hasField("statistic")?m.field("statistic"):"",s=m.hasField("expression")?m.field("expression"):"";if(!n||!r||!s)throw new i(e,a.InvalidParameter,t);u.push({name:n,statistic:r.toLowerCase(),expression:B.create(s,o.getFieldsIndex())})}}if(c){const e={};for(const n of o.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of u)"%%%%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 t of f)await K(t.expression,_,e);for(const t of u)await K(t.expression,_,e);return l[0].groupby(f,u)}))},_.signatures.push({name:"groupby",min:3,max:3}),_.functions.distinct=function(e,t){return _.standardFunctionAsync(e,t,(async(r,s,l)=>{if(y(l[0])){p(l,2,2,e,t);const r=await l[0].load(),s=[];let o=[];if(h(l[1]))o.push(l[1]);else if(l[1]instanceof n)o.push(l[1]);else if(b(l[1]))o=l[1];else{if(!A(l[1]))throw new i(e,a.InvalidParameter,t);o=l[1].toArray()}let f=!1;for(const l of o)if(h(l)){const e=B.create(g(l),r.getFieldsIndex()),t=!0===W(e)?g(l):"%%%%FIELDNAME";s.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(f=!0)}else{if(!(l instanceof n))throw new i(e,a.InvalidParameter,t);{const n=l.hasField("name")?l.field("name"):"%%%%FIELDNAME",o=l.hasField("expression")?l.field("expression"):"";if("%%%%FIELDNAME"===n&&(f=!0),!n)throw new i(e,a.InvalidParameter,t);s.push({name:n,expression:B.create(o||n,r.getFieldsIndex())})}}if(f){const e={};for(const n of r.fields)e[n.name.toLowerCase()]=1;for(const n of s)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of s)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of s)await K(t.expression,_,e);return l[0].groupby(s,[])}return Q("distinct",r,s,l)}))})}export{ae 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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeExecutionError as e,ExecutionErrorCodes as n}from"../executionError.js";import{shapeExtent as t}from"../kernel.js";import{
|
|
5
|
+
import{ArcadeExecutionError as e,ExecutionErrorCodes as n}from"../executionError.js";import{shapeExtent as t}from"../kernel.js";import{D as r,C as i,j as a,r as s}from"../../chunks/languageUtils.js";import u from"../featureset/actions/SpatialFilter.js";import o from"../featureset/sources/Empty.js";import l from"../../geometry/Geometry.js";import{relate as c,crosses as f,touches as p,within as m,overlaps as d,contains as w,intersects as h}from"../../geometry/geometryEngineAsync.js";function y(e){return e instanceof l}function S(i,a,c,S){return S(i,a,(async(S,R,v)=>{if(v.length<2)throw new e(i,n.WrongNumberOfParameters,a);if(null===(v=r(v))[0]&&null===v[1])return!1;if(s(v[0])){if(v[1]instanceof l)return new u({parentfeatureset:v[0],relation:c,relationGeom:v[1]});if(null===v[1])return new o({parentfeatureset:v[0]});throw new e(i,n.InvalidParameter,a)}if(y(v[0])){if(y(v[1])){switch(c){case"esriSpatialRelEnvelopeIntersects":return h(t(v[0]),t(v[1]));case"esriSpatialRelIntersects":return h(v[0],v[1]);case"esriSpatialRelContains":return w(v[0],v[1]);case"esriSpatialRelOverlaps":return d(v[0],v[1]);case"esriSpatialRelWithin":return m(v[0],v[1]);case"esriSpatialRelTouches":return p(v[0],v[1]);case"esriSpatialRelCrosses":return f(v[0],v[1])}throw new e(i,n.InvalidParameter,a)}if(s(v[1]))return new u({parentfeatureset:v[1],relation:c,relationGeom:v[0]});if(null===v[1])return!1;throw new e(i,n.InvalidParameter,a)}if(null!==v[0])throw new e(i,n.InvalidParameter,a);return s(v[1])?new o({parentfeatureset:v[1]}):!(v[1]instanceof l||null===v[1])&&void 0}))}function R(t){"async"===t.mode&&(t.functions.intersects=function(e,n){return S(e,n,"esriSpatialRelIntersects",t.standardFunctionAsync)},t.functions.envelopeintersects=function(e,n){return S(e,n,"esriSpatialRelEnvelopeIntersects",t.standardFunctionAsync)},t.signatures.push({name:"envelopeintersects",min:2,max:2}),t.functions.contains=function(e,n){return S(e,n,"esriSpatialRelContains",t.standardFunctionAsync)},t.functions.overlaps=function(e,n){return S(e,n,"esriSpatialRelOverlaps",t.standardFunctionAsync)},t.functions.within=function(e,n){return S(e,n,"esriSpatialRelWithin",t.standardFunctionAsync)},t.functions.touches=function(e,n){return S(e,n,"esriSpatialRelTouches",t.standardFunctionAsync)},t.functions.crosses=function(e,n){return S(e,n,"esriSpatialRelCrosses",t.standardFunctionAsync)},t.functions.relate=function(u,f){return t.standardFunctionAsync(u,f,((t,p,m)=>{if(m=r(m),i(m,3,3,u,f),y(m[0])&&y(m[1]))return c(m[0],m[1],a(m[2]));if(m[0]instanceof l&&null===m[1])return!1;if(m[1]instanceof l&&null===m[0])return!1;if(s(m[0])&&null===m[1])return new o({parentfeatureset:m[0]});if(s(m[1])&&null===m[0])return new o({parentfeatureset:m[1]});if(s(m[0])&&m[1]instanceof l)return m[0].relate(m[1],a(m[2]));if(s(m[1])&&m[0]instanceof l)return m[1].relate(m[0],a(m[2]));if(null===m[0]&&null===m[1])return!1;throw new e(u,n.InvalidParameter,f)}))})}export{R 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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import{C as r,r as e,m as a,c as i,o as s,
|
|
5
|
+
import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import{C as r,r as e,m as a,c as i,o as s,F as c}from"../../chunks/languageUtils.js";import{calculateStat as o}from"./fieldStats.js";import{WhereClause as u}from"../../core/sql/WhereClause.js";async function f(n,t,r,i,f,d){if(1===i.length){if(a(i[0]))return o(n,i[0],c(i[1],-1));if(s(i[0]))return o(n,i[0].toArray(),c(i[1],-1))}else if(2===i.length){if(a(i[0]))return o(n,i[0],c(i[1],-1));if(s(i[0]))return o(n,i[0].toArray(),c(i[1],-1));if(e(i[0])){const r=await i[0].load(),e=await l(u.create(i[1],r.getFieldsIndex()),d,f);return i[0].calculateStatistic(n,e,c(i[2],1e3),t.abortSignal)}}else if(3===i.length&&e(i[0])){const r=await i[0].load(),e=await l(u.create(i[1],r.getFieldsIndex()),d,f);return i[0].calculateStatistic(n,e,c(i[2],1e3),t.abortSignal)}return o(n,i,-1)}async function l(n,t,r){const e=n.getVariables();if(e.length>0){const a=[];for(let n=0;n<e.length;n++){const i={name:e[n]};a.push(await t.evaluateIdentifier(r,i))}const i={};for(let n=0;n<e.length;n++)i[e[n]]=a[n];return n.parameters=i,n}return n}function d(c){"async"===c.mode&&(c.functions.stdev=function(n,t){return c.standardFunctionAsync(n,t,((t,r,e)=>f("stdev",t,r,e,n,c)))},c.functions.variance=function(n,t){return c.standardFunctionAsync(n,t,((t,r,e)=>f("variance",t,r,e,n,c)))},c.functions.average=function(n,t){return c.standardFunctionAsync(n,t,((t,r,e)=>f("mean",t,r,e,n,c)))},c.functions.mean=function(n,t){return c.standardFunctionAsync(n,t,((t,r,e)=>f("mean",t,r,e,n,c)))},c.functions.sum=function(n,t){return c.standardFunctionAsync(n,t,((t,r,e)=>f("sum",t,r,e,n,c)))},c.functions.min=function(n,t){return c.standardFunctionAsync(n,t,((t,r,e)=>f("min",t,r,e,n,c)))},c.functions.max=function(n,t){return c.standardFunctionAsync(n,t,((t,r,e)=>f("max",t,r,e,n,c)))},c.functions.count=function(o,u){return c.standardFunctionAsync(o,u,((c,f,l)=>{if(r(l,1,1,o,u),e(l[0]))return l[0].count(c.abortSignal);if(a(l[0])||i(l[0]))return l[0].length;if(s(l[0]))return l[0].length();throw new n(o,t.InvalidParameter,u)}))})}export{d 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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import n from"../Dictionary.js";import{ArcadeExecutionError as a,ExecutionErrorCodes as e}from"../executionError.js";import{C as t,p as r,U as o,j as i,r as c,a1 as s,T as d,
|
|
5
|
+
import n from"../Dictionary.js";import{ArcadeExecutionError as a,ExecutionErrorCodes as e}from"../executionError.js";import{C as t,p as r,U as o,j as i,r as c,a1 as s,T as d,J as u,V as m,a2 as f,W as l,a3 as y,F as v,t as p,S as w}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as T}from"../featureset/support/shared.js";function h(a,e){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:a.domain.name,dataType:T[a.field.type],codedValues:a.domain.codedValues.map((n=>({name:n.name,code:n.code})))},u(e)):n.convertObjectToArcadeDictionary({type:"range",name:a.domain.name,dataType:T[a.field.type],min:a.domain.min,max:a.domain.max},u(e)):null}function b(T){"async"===T.mode&&(T.functions.domain=function(n,d){return T.standardFunctionAsync(n,d,(async(u,m,f)=>{if(t(f,2,3,n,d),r(f[0])){return h(o(f[0],i(f[1]),void 0===f[2]?void 0:f[2]),n)}if(c(f[0])){await f[0]._ensureLoaded();return h(s(i(f[1]),f[0],null,void 0===f[2]?void 0:f[2]),n)}throw new a(n,e.InvalidParameter,d)}))},T.functions.subtypes=function(o,i){return T.standardFunctionAsync(o,i,(async(s,m,f)=>{if(t(f,1,1,o,i),r(f[0])){const a=d(f[0]);return a?n.convertObjectToArcadeDictionary(a,u(o)):null}if(c(f[0])){await f[0]._ensureLoaded();const a=f[0].subtypes();return a?n.convertObjectToArcadeDictionary(a,u(o)):null}throw new a(o,e.InvalidParameter,i)}))},T.functions.domainname=function(n,o){return T.standardFunctionAsync(n,o,(async(d,u,l)=>{if(t(l,2,4,n,o),r(l[0]))return m(l[0],i(l[1]),l[2],void 0===l[3]?void 0:l[3]);if(c(l[0])){await l[0]._ensureLoaded();const n=s(i(l[1]),l[0],null,void 0===l[3]?void 0:l[3]);return f(n,l[2])}throw new a(n,e.InvalidParameter,o)}))},T.signatures.push({name:"domainname",min:2,max:4}),T.functions.domaincode=function(n,o){return T.standardFunctionAsync(n,o,(async(d,u,m)=>{if(t(m,2,4,n,o),r(m[0]))return l(m[0],i(m[1]),m[2],void 0===m[3]?void 0:m[3]);if(c(m[0])){await m[0]._ensureLoaded();const n=s(i(m[1]),m[0],null,void 0===m[3]?void 0:m[3]);return y(n,m[2])}throw new a(n,e.InvalidParameter,o)}))},T.signatures.push({name:"domaincode",min:2,max:4})),T.functions.text=function(n,a){return T.standardFunctionAsync(n,a,((e,r,o)=>{if(t(o,1,2,n,a),!c(o[0]))return p(o[0],o[1]);{const n=v(o[1],"");if(""===n)return o[0].castToText();if("schema"===n.toLowerCase())return o[0].convertToText("schema",e.abortSignal);if("featureset"===n.toLowerCase())return o[0].convertToText("featureset",e.abortSignal)}}))},T.functions.gdbversion=function(n,o){return T.standardFunctionAsync(n,o,(async(i,s,d)=>{if(t(d,1,1,n,o),r(d[0]))return d[0].gdbVersion();if(c(d[0])){return(await d[0].load()).gdbVersion}throw new a(n,e.InvalidParameter,o)}))},T.functions.schema=function(o,i){return T.standardFunctionAsync(o,i,(async(s,d,m)=>{if(t(m,1,1,o,i),c(m[0]))return await m[0].load(),n.convertObjectToArcadeDictionary(m[0].schema(),u(o));if(r(m[0])){const a=w(m[0]);return a?n.convertObjectToArcadeDictionary(a,u(o)):null}throw new a(o,e.InvalidParameter,i)}))}}export{b 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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{version as n}from"../../kernel.js";import t from"../ArcadePortal.js";import e from"../Dictionary.js";import{ArcadeExecutionError as r,ExecutionErrorCodes as i}from"../executionError.js";import{cloneGeometry as a,convertSquareUnitsToCode as o,convertLinearUnitsToCode as l}from"../kernel.js";import{L as s,C as u,k as c,j as f,m as d,o as m,y as w,r as h,D as y,N as p,M as g,O as v,g as P,h as I,G as A}from"../../chunks/languageUtils.js";import{getPortal as F,lookupUser as R}from"../portalUtils.js";import{centroidPolyline as j,centroidMultiPoint as x,getMetersPerVerticalUnitForSR as N,segmentLength3d as b}from"./centroid.js";import{getMetersPerUnitForSR as O}from"../../core/unitUtils.js";import S from"../../geometry/Extent.js";import D from"../../geometry/Geometry.js";import{disjoint as k,intersects as M,touches as C,crosses as Z,within as J,contains as L,overlaps as U,equals as z,relate as E,intersect as T,union as W,difference as q,symmetricDifference as G,clip as V,cut as B,planarArea as H,geodesicArea as K,planarLength as Q,geodesicLength as X,distance as Y,densify as $,geodesicDensify as _,generalize as nn,buffer as tn,geodesicBuffer as en,offset as rn,rotate as an,simplify as on,isSimple as ln,convexHull as sn,nearestCoordinate as un,nearestVertex as cn}from"../../geometry/geometryEngineAsync.js";import fn from"../../geometry/Multipoint.js";import dn from"../../geometry/Point.js";import mn from"../../geometry/Polygon.js";import wn from"../../geometry/Polyline.js";import{fromJSON as hn}from"../../geometry/support/jsonUtils.js";import yn from"../../portal/Portal.js";function pn(t){return 0===n.indexOf("4.")?mn.fromExtent(t):new mn({spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]})}function gn(n,t,e){if(u(n,2,2,t,e),n[0]instanceof D&&n[1]instanceof D);else if(n[0]instanceof D&&null===n[1]);else if(n[1]instanceof D&&null===n[0]);else if(null!==n[0]||null!==n[1])throw new r(t,i.InvalidParameter,e)}async function vn(n,t){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let e=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){e=N(n.spatialReference)/O(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=b(a[n],a[n-1],e);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=b(a[n],a[n-1],e);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=b(a[0],a[a.length-1],e))}else"extent"===n.type&&(r+=2*b([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],e),r+=2*b([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],e),r*=2,r+=4*Math.abs(y(n.zmax,0)*e-y(n.zmin,0)*e));const i=new wn({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return Q(i,t)}function Pn(n){"async"===n.mode&&(n.functions.disjoint=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]||null===i[1]||k(i[0],i[1]))))},n.functions.intersects=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&M(i[0],i[1]))))},n.functions.touches=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&C(i[0],i[1]))))},n.functions.crosses=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&Z(i[0],i[1]))))},n.functions.within=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&J(i[0],i[1]))))},n.functions.contains=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&L(i[0],i[1]))))},n.functions.overlaps=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&U(i[0],i[1]))))},n.functions.equals=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(u(i,2,2,t,e),i[0]===i[1]||(i[0]instanceof D&&i[1]instanceof D?z(i[0],i[1]):!(!c(i[0])||!c(i[1]))&&i[0].equals(i[1])))))},n.functions.relate=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,3,3,t,e),o[0]instanceof D&&o[1]instanceof D)return E(o[0],o[1],f(o[2]));if(o[0]instanceof D&&null===o[1])return!1;if(o[1]instanceof D&&null===o[0])return!1;if(null===o[0]&&null===o[1])return!1;throw new r(t,i.InvalidParameter,e)}))},n.functions.intersection=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]||null===i[1]?null:T(i[0],i[1]))))},n.functions.union=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{const u=[];if(0===(l=s(l)).length)throw new r(t,i.WrongNumberOfParameters,e);if(1===l.length)if(d(l[0])){const n=s(l[0]);for(let a=0;a<n.length;a++)if(null!==n[a]){if(!(n[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(n[a])}}else{if(!m(l[0])){if(l[0]instanceof D)return w(a(l[0]),t.spatialReference);if(null===l[0])return null;throw new r(t,i.InvalidParameter,e)}{const n=s(l[0].toArray());for(let a=0;a<n.length;a++)if(null!==n[a]){if(!(n[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(n[a])}}}else for(let a=0;a<l.length;a++)if(null!==l[a]){if(!(l[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(l[a])}return 0===u.length?null:W(u)}))},n.functions.difference=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null===i[1]?a(i[0]):null===i[0]?null:q(i[0],i[1]))))},n.functions.symmetricdifference=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]&&null===i[1]?null:null===i[0]?a(i[1]):null===i[1]?a(i[0]):G(i[0],i[1]))))},n.functions.clip=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,2,t,e),!(o[1]instanceof S)&&null!==o[1])throw new r(t,i.InvalidParameter,e);if(null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return null===o[1]?null:V(o[0],o[1])}))},n.functions.cut=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=s(l),u(l,2,2,t,e),!(l[1]instanceof wn)&&null!==l[1])throw new r(t,i.InvalidParameter,e);if(null===l[0])return[];if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return null===l[1]?[a(l[0])]:B(l[0],l[1])}))},n.functions.area=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,l)=>{if(u(l,1,2,t,e),null===(l=s(l))[0])return 0;if(h(l[0])){const n=await l[0].sumArea(o(y(l[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(l[0])||m(l[0])){const n=p(l[0],t.spatialReference);return null===n?0:H(n,o(y(l[1],-1)))}if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return H(l[0],o(y(l[1],-1)))}))},n.functions.areageodetic=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,l)=>{if(u(l,1,2,t,e),null===(l=s(l))[0])return 0;if(h(l[0])){const n=await l[0].sumArea(o(y(l[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(l[0])||m(l[0])){const n=p(l[0],t.spatialReference);return null===n?0:K(n,o(y(l[1],-1)))}if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return K(l[0],o(y(l[1],-1)))}))},n.functions.length=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(h(o[0])){const n=await o[0].sumLength(l(y(o[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:Q(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return Q(o[0],l(y(o[1],-1)))}))},n.functions.length3d=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:!0===n.hasZ?vn(n,l(y(o[1],-1))):Q(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return!0===o[0].hasZ?vn(o[0],l(y(o[1],-1))):Q(o[0],l(y(o[1],-1)))}))},n.functions.lengthgeodetic=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(h(o[0])){const n=await o[0].sumLength(l(y(o[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:X(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return X(o[0],l(y(o[1],-1)))}))},n.functions.distance=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);let c=o[0];(d(o[0])||m(o[0]))&&(c=v(o[0],t.spatialReference));let f=o[1];if((d(o[1])||m(o[1]))&&(f=v(o[1],t.spatialReference)),!(c instanceof D))throw new r(t,i.InvalidParameter,e);if(!(f instanceof D))throw new r(t,i.InvalidParameter,e);return Y(c,f,l(y(o[2],-1)))}))},n.functions.distancegeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);const c=o[0],f=o[1];if(!(c instanceof dn))throw new r(t,i.InvalidParameter,e);if(!(f instanceof dn))throw new r(t,i.InvalidParameter,e);const d=new wn({paths:[],spatialReference:c.spatialReference});return d.addPath([c,f]),X(d,l(y(o[2],-1)))}))},n.functions.densify=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,3,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);if(c<=0)throw new r(t,i.InvalidParameter,e);return o[0]instanceof mn||o[0]instanceof wn?$(o[0],c,l(y(o[2],-1))):o[0]instanceof S?$(pn(o[0]),c,l(y(o[2],-1))):o[0]}))},n.functions.densifygeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,3,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);if(c<=0)throw new r(t,i.InvalidParameter,e);return o[0]instanceof mn||o[0]instanceof wn?_(o[0],c,l(y(o[2],-1))):o[0]instanceof S?_(pn(o[0]),c,l(y(o[2],-1))):o[0]}))},n.functions.generalize=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,4,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);return nn(o[0],c,I(y(o[2],!0)),l(y(o[3],-1)))}))},n.functions.buffer=function(t,e){return n.standardFunctionAsync(t,e,((n,o,c)=>{if(c=s(c),u(c,2,3,t,e),null===c[0])return null;if(!(c[0]instanceof D))throw new r(t,i.InvalidParameter,e);const f=P(c[1]);if(isNaN(f))throw new r(t,i.InvalidParameter,e);return 0===f?a(c[0]):tn(c[0],f,l(y(c[2],-1)))}))},n.functions.buffergeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,o,c)=>{if(c=s(c),u(c,2,3,t,e),null===c[0])return null;if(!(c[0]instanceof D))throw new r(t,i.InvalidParameter,e);const f=P(c[1]);if(isNaN(f))throw new r(t,i.InvalidParameter,e);return 0===f?a(c[0]):en(c[0],f,l(y(c[2],-1)))}))},n.functions.offset=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,6,t,e),null===o[0])return null;if(!(o[0]instanceof mn||o[0]instanceof wn))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);const d=P(y(o[4],10));if(isNaN(d))throw new r(t,i.InvalidParameter,e);const m=P(y(o[5],0));if(isNaN(m))throw new r(t,i.InvalidParameter,e);return rn(o[0],c,l(y(o[2],-1)),f(y(o[3],"round")).toLowerCase(),d,m)}))},n.functions.rotate=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);let l=o[0];if(null===l)return null;if(!(l instanceof D))throw new r(t,i.InvalidParameter,e);l instanceof S&&(l=mn.fromExtent(l));const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);const f=y(o[2],null);if(null===f)return an(l,c);if(f instanceof dn)return an(l,c,f);throw new r(t,i.InvalidParameter,e)}))},n.functions.centroid=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=s(l),u(l,1,1,t,e),null===l[0])return null;let c=l[0];if((d(l[0])||m(l[0]))&&(c=v(l[0],t.spatialReference)),null===c)return null;if(!(c instanceof D))throw new r(t,i.InvalidParameter,e);return c instanceof dn?w(a(l[0]),t.spatialReference):c instanceof mn?c.centroid:c instanceof wn?j(c):c instanceof fn?x(c):c instanceof S?c.center:null}))},n.functions.multiparttosinglepart=function(t,e){return n.standardFunctionAsync(t,e,(async(n,o,l)=>{l=s(l),u(l,1,1,t,e);const c=[];if(null===l[0])return null;if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);if(l[0]instanceof dn)return[w(a(l[0]),t.spatialReference)];if(l[0]instanceof S)return[w(a(l[0]),t.spatialReference)];const f=await on(l[0]);if(f instanceof mn){const n=[],t=[];for(let e=0;e<f.rings.length;e++)if(f.isClockwise(f.rings[e])){const t=hn({rings:[f.rings[e]],hasZ:!0===f.hasZ,hazM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});n.push(t)}else t.push({ring:f.rings[e],pt:f.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(f instanceof wn){const n=[];for(let t=0;t<f.paths.length;t++){const e=hn({paths:[f.paths[t]],hasZ:!0===f.hasZ,hazM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});n.push(e)}return n}if(l[0]instanceof fn){const n=w(a(l[0]),t.spatialReference);for(let t=0;t<n.points.length;t++)c.push(n.getPoint(t));return c}return null}))},n.functions.issimple=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return!0;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return ln(o[0])}))},n.functions.simplify=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return on(o[0])}))},n.functions.convexhull=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return sn(o[0])}))},n.functions.getuser=function(a,o){return n.standardFunctionAsync(a,o,(async(n,l,s)=>{u(s,0,2,a,o);let c=y(s[1],""),d=!0===c;if(c=!0===c||!1===c?"":f(c),0===s.length||s[0]instanceof t){let n=null;n=a.services&&a.services.portal?a.services.portal:yn.getDefault(),s.length>0&&(n=F(s[0],n));const t=await R(n,c,d);if(t){const n=JSON.parse(JSON.stringify(t));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return e.convertObjectToArcadeDictionary(n,A(a))}return null}let m=null;if(h(s[0])&&(m=s[0]),m){if(d=!1,c)return null;await m.load();const n=await m.getOwningSystemUrl();if(!n){if(!c){const n=await m.getIdentityUser();return n?e.convertObjectToArcadeDictionary({username:n},A(a)):null}return null}let r=null;r=a.services&&a.services.portal?a.services.portal:yn.getDefault(),r=F(new t(n),r);const i=await R(r,c,d);if(i){const n=JSON.parse(JSON.stringify(i));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return e.convertObjectToArcadeDictionary(n,A(a))}return null}throw new r(a,i.InvalidParameter,o)}))}),n.functions.nearestcoordinate=function(t,a){return n.standardFunctionAsync(t,a,(async(n,o,l)=>{if(l=s(l),u(l,2,2,t,a),!(l[0]instanceof D||null===l[0]))throw new r(t,i.InvalidParameter,a);if(!(l[1]instanceof dn||null===l[1]))throw new r(t,i.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const c=await un(l[0],l[1]);return null===c?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance},A(t),!1,!0)}))},n.functions.nearestvertex=function(t,a){return n.standardFunctionAsync(t,a,(async(n,o,l)=>{if(l=s(l),u(l,2,2,t,a),!(l[0]instanceof D||null===l[0]))throw new r(t,i.InvalidParameter,a);if(!(l[1]instanceof dn||null===l[1]))throw new r(t,i.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const c=await cn(l[0],l[1]);return null===c?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance},A(t),!1,!0)}))}}export{Pn as registerFunctions};
|
|
5
|
+
import{version as n}from"../../kernel.js";import t from"../ArcadePortal.js";import e from"../Dictionary.js";import{ArcadeExecutionError as r,ExecutionErrorCodes as i}from"../executionError.js";import{cloneGeometry as a,convertSquareUnitsToCode as o,convertLinearUnitsToCode as l}from"../kernel.js";import{D as s,C as u,k as c,j as f,m as d,o as m,y as w,r as h,F as y,E as p,G as g,H as v,g as P,h as I,J as A}from"../../chunks/languageUtils.js";import{getPortal as F,lookupUser as R}from"../portalUtils.js";import{centroidPolyline as j,centroidMultiPoint as x,getMetersPerVerticalUnitForSR as N,segmentLength3d as b}from"./centroid.js";import{getMetersPerUnitForSR as S}from"../../core/unitUtils.js";import O from"../../geometry/Extent.js";import D from"../../geometry/Geometry.js";import{disjoint as k,intersects as C,touches as J,crosses as M,within as Z,contains as E,overlaps as U,equals as z,relate as L,intersect as T,union as W,difference as q,symmetricDifference as G,clip as H,cut as V,planarArea as B,geodesicArea as K,planarLength as Q,geodesicLength as X,distance as Y,densify as $,geodesicDensify as _,generalize as nn,buffer as tn,geodesicBuffer as en,offset as rn,rotate as an,simplify as on,isSimple as ln,convexHull as sn,nearestCoordinate as un,nearestVertex as cn}from"../../geometry/geometryEngineAsync.js";import fn from"../../geometry/Multipoint.js";import dn from"../../geometry/Point.js";import mn from"../../geometry/Polygon.js";import wn from"../../geometry/Polyline.js";import{fromJSON as hn}from"../../geometry/support/jsonUtils.js";import yn from"../../portal/Portal.js";function pn(t){return 0===n.indexOf("4.")?mn.fromExtent(t):new mn({spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]})}function gn(n,t,e){if(u(n,2,2,t,e),n[0]instanceof D&&n[1]instanceof D);else if(n[0]instanceof D&&null===n[1]);else if(n[1]instanceof D&&null===n[0]);else if(null!==n[0]||null!==n[1])throw new r(t,i.InvalidParameter,e)}async function vn(n,t){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let e=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){e=N(n.spatialReference)/S(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=b(a[n],a[n-1],e);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=b(a[n],a[n-1],e);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=b(a[0],a[a.length-1],e))}else"extent"===n.type&&(r+=2*b([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],e),r+=2*b([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],e),r*=2,r+=4*Math.abs(y(n.zmax,0)*e-y(n.zmin,0)*e));const i=new wn({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return Q(i,t)}function Pn(n){"async"===n.mode&&(n.functions.disjoint=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]||null===i[1]||k(i[0],i[1]))))},n.functions.intersects=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&C(i[0],i[1]))))},n.functions.touches=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&J(i[0],i[1]))))},n.functions.crosses=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&M(i[0],i[1]))))},n.functions.within=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&Z(i[0],i[1]))))},n.functions.contains=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&E(i[0],i[1]))))},n.functions.overlaps=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null!==i[1]&&U(i[0],i[1]))))},n.functions.equals=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(u(i,2,2,t,e),i[0]===i[1]||(i[0]instanceof D&&i[1]instanceof D?z(i[0],i[1]):!(!c(i[0])||!c(i[1]))&&i[0].equals(i[1])))))},n.functions.relate=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,3,3,t,e),o[0]instanceof D&&o[1]instanceof D)return L(o[0],o[1],f(o[2]));if(o[0]instanceof D&&null===o[1])return!1;if(o[1]instanceof D&&null===o[0])return!1;if(null===o[0]&&null===o[1])return!1;throw new r(t,i.InvalidParameter,e)}))},n.functions.intersection=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]||null===i[1]?null:T(i[0],i[1]))))},n.functions.union=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{const u=[];if(0===(l=s(l)).length)throw new r(t,i.WrongNumberOfParameters,e);if(1===l.length)if(d(l[0])){const n=s(l[0]);for(let a=0;a<n.length;a++)if(null!==n[a]){if(!(n[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(n[a])}}else{if(!m(l[0])){if(l[0]instanceof D)return w(a(l[0]),t.spatialReference);if(null===l[0])return null;throw new r(t,i.InvalidParameter,e)}{const n=s(l[0].toArray());for(let a=0;a<n.length;a++)if(null!==n[a]){if(!(n[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(n[a])}}}else for(let a=0;a<l.length;a++)if(null!==l[a]){if(!(l[a]instanceof D))throw new r(t,i.InvalidParameter,e);u.push(l[a])}return 0===u.length?null:W(u)}))},n.functions.difference=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null!==i[0]&&null===i[1]?a(i[0]):null===i[0]?null:q(i[0],i[1]))))},n.functions.symmetricdifference=function(t,e){return n.standardFunctionAsync(t,e,((n,r,i)=>(gn(i=s(i),t,e),null===i[0]&&null===i[1]?null:null===i[0]?a(i[1]):null===i[1]?a(i[0]):G(i[0],i[1]))))},n.functions.clip=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,2,t,e),!(o[1]instanceof O)&&null!==o[1])throw new r(t,i.InvalidParameter,e);if(null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return null===o[1]?null:H(o[0],o[1])}))},n.functions.cut=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=s(l),u(l,2,2,t,e),!(l[1]instanceof wn)&&null!==l[1])throw new r(t,i.InvalidParameter,e);if(null===l[0])return[];if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return null===l[1]?[a(l[0])]:V(l[0],l[1])}))},n.functions.area=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,l)=>{if(u(l,1,2,t,e),null===(l=s(l))[0])return 0;if(h(l[0])){const n=await l[0].sumArea(o(y(l[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(l[0])||m(l[0])){const n=p(l[0],t.spatialReference);return null===n?0:B(n,o(y(l[1],-1)))}if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return B(l[0],o(y(l[1],-1)))}))},n.functions.areageodetic=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,l)=>{if(u(l,1,2,t,e),null===(l=s(l))[0])return 0;if(h(l[0])){const n=await l[0].sumArea(o(y(l[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(l[0])||m(l[0])){const n=p(l[0],t.spatialReference);return null===n?0:K(n,o(y(l[1],-1)))}if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);return K(l[0],o(y(l[1],-1)))}))},n.functions.length=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(h(o[0])){const n=await o[0].sumLength(l(y(o[1],-1)),!1,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:Q(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return Q(o[0],l(y(o[1],-1)))}))},n.functions.length3d=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:!0===n.hasZ?vn(n,l(y(o[1],-1))):Q(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return!0===o[0].hasZ?vn(o[0],l(y(o[1],-1))):Q(o[0],l(y(o[1],-1)))}))},n.functions.lengthgeodetic=function(t,e){return n.standardFunctionAsync(t,e,(async(n,a,o)=>{if(u(o,1,2,t,e),null===(o=s(o))[0])return 0;if(h(o[0])){const n=await o[0].sumLength(l(y(o[1],-1)),!0,t.abortSignal);if(t.abortSignal.aborted)throw new r(t,i.Cancelled,e);return n}if(d(o[0])||m(o[0])){const n=g(o[0],t.spatialReference);return null===n?0:X(n,l(y(o[1],-1)))}if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return X(o[0],l(y(o[1],-1)))}))},n.functions.distance=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);let c=o[0];(d(o[0])||m(o[0]))&&(c=v(o[0],t.spatialReference));let f=o[1];if((d(o[1])||m(o[1]))&&(f=v(o[1],t.spatialReference)),!(c instanceof D))throw new r(t,i.InvalidParameter,e);if(!(f instanceof D))throw new r(t,i.InvalidParameter,e);return Y(c,f,l(y(o[2],-1)))}))},n.functions.distancegeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);const c=o[0],f=o[1];if(!(c instanceof dn))throw new r(t,i.InvalidParameter,e);if(!(f instanceof dn))throw new r(t,i.InvalidParameter,e);const d=new wn({paths:[],spatialReference:c.spatialReference});return d.addPath([c,f]),X(d,l(y(o[2],-1)))}))},n.functions.densify=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,3,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);if(c<=0)throw new r(t,i.InvalidParameter,e);return o[0]instanceof mn||o[0]instanceof wn?$(o[0],c,l(y(o[2],-1))):o[0]instanceof O?$(pn(o[0]),c,l(y(o[2],-1))):o[0]}))},n.functions.densifygeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,3,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);if(c<=0)throw new r(t,i.InvalidParameter,e);return o[0]instanceof mn||o[0]instanceof wn?_(o[0],c,l(y(o[2],-1))):o[0]instanceof O?_(pn(o[0]),c,l(y(o[2],-1))):o[0]}))},n.functions.generalize=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,4,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);return nn(o[0],c,I(y(o[2],!0)),l(y(o[3],-1)))}))},n.functions.buffer=function(t,e){return n.standardFunctionAsync(t,e,((n,o,c)=>{if(c=s(c),u(c,2,3,t,e),null===c[0])return null;if(!(c[0]instanceof D))throw new r(t,i.InvalidParameter,e);const f=P(c[1]);if(isNaN(f))throw new r(t,i.InvalidParameter,e);return 0===f?a(c[0]):tn(c[0],f,l(y(c[2],-1)))}))},n.functions.buffergeodetic=function(t,e){return n.standardFunctionAsync(t,e,((n,o,c)=>{if(c=s(c),u(c,2,3,t,e),null===c[0])return null;if(!(c[0]instanceof D))throw new r(t,i.InvalidParameter,e);const f=P(c[1]);if(isNaN(f))throw new r(t,i.InvalidParameter,e);return 0===f?a(c[0]):en(c[0],f,l(y(c[2],-1)))}))},n.functions.offset=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,2,6,t,e),null===o[0])return null;if(!(o[0]instanceof mn||o[0]instanceof wn))throw new r(t,i.InvalidParameter,e);const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);const d=P(y(o[4],10));if(isNaN(d))throw new r(t,i.InvalidParameter,e);const m=P(y(o[5],0));if(isNaN(m))throw new r(t,i.InvalidParameter,e);return rn(o[0],c,l(y(o[2],-1)),f(y(o[3],"round")).toLowerCase(),d,m)}))},n.functions.rotate=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{o=s(o),u(o,2,3,t,e);let l=o[0];if(null===l)return null;if(!(l instanceof D))throw new r(t,i.InvalidParameter,e);l instanceof O&&(l=mn.fromExtent(l));const c=P(o[1]);if(isNaN(c))throw new r(t,i.InvalidParameter,e);const f=y(o[2],null);if(null===f)return an(l,c);if(f instanceof dn)return an(l,c,f);throw new r(t,i.InvalidParameter,e)}))},n.functions.centroid=function(t,e){return n.standardFunctionAsync(t,e,((n,o,l)=>{if(l=s(l),u(l,1,1,t,e),null===l[0])return null;let c=l[0];if((d(l[0])||m(l[0]))&&(c=v(l[0],t.spatialReference)),null===c)return null;if(!(c instanceof D))throw new r(t,i.InvalidParameter,e);return c instanceof dn?w(a(l[0]),t.spatialReference):c instanceof mn?c.centroid:c instanceof wn?j(c):c instanceof fn?x(c):c instanceof O?c.center:null}))},n.functions.multiparttosinglepart=function(t,e){return n.standardFunctionAsync(t,e,(async(n,o,l)=>{l=s(l),u(l,1,1,t,e);const c=[];if(null===l[0])return null;if(!(l[0]instanceof D))throw new r(t,i.InvalidParameter,e);if(l[0]instanceof dn)return[w(a(l[0]),t.spatialReference)];if(l[0]instanceof O)return[w(a(l[0]),t.spatialReference)];const f=await on(l[0]);if(f instanceof mn){const n=[],t=[];for(let e=0;e<f.rings.length;e++)if(f.isClockwise(f.rings[e])){const t=hn({rings:[f.rings[e]],hasZ:!0===f.hasZ,hazM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});n.push(t)}else t.push({ring:f.rings[e],pt:f.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(f instanceof wn){const n=[];for(let t=0;t<f.paths.length;t++){const e=hn({paths:[f.paths[t]],hasZ:!0===f.hasZ,hazM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});n.push(e)}return n}if(l[0]instanceof fn){const n=w(a(l[0]),t.spatialReference);for(let t=0;t<n.points.length;t++)c.push(n.getPoint(t));return c}return null}))},n.functions.issimple=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return!0;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return ln(o[0])}))},n.functions.simplify=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return on(o[0])}))},n.functions.convexhull=function(t,e){return n.standardFunctionAsync(t,e,((n,a,o)=>{if(o=s(o),u(o,1,1,t,e),null===o[0])return null;if(!(o[0]instanceof D))throw new r(t,i.InvalidParameter,e);return sn(o[0])}))},n.functions.getuser=function(a,o){return n.standardFunctionAsync(a,o,(async(n,l,s)=>{u(s,0,2,a,o);let c=y(s[1],""),d=!0===c;if(c=!0===c||!1===c?"":f(c),0===s.length||s[0]instanceof t){let n=null;n=a.services&&a.services.portal?a.services.portal:yn.getDefault(),s.length>0&&(n=F(s[0],n));const t=await R(n,c,d);if(t){const n=JSON.parse(JSON.stringify(t));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return e.convertObjectToArcadeDictionary(n,A(a))}return null}let m=null;if(h(s[0])&&(m=s[0]),m){if(d=!1,c)return null;await m.load();const n=await m.getOwningSystemUrl();if(!n){if(!c){const n=await m.getIdentityUser();return n?e.convertObjectToArcadeDictionary({username:n},A(a)):null}return null}let r=null;r=a.services&&a.services.portal?a.services.portal:yn.getDefault(),r=F(new t(n),r);const i=await R(r,c,d);if(i){const n=JSON.parse(JSON.stringify(i));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return e.convertObjectToArcadeDictionary(n,A(a))}return null}throw new r(a,i.InvalidParameter,o)}))}),n.functions.nearestcoordinate=function(t,a){return n.standardFunctionAsync(t,a,(async(n,o,l)=>{if(l=s(l),u(l,2,2,t,a),!(l[0]instanceof D||null===l[0]))throw new r(t,i.InvalidParameter,a);if(!(l[1]instanceof dn||null===l[1]))throw new r(t,i.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const c=await un(l[0],l[1]);return null===c?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance},A(t),!1,!0)}))},n.functions.nearestvertex=function(t,a){return n.standardFunctionAsync(t,a,(async(n,o,l)=>{if(l=s(l),u(l,2,2,t,a),!(l[0]instanceof D||null===l[0]))throw new r(t,i.InvalidParameter,a);if(!(l[1]instanceof dn||null===l[1]))throw new r(t,i.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const c=await cn(l[0],l[1]);return null===c?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance},A(t),!1,!0)}))}}export{Pn 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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../Dictionary.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as n}from"../executionError.js";import r from"../Feature.js";import a from"../ImmutablePathArray.js";import i from"../ImmutablePointArray.js";import{C as o,m as l,o as s,y as c,K as f,L as u,v as m,c as h,j as p,k as w,b as d,a as y,i as g,f as R,G as I,p as v,A as P,M as b}from"../../chunks/languageUtils.js";import{angle2D as F,angleBetween2D as x,bearing2D as O,bearingBetween2D as j,pathsSelfIntersecting as S}from"./centroid.js";import k from"../../geometry/Extent.js";import N from"../../geometry/Geometry.js";import J from"../../geometry/Multipoint.js";import D from"../../geometry/Point.js";import G from"../../geometry/Polygon.js";import z from"../../geometry/Polyline.js";import{isClockwise as C}from"../../geometry/support/coordsUtils.js";import{fromJSON as M}from"../../geometry/support/jsonUtils.js";function _(e){return e&&"esri.arcade.Feature"===e.arcadeDeclaredClass}function A(a,A){a.ringisclockwise=function(e,r){return A(e,r,((a,c,f)=>{o(f,1,1,e,r);let u=[];if(null===f[0])return!1;if(l(f[0]))for(const i of f[0]){if(!(i instanceof D))throw new t(e,n.InvalidParameter,r);u.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(f[0]instanceof i)u=f[0]._elements;else{if(!s(f[0]))throw new t(e,n.InvalidParameter,r);for(const a of f[0].toArray()){if(!(a instanceof D))throw new t(e,n.InvalidParameter,r);u.push(a.hasZ?a.hasM?[a.x,a.y,a.z,a.m]:[a.x,a.y,a.z]:[a.x,a.y])}}return!(u.length<3)&&C(u)}))},a.polygon=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof G==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof G?M(u[0].toJSON()):c(new G(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.polyline=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof z==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof z?M(u[0].toJSON()):c(new z(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.point=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof D==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof D?M(u[0].toJSON()):c(new D(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.multipoint=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof J==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof J?M(u[0].toJSON()):c(new J(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.extent=function(a,i){return A(a,i,((l,s,m)=>{m=u(m),o(m,1,1,a,i);let h=null;if(m[0]instanceof e)h=c(r.parseGeometryFromDictionary(m[0]),a.spatialReference);else if(m[0]instanceof D){const e={xmin:m[0].x,ymin:m[0].y,xmax:m[0].x,ymax:m[0].y,spatialReference:m[0].spatialReference.toJSON()},t=m[0];t.hasZ?(e.zmin=t.z,e.zmax=t.z):t.hasM&&(e.mmin=t.m,e.mmax=t.m),h=M(e)}else h=m[0]instanceof G||m[0]instanceof z||m[0]instanceof J?M(m[0].extent?.toJSON()):m[0]instanceof k?M(m[0].toJSON()):c(new k(JSON.parse(m[0])),a.spatialReference);if(null!==h&&!1===h.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(h)}))},a.geometry=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(null===u[0])return null;if(m=_(u[0])?c(u[0].geometry(),a.spatialReference):u[0]instanceof e?c(r.parseGeometryFromDictionary(u[0]),a.spatialReference):c(M(JSON.parse(u[0])),a.spatialReference),null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.setgeometry=function(e,r){return A(e,r,((a,i,l)=>{if(o(l,2,2,e,r),!_(l[0]))throw new t(e,n.InvalidParameter,r);if(!0===l[0].immutable)throw new t(e,n.Immutable,r);if(!(l[1]instanceof N||null===l[1]))throw new t(e,n.InvalidParameter,r);return l[0]._geometry=l[1],m}))},a.feature=function(a,i){return A(a,i,((o,l,s)=>{if(0===s.length)throw new t(a,n.WrongNumberOfParameters,i);let f=null;if(1===s.length)if(h(s[0]))f=r.fromJson(JSON.parse(s[0]),a.timeReference);else if(_(s[0]))f=r.createFromArcadeFeature(s[0]);else if(s[0]instanceof N)f=r.createFromGraphicLikeObject(s[0],null,null,a.timeReference);else{if(!(s[0]instanceof e))throw new t(a,n.InvalidParameter,i);{let t=s[0].hasField("geometry")?s[0].field("geometry"):null,n=s[0].hasField("attributes")?s[0].field("attributes"):null;null!==t&&t instanceof e&&(t=r.parseGeometryFromDictionary(t)),null!==n&&(n=r.parseAttributesFromDictionary(n)),f=r.createFromGraphicLikeObject(t,n,null,a.timeReference)}}else if(2===s.length){let o=null,l=null;if(null!==s[0])if(s[0]instanceof N)o=s[0];else{if(!(o instanceof e))throw new t(a,n.InvalidParameter,i);o=r.parseGeometryFromDictionary(s[0])}if(null!==s[1]){if(!(s[1]instanceof e))throw new t(a,n.InvalidParameter,i);l=r.parseAttributesFromDictionary(s[1])}f=r.createFromGraphicLikeObject(o,l,null,a.timeReference)}else{let o=null;const l={};if(null!==s[0])if(s[0]instanceof N)o=s[0];else{if(!(o instanceof e))throw new t(a,n.InvalidParameter,i);o=r.parseGeometryFromDictionary(s[0])}for(let e=1;e<s.length;e+=2){const r=p(s[e]),o=s[e+1];if(!(null==o||h(o)||isNaN(o)||w(o)||d(o)||y(o)))throw new t(a,n.InvalidParameter,i);if(g(o)||!1===R(o))throw new t(a,n.InvalidParameter,i);l[r]=o===m?null:o}f=r.createFromGraphicLikeObject(o,l,null,a.timeReference)}return f._geometry=c(f.geometry(),a.spatialReference),f.immutable=!1,f}))},a.dictionary=function(r,a){return A(r,a,((i,o,c)=>{if(0===c.length||1===c.length&&null===c[0]){const t=new e;return t.immutable=!1,t}if(1===c.length&&h(c[0]))try{const t=JSON.parse(c[0]),n=e.convertObjectToArcadeDictionary(t,I(r),!1);return n.immutable=!1,n}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&c[0]instanceof N)try{const t=c[0].toJSON();t.hasZ=!0===c[0].hasZ,t.hasM=!0===c[0].hasM;const n=e.convertObjectToArcadeDictionary(t,I(r),!1);return n.immutable=!1,n}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&v(c[0]))try{const t=new e;t.immutable=!1,t.setField("geometry",c[0].geometry());const n=new e;n.immutable=!1,t.setField("attributes",n);for(const e of c[0].keys())n.setField(e,c[0].field(e));return t}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&c[0]instanceof e)try{const t=new e;t.immutable=!1;for(const e of c[0].keys())t.setField(e,c[0].field(e));return t}catch(R){throw new t(r,n.InvalidParameter,a)}if(2===c.length&&c[0]instanceof e&&y(c[1]))try{if(!(!0===c[1])){const t=new e;t.immutable=!1;for(const e of c[0].keys())t.setField(e,c[0].field(e));return t}return c[0].deepClone()}catch(R){throw new t(r,n.InvalidParameter,a)}if(c.length%2!=0)throw new t(r,n.WrongNumberOfParameters,a);const f={};for(let e=0;e<c.length;e+=2){const i=p(c[e]),o=c[e+1];if(!(null==o||h(o)||isNaN(o)||w(o)||d(o)||y(o)||l(o)||s(o)))throw new t(r,n.InvalidParameter,a);if(g(o))throw new t(r,n.InvalidParameter,a);f[i]=o===m?null:o}const u=new e(f);return u.immutable=!1,u}))},a.haskey=function(r,a){return A(r,a,((i,l,s)=>{o(s,2,2,r,a);const c=p(s[1]);if(_(s[0]))return s[0].hasField(c);if(s[0]instanceof e)return s[0].hasField(c);if(s[0]instanceof N){const e=W(s[0],c,null,null,2);return!e||"notfound"!==e.keystate}throw new t(r,n.InvalidParameter,a)}))},a.hasvalue=function(t,n){return A(t,n,((r,a,i)=>{if(o(i,2,2,t,n),null===i[0]||null===i[1])return!1;const l=p(i[1]);if(v(i[0]))return!!i[0].hasField(l)&&null!==i[0].field(l);if(i[0]instanceof e)return!!i[0].hasField(l)&&null!==i[0].field(l);if(i[0]instanceof N){return null!==W(i[0],l,null,null,0)}return!1}))},a.indexof=function(e,r){return A(e,r,((a,i,c)=>{o(c,2,2,e,r);const f=c[1];if(l(c[0])){for(let e=0;e<c[0].length;e++)if(P(f,c[0][e]))return e;return-1}if(s(c[0])){const e=c[0].length();for(let t=0;t<e;t++)if(P(f,c[0].get(t)))return t;return-1}throw new t(e,n.InvalidParameter,r)}))},a.angle=function(e,r){return A(e,r,((a,i,l)=>{if(l=u(l),o(l,2,3,e,r),!(l[0]instanceof D))throw new t(e,n.InvalidParameter,r);if(!(l[1]instanceof D))throw new t(e,n.InvalidParameter,r);if(l.length>2&&!(l[2]instanceof D))throw new t(e,n.InvalidParameter,r);return 2===l.length?F(l[0],l[1]):x(l[0],l[1],l[2])}))},a.bearing=function(e,r){return A(e,r,((a,i,l)=>{if(l=u(l),o(l,2,3,e,r),!(l[0]instanceof D))throw new t(e,n.InvalidParameter,r);if(!(l[1]instanceof D))throw new t(e,n.InvalidParameter,r);if(l.length>2&&!(l[2]instanceof D))throw new t(e,n.InvalidParameter,r);return 2===l.length?O(l[0],l[1]):j(l[0],l[1],l[2])}))},a.isselfintersecting=function(e,t){return A(e,t,((n,r,a)=>{a=u(a),o(a,1,1,e,t);let i=a[0];if(i instanceof G)return i.isSelfIntersecting;if(i instanceof z)return i=i.paths,S(i);if(i instanceof J){const e=i.points;for(let t=0;t<e.length;t++)for(let n=0;n<e.length;n++)if(n!==t){let r=!0;for(let a=0;a<e[t].length;a++)if(e[t][a]!==e[n][a]){r=!1;break}if(!0===r)return!0}}return!(!l(i)&&!s(i))&&(i=b(i,e.spatialReference),null!==i&&(i=i.paths),S(i))}))}}let Z=0;function W(r,o,l,s,c=1){let f;switch(o=o.toLowerCase()){case"hasz":{const e=r.hasZ;return void 0!==e&&e}case"hasm":{const e=r.hasM;return void 0!==e&&e}case"spatialreference":{let t=r.spatialReference._arcadeCacheId;if(void 0===t){let e=!0;Object.freeze&&Object.isFrozen(r.spatialReference)&&(e=!1),e&&(Z++,r.spatialReference._arcadeCacheId=Z,t=Z)}const n=new e({wkt:r.spatialReference.wkt,wkid:r.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(r.type){case"extent":switch(o){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const e=r[o];return void 0!==e?e:null}case"type":return"Extent"}break;case"polygon":switch(o){case"rings":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new a(r.rings,r.spatialReference,!0===r.hasZ,!0===r.hasM,f);case"type":return"Polygon"}break;case"point":switch(o){case"x":case"y":case"z":case"m":return void 0!==r[o]?r[o]:null;case"type":return"Point"}break;case"polyline":switch(o){case"paths":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new a(r.paths,r.spatialReference,!0===r.hasZ,!0===r.hasM,f);case"type":return"Polyline"}break;case"multipoint":switch(o){case"points":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new i(r.points,r.spatialReference,!0===r.hasZ,!0===r.hasM,f,1);case"type":return"Multipoint"}}if(1===c)throw new t(l,n.InvalidIdentifier,s);return 2===c?{keystate:"notfound"}:null}export{W as geometryMember,A as registerFunctions};
|
|
5
|
+
import e from"../Dictionary.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as n}from"../executionError.js";import r from"../Feature.js";import a from"../ImmutablePathArray.js";import i from"../ImmutablePointArray.js";import{C as o,m as l,o as s,y as c,O as f,D as u,v as m,c as h,j as p,k as w,b as d,a as y,i as g,f as R,J as I,p as v,A as P,G as b}from"../../chunks/languageUtils.js";import{angle2D as F,angleBetween2D as x,bearing2D as O,bearingBetween2D as j,pathsSelfIntersecting as S}from"./centroid.js";import k from"../../geometry/Extent.js";import N from"../../geometry/Geometry.js";import J from"../../geometry/Multipoint.js";import D from"../../geometry/Point.js";import G from"../../geometry/Polygon.js";import z from"../../geometry/Polyline.js";import{isClockwise as C}from"../../geometry/support/coordsUtils.js";import{fromJSON as _}from"../../geometry/support/jsonUtils.js";function M(e){return e&&"esri.arcade.Feature"===e.arcadeDeclaredClass}function A(a,A){a.ringisclockwise=function(e,r){return A(e,r,((a,c,f)=>{o(f,1,1,e,r);let u=[];if(null===f[0])return!1;if(l(f[0]))for(const i of f[0]){if(!(i instanceof D))throw new t(e,n.InvalidParameter,r);u.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(f[0]instanceof i)u=f[0]._elements;else{if(!s(f[0]))throw new t(e,n.InvalidParameter,r);for(const a of f[0].toArray()){if(!(a instanceof D))throw new t(e,n.InvalidParameter,r);u.push(a.hasZ?a.hasM?[a.x,a.y,a.z,a.m]:[a.x,a.y,a.z]:[a.x,a.y])}}return!(u.length<3)&&C(u)}))},a.polygon=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof G==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof G?_(u[0].toJSON()):c(new G(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.polyline=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof z==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof z?_(u[0].toJSON()):c(new z(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.point=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof D==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof D?_(u[0].toJSON()):c(new D(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.multipoint=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(u[0]instanceof e){if(m=c(r.parseGeometryFromDictionary(u[0]),a.spatialReference),m instanceof J==!1)throw new t(a,n.InvalidParameter,i)}else m=u[0]instanceof J?_(u[0].toJSON()):c(new J(JSON.parse(u[0])),a.spatialReference);if(null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.extent=function(a,i){return A(a,i,((l,s,m)=>{m=u(m),o(m,1,1,a,i);let h=null;if(m[0]instanceof e)h=c(r.parseGeometryFromDictionary(m[0]),a.spatialReference);else if(m[0]instanceof D){const e={xmin:m[0].x,ymin:m[0].y,xmax:m[0].x,ymax:m[0].y,spatialReference:m[0].spatialReference.toJSON()},t=m[0];t.hasZ?(e.zmin=t.z,e.zmax=t.z):t.hasM&&(e.mmin=t.m,e.mmax=t.m),h=_(e)}else h=m[0]instanceof G||m[0]instanceof z||m[0]instanceof J?_(m[0].extent?.toJSON()):m[0]instanceof k?_(m[0].toJSON()):c(new k(JSON.parse(m[0])),a.spatialReference);if(null!==h&&!1===h.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(h)}))},a.geometry=function(a,i){return A(a,i,((l,s,u)=>{o(u,1,1,a,i);let m=null;if(null===u[0])return null;if(m=M(u[0])?c(u[0].geometry(),a.spatialReference):u[0]instanceof e?c(r.parseGeometryFromDictionary(u[0]),a.spatialReference):c(_(JSON.parse(u[0])),a.spatialReference),null!==m&&!1===m.spatialReference.equals(a.spatialReference))throw new t(a,n.WrongSpatialReference,i);return f(m)}))},a.setgeometry=function(e,r){return A(e,r,((a,i,l)=>{if(o(l,2,2,e,r),!M(l[0]))throw new t(e,n.InvalidParameter,r);if(!0===l[0].immutable)throw new t(e,n.Immutable,r);if(!(l[1]instanceof N||null===l[1]))throw new t(e,n.InvalidParameter,r);return l[0]._geometry=l[1],m}))},a.feature=function(a,i){return A(a,i,((o,l,s)=>{if(0===s.length)throw new t(a,n.WrongNumberOfParameters,i);let f=null;if(1===s.length)if(h(s[0]))f=r.fromJson(JSON.parse(s[0]),a.timeReference);else if(M(s[0]))f=r.createFromArcadeFeature(s[0]);else if(s[0]instanceof N)f=r.createFromGraphicLikeObject(s[0],null,null,a.timeReference);else{if(!(s[0]instanceof e))throw new t(a,n.InvalidParameter,i);{let t=s[0].hasField("geometry")?s[0].field("geometry"):null,n=s[0].hasField("attributes")?s[0].field("attributes"):null;null!==t&&t instanceof e&&(t=r.parseGeometryFromDictionary(t)),null!==n&&(n=r.parseAttributesFromDictionary(n)),f=r.createFromGraphicLikeObject(t,n,null,a.timeReference)}}else if(2===s.length){let o=null,l=null;if(null!==s[0])if(s[0]instanceof N)o=s[0];else{if(!(o instanceof e))throw new t(a,n.InvalidParameter,i);o=r.parseGeometryFromDictionary(s[0])}if(null!==s[1]){if(!(s[1]instanceof e))throw new t(a,n.InvalidParameter,i);l=r.parseAttributesFromDictionary(s[1])}f=r.createFromGraphicLikeObject(o,l,null,a.timeReference)}else{let o=null;const l={};if(null!==s[0])if(s[0]instanceof N)o=s[0];else{if(!(o instanceof e))throw new t(a,n.InvalidParameter,i);o=r.parseGeometryFromDictionary(s[0])}for(let e=1;e<s.length;e+=2){const r=p(s[e]),o=s[e+1];if(!(null==o||h(o)||isNaN(o)||w(o)||d(o)||y(o)))throw new t(a,n.InvalidParameter,i);if(g(o)||!1===R(o))throw new t(a,n.InvalidParameter,i);l[r]=o===m?null:o}f=r.createFromGraphicLikeObject(o,l,null,a.timeReference)}return f._geometry=c(f.geometry(),a.spatialReference),f.immutable=!1,f}))},a.dictionary=function(r,a){return A(r,a,((i,o,c)=>{if(0===c.length||1===c.length&&null===c[0]){const t=new e;return t.immutable=!1,t}if(1===c.length&&h(c[0]))try{const t=JSON.parse(c[0]),n=e.convertObjectToArcadeDictionary(t,I(r),!1);return n.immutable=!1,n}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&c[0]instanceof N)try{const t=c[0].toJSON();t.hasZ=!0===c[0].hasZ,t.hasM=!0===c[0].hasM;const n=e.convertObjectToArcadeDictionary(t,I(r),!1);return n.immutable=!1,n}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&v(c[0]))try{const t=new e;t.immutable=!1,t.setField("geometry",c[0].geometry());const n=new e;n.immutable=!1,t.setField("attributes",n);for(const e of c[0].keys())n.setField(e,c[0].field(e));return t}catch(R){throw new t(r,n.InvalidParameter,a)}if(1===c.length&&c[0]instanceof e)try{const t=new e;t.immutable=!1;for(const e of c[0].keys())t.setField(e,c[0].field(e));return t}catch(R){throw new t(r,n.InvalidParameter,a)}if(2===c.length&&c[0]instanceof e&&y(c[1]))try{if(!(!0===c[1])){const t=new e;t.immutable=!1;for(const e of c[0].keys())t.setField(e,c[0].field(e));return t}return c[0].deepClone()}catch(R){throw new t(r,n.InvalidParameter,a)}if(c.length%2!=0)throw new t(r,n.WrongNumberOfParameters,a);const f={};for(let e=0;e<c.length;e+=2){const i=p(c[e]),o=c[e+1];if(!(null==o||h(o)||isNaN(o)||w(o)||d(o)||y(o)||l(o)||s(o)))throw new t(r,n.InvalidParameter,a);if(g(o))throw new t(r,n.InvalidParameter,a);f[i]=o===m?null:o}const u=new e(f);return u.immutable=!1,u}))},a.haskey=function(r,a){return A(r,a,((i,l,s)=>{o(s,2,2,r,a);const c=p(s[1]);if(M(s[0]))return s[0].hasField(c);if(s[0]instanceof e)return s[0].hasField(c);if(s[0]instanceof N){const e=W(s[0],c,null,null,2);return!e||"notfound"!==e.keystate}throw new t(r,n.InvalidParameter,a)}))},a.hasvalue=function(t,n){return A(t,n,((r,a,i)=>{if(o(i,2,2,t,n),null===i[0]||null===i[1])return!1;const l=p(i[1]);if(v(i[0]))return!!i[0].hasField(l)&&null!==i[0].field(l);if(i[0]instanceof e)return!!i[0].hasField(l)&&null!==i[0].field(l);if(i[0]instanceof N){return null!==W(i[0],l,null,null,0)}return!1}))},a.indexof=function(e,r){return A(e,r,((a,i,c)=>{o(c,2,2,e,r);const f=c[1];if(l(c[0])){for(let e=0;e<c[0].length;e++)if(P(f,c[0][e]))return e;return-1}if(s(c[0])){const e=c[0].length();for(let t=0;t<e;t++)if(P(f,c[0].get(t)))return t;return-1}throw new t(e,n.InvalidParameter,r)}))},a.angle=function(e,r){return A(e,r,((a,i,l)=>{if(l=u(l),o(l,2,3,e,r),!(l[0]instanceof D))throw new t(e,n.InvalidParameter,r);if(!(l[1]instanceof D))throw new t(e,n.InvalidParameter,r);if(l.length>2&&!(l[2]instanceof D))throw new t(e,n.InvalidParameter,r);return 2===l.length?F(l[0],l[1]):x(l[0],l[1],l[2])}))},a.bearing=function(e,r){return A(e,r,((a,i,l)=>{if(l=u(l),o(l,2,3,e,r),!(l[0]instanceof D))throw new t(e,n.InvalidParameter,r);if(!(l[1]instanceof D))throw new t(e,n.InvalidParameter,r);if(l.length>2&&!(l[2]instanceof D))throw new t(e,n.InvalidParameter,r);return 2===l.length?O(l[0],l[1]):j(l[0],l[1],l[2])}))},a.isselfintersecting=function(e,t){return A(e,t,((n,r,a)=>{a=u(a),o(a,1,1,e,t);let i=a[0];if(i instanceof G)return i.isSelfIntersecting;if(i instanceof z)return i=i.paths,S(i);if(i instanceof J){const e=i.points;for(let t=0;t<e.length;t++)for(let n=0;n<e.length;n++)if(n!==t){let r=!0;for(let a=0;a<e[t].length;a++)if(e[t][a]!==e[n][a]){r=!1;break}if(!0===r)return!0}}return!(!l(i)&&!s(i))&&(i=b(i,e.spatialReference),null!==i&&(i=i.paths),S(i))}))}}let Z=0;function W(r,o,l,s,c=1){let f;switch(o=o.toLowerCase()){case"hasz":{const e=r.hasZ;return void 0!==e&&e}case"hasm":{const e=r.hasM;return void 0!==e&&e}case"spatialreference":{let t=r.spatialReference._arcadeCacheId;if(void 0===t){let e=!0;Object.freeze&&Object.isFrozen(r.spatialReference)&&(e=!1),e&&(Z++,r.spatialReference._arcadeCacheId=Z,t=Z)}const n=new e({wkt:r.spatialReference.wkt,wkid:r.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(r.type){case"extent":switch(o){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const e=r[o];return void 0!==e?e:null}case"type":return"Extent"}break;case"polygon":switch(o){case"rings":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new a(r.rings,r.spatialReference,!0===r.hasZ,!0===r.hasM,f);case"type":return"Polygon"}break;case"point":switch(o){case"x":case"y":case"z":case"m":return void 0!==r[o]?r[o]:null;case"type":return"Point"}break;case"polyline":switch(o){case"paths":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new a(r.paths,r.spatialReference,!0===r.hasZ,!0===r.hasM,f);case"type":return"Polyline"}break;case"multipoint":switch(o){case"points":f=r.cache._arcadeCacheId,void 0===f&&(Z++,f=Z,r.cache._arcadeCacheId=f);return new i(r.points,r.spatialReference,!0===r.hasZ,!0===r.hasM,f,1);case"type":return"Multipoint"}}if(1===c)throw new t(l,n.InvalidIdentifier,s);return 2===c?{keystate:"notfound"}:null}export{W as geometryMember,A 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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{version as n}from"../../kernel.js";import e from"../Dictionary.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as r}from"../executionError.js";import{cloneGeometry as i,convertSquareUnitsToCode as a,convertLinearUnitsToCode as l}from"../kernel.js";import{L as o,C as f,k as u,j as s,m as c,o as m,y as h,N as w,D as d,M as p,O as g,g as v,h as P,G as y}from"../../chunks/languageUtils.js";import{centroidPolyline as I,centroidMultiPoint as x,getMetersPerVerticalUnitForSR as R,segmentLength3d as N}from"./centroid.js";import{getMetersPerUnitForSR as j}from"../../core/unitUtils.js";import L from"../../geometry/Extent.js";import b from"../../geometry/Geometry.js";import k from"../../geometry/Multipoint.js";import M from"../../geometry/Point.js";import A from"../../geometry/Polygon.js";import D from"../../geometry/Polyline.js";import{fromJSON as O}from"../../geometry/support/jsonUtils.js";let Z=null;function E(e){return 0===n.indexOf("4.")?A.fromExtent(e):new A({spatialReference:e.spatialReference,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]})}function z(n){Z=n}function C(n,e){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let t=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){t=R(n.spatialReference)/j(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],t);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],t);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=N(a[0],a[a.length-1],t))}else"extent"===n.type&&(r+=2*N([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],t),r+=2*N([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],t),r*=2,r+=4*Math.abs(d(n.zmax,0)*t-d(n.zmin,0)*t));const i=new D({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return Z.planarLength(i,e)}function q(n,R){function N(n,e,i){if(f(i,2,2,n,e),i[0]instanceof b&&i[1]instanceof b);else if(i[0]instanceof b&&null===i[1]);else if(i[1]instanceof b&&null===i[0]);else if(null!==i[0]||null!==i[1])throw new t(n,r.InvalidParameter,e)}n.disjoint=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null===i[0]||null===i[1]||Z.disjoint(i[0],i[1]))))},n.intersects=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.intersects(i[0],i[1]))))},n.touches=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.touches(i[0],i[1]))))},n.crosses=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.crosses(i[0],i[1]))))},n.within=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.within(i[0],i[1]))))},n.contains=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.contains(i[0],i[1]))))},n.overlaps=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.overlaps(i[0],i[1]))))},n.equals=function(n,e){return R(n,e,((t,r,i)=>(f(i,2,2,n,e),i[0]===i[1]||(i[0]instanceof b&&i[1]instanceof b?Z.equals(i[0],i[1]):!(!u(i[0])||!u(i[1]))&&i[0].equals(i[1])))))},n.relate=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,3,3,n,e),l[0]instanceof b&&l[1]instanceof b)return Z.relate(l[0],l[1],s(l[2]));if(l[0]instanceof b&&null===l[1])return!1;if(l[1]instanceof b&&null===l[0])return!1;if(null===l[0]&&null===l[1])return!1;throw new t(n,r.InvalidParameter,e)}))},n.intersection=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null===i[0]||null===i[1]?null:Z.intersect(i[0],i[1]))))},n.union=function(n,e){return R(n,e,((a,l,f)=>{const u=[];if(0===(f=o(f)).length)throw new t(n,r.WrongNumberOfParameters,e);if(1===f.length)if(c(f[0])){const i=o(f[0]);for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(i[a])}}else{if(!m(f[0])){if(f[0]instanceof b)return h(i(f[0]),n.spatialReference);if(null===f[0])return null;throw new t(n,r.InvalidParameter,e)}{const i=o(f[0].toArray());for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(i[a])}}}else for(let i=0;i<f.length;i++)if(null!==f[i]){if(!(f[i]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(f[i])}return 0===u.length?null:Z.union(u)}))},n.difference=function(n,e){return R(n,e,((t,r,a)=>(a=o(a),N(n,e,a),null!==a[0]&&null===a[1]?i(a[0]):null===a[0]?null:Z.difference(a[0],a[1]))))},n.symmetricdifference=function(n,e){return R(n,e,((t,r,a)=>(a=o(a),N(n,e,a),null===a[0]&&null===a[1]?null:null===a[0]?i(a[1]):null===a[1]?i(a[0]):Z.symmetricDifference(a[0],a[1]))))},n.clip=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,2,2,n,e),!(l[1]instanceof L)&&null!==l[1])throw new t(n,r.InvalidParameter,e);if(null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return null===l[1]?null:Z.clip(l[0],l[1])}))},n.cut=function(n,e){return R(n,e,((a,l,u)=>{if(u=o(u),f(u,2,2,n,e),!(u[1]instanceof D)&&null!==u[1])throw new t(n,r.InvalidParameter,e);if(null===u[0])return[];if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return null===u[1]?[i(u[0])]:Z.cut(u[0],u[1])}))},n.area=function(n,e){return R(n,e,((i,l,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=w(u[0],n.spatialReference);return null===e?0:Z.planarArea(e,a(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.planarArea(u[0],a(d(u[1],-1)))}))},n.areageodetic=function(n,e){return R(n,e,((i,l,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=w(u[0],n.spatialReference);return null===e?0:Z.geodesicArea(e,a(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.geodesicArea(u[0],a(d(u[1],-1)))}))},n.length=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:Z.planarLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.planarLength(u[0],l(d(u[1],-1)))}))},n.length3d=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:!0===e.hasZ?C(e,l(d(u[1],-1))):Z.planarLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return!0===u[0].hasZ?C(u[0],l(d(u[1],-1))):Z.planarLength(u[0],l(d(u[1],-1)))}))},n.lengthgeodetic=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:Z.geodesicLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.geodesicLength(u[0],l(d(u[1],-1)))}))},n.distance=function(n,e){return R(n,e,((i,a,u)=>{u=o(u),f(u,2,3,n,e);let s=u[0];(c(u[0])||m(u[0]))&&(s=g(u[0],n.spatialReference));let h=u[1];if((c(u[1])||m(u[1]))&&(h=g(u[1],n.spatialReference)),!(s instanceof b))throw new t(n,r.InvalidParameter,e);if(!(h instanceof b))throw new t(n,r.InvalidParameter,e);return Z.distance(s,h,l(d(u[2],-1)))}))},n.distancegeodetic=function(n,e){return R(n,e,((i,a,u)=>{u=o(u),f(u,2,3,n,e);const s=u[0],c=u[1];if(!(s instanceof M))throw new t(n,r.InvalidParameter,e);if(!(c instanceof M))throw new t(n,r.InvalidParameter,e);const m=new D({paths:[],spatialReference:s.spatialReference});return m.addPath([s,c]),Z.geodesicLength(m,l(d(u[2],-1)))}))},n.densify=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,3,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);if(s<=0)throw new t(n,r.InvalidParameter,e);return u[0]instanceof A||u[0]instanceof D?Z.densify(u[0],s,l(d(u[2],-1))):u[0]instanceof L?Z.densify(E(u[0]),s,l(d(u[2],-1))):u[0]}))},n.densifygeodetic=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,3,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);if(s<=0)throw new t(n,r.InvalidParameter,e);return u[0]instanceof A||u[0]instanceof D?Z.geodesicDensify(u[0],s,l(d(u[2],-1))):u[0]instanceof L?Z.geodesicDensify(E(u[0]),s,l(d(u[2],-1))):u[0]}))},n.generalize=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,4,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);return Z.generalize(u[0],s,P(d(u[2],!0)),l(d(u[3],-1)))}))},n.buffer=function(n,e){return R(n,e,((a,u,s)=>{if(s=o(s),f(s,2,3,n,e),null===s[0])return null;if(!(s[0]instanceof b))throw new t(n,r.InvalidParameter,e);const c=v(s[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);return 0===c?i(s[0]):Z.buffer(s[0],c,l(d(s[2],-1)))}))},n.buffergeodetic=function(n,e){return R(n,e,((a,u,s)=>{if(s=o(s),f(s,2,3,n,e),null===s[0])return null;if(!(s[0]instanceof b))throw new t(n,r.InvalidParameter,e);const c=v(s[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);return 0===c?i(s[0]):Z.geodesicBuffer(s[0],c,l(d(s[2],-1)))}))},n.offset=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,6,n,e),null===u[0])return null;if(!(u[0]instanceof A||u[0]instanceof D))throw new t(n,r.InvalidParameter,e);const c=v(u[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);const m=v(d(u[4],10));if(isNaN(m))throw new t(n,r.InvalidParameter,e);const h=v(d(u[5],0));if(isNaN(h))throw new t(n,r.InvalidParameter,e);return Z.offset(u[0],c,l(d(u[2],-1)),s(d(u[3],"round")).toLowerCase(),m,h)}))},n.rotate=function(n,e){return R(n,e,((i,a,l)=>{l=o(l),f(l,2,3,n,e);let u=l[0];if(null===u)return null;if(!(u instanceof b))throw new t(n,r.InvalidParameter,e);u instanceof L&&(u=A.fromExtent(u));const s=v(l[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);const c=d(l[2],null);if(null===c)return Z.rotate(u,s);if(c instanceof M)return Z.rotate(u,s,c);throw new t(n,r.InvalidParameter,e)}))},n.centroid=function(n,e){return R(n,e,((a,l,u)=>{if(u=o(u),f(u,1,1,n,e),null===u[0])return null;let s=u[0];if((c(u[0])||m(u[0]))&&(s=g(u[0],n.spatialReference)),null===s)return null;if(!(s instanceof b))throw new t(n,r.InvalidParameter,e);return s instanceof M?h(i(u[0]),n.spatialReference):s instanceof A?s.centroid:s instanceof D?I(s):s instanceof k?x(s):s instanceof L?s.center:null}))},n.multiparttosinglepart=function(n,e){return R(n,e,((a,l,u)=>{u=o(u),f(u,1,1,n,e);const s=[];if(null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);if(u[0]instanceof M)return[h(i(u[0]),n.spatialReference)];if(u[0]instanceof L)return[h(i(u[0]),n.spatialReference)];const c=Z.simplify(u[0]);if(c instanceof A){const n=[],e=[];for(let t=0;t<c.rings.length;t++)if(c.isClockwise(c.rings[t])){const e=O({rings:[c.rings[t]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(e)}else e.push({ring:c.rings[t],pt:c.getPoint(t,0)});for(let t=0;t<e.length;t++)for(let r=0;r<n.length;r++)if(n[r].contains(e[t].pt)){n[r].addRing(e[t].ring);break}return n}if(c instanceof D){const n=[];for(let e=0;e<c.paths.length;e++){const t=O({paths:[c.paths[e]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(t)}return n}if(u[0]instanceof k){const e=h(i(u[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)s.push(e.getPoint(n));return s}return null}))},n.issimple=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return!0;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.isSimple(l[0])}))},n.simplify=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.simplify(l[0])}))},n.convexhull=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.convexHull(l[0])}))},n.nearestcoordinate=function(n,i){return R(n,i,((a,l,u)=>{if(u=o(u),f(u,2,2,n,i),!(u[0]instanceof b||null===u[0]))throw new t(n,r.InvalidParameter,i);if(!(u[1]instanceof M||null===u[1]))throw new t(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const s=Z.nearestCoordinate(u[0],u[1]);return null===s||s.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:s.coordinate,distance:s.distance},y(n),!1,!0)}))},n.nearestvertex=function(n,i){return R(n,i,((a,l,u)=>{if(u=o(u),f(u,2,2,n,i),!(u[0]instanceof b||null===u[0]))throw new t(n,r.InvalidParameter,i);if(!(u[1]instanceof M||null===u[1]))throw new t(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const s=Z.nearestVertex(u[0],u[1]);return null===s||s.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:s.coordinate,distance:s.distance},y(n),!1,!0)}))}}export{q as registerFunctions,z as setGeometryEngine};
|
|
5
|
+
import{version as n}from"../../kernel.js";import e from"../Dictionary.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as r}from"../executionError.js";import{cloneGeometry as i,convertSquareUnitsToCode as a,convertLinearUnitsToCode as l}from"../kernel.js";import{D as o,C as f,k as u,j as s,m as c,o as m,y as h,E as w,F as d,G as p,H as g,g as v,h as P,J as y}from"../../chunks/languageUtils.js";import{centroidPolyline as I,centroidMultiPoint as x,getMetersPerVerticalUnitForSR as R,segmentLength3d as N}from"./centroid.js";import{getMetersPerUnitForSR as j}from"../../core/unitUtils.js";import L from"../../geometry/Extent.js";import b from"../../geometry/Geometry.js";import k from"../../geometry/Multipoint.js";import A from"../../geometry/Point.js";import D from"../../geometry/Polygon.js";import E from"../../geometry/Polyline.js";import{fromJSON as M}from"../../geometry/support/jsonUtils.js";let Z=null;function O(e){return 0===n.indexOf("4.")?D.fromExtent(e):new D({spatialReference:e.spatialReference,rings:[[[e.xmin,e.ymin],[e.xmin,e.ymax],[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin]]]})}function z(n){Z=n}function C(n,e){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let t=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){t=R(n.spatialReference)/j(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],t);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],t);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=N(a[0],a[a.length-1],t))}else"extent"===n.type&&(r+=2*N([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],t),r+=2*N([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],t),r*=2,r+=4*Math.abs(d(n.zmax,0)*t-d(n.zmin,0)*t));const i=new E({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[0,0],[0,r]]});return Z.planarLength(i,e)}function q(n,R){function N(n,e,i){if(f(i,2,2,n,e),i[0]instanceof b&&i[1]instanceof b);else if(i[0]instanceof b&&null===i[1]);else if(i[1]instanceof b&&null===i[0]);else if(null!==i[0]||null!==i[1])throw new t(n,r.InvalidParameter,e)}n.disjoint=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null===i[0]||null===i[1]||Z.disjoint(i[0],i[1]))))},n.intersects=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.intersects(i[0],i[1]))))},n.touches=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.touches(i[0],i[1]))))},n.crosses=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.crosses(i[0],i[1]))))},n.within=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.within(i[0],i[1]))))},n.contains=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.contains(i[0],i[1]))))},n.overlaps=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null!==i[0]&&null!==i[1]&&Z.overlaps(i[0],i[1]))))},n.equals=function(n,e){return R(n,e,((t,r,i)=>(f(i,2,2,n,e),i[0]===i[1]||(i[0]instanceof b&&i[1]instanceof b?Z.equals(i[0],i[1]):!(!u(i[0])||!u(i[1]))&&i[0].equals(i[1])))))},n.relate=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,3,3,n,e),l[0]instanceof b&&l[1]instanceof b)return Z.relate(l[0],l[1],s(l[2]));if(l[0]instanceof b&&null===l[1])return!1;if(l[1]instanceof b&&null===l[0])return!1;if(null===l[0]&&null===l[1])return!1;throw new t(n,r.InvalidParameter,e)}))},n.intersection=function(n,e){return R(n,e,((t,r,i)=>(i=o(i),N(n,e,i),null===i[0]||null===i[1]?null:Z.intersect(i[0],i[1]))))},n.union=function(n,e){return R(n,e,((a,l,f)=>{const u=[];if(0===(f=o(f)).length)throw new t(n,r.WrongNumberOfParameters,e);if(1===f.length)if(c(f[0])){const i=o(f[0]);for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(i[a])}}else{if(!m(f[0])){if(f[0]instanceof b)return h(i(f[0]),n.spatialReference);if(null===f[0])return null;throw new t(n,r.InvalidParameter,e)}{const i=o(f[0].toArray());for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(i[a])}}}else for(let i=0;i<f.length;i++)if(null!==f[i]){if(!(f[i]instanceof b))throw new t(n,r.InvalidParameter,e);u.push(f[i])}return 0===u.length?null:Z.union(u)}))},n.difference=function(n,e){return R(n,e,((t,r,a)=>(a=o(a),N(n,e,a),null!==a[0]&&null===a[1]?i(a[0]):null===a[0]?null:Z.difference(a[0],a[1]))))},n.symmetricdifference=function(n,e){return R(n,e,((t,r,a)=>(a=o(a),N(n,e,a),null===a[0]&&null===a[1]?null:null===a[0]?i(a[1]):null===a[1]?i(a[0]):Z.symmetricDifference(a[0],a[1]))))},n.clip=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,2,2,n,e),!(l[1]instanceof L)&&null!==l[1])throw new t(n,r.InvalidParameter,e);if(null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return null===l[1]?null:Z.clip(l[0],l[1])}))},n.cut=function(n,e){return R(n,e,((a,l,u)=>{if(u=o(u),f(u,2,2,n,e),!(u[1]instanceof E)&&null!==u[1])throw new t(n,r.InvalidParameter,e);if(null===u[0])return[];if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return null===u[1]?[i(u[0])]:Z.cut(u[0],u[1])}))},n.area=function(n,e){return R(n,e,((i,l,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=w(u[0],n.spatialReference);return null===e?0:Z.planarArea(e,a(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.planarArea(u[0],a(d(u[1],-1)))}))},n.areageodetic=function(n,e){return R(n,e,((i,l,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=w(u[0],n.spatialReference);return null===e?0:Z.geodesicArea(e,a(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.geodesicArea(u[0],a(d(u[1],-1)))}))},n.length=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:Z.planarLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.planarLength(u[0],l(d(u[1],-1)))}))},n.length3d=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:!0===e.hasZ?C(e,l(d(u[1],-1))):Z.planarLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return!0===u[0].hasZ?C(u[0],l(d(u[1],-1))):Z.planarLength(u[0],l(d(u[1],-1)))}))},n.lengthgeodetic=function(n,e){return R(n,e,((i,a,u)=>{if(f(u,1,2,n,e),null===(u=o(u))[0])return 0;if(c(u[0])||m(u[0])){const e=p(u[0],n.spatialReference);return null===e?0:Z.geodesicLength(e,l(d(u[1],-1)))}if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.geodesicLength(u[0],l(d(u[1],-1)))}))},n.distance=function(n,e){return R(n,e,((i,a,u)=>{u=o(u),f(u,2,3,n,e);let s=u[0];(c(u[0])||m(u[0]))&&(s=g(u[0],n.spatialReference));let h=u[1];if((c(u[1])||m(u[1]))&&(h=g(u[1],n.spatialReference)),!(s instanceof b))throw new t(n,r.InvalidParameter,e);if(!(h instanceof b))throw new t(n,r.InvalidParameter,e);return Z.distance(s,h,l(d(u[2],-1)))}))},n.distancegeodetic=function(n,e){return R(n,e,((i,a,u)=>{u=o(u),f(u,2,3,n,e);const s=u[0],c=u[1];if(!(s instanceof A))throw new t(n,r.InvalidParameter,e);if(!(c instanceof A))throw new t(n,r.InvalidParameter,e);const m=new E({paths:[],spatialReference:s.spatialReference});return m.addPath([s,c]),Z.geodesicLength(m,l(d(u[2],-1)))}))},n.densify=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,3,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);if(s<=0)throw new t(n,r.InvalidParameter,e);return u[0]instanceof D||u[0]instanceof E?Z.densify(u[0],s,l(d(u[2],-1))):u[0]instanceof L?Z.densify(O(u[0]),s,l(d(u[2],-1))):u[0]}))},n.densifygeodetic=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,3,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);if(s<=0)throw new t(n,r.InvalidParameter,e);return u[0]instanceof D||u[0]instanceof E?Z.geodesicDensify(u[0],s,l(d(u[2],-1))):u[0]instanceof L?Z.geodesicDensify(O(u[0]),s,l(d(u[2],-1))):u[0]}))},n.generalize=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,4,n,e),null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);const s=v(u[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);return Z.generalize(u[0],s,P(d(u[2],!0)),l(d(u[3],-1)))}))},n.buffer=function(n,e){return R(n,e,((a,u,s)=>{if(s=o(s),f(s,2,3,n,e),null===s[0])return null;if(!(s[0]instanceof b))throw new t(n,r.InvalidParameter,e);const c=v(s[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);return 0===c?i(s[0]):Z.buffer(s[0],c,l(d(s[2],-1)))}))},n.buffergeodetic=function(n,e){return R(n,e,((a,u,s)=>{if(s=o(s),f(s,2,3,n,e),null===s[0])return null;if(!(s[0]instanceof b))throw new t(n,r.InvalidParameter,e);const c=v(s[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);return 0===c?i(s[0]):Z.geodesicBuffer(s[0],c,l(d(s[2],-1)))}))},n.offset=function(n,e){return R(n,e,((i,a,u)=>{if(u=o(u),f(u,2,6,n,e),null===u[0])return null;if(!(u[0]instanceof D||u[0]instanceof E))throw new t(n,r.InvalidParameter,e);const c=v(u[1]);if(isNaN(c))throw new t(n,r.InvalidParameter,e);const m=v(d(u[4],10));if(isNaN(m))throw new t(n,r.InvalidParameter,e);const h=v(d(u[5],0));if(isNaN(h))throw new t(n,r.InvalidParameter,e);return Z.offset(u[0],c,l(d(u[2],-1)),s(d(u[3],"round")).toLowerCase(),m,h)}))},n.rotate=function(n,e){return R(n,e,((i,a,l)=>{l=o(l),f(l,2,3,n,e);let u=l[0];if(null===u)return null;if(!(u instanceof b))throw new t(n,r.InvalidParameter,e);u instanceof L&&(u=D.fromExtent(u));const s=v(l[1]);if(isNaN(s))throw new t(n,r.InvalidParameter,e);const c=d(l[2],null);if(null===c)return Z.rotate(u,s);if(c instanceof A)return Z.rotate(u,s,c);throw new t(n,r.InvalidParameter,e)}))},n.centroid=function(n,e){return R(n,e,((a,l,u)=>{if(u=o(u),f(u,1,1,n,e),null===u[0])return null;let s=u[0];if((c(u[0])||m(u[0]))&&(s=g(u[0],n.spatialReference)),null===s)return null;if(!(s instanceof b))throw new t(n,r.InvalidParameter,e);return s instanceof A?h(i(u[0]),n.spatialReference):s instanceof D?s.centroid:s instanceof E?I(s):s instanceof k?x(s):s instanceof L?s.center:null}))},n.multiparttosinglepart=function(n,e){return R(n,e,((a,l,u)=>{u=o(u),f(u,1,1,n,e);const s=[];if(null===u[0])return null;if(!(u[0]instanceof b))throw new t(n,r.InvalidParameter,e);if(u[0]instanceof A)return[h(i(u[0]),n.spatialReference)];if(u[0]instanceof L)return[h(i(u[0]),n.spatialReference)];const c=Z.simplify(u[0]);if(c instanceof D){const n=[],e=[];for(let t=0;t<c.rings.length;t++)if(c.isClockwise(c.rings[t])){const e=M({rings:[c.rings[t]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(e)}else e.push({ring:c.rings[t],pt:c.getPoint(t,0)});for(let t=0;t<e.length;t++)for(let r=0;r<n.length;r++)if(n[r].contains(e[t].pt)){n[r].addRing(e[t].ring);break}return n}if(c instanceof E){const n=[];for(let e=0;e<c.paths.length;e++){const t=M({paths:[c.paths[e]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(t)}return n}if(u[0]instanceof k){const e=h(i(u[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)s.push(e.getPoint(n));return s}return null}))},n.issimple=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return!0;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.isSimple(l[0])}))},n.simplify=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.simplify(l[0])}))},n.convexhull=function(n,e){return R(n,e,((i,a,l)=>{if(l=o(l),f(l,1,1,n,e),null===l[0])return null;if(!(l[0]instanceof b))throw new t(n,r.InvalidParameter,e);return Z.convexHull(l[0])}))},n.nearestcoordinate=function(n,i){return R(n,i,((a,l,u)=>{if(u=o(u),f(u,2,2,n,i),!(u[0]instanceof b||null===u[0]))throw new t(n,r.InvalidParameter,i);if(!(u[1]instanceof A||null===u[1]))throw new t(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const s=Z.nearestCoordinate(u[0],u[1]);return null===s||s.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:s.coordinate,distance:s.distance},y(n),!1,!0)}))},n.nearestvertex=function(n,i){return R(n,i,((a,l,u)=>{if(u=o(u),f(u,2,2,n,i),!(u[0]instanceof b||null===u[0]))throw new t(n,r.InvalidParameter,i);if(!(u[1]instanceof A||null===u[1]))throw new t(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const s=Z.nearestVertex(u[0],u[1]);return null===s||s.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:s.coordinate,distance:s.distance},y(n),!1,!0)}))}}export{q as registerFunctions,z as setGeometryEngine};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"../ArcadePortal.js";import e from"../Attachment.js";import r from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as a}from"../executionError.js";import{C as o,j as i,F as u,g as s,Q as l,v as c,D as p,h as d,t as f,m as h,o as y,P as m,p as g,S as A,G as w,T as I,U as v,V as U,W as b,c as j,X as x,k as P,a as N,b as F,i as C,r as T,q as O}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as k}from"../featureset/support/shared.js";import{convertDirection as L}from"./convertdirection.js";import{XXH as S}from"./hash.js";import{hasSamePortal as D}from"../../core/urlUtils.js";import z from"../../geometry/Extent.js";import R from"../../geometry/Multipoint.js";import H from"../../geometry/Point.js";import M from"../../geometry/Polygon.js";import W from"../../geometry/Polyline.js";import J from"../../geometry/SpatialReference.js";import V from"../../portal/Portal.js";function B(t){if("loaded"===t.loadStatus&&t.user&&t.user.sourceJSON){return t.user.sourceJSON}return null}function E(t,e){return!!t&&D(t,e?.restUrl||"")}function Z(t,e){if(!t||!e)return t===e;if(t.x===e.x&&t.y===e.y){if(t.hasZ){if(t.z!==e.z)return!1}else if(e.hasZ)return!1;if(t.hasM){if(t.m!==e.m)return!1}else if(e.hasM)return!1;return!0}return!1}function q(o,i,u){if(null!==o)if(h(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o)q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else if(y(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.toArray())q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else{if(P(o))return i.updateIntArray([o.toNumber()]),void i.updateUint8Array([241]);if(j(o))return i.updateIntArray([o.length]),i.updateWithString(o),void i.updateUint8Array([41]);if(N(o))i.updateUint8Array([!0===o?1:0,113]);else{if(F(o))return i.updateFloatArray([o]),void i.updateUint8Array([173]);if(o instanceof e)throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof t)throw new n(u.context,a.UnsupportedHashType,u.node);if(!(o instanceof r)){if(g(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof H)return i.updateIntArray([3833836621]),i.updateIntArray([0]),i.updateFloatArray([o.x]),i.updateIntArray([1]),i.updateFloatArray([o.y]),o.hasZ&&(i.updateIntArray([2]),i.updateFloatArray([o.z])),o.hasM&&(i.updateIntArray([3]),i.updateFloatArray([o.m])),i.updateIntArray([3765347959]),void q(o.spatialReference.wkid,i,u);if(o instanceof M){i.updateIntArray([1266616829]);for(let t=0;t<o.rings.length;t++){const e=o.rings[t],r=[];let n=null,a=null;for(let i=0;i<e.length;i++){const u=o.getPoint(t,i);if(0===i)n=u;else if(Z(a,u))continue;a=u,i===e.length-1&&Z(n,u)||r.push(u)}i.updateIntArray([1397116793,r.length]);for(let t=0;t<r.length;t++){const e=r[t];i.updateIntArray([3962308117,t]),q(e,i,u),i.updateIntArray([2716288009])}i.updateIntArray([2278822459])}return i.updateIntArray([3878477243]),void q(o.spatialReference.wkid,i,u)}if(o instanceof W){i.updateIntArray([4106883559]);for(let t=0;t<o.paths.length;t++){const e=o.paths[t];i.updateIntArray([1397116793,e.length]);for(let r=0;r<e.length;r++)i.updateIntArray([3962308117,r]),q(o.getPoint(t,r),i,u),i.updateIntArray([2716288009]);i.updateIntArray([2278822459])}return i.updateIntArray([2568784753]),void q(o.spatialReference.wkid,i,u)}if(o instanceof R){i.updateIntArray([588535921,o.points.length]);for(let t=0;t<o.points.length;t++){const e=o.getPoint(t);i.updateIntArray([t]),q(e,i,u)}return i.updateIntArray([1700171621]),void q(o.spatialReference.wkid,i,u)}if(o instanceof z)return i.updateIntArray([3483648373]),i.updateIntArray([0]),i.updateFloatArray([o.xmax]),i.updateIntArray([1]),i.updateFloatArray([o.xmin]),i.updateIntArray([2]),i.updateFloatArray([o.ymax]),i.updateIntArray([3]),i.updateFloatArray([o.ymin]),o.hasZ&&(i.updateIntArray([4]),i.updateFloatArray([o.zmax]),i.updateIntArray([5]),i.updateFloatArray([o.zmin])),o.hasM&&(i.updateIntArray([6]),i.updateFloatArray([o.mmax]),i.updateIntArray([7]),i.updateFloatArray([o.mmin])),i.updateIntArray([3622027469]),void q(o.spatialReference.wkid,i,u);if(o instanceof J)return i.updateIntArray([14]),void 0!==o.wkid&&null!==o.wkid&&i.updateIntArray([o.wkid]),void(o.wkt&&i.updateWithString(o.wkt));if(C(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(T(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(O(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o===c)throw new n(u.context,a.UnsupportedHashType,u.node);throw new n(u.context,a.UnsupportedHashType,u.node)}if(i.updateUint8Array([223]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.keys()){i.updateIntArray([t.length]),i.updateWithString(t),i.updateUint8Array([251]);q(o.field(t),i,u),i.updateUint8Array([239])}u.map.delete(o),u.currentLength--}i.updateUint8Array([73])}}else i.updateUint8Array([0,139])}function G(e,P){e.portal=function(e,r){return P(e,r,((n,a,u)=>(o(u,1,1,e,r),new t(i(u[0])))))},e.typeof=function(t,e){return P(t,e,((r,i,s)=>{o(s,1,1,t,e);const l=u(s[0]);if("Unrecognised Type"===l)throw new n(t,a.UnrecognisedType,e);return l}))},e.trim=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).trim())))},e.tohex=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=s(a[0]);return isNaN(i)?i:i.toString(16)}))},e.upper=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toUpperCase())))},e.proper=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,2,t,e);let u=1;2===a.length&&"firstword"===i(a[1]).toLowerCase()&&(u=2);const s=/\s/,l=i(a[0]);let c="",p=!0;for(let t=0;t<l.length;t++){let e=l[t];if(s.test(e))1===u&&(p=!0);else{e.toUpperCase()!==e.toLowerCase()&&(p?(e=e.toUpperCase(),p=!1):e=e.toLowerCase())}c+=e}return c}))},e.lower=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toLowerCase())))},e.guid=function(t,e){return P(t,e,((r,n,a)=>{if(o(a,0,1,t,e),a.length>0)switch(i(a[0]).toLowerCase()){case"digits":return l().replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return l();case"digits-hyphen-braces":return"{"+l()+"}";case"digits-hyphen-parentheses":return"("+l()+")"}return"{"+l()+"}"}))},e.standardizeguid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=i(a[0]);if(""===u||null===u)return"";const s=/^(\{|\()?(?<partA>[0-9a-z]{8})(\-?)(?<partB>[0-9a-z]{4})(\-?)(?<partC>[0-9a-z]{4})(\-?)(?<partD>[0-9a-z]{4})(\-?)(?<partE>[0-9a-z]{12})(\}|\))?$/gim.exec(u);if(!s)return"";const l=s.groups;switch(u=l.partA+"-"+l.partB+"-"+l.partC+"-"+l.partD+"-"+l.partE,i(a[1]).toLowerCase()){case"digits":return u.replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return u;case"digits-hyphen-braces":return"{"+u+"}";case"digits-hyphen-parentheses":return"("+u+")"}return"{"+u+"}"}))},e.console=function(t,e){return P(t,e,((e,r,n)=>(0===n.length||(1===n.length?t.console(i(n[0])):t.console(i(n))),c)))},e.mid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=s(a[1]);if(isNaN(u))return"";if(u<0&&(u=0),2===a.length)return i(a[0]).substr(u);let l=s(a[2]);return isNaN(l)?"":(l<0&&(l=0),i(a[0]).substr(u,l))}))},e.find=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=0;if(a.length>2){if(u=s(p(a[2],0)),isNaN(u))return-1;u<0&&(u=0)}return i(a[1]).indexOf(i(a[0]),u)}))},e.left=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(0,u))}))},e.right=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(-1*u,u))}))},e.split=function(t,e){return P(t,e,((r,n,a)=>{let u;o(a,2,4,t,e);let l=s(p(a[2],-1));const c=d(p(a[3],!1));if(-1===l||null===l||!0===c?u=i(a[0]).split(i(a[1])):(isNaN(l)&&(l=-1),l<-1&&(l=-1),u=i(a[0]).split(i(a[1]),l)),!1===c)return u;const f=[];for(let t=0;t<u.length&&!(-1!==l&&f.length>=l);t++)""!==u[t]&&void 0!==u[t]&&f.push(u[t]);return f}))},e.text=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,2,t,e),f(a[0],a[1]))))},e.concatenate=function(t,e){return P(t,e,((t,e,r)=>{const n=[];if(r.length<1)return"";if(h(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length;e++)n[e]=f(r[0][e],t);return r.length>1?n.join(r[1]):n.join("")}if(y(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length();e++)n[e]=f(r[0].get(e),t);return r.length>1?n.join(r[1]):n.join("")}for(let a=0;a<r.length;a++)n[a]=f(r[a]);return n.join("")}))},e.reverse=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),h(u[0])){const t=u[0].slice(0);return t.reverse(),t}if(y(u[0])){const t=u[0].toArray().slice(0);return t.reverse(),t}throw new n(t,a.InvalidParameter,e)}))},e.replace=function(t,e){return P(t,e,((r,n,a)=>{o(a,3,4,t,e);const u=i(a[0]),s=i(a[1]),l=i(a[2]);return 4!==a.length||d(a[3])?m(u,s,l):u.replace(s,l)}))},e.schema=function(t,e){return P(t,e,((o,i,u)=>{if(g(u[0])){const e=A(u[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypes=function(t,e){return P(t,e,((i,u,s)=>{if(o(s,1,1,t,e),g(s[0])){const e=I(s[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypecode=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return null;if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.code;return null}return null}throw new n(t,a.InvalidParameter,e)}))},e.subtypename=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return"";if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.name;return""}return""}throw new n(t,a.InvalidParameter,e)}))},e.gdbversion=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0]))return u[0].gdbVersion();throw new n(t,a.InvalidParameter,e)}))},e.domain=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,2,3,t,e),g(l[0])){const e=v(l[0],i(l[1]),void 0===l[2]?void 0:l[2]);return e&&e.domain?"coded-value"===e.domain.type||"codedValue"===e.domain.type?r.convertObjectToArcadeDictionary({type:"codedValue",name:e.domain.name,dataType:k[e.field.type],codedValues:e.domain.codedValues.map((t=>({name:t.name,code:t.code})))},w(t)):r.convertObjectToArcadeDictionary({type:"range",name:e.domain.name,dataType:k[e.field.type],min:e.domain.min,max:e.domain.max},w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.domainname=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return U(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.domaincode=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return b(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.urlencode=function(t,e){return P(t,e,((n,a,u)=>{if(o(u,1,1,t,e),null===u[0])return"";if(u[0]instanceof r){let t="";for(const e of u[0].keys()){const r=u[0].field(e);""!==t&&(t+="&"),t+=null===r?encodeURIComponent(e)+"=":encodeURIComponent(e)+"="+encodeURIComponent(r)}return t}return encodeURIComponent(i(u[0]))}))},e.hash=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=new S(0);return q(a[0],i,{context:t,node:e,map:new Map,currentLength:0}),i.digest()}))},e.convertdirection=function(t,e){return P(t,e,((r,n,a)=>(o(a,3,3,t,e),L(a[0],a[1],a[2]))))},e.fromjson=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,1,1,t,e),!1===j(l[0]))throw new n(t,a.InvalidParameter,e);return r.convertJsonToArcade(JSON.parse(i(l[0])),w(t))}))},e.expects=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);return c}))},e.tocharcode=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.charCodeAt(c)}))},e.tocodepoint=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.codePointAt(c)}))},e.fromcharcode=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);const u=i.map((t=>Math.trunc(s(t)))).filter((t=>t>=0&&t<=65535));return 0===u.length?null:String.fromCharCode.apply(null,u)}))},e.fromcodepoint=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);let u;try{u=i.map((t=>Math.trunc(s(t)))).filter((t=>t<=1114111&&t>>>0===t))}catch(l){return null}return 0===u.length?null:String.fromCodePoint.apply(null,u)}))},e.getuser=function(e,u){return P(e,u,((s,l,c)=>{o(c,0,2,e,u);let d=p(c[1],"");if(d=!0===d||!1===d?"":i(d),null!==d&&""!==d)return null;if(0===c.length||c[0]instanceof t){let t=null;if(t=e.services&&e.services.portal?e.services.portal:V.getDefault(),c.length>0){if(!E(c[0].field("url"),t))return null}if(!t)return null;if(""===d){const n=B(t);if(n){const t=JSON.parse(JSON.stringify(n));for(const e of["lastLogin","created","modified"])void 0!==t[e]&&null!==t[e]&&(t[e]=new Date(t[e]));return r.convertObjectToArcadeDictionary(t,w(e))}}return null}throw new n(e,a.InvalidParameter,u)}))},e.getenvironment=function(t,e){return P(t,e,((n,a,i)=>(o(i,0,0,t,e),r.convertObjectToArcadeDictionary(x(w(t),t.spatialReference),w(t),!0))))}}export{G as registerFunctions};
|
|
5
|
+
import t from"../ArcadePortal.js";import e from"../Attachment.js";import r from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as a}from"../executionError.js";import{C as o,j as i,L as u,g as s,Q as l,v as c,F as p,h as d,t as f,m as h,o as y,P as m,p as g,S as A,J as w,T as I,U as v,V as U,W as b,c as j,X as x,k as P,a as N,b as F,i as C,r as T,q as O}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as L}from"../featureset/support/shared.js";import{convertDirection as k}from"./convertdirection.js";import{XXH as S}from"./hash.js";import{hasSamePortal as z}from"../../core/urlUtils.js";import D from"../../geometry/Extent.js";import R from"../../geometry/Multipoint.js";import H from"../../geometry/Point.js";import M from"../../geometry/Polygon.js";import J from"../../geometry/Polyline.js";import W from"../../geometry/SpatialReference.js";import V from"../../portal/Portal.js";function B(t){if("loaded"===t.loadStatus&&t.user&&t.user.sourceJSON){return t.user.sourceJSON}return null}function E(t,e){return!!t&&z(t,e?.restUrl||"")}function Z(t,e){if(!t||!e)return t===e;if(t.x===e.x&&t.y===e.y){if(t.hasZ){if(t.z!==e.z)return!1}else if(e.hasZ)return!1;if(t.hasM){if(t.m!==e.m)return!1}else if(e.hasM)return!1;return!0}return!1}function q(o,i,u){if(null!==o)if(h(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o)q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else if(y(o)){if(i.updateUint8Array([61]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.toArray())q(t,i,u);u.map.delete(o),u.currentLength--}i.updateUint8Array([199])}else{if(P(o))return i.updateIntArray([o.toNumber()]),void i.updateUint8Array([241]);if(j(o))return i.updateIntArray([o.length]),i.updateWithString(o),void i.updateUint8Array([41]);if(N(o))i.updateUint8Array([!0===o?1:0,113]);else{if(F(o))return i.updateFloatArray([o]),void i.updateUint8Array([173]);if(o instanceof e)throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof t)throw new n(u.context,a.UnsupportedHashType,u.node);if(!(o instanceof r)){if(g(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o instanceof H)return i.updateIntArray([3833836621]),i.updateIntArray([0]),i.updateFloatArray([o.x]),i.updateIntArray([1]),i.updateFloatArray([o.y]),o.hasZ&&(i.updateIntArray([2]),i.updateFloatArray([o.z])),o.hasM&&(i.updateIntArray([3]),i.updateFloatArray([o.m])),i.updateIntArray([3765347959]),void q(o.spatialReference.wkid,i,u);if(o instanceof M){i.updateIntArray([1266616829]);for(let t=0;t<o.rings.length;t++){const e=o.rings[t],r=[];let n=null,a=null;for(let i=0;i<e.length;i++){const u=o.getPoint(t,i);if(0===i)n=u;else if(Z(a,u))continue;a=u,i===e.length-1&&Z(n,u)||r.push(u)}i.updateIntArray([1397116793,r.length]);for(let t=0;t<r.length;t++){const e=r[t];i.updateIntArray([3962308117,t]),q(e,i,u),i.updateIntArray([2716288009])}i.updateIntArray([2278822459])}return i.updateIntArray([3878477243]),void q(o.spatialReference.wkid,i,u)}if(o instanceof J){i.updateIntArray([4106883559]);for(let t=0;t<o.paths.length;t++){const e=o.paths[t];i.updateIntArray([1397116793,e.length]);for(let r=0;r<e.length;r++)i.updateIntArray([3962308117,r]),q(o.getPoint(t,r),i,u),i.updateIntArray([2716288009]);i.updateIntArray([2278822459])}return i.updateIntArray([2568784753]),void q(o.spatialReference.wkid,i,u)}if(o instanceof R){i.updateIntArray([588535921,o.points.length]);for(let t=0;t<o.points.length;t++){const e=o.getPoint(t);i.updateIntArray([t]),q(e,i,u)}return i.updateIntArray([1700171621]),void q(o.spatialReference.wkid,i,u)}if(o instanceof D)return i.updateIntArray([3483648373]),i.updateIntArray([0]),i.updateFloatArray([o.xmax]),i.updateIntArray([1]),i.updateFloatArray([o.xmin]),i.updateIntArray([2]),i.updateFloatArray([o.ymax]),i.updateIntArray([3]),i.updateFloatArray([o.ymin]),o.hasZ&&(i.updateIntArray([4]),i.updateFloatArray([o.zmax]),i.updateIntArray([5]),i.updateFloatArray([o.zmin])),o.hasM&&(i.updateIntArray([6]),i.updateFloatArray([o.mmax]),i.updateIntArray([7]),i.updateFloatArray([o.mmin])),i.updateIntArray([3622027469]),void q(o.spatialReference.wkid,i,u);if(o instanceof W)return i.updateIntArray([14]),void 0!==o.wkid&&null!==o.wkid&&i.updateIntArray([o.wkid]),void(o.wkt&&i.updateWithString(o.wkt));if(C(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(T(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(O(o))throw new n(u.context,a.UnsupportedHashType,u.node);if(o===c)throw new n(u.context,a.UnsupportedHashType,u.node);throw new n(u.context,a.UnsupportedHashType,u.node)}if(i.updateUint8Array([223]),u.map.has(o)){const t=u.map.get(o);i.updateIntArray([61237541^t])}else{u.map.set(o,u.currentLength++);for(const t of o.keys()){i.updateIntArray([t.length]),i.updateWithString(t),i.updateUint8Array([251]);q(o.field(t),i,u),i.updateUint8Array([239])}u.map.delete(o),u.currentLength--}i.updateUint8Array([73])}}else i.updateUint8Array([0,139])}function Q(e,P){e.portal=function(e,r){return P(e,r,((n,a,u)=>(o(u,1,1,e,r),new t(i(u[0])))))},e.typeof=function(t,e){return P(t,e,((r,i,s)=>{o(s,1,1,t,e);const l=u(s[0]);if("Unrecognised Type"===l)throw new n(t,a.UnrecognisedType,e);return l}))},e.trim=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).trim())))},e.tohex=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=s(a[0]);return isNaN(i)?i:i.toString(16)}))},e.upper=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toUpperCase())))},e.proper=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,2,t,e);let u=1;2===a.length&&"firstword"===i(a[1]).toLowerCase()&&(u=2);const s=/\s/,l=i(a[0]);let c="",p=!0;for(let t=0;t<l.length;t++){let e=l[t];if(s.test(e))1===u&&(p=!0);else{e.toUpperCase()!==e.toLowerCase()&&(p?(e=e.toUpperCase(),p=!1):e=e.toLowerCase())}c+=e}return c}))},e.lower=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,1,t,e),i(a[0]).toLowerCase())))},e.guid=function(t,e){return P(t,e,((r,n,a)=>{if(o(a,0,1,t,e),a.length>0)switch(i(a[0]).toLowerCase()){case"digits":return l().replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return l();case"digits-hyphen-braces":return"{"+l()+"}";case"digits-hyphen-parentheses":return"("+l()+")"}return"{"+l()+"}"}))},e.standardizeguid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=i(a[0]);if(""===u||null===u)return"";const s=/^(\{|\()?(?<partA>[0-9a-z]{8})(\-?)(?<partB>[0-9a-z]{4})(\-?)(?<partC>[0-9a-z]{4})(\-?)(?<partD>[0-9a-z]{4})(\-?)(?<partE>[0-9a-z]{12})(\}|\))?$/gim.exec(u);if(!s)return"";const l=s.groups;switch(u=l.partA+"-"+l.partB+"-"+l.partC+"-"+l.partD+"-"+l.partE,i(a[1]).toLowerCase()){case"digits":return u.replace("-","").replace("-","").replace("-","").replace("-","");case"digits-hyphen":return u;case"digits-hyphen-braces":return"{"+u+"}";case"digits-hyphen-parentheses":return"("+u+")"}return"{"+u+"}"}))},e.console=function(t,e){return P(t,e,((e,r,n)=>(0===n.length||(1===n.length?t.console(i(n[0])):t.console(i(n))),c)))},e.mid=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=s(a[1]);if(isNaN(u))return"";if(u<0&&(u=0),2===a.length)return i(a[0]).substr(u);let l=s(a[2]);return isNaN(l)?"":(l<0&&(l=0),i(a[0]).substr(u,l))}))},e.find=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,3,t,e);let u=0;if(a.length>2){if(u=s(p(a[2],0)),isNaN(u))return-1;u<0&&(u=0)}return i(a[1]).indexOf(i(a[0]),u)}))},e.left=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(0,u))}))},e.right=function(t,e){return P(t,e,((r,n,a)=>{o(a,2,2,t,e);let u=s(a[1]);return isNaN(u)?"":(u<0&&(u=0),i(a[0]).substr(-1*u,u))}))},e.split=function(t,e){return P(t,e,((r,n,a)=>{let u;o(a,2,4,t,e);let l=s(p(a[2],-1));const c=d(p(a[3],!1));if(-1===l||null===l||!0===c?u=i(a[0]).split(i(a[1])):(isNaN(l)&&(l=-1),l<-1&&(l=-1),u=i(a[0]).split(i(a[1]),l)),!1===c)return u;const f=[];for(let t=0;t<u.length&&!(-1!==l&&f.length>=l);t++)""!==u[t]&&void 0!==u[t]&&f.push(u[t]);return f}))},e.text=function(t,e){return P(t,e,((r,n,a)=>(o(a,1,2,t,e),f(a[0],a[1]))))},e.concatenate=function(t,e){return P(t,e,((t,e,r)=>{const n=[];if(r.length<1)return"";if(h(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length;e++)n[e]=f(r[0][e],t);return r.length>1?n.join(r[1]):n.join("")}if(y(r[0])){const t=p(r[2],"");for(let e=0;e<r[0].length();e++)n[e]=f(r[0].get(e),t);return r.length>1?n.join(r[1]):n.join("")}for(let a=0;a<r.length;a++)n[a]=f(r[a]);return n.join("")}))},e.reverse=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),h(u[0])){const t=u[0].slice(0);return t.reverse(),t}if(y(u[0])){const t=u[0].toArray().slice(0);return t.reverse(),t}throw new n(t,a.InvalidParameter,e)}))},e.replace=function(t,e){return P(t,e,((r,n,a)=>{o(a,3,4,t,e);const u=i(a[0]),s=i(a[1]),l=i(a[2]);return 4!==a.length||d(a[3])?m(u,s,l):u.replace(s,l)}))},e.schema=function(t,e){return P(t,e,((o,i,u)=>{if(g(u[0])){const e=A(u[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypes=function(t,e){return P(t,e,((i,u,s)=>{if(o(s,1,1,t,e),g(s[0])){const e=I(s[0]);return e?r.convertObjectToArcadeDictionary(e,w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.subtypecode=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return null;if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.code;return null}return null}throw new n(t,a.InvalidParameter,e)}))},e.subtypename=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0])){const t=I(u[0]);if(!t)return"";if(t.subtypeField&&u[0].hasField(t.subtypeField)){const e=u[0].field(t.subtypeField);for(const r of t.subtypes)if(r.code===e)return r.name;return""}return""}throw new n(t,a.InvalidParameter,e)}))},e.gdbversion=function(t,e){return P(t,e,((r,i,u)=>{if(o(u,1,1,t,e),g(u[0]))return u[0].gdbVersion();throw new n(t,a.InvalidParameter,e)}))},e.domain=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,2,3,t,e),g(l[0])){const e=v(l[0],i(l[1]),void 0===l[2]?void 0:l[2]);return e&&e.domain?"coded-value"===e.domain.type||"codedValue"===e.domain.type?r.convertObjectToArcadeDictionary({type:"codedValue",name:e.domain.name,dataType:L[e.field.type],codedValues:e.domain.codedValues.map((t=>({name:t.name,code:t.code})))},w(t)):r.convertObjectToArcadeDictionary({type:"range",name:e.domain.name,dataType:L[e.field.type],min:e.domain.min,max:e.domain.max},w(t)):null}throw new n(t,a.InvalidParameter,e)}))},e.domainname=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return U(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.domaincode=function(t,e){return P(t,e,((r,u,s)=>{if(o(s,2,4,t,e),g(s[0]))return b(s[0],i(s[1]),s[2],void 0===s[3]?void 0:s[3]);throw new n(t,a.InvalidParameter,e)}))},e.urlencode=function(t,e){return P(t,e,((n,a,u)=>{if(o(u,1,1,t,e),null===u[0])return"";if(u[0]instanceof r){let t="";for(const e of u[0].keys()){const r=u[0].field(e);""!==t&&(t+="&"),t+=null===r?encodeURIComponent(e)+"=":encodeURIComponent(e)+"="+encodeURIComponent(r)}return t}return encodeURIComponent(i(u[0]))}))},e.hash=function(t,e){return P(t,e,((r,n,a)=>{o(a,1,1,t,e);const i=new S(0);return q(a[0],i,{context:t,node:e,map:new Map,currentLength:0}),i.digest()}))},e.convertdirection=function(t,e){return P(t,e,((r,n,a)=>(o(a,3,3,t,e),k(a[0],a[1],a[2]))))},e.fromjson=function(t,e){return P(t,e,((u,s,l)=>{if(o(l,1,1,t,e),!1===j(l[0]))throw new n(t,a.InvalidParameter,e);return r.convertJsonToArcade(JSON.parse(i(l[0])),w(t))}))},e.expects=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);return c}))},e.tocharcode=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.charCodeAt(c)}))},e.tocodepoint=function(t,e){return P(t,e,((r,u,l)=>{o(l,1,2,t,e);const c=s(p(l[1],0)),d=i(l[0]);if(0===d.length&&1===l.length)return null;if(d.length<=c||c<0)throw new n(t,a.OutOfBounds,e);return d.codePointAt(c)}))},e.fromcharcode=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);const u=i.map((t=>Math.trunc(s(t)))).filter((t=>t>=0&&t<=65535));return 0===u.length?null:String.fromCharCode.apply(null,u)}))},e.fromcodepoint=function(t,e){return P(t,e,((r,o,i)=>{if(i.length<1)throw new n(t,a.WrongNumberOfParameters,e);let u;try{u=i.map((t=>Math.trunc(s(t)))).filter((t=>t<=1114111&&t>>>0===t))}catch(l){return null}return 0===u.length?null:String.fromCodePoint.apply(null,u)}))},e.getuser=function(e,u){return P(e,u,((s,l,c)=>{o(c,0,2,e,u);let d=p(c[1],"");if(d=!0===d||!1===d?"":i(d),null!==d&&""!==d)return null;if(0===c.length||c[0]instanceof t){let t=null;if(t=e.services&&e.services.portal?e.services.portal:V.getDefault(),c.length>0){if(!E(c[0].field("url"),t))return null}if(!t)return null;if(""===d){const n=B(t);if(n){const t=JSON.parse(JSON.stringify(n));for(const e of["lastLogin","created","modified"])void 0!==t[e]&&null!==t[e]&&(t[e]=new Date(t[e]));return r.convertObjectToArcadeDictionary(t,w(e))}}return null}throw new n(e,a.InvalidParameter,u)}))},e.getenvironment=function(t,e){return P(t,e,((n,a,i)=>(o(i,0,0,t,e),r.convertObjectToArcadeDictionary(x(w(t),t.spatialReference),w(t),!0))))}}export{Q as registerFunctions};
|
package/arcade/languageUtils.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.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../config.js";import"../kernel.js";import"./ArcadeDate.js";import"./ArcadeModule.js";import"./executionError.js";import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"./featureset/support/shared.js";import"../core/number.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/support/coordsUtils.js";import"../intl/locale.js";import"luxon";export{I as ImplicitResult,a5 as ImplicitResultE,R as ReturnResult,a4 as ReturnResultE,
|
|
5
|
+
import"../config.js";import"../kernel.js";import"./ArcadeDate.js";import"./ArcadeModule.js";import"./executionError.js";import"./FunctionWrapper.js";import"./ImmutableArray.js";import"./ImmutablePathArray.js";import"./ImmutablePointArray.js";import"./featureset/support/shared.js";import"../core/number.js";import"../geometry/Extent.js";import"../geometry/Geometry.js";import"../geometry/Multipoint.js";import"../geometry/Point.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/support/coordsUtils.js";import"../intl/locale.js";import"luxon";export{I as ImplicitResult,a5 as ImplicitResultE,R as ReturnResult,a4 as ReturnResultE,N as absRound,ac as arcadeVersion,H as autoCastArrayOfPointsToMultiPoint,E as autoCastArrayOfPointsToPolygon,G as autoCastArrayOfPointsToPolyline,D as autoCastFeatureToGeometry,B as binaryOperator,w as breakResult,d as castAsJson,e as castAsJsonAsync,x as continueResult,X as defaultExecutingContext,J as defaultTimeZone,F as defaultUndefined,A as equalityTest,W as featureDomainCodeLookup,V as featureDomainValueLookup,U as featureFullDomain,S as featureSchema,T as featureSubtypes,O as fixNullGeometry,y as fixSpatialReference,aa as formatDate,a9 as formatNumber,Q as generateUUID,a1 as getDomain,a3 as getDomainCode,a2 as getDomainValue,L as getType,z as greaterThanLessThan,m as isArray,a as isBoolean,k as isDate,s as isDictionary,p as isFeature,r as isFeatureSet,q as isFeatureSetCollection,i as isFunctionParameter,n as isGeometry,o as isImmutableArray,K as isInteger,a8 as isJsDate,a6 as isModule,b as isNumber,a7 as isObject,f as isSimpleType,c as isString,Z as isSubtypeGrouplayer,_ as isSubtypeSublayer,P as multiReplace,C as pcCheck,ab as stableStringify,M as standardiseDateFormat,$ as tick,h as toBoolean,l as toDate,g as toNumber,Y as toNumberArray,j as toString,a0 as toStringArray,t as toStringExplicit,v as voidOperation}from"../chunks/languageUtils.js";
|