@arcgis/core 5.2.0-next.63 → 5.2.0-next.65
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/Feature.js +1 -1
- package/arcade/ImmutableArray.js +1 -1
- package/arcade/ImmutablePathArray.js +1 -1
- package/arcade/ImmutablePointArray.js +1 -1
- package/arcade/Pixel.js +1 -1
- package/arcade/Voxel.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/debug.js +1 -1
- package/arcade/deepClone.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade.js +1 -1
- package/arcgisGlobal.d.ts +9 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{bb95922cd4631d6f17fb.js → 04ac5ac6f592d8c34bbd.js} +1 -1
- package/assets/esri/core/workers/chunks/{44e64186318728d1be51.js → 067b00498ae85f635f60.js} +1 -1
- package/assets/esri/core/workers/chunks/{62f3ca0719ac6bc76512.js → 09c43bcb09aad02e83a9.js} +1 -1
- package/assets/esri/core/workers/chunks/0b20f92bae2b4c40d299.js +1 -0
- package/assets/esri/core/workers/chunks/0c3c311400ee352187ea.js +1 -0
- package/assets/esri/core/workers/chunks/0c582abc8d25249eb530.js +1 -0
- package/assets/esri/core/workers/chunks/0d6776055e9b34c14151.js +1 -0
- package/assets/esri/core/workers/chunks/0d7d54e74b5639a0be6e.js +1 -0
- package/assets/esri/core/workers/chunks/0da5b27b070ab780f8b3.js +1 -0
- package/assets/esri/core/workers/chunks/0e6b6fcc55cc43ede1fc.js +1 -0
- package/assets/esri/core/workers/chunks/{bcb5017500d144b73908.js → 126f1f6b355723db6c4f.js} +1 -1
- package/assets/esri/core/workers/chunks/12a64eca4c571926d9d4.js +1 -0
- package/assets/esri/core/workers/chunks/{b2c0262c4a76b8a86200.js → 149284464115981694ff.js} +1 -1
- package/assets/esri/core/workers/chunks/1642fa1263d8f4a45101.js +1 -0
- package/assets/esri/core/workers/chunks/1840d74ebae777a0200b.js +1 -0
- package/assets/esri/core/workers/chunks/19bf6826e7d9a4d52035.js +1 -0
- package/assets/esri/core/workers/chunks/1bfbdec791e19f5a2534.js +1 -0
- package/assets/esri/core/workers/chunks/1d8280f63a6698e74f20.js +1 -0
- package/assets/esri/core/workers/chunks/{a12803108c3b12808698.js → 242cad472fbc38b24dbc.js} +2 -2
- package/assets/esri/core/workers/chunks/25197ecb324d6f08e03e.js +1 -0
- package/assets/esri/core/workers/chunks/253c231b5a52f1d2d3a5.js +1 -0
- package/assets/esri/core/workers/chunks/25999b6f96ec305a7679.js +1 -0
- package/assets/esri/core/workers/chunks/259bdacfb7b0f866a8d0.js +1 -0
- package/assets/esri/core/workers/chunks/28565756f884d0851003.js +1 -0
- package/assets/esri/core/workers/chunks/2a5a165848413764381b.js +1 -0
- package/assets/esri/core/workers/chunks/2e7a5bb740281ef59199.js +1 -0
- package/assets/esri/core/workers/chunks/{285a5bd708f0fe1c620c.js → 2ea3ca68cfa4d34e8f3b.js} +1 -1
- package/assets/esri/core/workers/chunks/2f87a49bdd00f899d81d.js +1 -0
- package/assets/esri/core/workers/chunks/{37a95f097533bad1b338.js → 302d91b7c480c6c9304b.js} +1 -1
- package/assets/esri/core/workers/chunks/{3d6d2b42ba2ad7086d5d.js → 3b493e8043ec1a2a5d96.js} +1 -1
- package/assets/esri/core/workers/chunks/3ddd717ea12d9823eee2.js +1 -0
- package/assets/esri/core/workers/chunks/40e48b720d89cd067892.js +1 -0
- package/assets/esri/core/workers/chunks/{a833fc9250635eb4152f.js → 41f7f3615d3ecb87c59a.js} +1 -1
- package/assets/esri/core/workers/chunks/{95b3b8fe45ef4ac6b277.js → 450bc48a7389607bce1e.js} +1 -1
- package/assets/esri/core/workers/chunks/465a050fd838ee8eddf3.js +1 -0
- package/assets/esri/core/workers/chunks/{0d61c8d348b09179777a.js → 46d8a1d6f7341ad20749.js} +1 -1
- package/assets/esri/core/workers/chunks/4710f21b138a2c9a0345.js +1 -0
- package/assets/esri/core/workers/chunks/48a0dfaabb9b4bce4191.js +1 -0
- package/assets/esri/core/workers/chunks/49a3888bf9e2481642ac.js +1 -0
- package/assets/esri/core/workers/chunks/{4ee900e5dbb130fa0c7b.js → 4a40b894ec89b0a4f9bf.js} +1 -1
- package/assets/esri/core/workers/chunks/{d847c3cb2043a983145b.js → 4addea2e35b0c845743e.js} +1 -1
- package/assets/esri/core/workers/chunks/{e0a4d0288abd334b0673.js → 4ae626868e14bedd7fc5.js} +1 -1
- package/assets/esri/core/workers/chunks/529ee4670940720e888b.js +1 -0
- package/assets/esri/core/workers/chunks/{a3c882fe7599dc0f4f27.js → 59d1708ae13c6e7e6e55.js} +1 -1
- package/assets/esri/core/workers/chunks/59dd83e5aee2908c7eca.js +1 -0
- package/assets/esri/core/workers/chunks/{b5c7813495657f844171.js → 5adf16c034a590b5e9f5.js} +1 -1
- package/assets/esri/core/workers/chunks/{b8bdacebd4d24ba90f3f.js → 5fde1234c5cccaee6763.js} +1 -1
- package/assets/esri/core/workers/chunks/60f9b37dd738d884c48d.js +1 -0
- package/assets/esri/core/workers/chunks/62c8413f3bbc1378273d.js +1 -0
- package/assets/esri/core/workers/chunks/6501ee40bf25f9f75d02.js +1 -0
- package/assets/esri/core/workers/chunks/663cf8bff17c894cd5f8.js +1 -0
- package/assets/esri/core/workers/chunks/6d1371b521c7f94fd77e.js +1 -0
- package/assets/esri/core/workers/chunks/6d5038d4351fe29e2718.js +1 -0
- package/assets/esri/core/workers/chunks/6f102c90908c9900cdaa.js +1 -0
- package/assets/esri/core/workers/chunks/6f39545710d1b35d922c.js +1 -0
- package/assets/esri/core/workers/chunks/7278fdf6bfcdffa10a7f.js +1 -0
- package/assets/esri/core/workers/chunks/72eb0ac55026a4f5d6a7.js +1 -0
- package/assets/esri/core/workers/chunks/73cb499d7d68c59ba34e.js +1 -0
- package/assets/esri/core/workers/chunks/{b8d788e110c212a879ab.js → 73f228d966b89c73c9e9.js} +1 -1
- package/assets/esri/core/workers/chunks/76bccc318d7cc33829a7.js +1 -0
- package/assets/esri/core/workers/chunks/777eafdb86b26b35c803.js +1 -0
- package/assets/esri/core/workers/chunks/7821aeba3e414b318a75.js +1 -0
- package/assets/esri/core/workers/chunks/7b531feba4fd662575f9.js +1 -0
- package/assets/esri/core/workers/chunks/7c57354d026e27e056d4.js +1 -0
- package/assets/esri/core/workers/chunks/7d163d9d90393e491ee5.js +1 -0
- package/assets/esri/core/workers/chunks/7d4c65311064a5c2e0b1.js +1 -0
- package/assets/esri/core/workers/chunks/{0474af7687466d8befd2.js → 7e2794705b4e679fcb3f.js} +1 -1
- package/assets/esri/core/workers/chunks/7ebbb90d80600d9ba889.js +1 -0
- package/assets/esri/core/workers/chunks/7f125963555dc1ce63ad.js +1 -0
- package/assets/esri/core/workers/chunks/{763cbb6716e398436a6d.js → 7f6eee102871769fdf8f.js} +1 -1
- package/assets/esri/core/workers/chunks/805c97b875d3066fb8df.js +1 -0
- package/assets/esri/core/workers/chunks/8566449c39eba55147f5.js +1 -0
- package/assets/esri/core/workers/chunks/86ed75b7169b8ee43025.js +1 -0
- package/assets/esri/core/workers/chunks/{9482a6d7baa24bbf5693.js → 89132395eca329b9ab92.js} +1 -1
- package/assets/esri/core/workers/chunks/{28bc5e8e82f188b30eb9.js → 894343e415639df88243.js} +1 -1
- package/assets/esri/core/workers/chunks/8b4759cef5ae5e43253b.js +1 -0
- package/assets/esri/core/workers/chunks/8ba4175f5e9a24ffecf7.js +1 -0
- package/assets/esri/core/workers/chunks/8be707044d992ef5f1d8.js +1 -0
- package/assets/esri/core/workers/chunks/{bd862382f72ebd446b46.js → 8d2cac1952e817daaf1f.js} +1 -1
- package/assets/esri/core/workers/chunks/8e38c5e63aae42bdf5a4.js +29 -0
- package/assets/esri/core/workers/chunks/{02ab09285a5c4ca98066.js → 8f785b722b1a131bf370.js} +1 -1
- package/assets/esri/core/workers/chunks/8f9874f42f21a4cb3acd.js +1 -0
- package/assets/esri/core/workers/chunks/{57824ecc10b25e3ad794.js → 903e1cd8b76eff19ebdf.js} +1 -1
- package/assets/esri/core/workers/chunks/90f4b81c6034253b70d7.js +1 -0
- package/assets/esri/core/workers/chunks/917c11cb40a7742d7f98.js +1 -0
- package/assets/esri/core/workers/chunks/93ab247ff34694ac60eb.js +1 -0
- package/assets/esri/core/workers/chunks/93c0a620a147cbf4a0ba.js +1 -0
- package/assets/esri/core/workers/chunks/{6e45d0db97ffa4509177.js → 94bf7f0da6ad3f7ea277.js} +1 -1
- package/assets/esri/core/workers/chunks/9be6827e5756031a56c1.js +1 -0
- package/assets/esri/core/workers/chunks/9c57161ad48d8d546dc7.js +1 -0
- package/assets/esri/core/workers/chunks/{b2cf1d3f0d48eac23a84.js → 9c5dff4f13102871786e.js} +1 -1
- package/assets/esri/core/workers/chunks/9d0bda096cdbd7e22f4b.js +1 -0
- package/assets/esri/core/workers/chunks/9dfb7d120195991e9672.js +1 -0
- package/assets/esri/core/workers/chunks/9ed5e6b06afea6c85330.js +1 -0
- package/assets/esri/core/workers/chunks/{79b857bb301f9c4169d6.js → 9fee8441fbac9f723f77.js} +1 -1
- package/assets/esri/core/workers/chunks/a108f276659d5f25352c.js +1 -0
- package/assets/esri/core/workers/chunks/{b32ede7805c7c6644e4c.js → a3bf8aa81ee398da5b52.js} +1 -1
- package/assets/esri/core/workers/chunks/{5b30231ae0a8f4b8435f.js → a504fa17d83facf1c01f.js} +1 -1
- package/assets/esri/core/workers/chunks/a52c88e2d837b525ff6c.js +1 -0
- package/assets/esri/core/workers/chunks/{23a3d8f91caf3136b2aa.js → a5fdb02b1714e93fa69e.js} +1 -1
- package/assets/esri/core/workers/chunks/{538fe46dfd685a490e23.js → a7f42ada0aa69873a938.js} +1 -1
- package/assets/esri/core/workers/chunks/a97e0b9b057664911c14.js +1 -0
- package/assets/esri/core/workers/chunks/{cb58aff1ff186fa18345.js → a9f616f22042b0dce8b9.js} +1 -1
- package/assets/esri/core/workers/chunks/afd63c18ce4656271c8e.js +1 -0
- package/assets/esri/core/workers/chunks/{f04cb48fc73635d0572f.js → b059dabb1c732829487c.js} +1 -1
- package/assets/esri/core/workers/chunks/b313464b987db8a3987a.js +1 -0
- package/assets/esri/core/workers/chunks/b318823aefcefad6fad5.js +1 -0
- package/assets/esri/core/workers/chunks/b378e504a5b1afc8d0ce.js +1 -0
- package/assets/esri/core/workers/chunks/{9fb87a7dba62b527c0ba.js → b3a1a93c6dc9247cb048.js} +1 -1
- package/assets/esri/core/workers/chunks/b4e5ee81b9eb171499a6.js +1 -0
- package/assets/esri/core/workers/chunks/b5397dc03fa0bd654ba6.js +1 -0
- package/assets/esri/core/workers/chunks/b5b698008b8f3f4d5d61.js +1 -0
- package/assets/esri/core/workers/chunks/b7bcb31737b01d7736d0.js +1 -0
- package/assets/esri/core/workers/chunks/b9a1046ca2cd0cca5da5.js +1 -0
- package/assets/esri/core/workers/chunks/{cda04571d7623c17ada2.js → b9c7aa04861f545a559c.js} +1 -1
- package/assets/esri/core/workers/chunks/{7df795bc4fa1d433463b.js → ba030767cf935f967454.js} +1 -1
- package/assets/esri/core/workers/chunks/{53d165b4f30fd64e5d8a.js → bd311c85437743cf7d2f.js} +1 -1
- package/assets/esri/core/workers/chunks/bd88228f781a0399d8bd.js +1 -0
- package/assets/esri/core/workers/chunks/bece22668622a9a6bfe2.js +1 -0
- package/assets/esri/core/workers/chunks/bfb626805405646a0419.js +1 -0
- package/assets/esri/core/workers/chunks/c02ae1d40c1fe95ae6c5.js +1 -0
- package/assets/esri/core/workers/chunks/c203df41f9d2e4b80889.js +1 -0
- package/assets/esri/core/workers/chunks/{278409028bc5af45b507.js → c4c83b5129c279c3615b.js} +1 -1
- package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +1 -0
- package/assets/esri/core/workers/chunks/c7e391df714839484cd1.js +1 -0
- package/assets/esri/core/workers/chunks/cded485ad893a7dd2948.js +1 -0
- package/assets/esri/core/workers/chunks/{1cf8fb704c48ac3d3b15.js → cf360767310fb45660a8.js} +1 -1
- package/assets/esri/core/workers/chunks/{8f2fecd8a0a972d68590.js → cf8ce63711488f2e677c.js} +1 -1
- package/assets/esri/core/workers/chunks/d214ac457ac970479536.js +1 -0
- package/assets/esri/core/workers/chunks/d4058352db1e8255b52e.js +1 -0
- package/assets/esri/core/workers/chunks/d4d385d19e62ef1c286f.js +1 -0
- package/assets/esri/core/workers/chunks/d4f005dadba75422b401.js +1 -0
- package/assets/esri/core/workers/chunks/d583bcea4d1a21da9147.js +1 -0
- package/assets/esri/core/workers/chunks/{52c4b4dabcb0d162be72.js → d5e15021928e95c11463.js} +1 -1
- package/assets/esri/core/workers/chunks/{fc639c730115e07a4a1a.js → d6500f6b2ff115d9eb09.js} +1 -1
- package/assets/esri/core/workers/chunks/{3f775deea48e268411f1.js → d7267f429a051943187b.js} +1 -1
- package/assets/esri/core/workers/chunks/d9c78c2db04a06ee83ed.js +1 -0
- package/assets/esri/core/workers/chunks/{e65ee26feca0564aeb9b.js → dc7e4f7879debf557e46.js} +145 -97
- package/assets/esri/core/workers/chunks/e1492d2404c3ed82931e.js +1 -0
- package/assets/esri/core/workers/chunks/e34ed3b818b2eb4116c5.js +1 -0
- package/assets/esri/core/workers/chunks/e7149d23615fee31ab7e.js +1 -0
- package/assets/esri/core/workers/chunks/ec774f5d6ea5c29536e5.js +1 -0
- package/assets/esri/core/workers/chunks/ed71a4e353715db0a6e9.js +1 -0
- package/assets/esri/core/workers/chunks/{1e342d532925569daadb.js → f475672ff4c2ec9367c2.js} +1 -1
- package/assets/esri/core/workers/chunks/{cc414fd2e313d89d524d.js → f54eba484f40d5eeb590.js} +1 -1
- package/assets/esri/core/workers/chunks/{04ffe788d2efc0a076dd.js → f5c9659fc5d571d501c9.js} +1 -1
- package/assets/esri/core/workers/chunks/f622b27ebdf1c918fd6d.js +1 -0
- package/assets/esri/core/workers/chunks/{dd95f50dac3f33cdb6d2.js → f6a13f07a5f7b781a9a8.js} +1 -1
- package/assets/esri/core/workers/chunks/{d849bdaf5bdfdc37531a.js → f6f7d885b4d6080e3f58.js} +1 -1
- package/assets/esri/core/workers/chunks/f8b8d3d2710c83acccf3.js +1 -0
- package/assets/esri/core/workers/chunks/f95870bb4d8e4e13e69e.js +1 -0
- package/assets/esri/core/workers/chunks/fa59f10ed0f182a2a7f3.js +1 -0
- package/assets/esri/core/workers/chunks/faa55265020591fd2224.js +1 -0
- package/assets/esri/core/workers/chunks/fc827f58db3194922056.js +1 -0
- package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
- package/chunks/Component.glsl.js +60 -62
- package/chunks/DefaultMaterial.glsl.js +27 -28
- package/chunks/GaussianSplat.glsl.js +7 -7
- package/chunks/GaussianSplatShadow.glsl.js +9 -9
- package/chunks/GlobalIllumination.glsl.js +35 -15
- package/chunks/Path.glsl.js +7 -6
- package/chunks/RealisticTree.glsl.js +22 -24
- package/chunks/SSAO.glsl.js +1 -1
- package/chunks/Terrain.glsl.js +3 -2
- package/chunks/Water.glsl.js +20 -11
- package/chunks/aiServices.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/bundle2.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/form/ExpressionInfo.d.ts +1 -1
- package/form/ExpressionInfo.js +1 -1
- package/form/elements/FieldElement.d.ts +3 -2
- package/form/elements/inputs/ComboBoxInput.d.ts +4 -15
- package/form/elements/inputs/ComboBoxInput.js +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +31 -0
- package/form/elements/inputs/DynamicChoiceInput.js +2 -0
- package/form/elements/inputs/Input.d.ts +1 -1
- package/form/elements/inputs/RadioButtonsInput.d.ts +4 -15
- package/form/elements/inputs/RadioButtonsInput.js +1 -1
- package/form/elements/inputs/SingleChoiceInput.d.ts +18 -0
- package/form/elements/inputs/SingleChoiceInput.js +2 -0
- package/form/elements/inputs.d.ts +11 -2
- package/form/elements/inputs.js +1 -1
- package/geometry/support/normalizeUtils.d.ts +1 -1
- package/kernel.js +1 -1
- package/layers/ImageryTileLayer.d.ts +1 -1
- package/layers/RouteLayer.d.ts +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/parquet/FileProvider.js +1 -1
- package/layers/graphics/sources/parquet/ParquetFileInfo.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/ArcGISImageService.d.ts +24 -24
- package/layers/mixins/TiledImagery.d.ts +1 -1
- package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
- package/layers/raster/datasets/EphemeralBlockCache.js +1 -1
- package/layers/raster/datasets/RawBlockCache.js +1 -1
- package/layers/support/KMLSublayer.js +1 -1
- package/libs/parquet/parquet.js +1 -1
- package/networks/support/CircuitExportJobInfo.d.ts +1 -1
- package/networks/support/CircuitVerifyJobInfo.d.ts +1 -1
- package/networks/support/TopologyValidationJobInfo.d.ts +1 -1
- package/networks/support/TraceJobInfo.d.ts +1 -1
- package/package.json +2 -2
- package/portal/jsonTypes.d.ts +1 -1
- package/rest/closestFacility.d.ts +1 -1
- package/rest/find.d.ts +1 -1
- package/rest/geometryService.d.ts +21 -21
- package/rest/geoprocessor.d.ts +2 -2
- package/rest/identify.d.ts +1 -1
- package/rest/imageService.d.ts +19 -19
- package/rest/lastMileDelivery.d.ts +8 -8
- package/rest/locator.d.ts +4 -4
- package/rest/networkService.d.ts +1 -1
- package/rest/networks/queryAssociations.d.ts +1 -1
- package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -1
- package/rest/networks/trace.d.ts +1 -1
- package/rest/networks/traverseAssociations.d.ts +1 -1
- package/rest/places.d.ts +3 -3
- package/rest/print.d.ts +1 -1
- package/rest/query.d.ts +11 -11
- package/rest/route.d.ts +1 -1
- package/rest/serviceArea.d.ts +1 -1
- package/rest/support/JobInfo.d.ts +5 -5
- package/rest/support/Query.js +1 -1
- package/rest/symbolService.d.ts +1 -1
- package/support/revision.js +1 -1
- package/symbols/LabelSymbol3D.js +1 -1
- package/symbols/LineSymbol3D.js +1 -1
- package/symbols/MeshSymbol3D.js +1 -1
- package/symbols/PointSymbol3D.js +1 -1
- package/symbols/PolygonSymbol3D.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayerConstants.js +1 -1
- package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +49 -32
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexInfo.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +23 -23
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +24 -16
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js +25 -0
- package/views/3d/webgl-engine/lib/GaussianSplatRenderUtils.js +2 -0
- package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatShadows.js +1 -1
- package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPassParameters.js +2 -0
- package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/draw/support/InteractiveHandle.js +1 -1
- package/views/draw/support/managers/SurfaceManager.js +1 -1
- package/views/interactive/Tooltip.d.ts +3 -3
- package/views/interactive/Tooltip.js +1 -1
- package/views/interactive/options/ElevationOptions.d.ts +20 -0
- package/views/interactive/options/ElevationOptions.js +2 -0
- package/views/interactive/options/LabelOptions.d.ts +74 -0
- package/views/interactive/options/LabelOptions.js +2 -0
- package/views/interactive/options/SnappingOptions.d.ts +157 -0
- package/views/interactive/options/SnappingOptions.js +2 -0
- package/views/interactive/options/TooltipOptions.d.ts +152 -0
- package/views/interactive/options/TooltipOptions.js +2 -0
- package/views/interactive/options/TooltipVisibleElements.d.ts +105 -0
- package/views/interactive/options/TooltipVisibleElements.js +2 -0
- package/views/interactive/options/ValueOptions.d.ts +63 -0
- package/views/interactive/options/ValueOptions.js +2 -0
- package/views/interactive/sketch/SketchLabelOptions.d.ts +7 -9
- package/views/interactive/sketch/SketchLabelOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipElevationOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +8 -50
- package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipVisibleElements.d.ts +10 -95
- package/views/interactive/sketch/SketchTooltipVisibleElements.js +1 -1
- package/views/interactive/sketch/SketchValueOptions.d.ts +7 -45
- package/views/interactive/sketch/SketchValueOptions.js +1 -1
- package/views/interactive/sketch/Units.d.ts +10 -29
- package/views/interactive/sketch/Units.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +7 -78
- package/views/interactive/snapping/SnappingOptions.js +1 -1
- package/views/interactive/support/Units.d.ts +33 -0
- package/views/interactive/support/Units.js +2 -0
- package/views/interactive/support/types.d.ts +33 -0
- package/views/interactive/tooltip/types.d.ts +6 -2
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
- package/widgets/LayerList/ListItem.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
- package/widgets/OrientedImageryViewer/services/TransformationService.js +1 -1
- package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/TableList/ListItem.js +1 -1
- package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +0 -1
- package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +0 -29
- package/assets/esri/core/workers/chunks/069b6d8bdb34ee88d437.js +0 -1
- package/assets/esri/core/workers/chunks/0790bf0eb276cd9166f6.js +0 -1
- package/assets/esri/core/workers/chunks/08c2bf9defcece9e049a.js +0 -1
- package/assets/esri/core/workers/chunks/0ae0483b72f5e8d00d55.js +0 -1
- package/assets/esri/core/workers/chunks/0d1224693a62a26a0e72.js +0 -1
- package/assets/esri/core/workers/chunks/10b367563f894ceb9864.js +0 -1
- package/assets/esri/core/workers/chunks/11e00ca5ac1b004f4ecc.js +0 -1
- package/assets/esri/core/workers/chunks/13033178de9f637a2356.js +0 -1
- package/assets/esri/core/workers/chunks/13c893e448bedc5c1cef.js +0 -1
- package/assets/esri/core/workers/chunks/14cd8bb1ad4da8d1d2ca.js +0 -1
- package/assets/esri/core/workers/chunks/15c2d9bec0455fc363a9.js +0 -1
- package/assets/esri/core/workers/chunks/246cd372d4184233f48e.js +0 -1
- package/assets/esri/core/workers/chunks/268ab65afc3fce775ad2.js +0 -1
- package/assets/esri/core/workers/chunks/279a9a38b04a21cdfd11.js +0 -1
- package/assets/esri/core/workers/chunks/2a1c6df073e6ca6a6365.js +0 -1
- package/assets/esri/core/workers/chunks/3406a01dad6338e3c548.js +0 -1
- package/assets/esri/core/workers/chunks/36781219ca9ba5d7fe52.js +0 -1
- package/assets/esri/core/workers/chunks/36999a2e383c8eb3c398.js +0 -1
- package/assets/esri/core/workers/chunks/36f8a912842181e1f0aa.js +0 -1
- package/assets/esri/core/workers/chunks/3f1a7f8a9ead64bf0b7b.js +0 -1
- package/assets/esri/core/workers/chunks/41e821ce229bc56dc1a1.js +0 -1
- package/assets/esri/core/workers/chunks/43b39abd49c4a8ce891f.js +0 -1
- package/assets/esri/core/workers/chunks/456e616f32e7de696d38.js +0 -1
- package/assets/esri/core/workers/chunks/478540265c86436da05e.js +0 -1
- package/assets/esri/core/workers/chunks/479f486ec1797629ec70.js +0 -1
- package/assets/esri/core/workers/chunks/484b3e2a220c440ccbb4.js +0 -1
- package/assets/esri/core/workers/chunks/4a340836ddbc856993f2.js +0 -1
- package/assets/esri/core/workers/chunks/54b9667450d066c6f6ce.js +0 -1
- package/assets/esri/core/workers/chunks/57b07448da06d0302a46.js +0 -1
- package/assets/esri/core/workers/chunks/5a9ff50fdcc99ae28cce.js +0 -1
- package/assets/esri/core/workers/chunks/5dbd8ca7e7b8eb9a0bf7.js +0 -1
- package/assets/esri/core/workers/chunks/5dc17b76c6ecc24e7b9a.js +0 -1
- package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +0 -1
- package/assets/esri/core/workers/chunks/5eb6f37c74a217772eca.js +0 -1
- package/assets/esri/core/workers/chunks/6210fb6cd31844f23964.js +0 -1
- package/assets/esri/core/workers/chunks/638ed1297efdb24f4711.js +0 -1
- package/assets/esri/core/workers/chunks/63ede7295938f7010808.js +0 -1
- package/assets/esri/core/workers/chunks/661a59133ae34f172174.js +0 -1
- package/assets/esri/core/workers/chunks/687cf21e027f49b44d22.js +0 -1
- package/assets/esri/core/workers/chunks/6c2b5087a9df65267f4e.js +0 -1
- package/assets/esri/core/workers/chunks/6c98a64d92c9bca78203.js +0 -1
- package/assets/esri/core/workers/chunks/6d247ff53421d27628ce.js +0 -1
- package/assets/esri/core/workers/chunks/700c08dd2e734c15e621.js +0 -1
- package/assets/esri/core/workers/chunks/70452f6d63e9be8d03dd.js +0 -1
- package/assets/esri/core/workers/chunks/733b2e181683d5fc7c95.js +0 -1
- package/assets/esri/core/workers/chunks/7659391f952d134164cf.js +0 -1
- package/assets/esri/core/workers/chunks/7889f4a17cf249f2acc5.js +0 -1
- package/assets/esri/core/workers/chunks/7a2dcd57849048c6e00d.js +0 -1
- package/assets/esri/core/workers/chunks/7a2dfa42610fe8414ed7.js +0 -1
- package/assets/esri/core/workers/chunks/7ce52b850dd785bfa33f.js +0 -1
- package/assets/esri/core/workers/chunks/7d85048c6cd6ad84faf9.js +0 -1
- package/assets/esri/core/workers/chunks/7fdd6a5fa062778be55d.js +0 -1
- package/assets/esri/core/workers/chunks/81accb1820e2735fa376.js +0 -1
- package/assets/esri/core/workers/chunks/8210fc9e072209e26fa9.js +0 -1
- package/assets/esri/core/workers/chunks/8369edafab7bdc59b95a.js +0 -1
- package/assets/esri/core/workers/chunks/84fa102a93b2144c28fb.js +0 -1
- package/assets/esri/core/workers/chunks/85ce7673d42526a79fd2.js +0 -1
- package/assets/esri/core/workers/chunks/8722e2790272e90a1897.js +0 -1
- package/assets/esri/core/workers/chunks/8a1970e68bc1e833cb7f.js +0 -1
- package/assets/esri/core/workers/chunks/8bb20ef549ec1c86b38e.js +0 -1
- package/assets/esri/core/workers/chunks/8c535c6a39d2be2ed655.js +0 -1
- package/assets/esri/core/workers/chunks/9008090a5d8431ddfa22.js +0 -1
- package/assets/esri/core/workers/chunks/92696cce2b980373f9ad.js +0 -1
- package/assets/esri/core/workers/chunks/98b27cf8acbfa4259758.js +0 -1
- package/assets/esri/core/workers/chunks/9a6208ab670ad74e6f7d.js +0 -1
- package/assets/esri/core/workers/chunks/a09ce34fc7c8abe64ed5.js +0 -1
- package/assets/esri/core/workers/chunks/a10f63a08d976be058be.js +0 -1
- package/assets/esri/core/workers/chunks/a5f058567419ea70dff6.js +0 -1
- package/assets/esri/core/workers/chunks/a965d151515b76dd7566.js +0 -1
- package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +0 -1
- package/assets/esri/core/workers/chunks/b7170816736769d3b7b0.js +0 -1
- package/assets/esri/core/workers/chunks/b8e5d7aefddddbd0a10c.js +0 -1
- package/assets/esri/core/workers/chunks/b958f87f23f984131d09.js +0 -1
- package/assets/esri/core/workers/chunks/b9f40681af1fa00b5bbe.js +0 -1
- package/assets/esri/core/workers/chunks/c4c25db769a78e677e33.js +0 -1
- package/assets/esri/core/workers/chunks/c85ba0700eafdc8d6f9e.js +0 -1
- package/assets/esri/core/workers/chunks/c97451f75c23be979476.js +0 -1
- package/assets/esri/core/workers/chunks/ca118c42c0f609ca7912.js +0 -1
- package/assets/esri/core/workers/chunks/cb17cd8aaf77238c0236.js +0 -1
- package/assets/esri/core/workers/chunks/d03f427442bb0c287d05.js +0 -1
- package/assets/esri/core/workers/chunks/d08d3c6f21e6ba8268ca.js +0 -1
- package/assets/esri/core/workers/chunks/d37a72111dffc4c4db70.js +0 -1
- package/assets/esri/core/workers/chunks/d41ab2abcfacc87809b5.js +0 -1
- package/assets/esri/core/workers/chunks/d4ed094962a41d756c95.js +0 -1
- package/assets/esri/core/workers/chunks/d83ea3e4e9ab45334068.js +0 -1
- package/assets/esri/core/workers/chunks/d9b83d7dd7d1f7729a91.js +0 -1
- package/assets/esri/core/workers/chunks/dbcec48c4ba104a6d0b5.js +0 -1
- package/assets/esri/core/workers/chunks/dc24e80d061f7b063608.js +0 -1
- package/assets/esri/core/workers/chunks/df30053a10d4930924d5.js +0 -1
- package/assets/esri/core/workers/chunks/e5bb7ee670a3ba5ba3fe.js +0 -1
- package/assets/esri/core/workers/chunks/e5c75459de85a6dd2f14.js +0 -1
- package/assets/esri/core/workers/chunks/e798ca23f02a2dd65bd4.js +0 -1
- package/assets/esri/core/workers/chunks/f1299b4fc760ccca1518.js +0 -1
- package/assets/esri/core/workers/chunks/f65adaaa33d9f3b131f6.js +0 -1
- package/assets/esri/core/workers/chunks/f6715b8765cd36d81ec8.js +0 -1
- package/assets/esri/core/workers/chunks/f7fa932ade85cb2847b6.js +0 -1
- package/assets/esri/core/workers/chunks/f9a4f4efd63b8189a4eb.js +0 -1
- package/assets/esri/core/workers/chunks/f9b654f801cb416e9e17.js +0 -1
- package/assets/esri/core/workers/chunks/fa1c58e5b582d61a03ab.js +0 -1
- package/assets/esri/core/workers/chunks/fdec3a2e100688c42e41.js +0 -1
- package/assets/esri/core/workers/chunks/fefbde2c2e527bb716ee.js +0 -1
- /package/assets/esri/core/workers/chunks/{a12803108c3b12808698.js.LICENSE.txt → 242cad472fbc38b24dbc.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t}from"../executionError.js";import{s as r,r as s,g as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as a,isArray as u}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),d=(e,n)=>e+n,h=(e,n)=>e-n,g=(e,n)=>e*n,m=(e,n)=>e/n,f=(e,n,t)=>l(d)(e,n,t),w=(e,n,t)=>l(h)(e,n,t),A=(e,n,t)=>l(g)(e,n,t),D=(e,n,t)=>l(m)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,_=3240,R=60,F=60,M=180*S/Math.PI,v=p*R*F,L=90*S,U=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t("InvalidParameter",null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}function H(e,n){switch(e){case 0:return"SHORT"===n?"N":"North";case 1:return"SHORT"===n?"E":"East";case 2:return"SHORT"===n?"S":"South";case 3:return"SHORT"===n?"W":"West"}}function k(e,n){return e-Math.floor(e/n)*n}function P(e){switch(e){case 6:case 1:return p;case 4:return E;case 5:return T;case 2:return v;case 7:return R;case 8:return F;default:throw new t("LogicError",null,{reason:"unsupported evaluations"})}}const z=new n([],[["NORTH",1],["NORTH AZIMUTH",1],["POLAR",2],["QUADRANT",3],["SOUTH",4],["SOUTH AZIMUTH",4]]);function Q(e){const n=z.lookup(e);if(null==n)throw new t("LogicError",null,{reason:"unsupported directionType"});return n}const j=new n([],[["D",1],["DD",1],["DECIMAL DEGREE",1],["DEGREE",1],["DECIMAL DEGREES",1],["DEGREES",1],["DMS",3],["DEGREES MINUTES SECONDS",3],["R",4],["RAD",4],["RADS",4],["RADIAN",4],["RADIANS",4],["G",5],["GON",5],["GONS",5],["GRAD",5],["GRADS",5],["GRADIAN",5],["GRADIANS",5]]);function C(e){const n=j.lookup(e);if(null==n)throw new t("LogicError",null,{reason:"unsupported units"});return n}class W{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case 1:case 6:return this.m_degrees;case 7:return this.m_minutes;case 2:case 8:return this.m_seconds;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/F);return t-=s*F,new W(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new W(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(2===e||8===e)F<=t&&(t-=F,++r),R<=r&&(r=0,++s),p<=s&&(s=0);else if(7===e)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,R<=r&&(r=0,++s),p<=s&&(s=0);else if(1===e||6===e){const e=D(this.m_seconds,S),n=D(this.m_minutes,R);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new W(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*F+t}}class B{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return 0===e?this.meridian:this.direction}}class V{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new V(new Z(V._convertDirectionFormat(e.extractAngularUnits(2),n,1)))}getAngle(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:case 4:case 2:return new Z(V._convertDirectionFormat(n,1,e));case 3:{const e=V.secondsNorthAzimuthToQuadrant(n);return new Z(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 0;case 4:return 2;case 2:return 1;case 3:return V.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 1;case 4:return 3;case 2:return 0;case 3:return V.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=L||e>=x?0:2,t=0===n?Math.min(v-e,e):Math.abs(e-U);return new B(n,t,e>U?3:1)}static createFromAngleMeridianAndDirection(e,n,t){return new V(new Z(V.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(2),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return 0===n?1===t?e:v-e:1===t?U-e:U+e}static _convertDirectionFormat(e,n,r){let s=0;switch(n){case 1:s=e;break;case 2:s=L-e;break;case 3:throw new t("LogicError",null,{reason:"unexpected evaluation"});case 4:s=e+U}let i=0;switch(r){case 1:i=s;break;case 2:i=L-s;break;case 3:throw new t("LogicError",null,{reason:"unexpected evaluation"});case 4:i=s-U}return i=I(i,v),i<0?v+i:i}}function X(e,n,r){let s=null;switch(n){case 1:s=A(e,S);break;case 2:s=e;break;case 5:s=A(e,_);break;case 4:s=A(e,M);break;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}switch(r){case 1:return D(s,S);case 2:return s;case 5:return D(s,_);case 4:return s/M;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}class Z{constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new Z(X(e,n,2))}extractAngularUnits(e){return X(this._seconds,2,q(e))}static createFromDegreesMinutesSeconds(e,n,t){return new Z(f(f(A(e,S),A(n,F)),t))}}function q(e){switch(o(e),e){case 1:case 6:case 3:return 1;case 5:return 5;case 7:return 7;case 4:return 4;case 2:case 8:return 2}}class J{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new J(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=6,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ae(this.view,r,s),n=6===n?7:n,r=e.newpos;continue;case"s":e=ae(this.view,r,s),n=8,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=W.secondsToDMS(this.angle.extractAngularUnits(2)),this._formattedDms=W.secondsToDMS(this.angle.extractAngularUnits(2)).format(n,t)}}function K(e,n,r,s,i){let o=null;switch(n){case 1:case 4:case 5:return o=k(G(e.extractAngularUnits(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 6:case 7:return o=k(i.fetchFormattedDms().getField(n),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 8:return o=k(G(i.fetchDms().getField(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}function Y(e,n,r){if(3===r)throw new t("LogicError",null,{reason:"conversion error"});if(3===n){const n=W.numberToDms(e);return V.createFromAngleAndDirection(Z.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),r)}return V.createFromAngleAndDirection(Z.createFromAngleAndUnits(e,q(n)),r)}function $(e){switch(s(e)){case 1:return{first:0,second:1};case 2:return{first:2,second:1};case 3:return{first:2,second:3};case 4:return{first:0,second:3}}return null}function ee(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return 0;case"E":case"EAST":return 1;case"S":case"SOUTH":return 2;case"W":case"WEST":return 3}return null}function ne(e){const n=parseFloat(e);if(a(n)){if(isNaN(n))throw new t("LogicError",null,{reason:"invalid conversion"});return n}throw new t("LogicError",null,{reason:"invalid conversion"})}function te(e,n,s){const i=3===s;let o=null,c=null,a=0,u=0,l=0;if(i){if(e.length<2)throw new t("LogicError",null,{reason:"conversion error"});l=1;const n=$(r(e[e.length-1]));if(n?(o=n.first,c=n.second):(a=1,o=ee(r(e[0])),c=ee(r(e[e.length-1]))),null===o||null===c)throw new t("LogicError",null,{reason:"invalid conversion"})}switch(n){case 1:case 4:case 5:if(0===e.length)throw new t("LogicError",null,{reason:"invalid conversion"});return i?V.createFromAngleMeridianAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),o,c):V.createFromAngleAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),s);case 3:if(u=e.length-l-a,3===u){const n=Z.createFromDegreesMinutesSeconds(ne(e[a]),ne(e[a+1]),ne(e[a+2]));return i?V.createFromAngleMeridianAndDirection(n,o,c):V.createFromAngleAndDirection(n,s)}if(1===u){const n=ne(e[a]),t=W.numberToDms(n),r=Z.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?V.createFromAngleMeridianAndDirection(r,o,c):V.createFromAngleAndDirection(r,s)}}throw new t("LogicError",null,{reason:"invalid conversion"})}function re(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter(e=>""!==e)}function se(e,n,r){if(a(e))return Y(s(e),n,r);if(c(e))return te(re(e),n,r);if(u(e))return te(e,n,r);if(i(e))return te(e.toArray(),n,r);throw new t("LogicError",null,{reason:"conversion error"})}function ie(e,n,r){const s=q(r);if(s&&3!==r){return e.getAngle(n).extractAngularUnits(s)}throw new t("LogicError",null,{reason:"conversion error"})}function oe(e,n,t){const r=e.getAngle(n);if(3===n&&3===t){const t=W.secondsToDMS(r.extractAngularUnits(2));return[H(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,H(e.getDirection(n),"SHORT")]}if(3===t){const e=W.secondsToDMS(r.extractAngularUnits(2));return[e.m_degrees,e.m_minutes,e.m_seconds]}return 3===n?[H(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),H(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function ce(e,n){let r="";switch(e){case 1:r=3===n?"DD.DD"+b:"DDD.DD"+b;break;case 3:r=3===n?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case 4:r="R.RR";break;case 5:r="GGG.GG"+N;break;default:throw new t("LogicError",null,{reason:"conversion error"})}return 3===n&&(r="p "+r+" b"),r}function ae(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const i=e[n];if(i===t)s?r.rounding++:r.padding++,n++;else{if("."!==i)break;s=!0,n++}}return r.newpos=n-1,r}function ue(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function le(e,n,t){let r="",s=null,i=null;const o=J.createFromStringAndBearing(n,e,t),c={D:1,d:6,m:7,s:8,R:4,G:5};for(let a=0;a<n.length;a++){const u=n[a];switch(u){case"[":s=ue(n,a),r+=s.escaped,a=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ae(n,a,u),i=e.getAngle(t),r+=K(i,c[u],s.padding,s.rounding,o),a=s.newpos;continue;case"P":case"p":r+=H(o.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=H(o.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const de=new n(["TEXT","VALUE"]);function he(n,s,i){if(!(s instanceof e))throw new t("InvalidParameter",null);if(!1===s.hasField("directionType"))throw new t("LogicError",null,{reason:"missing directionType"});if(!1===s.hasField("angleType"))throw new t("LogicError",null,{reason:"missing angleType"});const o=Q(O(s.field("directiontype"))),c=se(n,C(O(s.field("angletype"))),o);if(!(i instanceof e))throw new t("InvalidParameter",null);if(!1===i.hasField("directionType"))throw new t("LogicError",null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t("LogicError",null,{reason:"missing angleType"});const a=Q(O(i.field("directiontype"))),u=i.hasField("angleType")?C(O(i.field("angletype"))):null,l=de.get(O(i.field("outputType")));if(!a||!l)throw new t("LogicError",null,{reason:"conversion error"});if(!(u||"TEXT"===l&&i.hasField("format")))throw new t("LogicError",null,{reason:"invalid unit"});switch(l){case"VALUE":return 3===a||3===u?oe(c,a,u):ie(c,a,u);case"TEXT":{let e="";return i.hasField("format")&&(e=r(i.field("format"))),null!==e&&""!==e||(e=ce(u,a)),le(c,e,a)}default:throw new t("InvalidParameter",null)}}export{he as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
|
|
2
|
+
import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t}from"../executionError.js";import{w as r,v as s,g as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as a,isArray as u}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),d=(e,n)=>e+n,h=(e,n)=>e-n,g=(e,n)=>e*n,m=(e,n)=>e/n,f=(e,n,t)=>l(d)(e,n,t),w=(e,n,t)=>l(h)(e,n,t),A=(e,n,t)=>l(g)(e,n,t),D=(e,n,t)=>l(m)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,_=3240,R=60,F=60,v=180*S/Math.PI,M=p*R*F,L=90*S,U=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t("InvalidParameter",null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}function H(e,n){switch(e){case 0:return"SHORT"===n?"N":"North";case 1:return"SHORT"===n?"E":"East";case 2:return"SHORT"===n?"S":"South";case 3:return"SHORT"===n?"W":"West"}}function k(e,n){return e-Math.floor(e/n)*n}function P(e){switch(e){case 6:case 1:return p;case 4:return E;case 5:return T;case 2:return M;case 7:return R;case 8:return F;default:throw new t("LogicError",null,{reason:"unsupported evaluations"})}}const z=new n([],[["NORTH",1],["NORTH AZIMUTH",1],["POLAR",2],["QUADRANT",3],["SOUTH",4],["SOUTH AZIMUTH",4]]);function Q(e){const n=z.lookup(e);if(null==n)throw new t("LogicError",null,{reason:"unsupported directionType"});return n}const j=new n([],[["D",1],["DD",1],["DECIMAL DEGREE",1],["DEGREE",1],["DECIMAL DEGREES",1],["DEGREES",1],["DMS",3],["DEGREES MINUTES SECONDS",3],["R",4],["RAD",4],["RADS",4],["RADIAN",4],["RADIANS",4],["G",5],["GON",5],["GONS",5],["GRAD",5],["GRADS",5],["GRADIAN",5],["GRADIANS",5]]);function C(e){const n=j.lookup(e);if(null==n)throw new t("LogicError",null,{reason:"unsupported units"});return n}class W{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case 1:case 6:return this.m_degrees;case 7:return this.m_minutes;case 2:case 8:return this.m_seconds;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/F);return t-=s*F,new W(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new W(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(2===e||8===e)F<=t&&(t-=F,++r),R<=r&&(r=0,++s),p<=s&&(s=0);else if(7===e)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,R<=r&&(r=0,++s),p<=s&&(s=0);else if(1===e||6===e){const e=D(this.m_seconds,S),n=D(this.m_minutes,R);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new W(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*F+t}}class B{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return 0===e?this.meridian:this.direction}}class V{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new V(new Z(V._convertDirectionFormat(e.extractAngularUnits(2),n,1)))}getAngle(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:case 4:case 2:return new Z(V._convertDirectionFormat(n,1,e));case 3:{const e=V.secondsNorthAzimuthToQuadrant(n);return new Z(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 0;case 4:return 2;case 2:return 1;case 3:return V.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(2);switch(e){case 1:return 1;case 4:return 3;case 2:return 0;case 3:return V.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=L||e>=x?0:2,t=0===n?Math.min(M-e,e):Math.abs(e-U);return new B(n,t,e>U?3:1)}static createFromAngleMeridianAndDirection(e,n,t){return new V(new Z(V.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(2),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return 0===n?1===t?e:M-e:1===t?U-e:U+e}static _convertDirectionFormat(e,n,r){let s=0;switch(n){case 1:s=e;break;case 2:s=L-e;break;case 3:throw new t("LogicError",null,{reason:"unexpected evaluation"});case 4:s=e+U}let i=0;switch(r){case 1:i=s;break;case 2:i=L-s;break;case 3:throw new t("LogicError",null,{reason:"unexpected evaluation"});case 4:i=s-U}return i=I(i,M),i<0?M+i:i}}function X(e,n,r){let s=null;switch(n){case 1:s=A(e,S);break;case 2:s=e;break;case 5:s=A(e,_);break;case 4:s=A(e,v);break;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}switch(r){case 1:return D(s,S);case 2:return s;case 5:return D(s,_);case 4:return s/v;default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}class Z{constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new Z(X(e,n,2))}extractAngularUnits(e){return X(this._seconds,2,q(e))}static createFromDegreesMinutesSeconds(e,n,t){return new Z(f(f(A(e,S),A(n,F)),t))}}function q(e){switch(o(e),e){case 1:case 6:case 3:return 1;case 5:return 5;case 7:return 7;case 4:return 4;case 2:case 8:return 2}}class J{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new J(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=6,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ae(this.view,r,s),n=6===n?7:n,r=e.newpos;continue;case"s":e=ae(this.view,r,s),n=8,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=W.secondsToDMS(this.angle.extractAngularUnits(2)),this._formattedDms=W.secondsToDMS(this.angle.extractAngularUnits(2)).format(n,t)}}function K(e,n,r,s,i){let o=null;switch(n){case 1:case 4:case 5:return o=k(G(e.extractAngularUnits(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 6:case 7:return o=k(i.fetchFormattedDms().getField(n),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");case 8:return o=k(G(i.fetchDms().getField(n),s),P(n)),o.toFixed(s).padStart(r+s+(s>0?1:0),"0");default:throw new t("LogicError",null,{reason:"unexpected evaluation"})}}function Y(e,n,r){if(3===r)throw new t("LogicError",null,{reason:"conversion error"});if(3===n){const n=W.numberToDms(e);return V.createFromAngleAndDirection(Z.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),r)}return V.createFromAngleAndDirection(Z.createFromAngleAndUnits(e,q(n)),r)}function $(e){switch(s(e)){case 1:return{first:0,second:1};case 2:return{first:2,second:1};case 3:return{first:2,second:3};case 4:return{first:0,second:3}}return null}function ee(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return 0;case"E":case"EAST":return 1;case"S":case"SOUTH":return 2;case"W":case"WEST":return 3}return null}function ne(e){const n=parseFloat(e);if(a(n)){if(isNaN(n))throw new t("LogicError",null,{reason:"invalid conversion"});return n}throw new t("LogicError",null,{reason:"invalid conversion"})}function te(e,n,s){const i=3===s;let o=null,c=null,a=0,u=0,l=0;if(i){if(e.length<2)throw new t("LogicError",null,{reason:"conversion error"});l=1;const n=$(r(e[e.length-1]));if(n?(o=n.first,c=n.second):(a=1,o=ee(r(e[0])),c=ee(r(e[e.length-1]))),null===o||null===c)throw new t("LogicError",null,{reason:"invalid conversion"})}switch(n){case 1:case 4:case 5:if(0===e.length)throw new t("LogicError",null,{reason:"invalid conversion"});return i?V.createFromAngleMeridianAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),o,c):V.createFromAngleAndDirection(Z.createFromAngleAndUnits(ne(e[a]),q(n)),s);case 3:if(u=e.length-l-a,3===u){const n=Z.createFromDegreesMinutesSeconds(ne(e[a]),ne(e[a+1]),ne(e[a+2]));return i?V.createFromAngleMeridianAndDirection(n,o,c):V.createFromAngleAndDirection(n,s)}if(1===u){const n=ne(e[a]),t=W.numberToDms(n),r=Z.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?V.createFromAngleMeridianAndDirection(r,o,c):V.createFromAngleAndDirection(r,s)}}throw new t("LogicError",null,{reason:"invalid conversion"})}function re(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter(e=>""!==e)}function se(e,n,r){if(a(e))return Y(s(e),n,r);if(c(e))return te(re(e),n,r);if(u(e))return te(e,n,r);if(i(e))return te(e.toArray(),n,r);throw new t("LogicError",null,{reason:"conversion error"})}function ie(e,n,r){const s=q(r);if(s&&3!==r){return e.getAngle(n).extractAngularUnits(s)}throw new t("LogicError",null,{reason:"conversion error"})}function oe(e,n,t){const r=e.getAngle(n);if(3===n&&3===t){const t=W.secondsToDMS(r.extractAngularUnits(2));return[H(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,H(e.getDirection(n),"SHORT")]}if(3===t){const e=W.secondsToDMS(r.extractAngularUnits(2));return[e.m_degrees,e.m_minutes,e.m_seconds]}return 3===n?[H(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),H(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function ce(e,n){let r="";switch(e){case 1:r=3===n?"DD.DD"+b:"DDD.DD"+b;break;case 3:r=3===n?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case 4:r="R.RR";break;case 5:r="GGG.GG"+N;break;default:throw new t("LogicError",null,{reason:"conversion error"})}return 3===n&&(r="p "+r+" b"),r}function ae(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const i=e[n];if(i===t)s?r.rounding++:r.padding++,n++;else{if("."!==i)break;s=!0,n++}}return r.newpos=n-1,r}function ue(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function le(e,n,t){let r="",s=null,i=null;const o=J.createFromStringAndBearing(n,e,t),c={D:1,d:6,m:7,s:8,R:4,G:5};for(let a=0;a<n.length;a++){const u=n[a];switch(u){case"[":s=ue(n,a),r+=s.escaped,a=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ae(n,a,u),i=e.getAngle(t),r+=K(i,c[u],s.padding,s.rounding,o),a=s.newpos;continue;case"P":case"p":r+=H(o.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=H(o.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const de=new n(["TEXT","VALUE"]);function he(n,s,i){if(!(s instanceof e))throw new t("InvalidParameter",null);if(!1===s.hasField("directionType"))throw new t("LogicError",null,{reason:"missing directionType"});if(!1===s.hasField("angleType"))throw new t("LogicError",null,{reason:"missing angleType"});const o=Q(O(s.field("directiontype"))),c=se(n,C(O(s.field("angletype"))),o);if(!(i instanceof e))throw new t("InvalidParameter",null);if(!1===i.hasField("directionType"))throw new t("LogicError",null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t("LogicError",null,{reason:"missing angleType"});const a=Q(O(i.field("directiontype"))),u=i.hasField("angleType")?C(O(i.field("angletype"))):null,l=de.get(O(i.field("outputType")));if(!a||!l)throw new t("LogicError",null,{reason:"conversion error"});if(!(u||"TEXT"===l&&i.hasField("format")))throw new t("LogicError",null,{reason:"invalid unit"});switch(l){case"VALUE":return 3===a||3===u?oe(c,a,u):ie(c,a,u);case"TEXT":{let e="";return i.hasField("format")&&(e=r(i.field("format"))),null!==e&&""!==e||(e=ce(u,a)),le(c,e,a)}default:throw new t("InvalidParameter",null)}}export{he as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
|
package/arcade/functions/date.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{
|
|
2
|
+
import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{E as u,T as l,v as i,r as a,e as s,q as c,w as f,U as m,O as d,V as h,W as N}from"../../chunks/languageUtils.js";import{DateOnly as y}from"../../core/sql/DateOnly.js";import{TimeOnly as w}from"../../core/sql/TimeOnly.js";import{getLocale as g}from"../../intl/locale.js";import{DateTime as T}from"luxon";import{isString as A}from"../../support/guards.js";function D(n,r,e){return n+(k(e)?P:p)[r]}function k(n){return n%4==0&&(n%100!=0||n%400==0)}const p=[0,31,59,90,120,151,181,212,243,273,304,334],P=[0,31,60,91,121,152,182,213,244,274,305,335];function S(n){return null===n?n:!1===n.isValid?null:n}function Z(n,r){switch(e(n)){case"":case"default":return l(r);case"z":return"UTC";default:return n}}function O(n,r){return c(n)?n.toArcadeDate():m(n,l(r))}const C=new t(["days","months","minutes","seconds","hours","years","milliseconds"],[["day","days"],["d","days"],["month","months"],["minute","minutes"],["m","minutes"],["second","seconds"],["s","seconds"],["hour","hours"],["h","hours"],["year","years"],["y","years"],["millisecond","milliseconds"],["ms","milliseconds"]]);function U(n){return"M"===n?"months":C.lookup(f(n))??"milliseconds"}function j(e,t){e.today=function(r,e){return t(r,e,(t,o,i)=>{u(i,0,0,e);const a=new Date;return a.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(a,l(r))})},e.time=function(r,e){return t(r,e,(t,f,m)=>{switch(u(m,0,4,e),m.length){case 0:{const e=n.nowToArcadeDate(l(r));return new w(e.hour,e.minute,e.second,e.millisecond)}case 1:{if(a(m[0]))return m[0].clone();if(s(m[0]))return new w(m[0].hour,m[0].minute,m[0].second,m[0].millisecond);if(c(m[0]))return new w(0,0,0,0);if(A(m[0]))return w.fromString(m[0]);const n=i(m[0]);return!1===isNaN(n)?w.fromMilliseconds(n):null}case 2:return A(m[0])&&A(m[1])?w.fromString(m[0],m[1]):w.fromParts(i(m[0]),i(m[1]),0,0);case 3:return w.fromParts(i(m[0]),i(m[1]),i(m[2]),0);case 4:return w.fromParts(i(m[0]),i(m[1]),i(m[2]),i(m[3]))}throw new o("InvalidParameter",e)})},e.dateonly=function(r,e){return t(r,e,(t,o,a)=>{if(u(a,0,3,e),3===a.length)return y.fromParts(i(a[0]),i(a[1])+1,i(a[2]));if(2===a.length){const n=f(a[1]);return""===n?null:"X"===n?y.fromSeconds(i(a[0])):"x"===n?y.fromMilliseconds(i(a[0])):y.fromString(f(a[0]),n)}if(1===a.length){if(A(a[0])){if(""===a[0].replaceAll(/^\s+|\s+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(a[0]))return y.fromString(a[0]+"-01-01")}if(c(a[0]))return a[0].clone();if(s(a[0]))return y.fromParts(a[0].year,a[0].monthJS+1,a[0].day);const n=i(a[0]);return!1===isNaN(n)?y.fromMilliseconds(n):A(a[0])?y.fromString(a[0]):null}if(0===a.length){const e=n.nowToArcadeDate(l(r));return!1===e.isValid?null:y.fromParts(e.year,e.monthJS+1,e.day)}return null})},e.changetimezone=function(e,i){return t(e,i,(t,a,s)=>{if(u(s,2,2,i),null===s[0])return null;if(c(s[0]))throw new o("CannotChangeTimeZoneDateOnly",i);if(c(s[0]))throw new o("CannotChangeTimeZoneTime",i);const d=m(s[0],l(e));if(null===d)throw new o("InvalidParameter",i);const h=r(Z(f(s[1]),e),!1);if(null===h)return null;const N=n.arcadeDateAndZoneToArcadeDate(d,h);return!1===N.isValid?null:N})},e.timezone=function(r,e){return t(r,e,(t,o,i)=>{if(u(i,1,2,e),a(i[0]))return"Unknown";if(c(i[0]))return"Unknown";const s=m(i[0],l(r));if(null===s)return null;const f=s.timeZone;return"system"===f?n.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.timezoneoffset=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=m(o[0],l(n));return null===i?null:60*i.timeZoneOffset*1e3})},e.now=function(r,e){return t(r,e,(t,o,i)=>{u(i,0,0,e);const a=n.nowToArcadeDate(l(r));return!1===a.isValid?null:a})},e.timestamp=function(r,e){return t(r,e,(r,t,o)=>{u(o,0,0,e);const l=n.nowUTCToArcadeDate();return!1===l.isValid?null:l})},e.toutc=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=m(o[0],l(n));return null===i?null:i.toUTC()})},e.tolocal=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=m(o[0],l(n));return null===i?null:i.toLocal()})},e.day=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.day})},e.month=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.monthJS})},e.year=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.year})},e.hour=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].hour;const i=m(o[0],l(n));return null===i?NaN:i.hour})},e.second=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].second;const i=m(o[0],l(n));return null===i?NaN:i.second})},e.millisecond=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].millisecond;const i=m(o[0],l(n));return null===i?NaN:i.millisecond})},e.minute=function(n,r){return t(n,r,(e,t,o)=>{if(u(o,1,1,r),a(o[0]))return o[0].minute;const i=m(o[0],l(n));return null===i?NaN:i.minute})},e.week=function(n,r){return t(n,r,(e,t,a)=>{u(a,1,2,r);const s=O(a[0],l(n));if(null===s)return NaN;const c=i(d(a[1],0));if(c<0||c>6)throw new o("InvalidParameter",r);const f=s.day,m=s.monthJS,h=s.year,N=s.dayOfWeekJS,y=D(f,m,h)-1,w=Math.floor(y/7);return N-c+(N-c<0?7:0)<y-7*w?w+1:w})},e.weekday=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.dayOfWeekJS})},e.isoweekday=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.dayOfWeekISO})},e.isomonth=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.monthISO})},e.isoweek=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.weekISO})},e.isoyear=function(n,r){return t(n,r,(e,t,o)=>{u(o,1,1,r);const i=O(o[0],l(n));return null===i?NaN:i.yearISO})},e.date=function(e,o){return t(e,o,(t,s,d)=>{if(u(d,0,8,o),3===d.length){if(c(d[0])&&a(d[1])&&A(d[2])){const t=r(Z(f(d[2])??"unknown",e),!1);return null===t?null:S(n.fromParts(d[0].year,d[0].month,d[0].day,d[1].hour,d[1].minute,d[1].second,d[1].millisecond,t))}return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),0,0,0,0,l(e)))}if(4===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),0,0,0,l(e)));if(5===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),0,0,l(e)));if(6===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),i(d[5]),0,l(e)));if(7===d.length)return S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),i(d[5]),i(d[6]),l(e)));if(8===d.length){const t=r(Z(f(d[7])??"unknown",e),!1);return null===t?null:S(n.fromParts(i(d[0]),i(d[1])+1,i(d[2]),i(d[3]),i(d[4]),i(d[5]),i(d[6]),t))}if(2===d.length){if(c(d[0])&&A(d[1])){const t=r(Z(f(d[1])??"unknown",e),!1);return null===t?null:S(n.fromParts(d[0].year,d[0].month,d[0].day,0,0,0,0,t))}if(c(d[0])&&a(d[1]))return S(n.fromParts(d[0].year,d[0].month,d[0].day,d[1].hour,d[1].minute,d[1].second,d[1].millisecond,"unknown"));let t,o=f(d[1]);return""===o?null:(o=h(o,!0),t="X"===o?T.fromSeconds(i(d[0])):"x"===o?T.fromMillis(i(d[0])):T.fromFormat(f(d[0]),o,{locale:g(),numberingSystem:"latn"}),t.isValid?n.dateTimeToArcadeDate(t):null)}if(1===d.length){if(c(d[0]))return S(n.fromParts(d[0].year,d[0].month,d[0].day,0,0,0,0,"unknown"));if(A(d[0])){if(""===d[0].replaceAll(/^\s+|\s+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(d[0]))return m(d[0]+"-01-01",l(e))}const r=i(d[0]);if(!1===isNaN(r)){const t=T.fromMillis(r);return t.isValid?n.dateTimeAndZoneToArcadeDate(t,l(e)):null}return m(d[0],l(e))}return 0===d.length?n.nowToArcadeDate(l(e)):null})},e.datediff=function(r,e){return t(r,e,(t,o,i)=>{if(u(i,2,4,e),a(i[0]))return a(i[1])?i[0].difference(i[1],f(i[2])):NaN;if(a(i[1]))return NaN;if(c(i[0]))return c(i[1])?i[0].difference(i[1],f(i[2])):NaN;if(c(i[1]))return NaN;let s=m(i[0],l(r)),h=m(i[1],l(r));if(null===s||null===h)return NaN;let N=d(i[3],"");return""!==N&&null!==N?(N=Z(f(N),r),s=n.arcadeDateAndZoneToArcadeDate(s,N),h=n.arcadeDateAndZoneToArcadeDate(h,N)):s.timeZone!==h.timeZone&&(s.isUnknownTimeZone?s=n.arcadeDateAndZoneToArcadeDate(s,h.timeZone):h=(h.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(h,s.timeZone))),s.diff(h,U(i[2]))})},e.dateadd=function(n,r){return t(n,r,(e,t,o)=>{u(o,2,3,r);let s=i(o[1]);if(isNaN(s)||s===1/0||s===-1/0)return a(o[0])||c(o[0])?o[0].clone():m(o[0],l(n));const f=U(o[2]);if("days"!==f&&"months"!==f||(s=c(o[0])?s:N(s)),a(o[0]))return o[0].plus(f,s);if(c(o[0]))return o[0].plus(f,s);const d=m(o[0],l(n));return null===d?null:d.plus({[f]:s})})}}export{j as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as e}from"../ArcadeDate.js";import{toSymbolId as r}from"../arcadeEnvironment.js";import{convertJsonValueToImmutableArcadeValue as t}from"../containerUtils.js";import{ArcadeExecutionError as n}from"../executionError.js";import{Feature as o}from"../Feature.js";import{
|
|
2
|
+
import{ArcadeDate as e}from"../ArcadeDate.js";import{toSymbolId as r}from"../arcadeEnvironment.js";import{convertJsonValueToImmutableArcadeValue as t}from"../containerUtils.js";import{ArcadeExecutionError as n}from"../executionError.js";import{Feature as o}from"../Feature.js";import{E as i,h as a,X as u,w as s,Y as m,Z as d,x as f,_ as l,$ as c,e as p}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as w}from"../featureset/support/shared.js";import{SqlTimeStampOffset as y}from"../../core/sql/SqlTimestampOffset.js";import h from"../../core/sql/WhereClause.js";import{internalTimeReceivedField as v}from"../../layers/support/streamLayerUtils.js";import{isString as b,isNumber as I}from"../../support/guards.js";function F(e){const r=e?.fullSchema();return r?.datesInUnknownTimezone?"unknown":r?.dateFieldsTimeZone||"UTC"}function T(e){const r=e.fullSchema()?.fieldsIndex;return null==r&&e instanceof o?e.fieldsIndex:r}const g={getAttributeSQL(e,r){const t=e.field(r);if(null==t)return t;if(p(t)){const n=t.toDateTime(),o=T(e)?.get(r)?.type;return"esriFieldTypeTimestampOffset"===o||"timestamp-offset"===o?y.fromDateTime(n):n}return t}};function j(o,y,j){o.domain=function(e,r){return y(e,r,(e,o,m)=>{if(i(m,2,3,r),a(m[0])){const e=u(m[0],s(m[1]),void 0===m[2]?void 0:m[2]);return null==e?.domain?null:"coded-value"===e.domain.type||"codedValue"===e.domain.type?t({type:"codedValue",name:e.domain.name,dataType:w[e.field.type],codedValues:e.domain.codedValues.map(e=>({name:e.name,code:e.code}))}):t({type:"range",name:e.domain.name,dataType:w[e.field.type],min:e.domain.minValue,max:e.domain.maxValue})}throw new n("InvalidParameter",r)})},o.domaincode=function(e,r){return y(e,r,(e,t,o)=>{if(i(o,2,4,r),a(o[0]))return m(o[0],s(o[1]),o[2],void 0===o[3]?void 0:o[3]);throw new n("InvalidParameter",r)})},o.domainname=function(e,r){return y(e,r,(e,t,o)=>{if(i(o,2,4,r),a(o[0]))return d(o[0],s(o[1]),o[2],void 0===o[3]?void 0:o[3]);throw new n("InvalidParameter",r)})},o.expects=function(e,r){return y(e,r,(e,t,o)=>{if(o.length<1)throw new n("WrongNumberOfParameters",r);return f})},o.featureinfilter=function(e,r){return y(e,r,(e,r,t)=>{i(t,2,2,r);const[o,u]=t;if(null==o)return!1;if(""===u||null==u)return!0;if(!a(o)||!b(u))throw new n("InvalidParameter",r);const s=h.create(u,{fieldsIndex:T(o),timeZone:F(o)}),m=s.getVariables();for(const n of m)s.parameters[n]=j(e,{name:n});return s.testFeature(o,g)})},o.gdbversion=function(e,r){return y(e,r,(e,t,o)=>{if(i(o,1,1,r),a(o[0]))return o[0].gdbVersion();throw new n("InvalidParameter",r)})},o.schema=function(e,r){return y(e,r,(e,o,i)=>{if(a(i[0]))return t(l(i[0]));throw new n("InvalidParameter",r)})},o.subtypecode=function(e,r){return y(e,r,(e,t,o)=>{if(i(o,1,1,r),a(o[0])){const e=c(o[0]);if(!e)return null;if(e.subtypeField&&o[0].hasField(e.subtypeField)){const r=o[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===r)return t.code;return null}return null}throw new n("InvalidParameter",r)})},o.subtypename=function(e,r){return y(e,r,(e,t,o)=>{if(i(o,1,1,r),a(o[0])){const e=c(o[0]);if(!e)return"";if(e.subtypeField&&o[0].hasField(e.subtypeField)){const r=o[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===r)return t.name;return""}return""}throw new n("InvalidParameter",r)})},o.subtypes=function(e,r){return y(e,r,(e,o,u)=>{if(i(u,1,1,r),a(u[0]))return t(c(u[0]));throw new n("InvalidParameter",r)})},o[r("TimeReceived")]=function(r,t){return y(r,t,(r,t,o)=>{if(i(o,1,1,t),a(o[0])){if(o[0].hasField(v)){const t=o[0].field(v);return I(t)?e.epochToArcadeDate(t,r.timeZone??"system"):p(t)?t:null}return null}throw new n("InvalidParameter",t)})}}export{j as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{Feature as s}from"../Feature.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as f,constructFeatureSet as d,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as m}from"../featureSetUtils.js";import p from"../ImmutableArray.js";import{B as y,n as w,o as h,k as I,s as g,U as F,T as b,e as T,j as D,O as x,N as E,h as N,g as A,i as S,r as v,Q as L,a1 as j}from"../../chunks/languageUtils.js";import{getPortal as C,getDefaultPortal as k}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as $,FieldRename as P,AdaptedFeatureSet as U,OriginalField as M}from"../featureset/actions/Adapted.js";import R from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/GroupBy.js";import z from"../featureset/actions/OrderBy.js";import W from"../featureset/actions/Top.js";import H from"../featureset/sources/Empty.js";import G from"../featureset/sources/FeatureLayerMemory.js";import _ from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as V,cloneField as B}from"../featureset/support/shared.js";import{isSingleField as q}from"../featureset/support/sqlUtils.js";import{calculateStat as K}from"./fieldStats.js";import{isPromiseLike as Q}from"../../core/promiseUtils.js";import J from"../../core/sql/WhereClause.js";import Y from"../../layers/FeatureLayer.js";import X from"../../layers/support/Field.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return K("distinct",e[0],-1);if(A(e[0]))return K("distinct",e[0].toArray(),-1)}return K("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,s){const l=await t.getFeatureSetInfo();if(null===(l?.layerId??null))return null;if(!r.layerIdLookup.get(l.layerId))return null;const f=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),u=[];switch(i){case"connected":u.push("connectivity"),u.push("junction-edge-from-connectivity"),u.push("junction-edge-to-connectivity"),u.push("junction-edge-midspan-connectivity"),u.push("junction-junction-connectivity");break;case"container":case"content":u.push("containment");break;case"structure":case"attached":u.push("attachment");break;case"junctionedge":u.push("junction-edge-from-connectivity"),u.push("junction-edge-to-connectivity");break;case"midspan":u.push("junction-edge-midspan-connectivity");break;default:throw new o("InvalidParameter",s)}let c=null,m=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(c=e.terminalId);null===c&&(m=!0)}const p=[];if(!m){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(l.layerId).sourceId,...c?{terminalId:c}:""}),o=await ee(f,new ne({types:u,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";p.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const y=new Y({source:p,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new X({name:"objectId",alias:"objectId",type:"oid"}),new X({name:"globalId",alias:"globalId",type:"global-id"}),new X({name:"percentAlong",alias:"percentAlong",type:"double"}),new X({name:"side",alias:"side",type:"string"}),new X({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new X({name:"className",alias:"className",type:"string"})]});return d(y)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,async(e,r,s)=>{if(y(s,1,2,a),w(s[0]))return"Unknown";if(h(s[0]))return"Unknown";if(I(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?pe("unknown"):pe(s[0].dateFieldsTimeZone);if(!(s[1]instanceof i)||!1===s[1].hasField("type"))throw new o("InvalidParameter",a);const e=s[1].field("type");if(!1===ie(e))throw new o("InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return pe(s[0].preferredTimeZone);case"editfieldsinfo":return pe(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ie(s[1].field("fieldname")))return pe(s[0].fieldTimeZone(g(s[1].field("fieldname"))))}throw new o("InvalidParameter",a)}const l=F(s[0],b(n));if(null===l)return null;const f=l.timeZone;return"system"===f?t.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{y(i,1,3,n);const a=i[0];if(T(a)){if(1===i.length)return a.toSQLWithKeyword();if(2===i.length)return a.changeTimeZone(g(i[1])).toSQLWithKeyword();throw new o("InvalidParameter",n)}if(h(a))return a.toSQLWithKeyword();if(I(a)){if(3!==i.length)throw new o("InvalidParameter",n);await a.load();const e=g(i[1]);if(h(i[2]))return i[2].toSQLWithKeyword();if(!1===T(i[2]))throw new o("InvalidParameter",n);const t=a.fieldTimeZone(e);return null==t?i[2].toSQLWithKeyword():i[2].changeTimeZone(t).toSQLWithKeyword()}throw new o("InvalidParameter",n)})},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,(e,t,i)=>{if(y(i,2,4,n),D(i[0])){const e=g(i[1]);let t=x(i[2],null);const a=E(x(i[3],!0));if(null===t&&(t=["*"]),!1===ae(t))throw new o("InvalidParameter",n);return i[0].featureSetById(e,a,t)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const K=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,2,n),N(a[0])){const e=null==a[1]?"datasource":K.lookup(g(a[1]));return l(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,a,r)=>{if(y(r,2,5,i),null===r[0])throw new o("PortalRequired",i);if(r[0]instanceof n){const e=g(r[1]),n=g(r[2]);let a=x(r[3],null);const s=E(x(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o("InvalidParameter",i);const l=C(t,r[0]);return f(e,n,t.spatialReference,a,s,l,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o("PortalRequired",i);const s=g(r[0]),l=g(r[1]);let d=x(r[2],null);const u=E(x(r[3],!0));if(null===d&&(d=["*"]),!1===ae(d))throw new o("InvalidParameter",i);return f(s,l,t.spatialReference,d,u,k(t),t.lrucache,t.interceptor)})},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,(e,t,i)=>{if(y(i,2,4,n),D(i[0])){const e=g(i[1]);let t=x(i[2],null);const a=E(x(i[3],!0));if(null===t&&(t=["*"]),!1===ae(t))throw new o("InvalidParameter",n);return i[0].featureSetByName(e,a,t)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o("InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),t=le(e,"layerdefinition");if(null!==t){s.layerDefinition.geometryType=le(t,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(t,"globalidfield",""),s.layerDefinition.objectIdField=le(t,"objectidfield",""),s.layerDefinition.typeIdField=le(t,"typeidfield",""),s.layerDefinition.hasZ=!0===le(t,"hasz",!1),s.layerDefinition.hasM=!0===le(t,"hasm",!1);const n=le(t,"spatialreference");n&&(s.layerDefinition.spatialReference=de(n));const i=[];for(const e of le(t,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};i.push(t)}s.layerDefinition.fields=i;const a=le(e,"featureset");if(a){const e={};for(const t of i)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const t=le(e,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const i=[],a=le(e,"fields",null);if(!ae(a))throw new o("InvalidParameter",n);for(const e of a){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};i.push(t)}s.layerDefinition.fields=i;const r={};for(const e of i)r[e.name.toLowerCase()]=e.name;let l=le(e,"features",null);if(ae(l))for(const e of l){const t={},n=le(e,"attributes",{});for(const e in n)t[r[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else l=null,s.featureSet.features=l}}}if(!1===me(s))throw new o("InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),G.create(s,t.spatialReference)})},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,async(i,a,r)=>{if(y(r,2,2,n),ae(r[0])||A(r[0])){const e=[];let i,a=r[0];if(a instanceof p&&(a=a.toArray()),!S(r[1]))throw new o("InvalidParameter",n);i=r[1].createFunction(t);for(const t of a){const n=i(t);Q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(I(r[0])){const n=await r[0].load(),i=J.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new R({parentfeatureset:r[0],whereclause:i})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0])){const e=new _(i[1]);return new z({parentfeatureset:i[0],orderbyclause:e})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0]))return new W({parentfeatureset:i[0],topnum:i[1]});if(ae(i[0]))return v(i[1])>=i[0].length?i[0].slice():i[0].slice(0,v(i[1]));if(A(i[0]))return v(i[1])>=i[0].length()?i[0].slice():i[0].slice(0,v(i[1]));throw new o("InvalidParameter",n)})},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,1,n),I(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=s.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null})},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{y(r,1,2,n);const s={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(s.minsize=v(r[1].field("minsize"))),r[1].hasField("metadata")&&(s.returnMetadata=E(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=v(r[1].field("maxsize"))),r[1].hasField("types")){const e=L(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o("InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!V(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o("InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,n);const r=a[0],s=g(a[1]);let l=x(a[2],null);const f=E(x(a[3],!0));if(null===l&&(l=["*"]),!1===ae(l))throw new o("InvalidParameter",n);if(null===a[0])return null;if(!N(a[0]))throw new o("InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!V(m))return null;p=d(m,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}p=await p.load();const w=p.relationshipMetadata().filter(e=>e.name===s);if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(p,w[0],r.field(p.objectIdField),p.spatialReference,l,f,t.lrucache,t.interceptor);let h=p.serviceUrl();if(!h)return null;h=h.endsWith("/")?h+w[0].relatedTableId.toString():h+"/"+w[0].relatedTableId.toString();const F=await c(h,p.spatialReference,l,f,t.lrucache,t.interceptor);await F.load();let b=F.relationshipMetadata();if(b=b.filter(e=>e.id===w[0].id),!1===r.hasField(w[0].keyField)||null===r.field(w[0].keyField)){const e=await p.getFeatureByObjectId(r.field(p.objectIdField),[w[0].keyField]);if(e){const t=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[w[0].keyField]},new R({parentfeatureset:F,whereclause:t})}return new H({parentfeatureset:F})}const T=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return T.parameters={id:r.field(w[0].keyField)},new R({parentfeatureset:F,whereclause:T})})},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,3,n);const s=a[0],l=r(g(x(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o("InvalidParameter",n);const u=s._layer;let c;if(I(u))c=u;else{if(null==u||!V(u))return null;c=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}await c.load();const p=c.serviceUrl(),w=await m(p,t.spatialReference,!0);if(w.unVersion>=8)return await ye(c,s,l,f,w,n);const h=w.associations;if(null==h)return null;let F=null,b=null,T=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of w.terminals)e.terminalName===f&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),E=D.get("TOGLOBALID").name,A=D.get("FROMGLOBALID").name,S=D.get("TOTERMINALID").name,v=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,k=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){F=s.field(t.name);break}let z=null,W=new Z(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(new X({name:"side",alias:"side",type:"string"}),J.create("''",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));const G="globalid",_="globalId",q={};for(const t in w.lkp)q[t]=w.lkp[t].sourceId;const K=new $(new X({name:"classname",alias:"classname",type:"string"}),null,q);let Q="";switch(l){case"midspan":{Q=`((${E}='${F}') OR ( ${A}='${F}')) AND (${k} IN (5))`,K.codefield=J.create(`CASE WHEN (${E}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(U.findField(h.fields,A));e.name=G,e.alias=G,z=new Z(e,J.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=w.unVersion>=4?new M(U.findField(h.fields,D.get("PERCENTALONG").name)):new Z(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{Q=`((${E}='${F}') OR ( ${A}='${F}')) AND (${k} IN (4,6))`,K.codefield=J.create(`CASE WHEN (${E}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=B(U.findField(h.fields,A));e.name=G,e.alias=G,z=new Z(e,J.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(new X({name:"side",alias:"side",type:"string"}),J.create(`CASE WHEN (${k}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${E}='@T'`,t=`${A}='@T'`;null!==b&&(e+=` AND ${S}=@A`,t+=` AND ${v}=@A`),Q="(("+e+") OR ("+t+"))",Q=j(Q,"@T",F??""),e=j(e,"@T",F??""),null!==b&&(e=j(e,"@A",b.toString()),Q=j(Q,"@A",b.toString())),K.codefield=J.create("CASE WHEN "+e+` THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=B(U.findField(h.fields,A));n.name=G,n.alias=G,z=new Z(n,J.create("CASE WHEN "+e+` THEN ${A} ELSE ${E} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":Q=`${E}='${F}' AND ${k} = 2`,null!==b&&(Q+=` AND ${S} = `+b.toString()),K.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,G);break;case"content":Q=`(${A}='${F}' AND ${k} = 2)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),K.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,E),G,G);break;case"structure":Q=`(${E}='${F}' AND ${k} = 3)`,null!==b&&(Q+=` AND ${S} = `+b.toString()),K.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,_);break;case"attached":Q=`(${A}='${F}' AND ${k} = 3)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),K.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,E),G,_);break;default:throw new o("InvalidParameter",n)}T&&(Q="1 <> 1");return new U({parentfeatureset:h,adaptedFields:[new M(U.findField(h.fields,O)),new M(U.findField(h.fields,R)),z,H,K,W],extraFilter:Q?J.create(Q,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}):null})})},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(y(s,3,3,n),!I(s[0]))throw new o("InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ie(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ae(s[1]))c=s[1];else{if(!A(s[1]))throw new o("InvalidParameter",n);c=s[1].toArray()}for(const e of c)if(ie(e)){const t=J.create(g(e),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),n=!0===q(t)?g(e):"%%%%FIELDNAME";f.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(u=!0)}else{if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(u=!0),!t||!ie(t)||!ie(i))throw new o("InvalidParameter",n);f.push({name:t,expression:J.create(i||t,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],ie(s[2]))c.push(s[2]);else if(ae(s[2]))c=s[2];else if(A(s[2]))c=s[2].toArray();else{if(!(s[2]instanceof i))throw new o("InvalidParameter",n);c.push(s[2])}for(const e of c){if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"",i=e.hasField("statistic")?e.field("statistic"):"",a=e.hasField("expression")?e.field("expression"):"";if(!(t&&ie(t)&&i&&ie(i)&&a&&ie(a)))throw new o("InvalidParameter",n);d.push({name:t,statistic:i,expression:J.create(a,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of f)se(n.expression,e,t);for(const n of d)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:f,statsfields:d})})},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(I(s[0])){y(s,2,2,n);const a=await s[0].load(),r=[];let l=[];if(ie(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ae(s[1]))l=s[1];else{if(!A(s[1]))throw new o("InvalidParameter",n);l=s[1].toArray()}let f=!1;for(const e of l)if(ie(e)){const t=J.create(g(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===q(t)?g(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(f=!0)}else{if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(f=!0),!t||!ie(t)||!ie(i))throw new o("InvalidParameter",n);r.push({name:t,expression:J.create(i||t,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of r)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:r,statsfields:[]})}return oe(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,a)=>{if(y(a,1,1,n),!I(a[0]))return null;const r=await a[0].getFeatureSetInfo();return r?i.createMutable({__proto__:null,layerId:r.layerId,layerName:r.layerName,itemId:r.itemId,serviceLayerUrl:r.serviceLayerUrl,webMapLayerId:r.webMapLayerId??null,webMapLayerTitle:r.webMapLayerTitle??null,className:null,objectClassId:null}):null})},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0])){const e=await i[0].load(),t=i[1];if(!re(t))throw new o("InvalidParameter",n);if(e.subtypeField){const t=J.create(`${e.subtypeField}= ${i[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:i[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o("FeatureSetDoesNotHaveSubtypes",n);const a=J.create(`${e.typeIdField}= ${i[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:i[0],whereclause:a})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
|
|
2
|
+
import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o}from"../executionError.js";import{Feature as s}from"../Feature.js";import{convertToFeatureSet as l,constructFeatureSetFromPortalItem as f,constructFeatureSet as d,constructFeatureSetFromRelationship as u,constructFeatureSetFromUrl as c,constructAssociationMetaDataFeatureSetFromUrl as m}from"../featureSetUtils.js";import p from"../ImmutableArray.js";import{E as y,r as w,q as h,k as I,w as g,U as F,T as b,e as T,j as D,N as E,O as x,h as N,g as A,i as S,v,Q as L,a1 as j}from"../../chunks/languageUtils.js";import{getPortal as C,getDefaultPortal as k}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as $,FieldRename as P,AdaptedFeatureSet as U,OriginalField as M}from"../featureset/actions/Adapted.js";import R from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/GroupBy.js";import z from"../featureset/actions/OrderBy.js";import W from"../featureset/actions/Top.js";import H from"../featureset/sources/Empty.js";import G from"../featureset/sources/FeatureLayerMemory.js";import _ from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as V,cloneField as q}from"../featureset/support/shared.js";import{isSingleField as B}from"../featureset/support/sqlUtils.js";import{distinct as K}from"./fieldStats.js";import{isPromiseLike as Q}from"../../core/promiseUtils.js";import J from"../../core/sql/WhereClause.js";import Y from"../../layers/FeatureLayer.js";import X from"../../layers/support/Field.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return K(e[0],-1);if(A(e[0]))return K(e[0].toArray(),-1)}return K(e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,s){const l=await t.getFeatureSetInfo();if(null===(l?.layerId??null))return null;if(!r.layerIdLookup.get(l.layerId))return null;const f=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),u=[];switch(i){case"connected":u.push("connectivity"),u.push("junction-edge-from-connectivity"),u.push("junction-edge-to-connectivity"),u.push("junction-edge-midspan-connectivity"),u.push("junction-junction-connectivity");break;case"container":case"content":u.push("containment");break;case"structure":case"attached":u.push("attachment");break;case"junctionedge":u.push("junction-edge-from-connectivity"),u.push("junction-edge-to-connectivity");break;case"midspan":u.push("junction-edge-midspan-connectivity");break;default:throw new o("InvalidParameter",s)}let c=null,m=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(c=e.terminalId);null===c&&(m=!0)}const p=[];if(!m){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(l.layerId).sourceId,...c?{terminalId:c}:""}),o=await ee(f,new ne({types:u,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";p.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const y=new Y({source:p,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new X({name:"objectId",alias:"objectId",type:"oid"}),new X({name:"globalId",alias:"globalId",type:"global-id"}),new X({name:"percentAlong",alias:"percentAlong",type:"double"}),new X({name:"side",alias:"side",type:"string"}),new X({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new X({name:"className",alias:"className",type:"string"})]});return d(y)}function we(e){if(null==e)return["*"];if(A(e)&&(e=e.toArray()),!ae(e))throw new o("InvalidParameter",null);for(const t of e)if(!ie(t))throw new o("InvalidParameter",null);return e}function he(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,async(e,r,s)=>{if(y(s,1,2,a),w(s[0]))return"Unknown";if(h(s[0]))return"Unknown";if(I(s[0])){if(await s[0].load(),1===s.length||null===s[1])return s[0].datesInUnknownTimezone?pe("unknown"):pe(s[0].dateFieldsTimeZone);if(!(s[1]instanceof i)||!1===s[1].hasField("type"))throw new o("InvalidParameter",a);const e=s[1].field("type");if(!1===ie(e))throw new o("InvalidParameter",a);switch(g(e).toLowerCase()){case"preferredtimezone":return pe(s[0].preferredTimeZone);case"editfieldsinfo":return pe(s[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(s[0].timeInfo?.timeZone??null);case"field":if(s[1].hasField("fieldname")&&ie(s[1].field("fieldname")))return pe(s[0].fieldTimeZone(g(s[1].field("fieldname"))))}throw new o("InvalidParameter",a)}const l=F(s[0],b(n));if(null===l)return null;const f=l.timeZone;return"system"===f?t.systemTimeZoneCanonicalName:"utc"===f.toLowerCase()?"UTC":"unknown"===f.toLowerCase()?"Unknown":f})},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{y(i,1,3,n);const a=i[0];if(T(a)){if(1===i.length)return a.toSQLWithKeyword();if(2===i.length)return a.changeTimeZone(g(i[1])).toSQLWithKeyword();throw new o("InvalidParameter",n)}if(h(a))return a.toSQLWithKeyword();if(I(a)){if(3!==i.length)throw new o("InvalidParameter",n);await a.load();const e=g(i[1]);if(h(i[2]))return i[2].toSQLWithKeyword();if(!1===T(i[2]))throw new o("InvalidParameter",n);const t=a.fieldTimeZone(e);return null==t?i[2].toSQLWithKeyword():i[2].changeTimeZone(t).toSQLWithKeyword()}throw new o("InvalidParameter",n)})},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,(e,t,i)=>{if(y(i,2,4,n),D(i[0])){const e=g(i[1]),t=we(i[2]),n=E(x(i[3],!0));return i[0].featureSetById(e,n,t)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"featuresetbyid",min:2,max:4});const K=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,2,n),N(a[0])){const e=null==a[1]?"datasource":K.lookup(g(a[1]));return l(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,(e,a,r)=>{if(y(r,2,5,i),null===r[0])throw new o("PortalRequired",i);if(r[0]instanceof n){const e=g(r[1]),n=g(r[2]),i=we(r[3]),a=E(x(r[4],!0)),o=C(t,r[0]);return f(e,n,t.spatialReference,i,a,o,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o("PortalRequired",i);const s=g(r[0]),l=g(r[1]),d=we(r[2]),u=E(x(r[3],!0));return f(s,l,t.spatialReference,d,u,k(t),t.lrucache,t.interceptor)})},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,(e,t,i)=>{if(y(i,2,4,n),D(i[0])){const e=g(i[1]),t=we(i[2]),n=E(x(i[3],!0));return i[0].featureSetByName(e,n,t)}throw new o("InvalidParameter",n)})},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,(e,a,r)=>{y(r,1,1,n);const s={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(s.layerDefinition=e.layerDefinition,s.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(s.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(s.featureSet.features=e.features,s.featureSet.geometryType=e.geometryType,s.layerDefinition.geometryType=s.featureSet.geometryType,s.layerDefinition.objectIdField=e.objectIdFieldName??"",s.layerDefinition.typeIdField=e.typeIdFieldName,s.layerDefinition.globalIdField=e.globalIdFieldName,s.layerDefinition.fields=e.fields,e.spatialReference&&(s.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o("InvalidParameter",n);{const e=JSON.parse(r[0].castToText(!0)),t=le(e,"layerdefinition");if(null!==t){s.layerDefinition.geometryType=le(t,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.globalIdField=le(t,"globalidfield",""),s.layerDefinition.objectIdField=le(t,"objectidfield",""),s.layerDefinition.typeIdField=le(t,"typeidfield",""),s.layerDefinition.hasZ=!0===le(t,"hasz",!1),s.layerDefinition.hasM=!0===le(t,"hasm",!1);const n=le(t,"spatialreference");n&&(s.layerDefinition.spatialReference=de(n));const i=[];for(const e of le(t,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};i.push(t)}s.layerDefinition.fields=i;const a=le(e,"featureset");if(a){const e={};for(const t of i)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];s.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{s.layerDefinition.hasZ=!0===le(e,"hasz",!1),s.layerDefinition.hasM=!0===le(e,"hasm",!1),s.layerDefinition.geometryType=le(e,"geometrytype",""),s.featureSet.geometryType=s.layerDefinition.geometryType,s.layerDefinition.objectIdField=le(e,"objectidfieldname",""),s.layerDefinition.typeIdField=le(e,"typeidfieldname","");const t=le(e,"spatialreference");t&&(s.layerDefinition.spatialReference=de(t));const i=[],a=le(e,"fields",null);if(!ae(a))throw new o("InvalidParameter",n);for(const e of a){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};i.push(t)}s.layerDefinition.fields=i;const r={};for(const e of i)r[e.name.toLowerCase()]=e.name;let l=le(e,"features",null);if(ae(l))for(const e of l){const t={},n=le(e,"attributes",{});for(const e in n)t[r[e.toLowerCase()]]=n[e];s.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else l=null,s.featureSet.features=l}}}if(!1===me(s))throw new o("InvalidParameter",n);return s.layerDefinition.geometryType||(s.layerDefinition.geometryType="esriGeometryNull"),G.create(s,t.spatialReference)})},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,async(i,a,r)=>{if(y(r,2,2,n),ae(r[0])||A(r[0])){const e=[];let i,a=r[0];if(a instanceof p&&(a=a.toArray()),!S(r[1]))throw new o("InvalidParameter",n);i=r[1].createFunction(t);for(const t of a){const n=i(t);Q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(I(r[0])){const n=await r[0].load(),i=J.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new R({parentfeatureset:r[0],whereclause:i})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0])){const e=new _(i[1]);return new z({parentfeatureset:i[0],orderbyclause:e})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0]))return new W({parentfeatureset:i[0],topnum:i[1]});if(ae(i[0]))return v(i[1])>=i[0].length?i[0].slice():i[0].slice(0,v(i[1]));if(A(i[0]))return v(i[1])>=i[0].length()?i[0].slice():i[0].slice(0,v(i[1]));throw new o("InvalidParameter",n)})},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{if(y(a,1,1,n),I(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=s.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:A(a[0])?0===a[0].length()?null:a[0].get(0):null})},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,async(e,a,r)=>{y(r,1,2,n);const s={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(s.minsize=v(r[1].field("minsize"))),r[1].hasField("metadata")&&(s.returnMetadata=E(r[1].field("metadata"))),r[1].hasField("maxsize")&&(s.maxsize=v(r[1].field("maxsize"))),r[1].hasField("types")){const e=L(r[1].field("types"),!1);e.length>0&&(s.types=e)}}else if(null!==r[1])throw new o("InvalidParameter",n);if(N(r[0])){const e=r[0]._layer;let n;if(I(e))n=e;else{if(null==e||!V(e))return[];n=d(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),s.minsize,s.maxsize,s.types,s.returnMetadata)}if(null===r[0])return[];throw new o("InvalidParameter",n)})},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,4,n);const r=a[0],s=g(a[1]),l=we(a[2]),f=E(x(a[3],!0));if(null===a[0])return null;if(!N(a[0]))throw new o("InvalidParameter",n);const m=r._layer;let p;if(I(m))p=m;else{if(null==m||!V(m))return null;p=d(m,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}p=await p.load();const w=p.relationshipMetadata().filter(e=>e.name===s);if(0===w.length)return null;if(void 0!==w[0].relationshipTableId&&null!==w[0].relationshipTableId&&w[0].relationshipTableId>-1)return u(p,w[0],r.field(p.objectIdField),p.spatialReference,l,f,t.lrucache,t.interceptor);let h=p.serviceUrl();if(!h)return null;h=h.endsWith("/")?h+w[0].relatedTableId.toString():h+"/"+w[0].relatedTableId.toString();const F=await c(h,p.spatialReference,l,f,t.lrucache,t.interceptor);await F.load();let b=F.relationshipMetadata();if(b=b.filter(e=>e.id===w[0].id),!1===r.hasField(w[0].keyField)||null===r.field(w[0].keyField)){const e=await p.getFeatureByObjectId(r.field(p.objectIdField),[w[0].keyField]);if(e){const t=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[w[0].keyField]},new R({parentfeatureset:F,whereclause:t})}return new H({parentfeatureset:F})}const T=J.create(b[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return T.parameters={id:r.field(w[0].keyField)},new R({parentfeatureset:F,whereclause:T})})},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,async(e,i,a)=>{y(a,2,3,n);const s=a[0],l=r(g(x(a[1],""))),f=ie(a[2])?g(a[2]):null;if(null===a[0])return null;if(!N(a[0]))throw new o("InvalidParameter",n);const u=s._layer;let c;if(I(u))c=u;else{if(null==u||!V(u))return null;c=d(u,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}await c.load();const p=c.serviceUrl(),w=await m(p,t.spatialReference,!0);if(w.unVersion>=8)return await ye(c,s,l,f,w,n);const h=w.associations;if(null==h)return null;let F=null,b=null,T=!1;if(null!==f&&""!==f&&void 0!==f){for(const e of w.terminals)e.terminalName===f&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),E=D.get("TOGLOBALID").name,A=D.get("FROMGLOBALID").name,S=D.get("TOTERMINALID").name,v=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,k=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){F=s.field(t.name);break}let z=null,W=new Z(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(new X({name:"side",alias:"side",type:"string"}),J.create("''",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));const G="globalid",_="globalId",B={};for(const t in w.lkp)B[t]=w.lkp[t].sourceId;const K=new $(new X({name:"classname",alias:"classname",type:"string"}),null,B);let Q="";switch(l){case"midspan":{Q=`((${E}='${F}') OR ( ${A}='${F}')) AND (${k} IN (5))`,K.codefield=J.create(`CASE WHEN (${E}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=q(U.findField(h.fields,A));e.name=G,e.alias=G,z=new Z(e,J.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=w.unVersion>=4?new M(U.findField(h.fields,D.get("PERCENTALONG").name)):new Z(new X({name:"percentalong",alias:"percentalong",type:"double"}),J.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{Q=`((${E}='${F}') OR ( ${A}='${F}')) AND (${k} IN (4,6))`,K.codefield=J.create(`CASE WHEN (${E}='${F}') THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=q(U.findField(h.fields,A));e.name=G,e.alias=G,z=new Z(e,J.create(`CASE WHEN (${A}='${F}') THEN ${E} ELSE ${A} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(new X({name:"side",alias:"side",type:"string"}),J.create(`CASE WHEN (${k}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${E}='@T'`,t=`${A}='@T'`;null!==b&&(e+=` AND ${S}=@A`,t+=` AND ${v}=@A`),Q="(("+e+") OR ("+t+"))",Q=j(Q,"@T",F??""),e=j(e,"@T",F??""),null!==b&&(e=j(e,"@A",b.toString()),Q=j(Q,"@A",b.toString())),K.codefield=J.create("CASE WHEN "+e+` THEN ${L} ELSE ${C} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=q(U.findField(h.fields,A));n.name=G,n.alias=G,z=new Z(n,J.create("CASE WHEN "+e+` THEN ${A} ELSE ${E} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":Q=`${E}='${F}' AND ${k} = 2`,null!==b&&(Q+=` AND ${S} = `+b.toString()),K.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,G);break;case"content":Q=`(${A}='${F}' AND ${k} = 2)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),K.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,E),G,G);break;case"structure":Q=`(${E}='${F}' AND ${k} = 3)`,null!==b&&(Q+=` AND ${S} = `+b.toString()),K.codefield=L,Q="( "+Q+" )",z=new P(U.findField(h.fields,A),G,_);break;case"attached":Q=`(${A}='${F}' AND ${k} = 3)`,null!==b&&(Q+=` AND ${v} = `+b.toString()),K.codefield=C,Q="( "+Q+" )",z=new P(U.findField(h.fields,E),G,_);break;default:throw new o("InvalidParameter",n)}T&&(Q="1 <> 1");return new U({parentfeatureset:h,adaptedFields:[new M(U.findField(h.fields,O)),new M(U.findField(h.fields,R)),z,H,K,W],extraFilter:Q?J.create(Q,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}):null})})},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(y(s,3,3,n),!I(s[0]))throw new o("InvalidParameter",n);const l=await s[0].load(),f=[],d=[];let u=!1,c=[];if(ie(s[1]))c.push(s[1]);else if(s[1]instanceof i)c.push(s[1]);else if(ae(s[1]))c=s[1];else{if(!A(s[1]))throw new o("InvalidParameter",n);c=s[1].toArray()}for(const e of c)if(ie(e)){const t=J.create(g(e),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),n=!0===B(t)?g(e):"%%%%FIELDNAME";f.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(u=!0)}else{if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(u=!0),!t||!ie(t)||!ie(i))throw new o("InvalidParameter",n);f.push({name:t,expression:J.create(i||t,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],ie(s[2]))c.push(s[2]);else if(ae(s[2]))c=s[2];else if(A(s[2]))c=s[2].toArray();else{if(!(s[2]instanceof i))throw new o("InvalidParameter",n);c.push(s[2])}for(const e of c){if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"",i=e.hasField("statistic")?e.field("statistic"):"",a=e.hasField("expression")?e.field("expression"):"";if(!(t&&ie(t)&&i&&ie(i)&&a&&ie(a)))throw new o("InvalidParameter",n);d.push({name:t,statistic:i,expression:J.create(a,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of f)se(n.expression,e,t);for(const n of d)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:f,statsfields:d})})},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,async(a,r,s)=>{if(I(s[0])){y(s,2,2,n);const a=await s[0].load(),r=[];let l=[];if(ie(s[1]))l.push(s[1]);else if(s[1]instanceof i)l.push(s[1]);else if(ae(s[1]))l=s[1];else{if(!A(s[1]))throw new o("InvalidParameter",n);l=s[1].toArray()}let f=!1;for(const e of l)if(ie(e)){const t=J.create(g(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===B(t)?g(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(f=!0)}else{if(!(e instanceof i))throw new o("InvalidParameter",n);{const t=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",i=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===t&&(f=!0),!t||!ie(t)||!ie(i))throw new o("InvalidParameter",n);r.push({name:t,expression:J.create(i||t,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of r)se(n.expression,e,t);return new O({parentfeatureset:s[0],groupbyfields:r,statsfields:[]})}return oe(s)})},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,a)=>{if(y(a,1,1,n),!I(a[0]))return null;const r=await a[0].getFeatureSetInfo();return r?i.createMutable({__proto__:null,layerId:r.layerId,layerName:r.layerName,itemId:r.itemId,serviceLayerUrl:r.serviceLayerUrl,webMapLayerId:r.webMapLayerId??null,webMapLayerTitle:r.webMapLayerTitle??null,className:null,objectClassId:null}):null})},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,async(e,t,i)=>{if(y(i,2,2,n),I(i[0])){const e=await i[0].load(),t=i[1];if(!re(t))throw new o("InvalidParameter",n);if(e.subtypeField){const t=J.create(`${e.subtypeField}= ${i[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:i[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o("FeatureSetDoesNotHaveSubtypes",n);const a=J.create(`${e.typeIdField}= ${i[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:i[0],whereclause:a})}throw new o("InvalidParameter",n)})},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{he as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ArcadeExecutionError as e}from"../executionError.js";import{shapeExtent as t}from"../kernel.js";import{H as n,
|
|
2
|
+
import{ArcadeExecutionError as e}from"../executionError.js";import{shapeExtent as t}from"../kernel.js";import{H as n,E as r,f as i,w as a,k as s}from"../../chunks/languageUtils.js";import o from"../featureset/actions/SpatialFilter.js";import l from"../featureset/sources/Empty.js";import{invokeRemoteGeometryOp as u}from"../geometry/operatorsWorkerConnection.js";function c(a){return async(c,f,p)=>{if(r(p,2,2,f),null===(p=n(p))[0]&&null===p[1])return!1;if(s(p[0])){if(i(p[1]))return new o({parentfeatureset:p[0],relation:a,relationGeom:p[1]});if(null===p[1])return new l({parentfeatureset:p[0]});throw new e("InvalidParameter",f)}if(i(p[0])){if(i(p[1])){switch(a){case"esriSpatialRelEnvelopeIntersects":{const e=t(p[0]),n=t(p[1]);return null!=e&&null!=n&&u("intersects",[e.toJSON(),n.toJSON()])}case"esriSpatialRelIntersects":return u("intersects",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelContains":return u("contains",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelOverlaps":return u("overlaps",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelWithin":return u("within",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelTouches":return u("touches",[p[0].toJSON(),p[1].toJSON()]);case"esriSpatialRelCrosses":return u("crosses",[p[0].toJSON(),p[1].toJSON()])}throw new e("InvalidParameter",f)}if(s(p[1]))return new o({parentfeatureset:p[1],relation:a,relationGeom:p[0]});if(null===p[1])return!1;throw new e("InvalidParameter",f)}if(null===p[0]){if(s(p[1]))return new l({parentfeatureset:p[1]});if(i(p[1])||null===p[1])return!1}throw new e("InvalidParameter",f)}}function f(t){"async"===t.mode&&(t.functions.intersects=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelIntersects"))},t.functions.envelopeintersects=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelEnvelopeIntersects"))},t.signatures.push({name:"envelopeintersects",min:2,max:2}),t.functions.contains=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelContains"))},t.functions.overlaps=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelOverlaps"))},t.functions.within=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelWithin"))},t.functions.touches=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelTouches"))},t.functions.crosses=function(e,n){return t.standardFunctionAsync(e,n,c("esriSpatialRelCrosses"))},t.functions.relate=function(c,f){return t.standardFunctionAsync(c,f,async(t,c,p)=>{if(p=n(p),r(p,3,3,f),i(p[0])&&i(p[1]))return u("relate",[p[0].toJSON(),p[1].toJSON(),a(p[2])]);if(i(p[0])&&null===p[1])return!1;if(i(p[1])&&null===p[0])return!1;if(s(p[0])&&null===p[1])return new l({parentfeatureset:p[0]});if(s(p[1])&&null===p[0])return new l({parentfeatureset:p[1]});if(s(p[0])&&i(p[1]))return new o({parentfeatureset:p[0],relation:"esriSpatialRelRelation",relationGeom:p[1],relationString:a(p[2])});if(s(p[1])&&i(p[0]))return new o({parentfeatureset:p[1],relation:"esriSpatialRelRelation",relationGeom:p[0],relationString:a(p[2])});if(null===p[0]&&null===p[1])return!1;throw new e("InvalidParameter",f)})})}export{f as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ArcadeDate as n}from"../ArcadeDate.js";import{isEmpty as t}from"../containerUtils.js";import{ArcadeExecutionError as e}from"../executionError.js";import{
|
|
2
|
+
import{ArcadeDate as n}from"../ArcadeDate.js";import{isEmpty as t}from"../containerUtils.js";import{ArcadeExecutionError as e}from"../executionError.js";import{E as r,k as a,g as i,l as o,O as s,P as u,T as c}from"../../chunks/languageUtils.js";import{calculateStat as f}from"./fieldStats.js";import{SqlTimeStampOffset as m}from"../../core/sql/SqlTimestampOffset.js";import d from"../../core/sql/WhereClause.js";import{DateTime as l}from"luxon";import{isArray as g,isString as y,isBoolean as p,isDate as A}from"../../support/guards.js";async function F(n,t,e,r){if(1===e.length){if(g(e[0]))return f(n,e[0]);if(i(e[0]))return f(n,e[0].toArray())}else if(2===e.length){if(g(e[0]))return f(n,e[0]);if(i(e[0]))return f(n,e[0].toArray());if(a(e[0])){const a=await e[0].load(),i=await h(d.create(e[1],{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),r,t);return T(t,await e[0].calculateStatistic(n,i,-1,t.abortSignal))}}else if(3===e.length&&a(e[0])){const a=await e[0].load(),i=await h(d.create(e[1],{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),r,t);return T(t,await e[0].calculateStatistic(n,i,-1,t.abortSignal))}return f(n,e)}function T(t,e){return m.isTimestampOffset(e)?n.fromReaderAsTimeStampOffset(e.toStorageFormat()):A(e)?n.dateJSAndZoneToArcadeDate(e,c(t)):l.isDateTime(e)?n.dateTimeToArcadeDate(e):e}async function h(n,t,e){const r=n.getVariables();if(r.length>0){const a={};for(const n of r)a[n]=t.evaluateIdentifier(e,{name:n});n.parameters=a}return n}function w(n){"async"===n.mode&&(n.functions.stdev=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("stdev",t,a,n))},n.functions.variance=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("variance",t,a,n))},n.functions.average=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("mean",t,a,n))},n.functions.mean=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("mean",t,a,n))},n.functions.sum=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("sum",t,a,n))},n.functions.min=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("min",t,a,n))},n.functions.max=function(t,e){return n.standardFunctionAsync(t,e,(e,r,a)=>F("max",t,a,n))},n.functions.count=function(t,s){return n.standardFunctionAsync(t,s,async(n,t,u)=>{if(r(u,1,1,s),null==u[0])return 0;if(a(u[0]))return u[0].count(n.abortSignal);if(g(u[0])||y(u[0]))return u[0].length;if(i(u[0]))return u[0].length();if(o(u[0]))return u[0].entryCount();throw new e("InvalidParameter",s)})},n.functions.isempty=function(i,o){return n.standardFunctionAsync(i,o,async(n,i,o)=>{if(r(o,1,2,i),o.length>=2&&!p(o[1]))throw new e("InvalidParameter",i);return s(o[1],!1)?a(o[0])?await o[0].isEmpty(n.abortSignal):t(o[0]):u(o[0])})})}export{w as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{convertJsonValueToImmutableArcadeValue as n}from"../containerUtils.js";import{ArcadeExecutionError as a}from"../executionError.js";import{
|
|
2
|
+
import{convertJsonValueToImmutableArcadeValue as n}from"../containerUtils.js";import{ArcadeExecutionError as a}from"../executionError.js";import{E as e,h as t,X as r,w as o,k as i,a6 as s,$ as d,Z as u,a7 as c,Y as m,a8 as f,O as l,t as w,_ as y}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as v}from"../featureset/support/shared.js";import{isString as p}from"../../support/guards.js";function h(a){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n({type:"codedValue",name:a.domain.name,dataType:v[a.field.type],codedValues:a.domain.codedValues.map(n=>({name:n.name,code:n.code}))}):n({type:"range",name:a.domain.name,dataType:v[a.field.type],min:a.domain.minValue,max:a.domain.maxValue}):null}function g(v){"async"===v.mode&&(v.functions.domain=function(n,d){return v.standardFunctionAsync(n,d,async(n,u,c)=>{if(e(c,2,3,d),t(c[0])){return h(r(c[0],o(c[1]),void 0===c[2]?void 0:c[2]))}if(i(c[0])){await c[0]._ensureLoaded();return h(s(o(c[1]),c[0],null,void 0===c[2]?void 0:c[2]))}throw new a("InvalidParameter",d)})},v.functions.subtypes=function(r,o){return v.standardFunctionAsync(r,o,async(r,s,u)=>{if(e(u,1,1,o),t(u[0]))return n(d(u[0]));if(i(u[0]))return await u[0]._ensureLoaded(),n(u[0].subtypeMetadata());throw new a("InvalidParameter",o)})},v.functions.domainname=function(n,r){return v.standardFunctionAsync(n,r,async(n,d,m)=>{if(e(m,2,4,r),t(m[0]))return u(m[0],o(m[1]),m[2],void 0===m[3]?void 0:m[3]);if(i(m[0])){await m[0]._ensureLoaded();const n=s(o(m[1]),m[0],null,void 0===m[3]?void 0:m[3]);return c(n,m[2])}throw new a("InvalidParameter",r)})},v.signatures.push({name:"domainname",min:2,max:4}),v.functions.domaincode=function(n,r){return v.standardFunctionAsync(n,r,async(n,d,u)=>{if(e(u,2,4,r),t(u[0]))return m(u[0],o(u[1]),u[2],void 0===u[3]?void 0:u[3]);if(i(u[0])){await u[0]._ensureLoaded();const n=s(o(u[1]),u[0],null,void 0===u[3]?void 0:u[3]);return f(n,u[2])}throw new a("InvalidParameter",r)})},v.signatures.push({name:"domaincode",min:2,max:4}),v.functions.text=function(n,t){return v.standardFunctionAsync(n,t,async(n,r,o)=>{if(e(o,1,2,t),i(o[0])){const e=l(o[1],"");if(!p(e))throw new a("InvalidParameter",t);if(""===e)return o[0].castToText();if("schema"===e.toLowerCase())return o[0].convertToText("schema",n.abortSignal);if("featureset"===e.toLowerCase())return o[0].convertToText("featureset",n.abortSignal);throw new a("InvalidParameter",t)}return w(o[0],o[1])})},v.functions.gdbversion=function(n,r){return v.standardFunctionAsync(n,r,async(n,o,s)=>{if(e(s,1,1,r),t(s[0]))return s[0].gdbVersion();if(i(s[0])){return(await s[0].load()).gdbVersion}throw new a("InvalidParameter",r)})},v.functions.schema=function(r,o){return v.standardFunctionAsync(r,o,async(r,s,d)=>{if(e(d,1,1,o),i(d[0]))return await d[0].load(),n(d[0].schema());if(t(d[0]))return n(y(d[0]));throw new a("InvalidParameter",o)})})}export{g as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{u as e,z as t,a3 as r}from"../../chunks/languageUtils.js";import{isNumber as n,isString as a}from"../../support/guards.js";function s(e){let t=0;for(let r=0;r<e.length;r++)t+=e[r];return t/e.length}function u(e){const t=s(e);let r=0;for(let n=0;n<e.length;n++)r+=(t-e[n])**2;return r/e.length}function c(e){let t=0;for(let r=0;r<e.length;r++)t+=e[r];return t}function o(r,s){const u=[],c={},o=[];for(const i of r){if(null!=i&&!e(i))if(n(i)||a(i))void 0===c[i]&&(u.push(i),c[i]=1);else{let e=!1;for(let r=0;r<o.length;r++)!0===t(o[r],i)&&(e=!0);!1===e&&(o.push(i),u.push(i))}if(u.length>=s&&-1!==s)return u}return u}function i(e){switch(e.toLowerCase()){case"distinct":return"distinct";case"avg":case"mean":return"avg";case"min":return"min";case"sum":return"sum";case"max":return"max";case"stdev":case"stddev":return"stddev";case"var":case"variance":return"var";case"count":return"count"}return""}function l(e,t){switch(e){case"avg":case"mean":return s(r(t));case"min":return Math.min.apply(Math,r(t));case"sum":return c(r(t));case"max":return Math.max.apply(Math,r(t));case"stdev":case"stddev":return Math.sqrt(u(r(t)));case"var":case"variance":return u(r(t));case"count":return t.length;default:return 0}}export{l as calculateStat,i as decodeStatType,o as distinct};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import n from"../ArcadePortal.js";import{convertJsonValueToImmutableArcadeValue as t}from"../containerUtils.js";import e from"../Dictionary.js";import{ArcadeExecutionError as r}from"../executionError.js";import{cloneGeometry as a}from"../kernel.js";import{H as i,B as o,e as s,n as u,o as c,s as l,g as f,J as d,k as w,K as m,f as y,L as h,M as p,r as g,N,O as S}from"../../chunks/languageUtils.js";import{getPortal as O}from"../portalUtils.js";import{commonRelationsCheck as J,toCurveType as P,planarLength3D as v,toOffsetJoinType as I,toCentroidAlgorithm as A,measureToCoordinateFunc as F,pointToCoordinateFunc as R,distanceToCoordinateFunc as j}from"../geometry/functions.js";import{invokeRemoteGeometryOp as b}from"../geometry/operatorsWorkerConnection.js";import{equals as x}from"../../core/arrayUtils.js";import L from"../../geometry/Extent.js";import U from"../../geometry/Geometry.js";import C from"../../geometry/Multipoint.js";import M from"../../geometry/Point.js";import _ from"../../geometry/Polygon.js";import k from"../../geometry/Polyline.js";import{fromJSON as E}from"../../geometry/support/jsonUtils.js";import{lookupUser as Z}from"../../portal/support/utils.js";import{isArray as D}from"../../support/guards.js";function q(n){if(null==n)return n;switch(typeof n){case"string":case"number":return n;default:throw new r("InvalidParameter",null)}}function z(z){"async"===z.mode&&(z.functions.disjoint=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null===r[0]||null===r[1]||b("disjoint",[r[0].toJSON(),r[1].toJSON()])))},z.functions.intersects=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("intersects",[r[0].toJSON(),r[1].toJSON()])))},z.functions.touches=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("touches",[r[0].toJSON(),r[1].toJSON()])))},z.functions.crosses=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("crosses",[r[0].toJSON(),r[1].toJSON()])))},z.functions.within=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("within",[r[0].toJSON(),r[1].toJSON()])))},z.functions.contains=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("contains",[r[0].toJSON(),r[1].toJSON()])))},z.functions.overlaps=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("overlaps",[r[0].toJSON(),r[1].toJSON()])))},z.functions.equals=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(o(r,2,2,t),r[0]===r[1]||(r[0]instanceof U&&r[1]instanceof U?b("equals",[r[0].toJSON(),r[1].toJSON()]):(s(r[0])&&s(r[1])||!!(u(r[0])&&u(r[1])||c(r[0])&&c(r[1])))&&r[0].equals(r[1]))))},z.functions.relate=function(n,t){return z.standardFunctionAsync(n,t,(n,e,a)=>{if(a=i(a),o(a,3,3,t),a[0]instanceof U&&a[1]instanceof U)return b("relate",[a[0].toJSON(),a[1].toJSON(),l(a[2])]);if(a[0]instanceof U&&null===a[1])return!1;if(a[1]instanceof U&&null===a[0])return!1;if(null===a[0]&&null===a[1])return!1;throw new r("InvalidParameter",t)})},z.functions.intersection=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,r)=>(r=i(r),J(r,t),null===r[0]||null===r[1]?null:E(await b("intersection",[r[0].toJSON(),r[1].toJSON()]))))},z.functions.union=function(n,t){return z.standardFunctionAsync(n,t,async(e,o,s)=>{if(0===(s=i(s)).length)throw new r("WrongNumberOfParameters",t);const u=[];if(1===s.length)if(D(s[0])){for(const n of i(s[0]))if(null!==n){if(!(n instanceof U))throw new r("InvalidParameter",t);u.push(n.toJSON())}}else{if(!f(s[0])){if(s[0]instanceof U)return d(a(s[0]),n.spatialReference);if(null===s[0])return null;throw new r("InvalidParameter",t)}for(const n of i(s[0].toArray()))if(null!==n){if(!(n instanceof U))throw new r("InvalidParameter",t);u.push(n.toJSON())}}else for(const n of s)if(null!==n){if(!(n instanceof U))throw new r("InvalidParameter",t);u.push(n.toJSON())}return 0===u.length?null:E(await b("union",[u]))})},z.functions.difference=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,r)=>(r=i(r),J(r,t),null===r[0]?null:null===r[1]?a(r[0]):E(await b("difference",[r[0].toJSON(),r[1].toJSON()]))))},z.functions.symmetricdifference=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,r)=>(r=i(r),J(r,t),null===r[0]&&null===r[1]?null:null===r[0]?a(r[1]):null===r[1]?a(r[0]):E(await b("symmetricDifference",[r[0].toJSON(),r[1].toJSON()]))))},z.functions.clip=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,2,t),!(a[1]instanceof L)&&null!==a[1])throw new r("InvalidParameter",t);if(null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return null===a[1]?null:E(await b("clip",[a[0].toJSON(),a[1].toJSON()]))})},z.functions.cut=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,s)=>{if(s=i(s),o(s,2,2,t),!(s[1]instanceof k)&&null!==s[1])throw new r("InvalidParameter",t);if(null===s[0])return[];if(!(s[0]instanceof U))throw new r("InvalidParameter",t);return null===s[1]?[a(s[0])]:(await b("cut",[s[0].toJSON(),s[1].toJSON()])).map(n=>E(n))})},z.functions.area=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(o(s,1,2,t),s=i(s),w(s[0])){const e=await s[0].sumArea(q(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}let u=s[0];if((D(u)||f(u))&&(u=m(s[0],n.spatialReference)),null===u)return 0;if(!(u instanceof U))throw new r("InvalidParameter",t);return b("area",[u.toJSON(),q(s[1])])})},z.functions.areageodetic=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{o(s,1,3,t);let u=(s=i(s))[0];(D(u)||f(u))&&(u=m(u,n.spatialReference));const c=q(s[1]),l=P(s[2]);if(w(u)){const e=await u.sumArea(c,l,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}if(null==u)return 0;if(!y(u))throw new r("InvalidParameter",t);return b("geodeticArea",[u.toJSON(),c,l])})},z.functions.length=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(o(s,1,2,t),s=i(s),w(s[0])){const e=await s[0].sumLength(q(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}let u=s[0];if((D(s[0])||f(s[0]))&&(u=h(s[0],n.spatialReference)),null===u)return 0;if(!(u instanceof U))throw new r("InvalidParameter",t);return b("length",[u.toJSON(),q(s[1])])})},z.functions.length3d=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(o(s,1,2,t),null===(s=i(s))[0])return 0;let u=s[0];if((D(s[0])||f(s[0]))&&(u=h(s[0],n.spatialReference)),null===u)return 0;if(!(u instanceof U))throw new r("InvalidParameter",t);if(!0===u.hasZ){const{convertFromSpatialReferenceUnit:n,toLengthUnit:t}=await import("../geometry/unitConversion.js"),e=v(u);return n(u.spatialReference,t(s[1]),e)}return b("length",[u.toJSON(),q(s[1])])})},z.functions.lengthgeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{o(s,1,3,t);let u=(s=i(s))[0];(D(s[0])||f(s[0]))&&(u=h(s[0],n.spatialReference));const c=q(s[1]),l=P(s[2]);if(w(u)){const e=await u.sumLength(c,l,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}if(null===u)return 0;if(!y(u))throw new r("InvalidParameter",t);return b("geodeticLength",[u.toJSON(),c,l])})},z.functions.distance=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{s=i(s),o(s,2,3,t);let u=s[0];if((D(s[0])||f(s[0]))&&(u=p(s[0],n.spatialReference)),!(u instanceof U))throw new r("InvalidParameter",t);let c=s[1];if((D(s[1])||f(s[1]))&&(c=p(s[1],n.spatialReference)),!(c instanceof U))throw new r("InvalidParameter",t);return b("distance",[u.toJSON(),c.toJSON(),q(s[2])])})},z.functions.distancegeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{a=i(a),o(a,2,4,t);const s=a[0];if(!(s instanceof M))throw new r("InvalidParameter",t);const u=a[1];if(!(u instanceof M))throw new r("InvalidParameter",t);const c=new k({paths:[],spatialReference:s.spatialReference});return c.addPath([s,u]),b("geodeticLength",[c.toJSON(),q(a[2]),P(a[3])])})},z.functions.densify=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,3,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);const s=g(a[1]);if(isNaN(s))throw new r("InvalidParameter",t);if(s<=0)throw new r("InvalidParameter",t);switch(a[0].type){case"polygon":case"polyline":case"extent":return E(await b("densify",[a[0].toJSON(),s,q(a[2])]));default:return a[0]}})},z.functions.densifygeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{a=i(a),o(a,2,4,t);const s=a[0];if(null==s)return null;if(!y(s))throw new r("InvalidParameter",t);const u=g(a[1]);if(isNaN(u))throw new r("InvalidParameter",t);if(u<=0)throw new r("InvalidParameter",t);const c=q(a[2]),l=P(a[3]);switch(s.type){case"polygon":case"polyline":case"extent":return E(await b("geodeticDensify",[s.toJSON(),u,c,l]));default:return s}})},z.functions.generalize=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,4,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);const s=g(a[1]);if(isNaN(s))throw new r("InvalidParameter",t);const u=N(S(a[2],!0));return E(await b("generalize",[a[0].toJSON(),s,q(a[3]),{removeDegenerateParts:u}]))})},z.functions.buffer=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,s)=>{if(s=i(s),o(s,2,3,t),null===s[0])return null;if(!(s[0]instanceof U))throw new r("InvalidParameter",t);const u=g(s[1]);if(isNaN(u))throw new r("InvalidParameter",t);return 0===u?a(s[0]):E(await b("buffer",[s[0].toJSON(),u,q(s[2])]))})},z.functions.buffergeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,s)=>{s=i(s),o(s,2,4,t);const u=s[0];if(null==u)return null;if(!y(u))throw new r("InvalidParameter",t);const c=g(s[1]);if(isNaN(c))throw new r("InvalidParameter",t);if(0===c)return a(u);const l=q(s[2]),f=P(s[3]);return E(await b("geodesicBuffer",[u.toJSON(),c,l,f]))})},z.functions.offset=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{a=i(a),o(a,2,6,t);const s=a[0];if(null===s)return null;if(!(s instanceof _||s instanceof k))throw new r("InvalidParameter",t);const u=g(a[1]);if(isNaN(u))throw new r("InvalidParameter",t);const c=a[2],l=I(a[3]),f=g(S(a[4],10));if(isNaN(f))throw new r("InvalidParameter",t);const d=g(S(a[5],0));if(isNaN(d))throw new r("InvalidParameter",t);return E(await b("offset",[s.toJSON(),u,q(c),l,f,d]))})},z.functions.rotate=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,3,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);const s=a[0]instanceof L?_.fromExtent(a[0]):a[0],u=g(a[1]);if(isNaN(u))throw new r("InvalidParameter",t);const c=S(a[2],null);if(null===c){const n="point"===s.type?s:s.extent?.center;return E(await b("rotate",[s.toJSON(),u,n?.x,n?.y]))}if(c instanceof M)return E(await b("rotate",[s.toJSON(),u,c.x,c.y]));throw new r("InvalidParameter",t)})},z.functions.centroid=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(s=i(s),o(s,1,2,t),null===s[0])return null;const u=A(s[1]);let c=s[0];if((D(s[0])||f(s[0]))&&(c="geometric"===u?p(s[0],n.spatialReference):m(s[0],n.spatialReference),null===c))return null;if(!(c instanceof U))throw new r("InvalidParameter",t);return E("geometric"===u?await b("centroid",[c.toJSON()]):await b("labelPoint",[c.toJSON()]))})},z.functions.measuretocoordinate=function(n,t){return z.standardFunctionAsync(n,t,F)},z.functions.pointtocoordinate=function(n,t){return z.standardFunctionAsync(n,t,R)},z.functions.distancetocoordinate=function(n,t){return z.standardFunctionAsync(n,t,j)},z.functions.multiparttosinglepart=function(n,t){return z.standardFunctionAsync(n,t,async(e,s,u)=>{if(u=i(u),o(u,1,1,t),null===u[0])return null;if(!(u[0]instanceof U))throw new r("InvalidParameter",t);if(u[0]instanceof M)return[d(a(u[0]),n.spatialReference)];if(u[0]instanceof L)return[d(a(u[0]),n.spatialReference)];const c=E(await b("simplify",[u[0].toJSON()]));if(c instanceof _){const n=[],t=[];for(let e=0;e<c.rings.length;e++)if(c.isClockwise(c.rings[e])){const t=E({rings:[c.rings[e]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(t)}else t.push({ring:c.rings[e],pt:c.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(c instanceof k){const n=[];for(let t=0;t<c.paths.length;t++){const e=E({paths:[c.paths[t]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(e)}return n}if(u[0]instanceof C){const t=[],e=d(a(u[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)t.push(e.getPoint(n));return t}return null})},z.functions.isselfintersecting=function(n,t){return z.standardFunctionAsync(n,t,async(n,t,e)=>{o(e,1,1,t);let r=(e=i(e))[0];if((D(e[0])||f(e[0]))&&(r=h(e[0],n.spatialReference)),r instanceof C){const n=r.points;for(let t=0;t<n.length;t++)for(let e=t+1;e<n.length;e++)if(x(n[t],n[e]))return!0;return!1}return(r instanceof k||r instanceof _)&&await b("isSelfIntersecting",[r.toJSON()])})},z.functions.issimple=function(n,t){return z.standardFunctionAsync(n,t,(n,e,a)=>{if(a=i(a),o(a,1,1,t),null===a[0])return!0;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return b("isSimple",[a[0].toJSON()])})},z.functions.simplify=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,1,1,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return E(await b("simplify",[a[0].toJSON()]))})},z.functions.convexhull=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,1,1,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return E(await b("convexHull",[a[0].toJSON()]))})},z.functions.getuser=function(e,a){return z.standardFunctionAsync(e,a,async(i,s,u)=>{o(u,0,2,a);let c=S(u[1],""),f=!0===c;if(c=!0===c||!1===c?"":l(c),0===u.length||u[0]instanceof n){const n=O(e,u.length>0?u[0]:null),r=await Z(n,c,f);return null!=r?t(JSON.parse(JSON.stringify(r))):null}let d=null;if(w(u[0])&&(d=u[0]),d){if(f=!1,c)return null;await d.load();const r=await d.getOwningSystemUrl();if(!r){if(!c){const n=await d.getIdentityUser();return null!=n?t({username:n}):null}return null}const a=O(e,new n(r)),i=await Z(a,c,f);return null!=i?t(JSON.parse(JSON.stringify(i))):null}throw new r("InvalidParameter",a)})},z.functions.nearestcoordinate=function(n,t){return z.standardFunctionAsync(n,t,async(n,a,s)=>{if(s=i(s),o(s,2,2,t),!(s[0]instanceof U||null===s[0]))throw new r("InvalidParameter",t);if(!(s[1]instanceof M||null===s[1]))throw new r("InvalidParameter",t);if(null===s[0]||null===s[1])return null;const u=s[0]instanceof L?_.fromExtent(s[0]):s[0],c=await b("getNearestCoordinate",[u.toJSON(),s[1].toJSON(),{calculateLeftRightSide:!0}]);return null===c?null:e.createMutable({__proto__:null,coordinate:E(c.coordinate),distance:c.distance,sideOfLine:0===c.distance?"straddle":c.isRightSide?"right":"left"})})},z.functions.nearestvertex=function(n,t){return z.standardFunctionAsync(n,t,async(n,a,s)=>{if(s=i(s),o(s,2,2,t),!(s[0]instanceof U||null===s[0]))throw new r("InvalidParameter",t);if(!(s[1]instanceof M||null===s[1]))throw new r("InvalidParameter",t);if(null===s[0]||null===s[1])return null;const u=s[0]instanceof L?_.fromExtent(s[0]):s[0],c=await b("getNearestVertex",[u.toJSON(),s[1].toJSON()]);return null==c?null:e.createMutable({__proto__:null,coordinate:E(c.coordinate),distance:c.distance,sideOfLine:c.sideOfLine})})})}export{z as registerFunctions};
|
|
2
|
+
import n from"../ArcadePortal.js";import{convertJsonValueToImmutableArcadeValue as t}from"../containerUtils.js";import e from"../Dictionary.js";import{ArcadeExecutionError as r}from"../executionError.js";import{cloneGeometry as a}from"../kernel.js";import{H as i,E as o,e as s,r as u,q as c,w as l,g as f,J as d,k as w,K as m,f as y,L as h,M as p,v as g,N,O as S}from"../../chunks/languageUtils.js";import{getPortal as O}from"../portalUtils.js";import{commonRelationsCheck as J,toCurveType as P,planarLength3D as v,toOffsetJoinType as I,toCentroidAlgorithm as A,measureToCoordinateFunc as F,pointToCoordinateFunc as R,distanceToCoordinateFunc as j}from"../geometry/functions.js";import{invokeRemoteGeometryOp as b}from"../geometry/operatorsWorkerConnection.js";import{equals as x}from"../../core/arrayUtils.js";import L from"../../geometry/Extent.js";import U from"../../geometry/Geometry.js";import C from"../../geometry/Multipoint.js";import M from"../../geometry/Point.js";import _ from"../../geometry/Polygon.js";import k from"../../geometry/Polyline.js";import{fromJSON as E}from"../../geometry/support/jsonUtils.js";import{lookupUser as Z}from"../../portal/support/utils.js";import{isArray as q}from"../../support/guards.js";function D(n){if(null==n)return n;switch(typeof n){case"string":case"number":return n;default:throw new r("InvalidParameter",null)}}function z(z){"async"===z.mode&&(z.functions.disjoint=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null===r[0]||null===r[1]||b("disjoint",[r[0].toJSON(),r[1].toJSON()])))},z.functions.intersects=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("intersects",[r[0].toJSON(),r[1].toJSON()])))},z.functions.touches=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("touches",[r[0].toJSON(),r[1].toJSON()])))},z.functions.crosses=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("crosses",[r[0].toJSON(),r[1].toJSON()])))},z.functions.within=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("within",[r[0].toJSON(),r[1].toJSON()])))},z.functions.contains=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("contains",[r[0].toJSON(),r[1].toJSON()])))},z.functions.overlaps=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(r=i(r),J(r,t),null!==r[0]&&null!==r[1]&&b("overlaps",[r[0].toJSON(),r[1].toJSON()])))},z.functions.equals=function(n,t){return z.standardFunctionAsync(n,t,(n,e,r)=>(o(r,2,2,t),r[0]===r[1]||(r[0]instanceof U&&r[1]instanceof U?b("equals",[r[0].toJSON(),r[1].toJSON()]):(s(r[0])&&s(r[1])||!!(u(r[0])&&u(r[1])||c(r[0])&&c(r[1])))&&r[0].equals(r[1]))))},z.functions.relate=function(n,t){return z.standardFunctionAsync(n,t,(n,e,a)=>{if(a=i(a),o(a,3,3,t),a[0]instanceof U&&a[1]instanceof U)return b("relate",[a[0].toJSON(),a[1].toJSON(),l(a[2])]);if(a[0]instanceof U&&null===a[1])return!1;if(a[1]instanceof U&&null===a[0])return!1;if(null===a[0]&&null===a[1])return!1;throw new r("InvalidParameter",t)})},z.functions.intersection=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,r)=>(r=i(r),J(r,t),null===r[0]||null===r[1]?null:E(await b("intersection",[r[0].toJSON(),r[1].toJSON()]))))},z.functions.union=function(n,t){return z.standardFunctionAsync(n,t,async(e,o,s)=>{if(0===(s=i(s)).length)throw new r("WrongNumberOfParameters",t);const u=[];if(1===s.length)if(q(s[0])){for(const n of i(s[0]))if(null!==n){if(!(n instanceof U))throw new r("InvalidParameter",t);u.push(n.toJSON())}}else{if(!f(s[0])){if(s[0]instanceof U)return d(a(s[0]),n.spatialReference);if(null===s[0])return null;throw new r("InvalidParameter",t)}for(const n of i(s[0].toArray()))if(null!==n){if(!(n instanceof U))throw new r("InvalidParameter",t);u.push(n.toJSON())}}else for(const n of s)if(null!==n){if(!(n instanceof U))throw new r("InvalidParameter",t);u.push(n.toJSON())}return 0===u.length?null:E(await b("union",[u]))})},z.functions.difference=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,r)=>(r=i(r),J(r,t),null===r[0]?null:null===r[1]?a(r[0]):E(await b("difference",[r[0].toJSON(),r[1].toJSON()]))))},z.functions.symmetricdifference=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,r)=>(r=i(r),J(r,t),null===r[0]&&null===r[1]?null:null===r[0]?a(r[1]):null===r[1]?a(r[0]):E(await b("symmetricDifference",[r[0].toJSON(),r[1].toJSON()]))))},z.functions.clip=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,2,t),!(a[1]instanceof L)&&null!==a[1])throw new r("InvalidParameter",t);if(null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return null===a[1]?null:E(await b("clip",[a[0].toJSON(),a[1].toJSON()]))})},z.functions.cut=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,s)=>{if(s=i(s),o(s,2,2,t),!(s[1]instanceof k)&&null!==s[1])throw new r("InvalidParameter",t);if(null===s[0])return[];if(!(s[0]instanceof U))throw new r("InvalidParameter",t);return null===s[1]?[a(s[0])]:(await b("cut",[s[0].toJSON(),s[1].toJSON()])).map(n=>E(n))})},z.functions.area=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(o(s,1,2,t),s=i(s),w(s[0])){const e=await s[0].sumArea(D(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}let u=s[0];if((q(u)||f(u))&&(u=m(s[0],n.spatialReference)),null===u)return 0;if(!(u instanceof U))throw new r("InvalidParameter",t);return b("area",[u.toJSON(),D(s[1])])})},z.functions.areageodetic=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{o(s,1,3,t);let u=(s=i(s))[0];(q(u)||f(u))&&(u=m(u,n.spatialReference));const c=D(s[1]),l=P(s[2]);if(w(u)){const e=await u.sumArea(c,l,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}if(null==u)return 0;if(!y(u))throw new r("InvalidParameter",t);return b("geodeticArea",[u.toJSON(),c,l])})},z.functions.length=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(o(s,1,2,t),s=i(s),w(s[0])){const e=await s[0].sumLength(D(s[1]),null,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}let u=s[0];if((q(s[0])||f(s[0]))&&(u=h(s[0],n.spatialReference)),null===u)return 0;if(!(u instanceof U))throw new r("InvalidParameter",t);return b("length",[u.toJSON(),D(s[1])])})},z.functions.length3d=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(o(s,1,2,t),null===(s=i(s))[0])return 0;let u=s[0];if((q(s[0])||f(s[0]))&&(u=h(s[0],n.spatialReference)),null===u)return 0;if(!(u instanceof U))throw new r("InvalidParameter",t);if(!0===u.hasZ){const{convertFromSpatialReferenceUnit:n,toLengthUnit:t}=await import("../geometry/unitConversion.js"),e=v(u);return n(u.spatialReference,t(s[1]),e)}return b("length",[u.toJSON(),D(s[1])])})},z.functions.lengthgeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{o(s,1,3,t);let u=(s=i(s))[0];(q(s[0])||f(s[0]))&&(u=h(s[0],n.spatialReference));const c=D(s[1]),l=P(s[2]);if(w(u)){const e=await u.sumLength(c,l,n.abortSignal);if(n.abortSignal.aborted)throw new r("Cancelled",t);return e}if(null===u)return 0;if(!y(u))throw new r("InvalidParameter",t);return b("geodeticLength",[u.toJSON(),c,l])})},z.functions.distance=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{s=i(s),o(s,2,3,t);let u=s[0];if((q(s[0])||f(s[0]))&&(u=p(s[0],n.spatialReference)),!(u instanceof U))throw new r("InvalidParameter",t);let c=s[1];if((q(s[1])||f(s[1]))&&(c=p(s[1],n.spatialReference)),!(c instanceof U))throw new r("InvalidParameter",t);return b("distance",[u.toJSON(),c.toJSON(),D(s[2])])})},z.functions.distancegeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{a=i(a),o(a,2,4,t);const s=a[0];if(!(s instanceof M))throw new r("InvalidParameter",t);const u=a[1];if(!(u instanceof M))throw new r("InvalidParameter",t);const c=new k({paths:[],spatialReference:s.spatialReference});return c.addPath([s,u]),b("geodeticLength",[c.toJSON(),D(a[2]),P(a[3])])})},z.functions.densify=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,3,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);const s=g(a[1]);if(isNaN(s))throw new r("InvalidParameter",t);if(s<=0)throw new r("InvalidParameter",t);switch(a[0].type){case"polygon":case"polyline":case"extent":return E(await b("densify",[a[0].toJSON(),s,D(a[2])]));default:return a[0]}})},z.functions.densifygeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{a=i(a),o(a,2,4,t);const s=a[0];if(null==s)return null;if(!y(s))throw new r("InvalidParameter",t);const u=g(a[1]);if(isNaN(u))throw new r("InvalidParameter",t);if(u<=0)throw new r("InvalidParameter",t);const c=D(a[2]),l=P(a[3]);switch(s.type){case"polygon":case"polyline":case"extent":return E(await b("geodeticDensify",[s.toJSON(),u,c,l]));default:return s}})},z.functions.generalize=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,4,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);const s=g(a[1]);if(isNaN(s))throw new r("InvalidParameter",t);const u=N(S(a[2],!0));return E(await b("generalize",[a[0].toJSON(),s,D(a[3]),{removeDegenerateParts:u}]))})},z.functions.buffer=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,s)=>{if(s=i(s),o(s,2,3,t),null===s[0])return null;if(!(s[0]instanceof U))throw new r("InvalidParameter",t);const u=g(s[1]);if(isNaN(u))throw new r("InvalidParameter",t);return 0===u?a(s[0]):E(await b("buffer",[s[0].toJSON(),u,D(s[2])]))})},z.functions.buffergeodetic=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,s)=>{s=i(s),o(s,2,4,t);const u=s[0];if(null==u)return null;if(!y(u))throw new r("InvalidParameter",t);const c=g(s[1]);if(isNaN(c))throw new r("InvalidParameter",t);if(0===c)return a(u);const l=D(s[2]),f=P(s[3]);return E(await b("geodesicBuffer",[u.toJSON(),c,l,f]))})},z.functions.offset=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{a=i(a),o(a,2,6,t);const s=a[0];if(null===s)return null;if(!(s instanceof _||s instanceof k))throw new r("InvalidParameter",t);const u=g(a[1]);if(isNaN(u))throw new r("InvalidParameter",t);const c=a[2],l=I(a[3]),f=g(S(a[4],10));if(isNaN(f))throw new r("InvalidParameter",t);const d=g(S(a[5],0));if(isNaN(d))throw new r("InvalidParameter",t);return E(await b("offset",[s.toJSON(),u,D(c),l,f,d]))})},z.functions.rotate=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,2,3,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);const s=a[0]instanceof L?_.fromExtent(a[0]):a[0],u=g(a[1]);if(isNaN(u))throw new r("InvalidParameter",t);const c=S(a[2],null);if(null===c){const n="point"===s.type?s:s.extent?.center;return E(await b("rotate",[s.toJSON(),u,n?.x,n?.y]))}if(c instanceof M)return E(await b("rotate",[s.toJSON(),u,c.x,c.y]));throw new r("InvalidParameter",t)})},z.functions.centroid=function(n,t){return z.standardFunctionAsync(n,t,async(e,a,s)=>{if(s=i(s),o(s,1,2,t),null===s[0])return null;const u=A(s[1]);let c=s[0];if((q(s[0])||f(s[0]))&&(c="geometric"===u?p(s[0],n.spatialReference):m(s[0],n.spatialReference),null===c))return null;if(!(c instanceof U))throw new r("InvalidParameter",t);return E("geometric"===u?await b("centroid",[c.toJSON()]):await b("labelPoint",[c.toJSON()]))})},z.functions.measuretocoordinate=function(n,t){return z.standardFunctionAsync(n,t,F)},z.functions.pointtocoordinate=function(n,t){return z.standardFunctionAsync(n,t,R)},z.functions.distancetocoordinate=function(n,t){return z.standardFunctionAsync(n,t,j)},z.functions.multiparttosinglepart=function(n,t){return z.standardFunctionAsync(n,t,async(e,s,u)=>{if(u=i(u),o(u,1,1,t),null===u[0])return null;if(!(u[0]instanceof U))throw new r("InvalidParameter",t);if(u[0]instanceof M)return[d(a(u[0]),n.spatialReference)];if(u[0]instanceof L)return[d(a(u[0]),n.spatialReference)];const c=E(await b("simplify",[u[0].toJSON()]));if(c instanceof _){const n=[],t=[];for(let e=0;e<c.rings.length;e++)if(c.isClockwise(c.rings[e])){const t=E({rings:[c.rings[e]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(t)}else t.push({ring:c.rings[e],pt:c.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(c instanceof k){const n=[];for(let t=0;t<c.paths.length;t++){const e=E({paths:[c.paths[t]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(e)}return n}if(u[0]instanceof C){const t=[],e=d(a(u[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)t.push(e.getPoint(n));return t}return null})},z.functions.isselfintersecting=function(n,t){return z.standardFunctionAsync(n,t,async(n,t,e)=>{o(e,1,1,t);let r=(e=i(e))[0];if((q(e[0])||f(e[0]))&&(r=h(e[0],n.spatialReference)),r instanceof C){const n=r.points;for(let t=0;t<n.length;t++)for(let e=t+1;e<n.length;e++)if(x(n[t],n[e]))return!0;return!1}return(r instanceof k||r instanceof _)&&await b("isSelfIntersecting",[r.toJSON()])})},z.functions.issimple=function(n,t){return z.standardFunctionAsync(n,t,(n,e,a)=>{if(a=i(a),o(a,1,1,t),null===a[0])return!0;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return b("isSimple",[a[0].toJSON()])})},z.functions.simplify=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,1,1,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return E(await b("simplify",[a[0].toJSON()]))})},z.functions.convexhull=function(n,t){return z.standardFunctionAsync(n,t,async(n,e,a)=>{if(a=i(a),o(a,1,1,t),null===a[0])return null;if(!(a[0]instanceof U))throw new r("InvalidParameter",t);return E(await b("convexHull",[a[0].toJSON()]))})},z.functions.getuser=function(e,a){return z.standardFunctionAsync(e,a,async(i,s,u)=>{o(u,0,2,a);let c=S(u[1],""),f=!0===c;if(c=!0===c||!1===c?"":l(c),0===u.length||u[0]instanceof n){const n=O(e,u.length>0?u[0]:null),r=await Z(n,c,f);return null!=r?t(JSON.parse(JSON.stringify(r))):null}let d=null;if(w(u[0])&&(d=u[0]),d){if(f=!1,c)return null;await d.load();const r=await d.getOwningSystemUrl();if(!r){if(!c){const n=await d.getIdentityUser();return null!=n?t({username:n}):null}return null}const a=O(e,new n(r)),i=await Z(a,c,f);return null!=i?t(JSON.parse(JSON.stringify(i))):null}throw new r("InvalidParameter",a)})},z.functions.nearestcoordinate=function(n,t){return z.standardFunctionAsync(n,t,async(n,a,s)=>{if(s=i(s),o(s,2,2,t),!(s[0]instanceof U||null===s[0]))throw new r("InvalidParameter",t);if(!(s[1]instanceof M||null===s[1]))throw new r("InvalidParameter",t);if(null===s[0]||null===s[1])return null;const u=s[0]instanceof L?_.fromExtent(s[0]):s[0],c=await b("getNearestCoordinate",[u.toJSON(),s[1].toJSON(),{calculateLeftRightSide:!0}]);return null===c?null:e.createMutable({__proto__:null,coordinate:E(c.coordinate),distance:c.distance,sideOfLine:0===c.distance?"straddle":c.isRightSide?"right":"left"})})},z.functions.nearestvertex=function(n,t){return z.standardFunctionAsync(n,t,async(n,a,s)=>{if(s=i(s),o(s,2,2,t),!(s[0]instanceof U||null===s[0]))throw new r("InvalidParameter",t);if(!(s[1]instanceof M||null===s[1]))throw new r("InvalidParameter",t);if(null===s[0]||null===s[1])return null;const u=s[0]instanceof L?_.fromExtent(s[0]):s[0],c=await b("getNearestVertex",[u.toJSON(),s[1].toJSON()]);return null==c?null:e.createMutable({__proto__:null,coordinate:E(c.coordinate),distance:c.distance,sideOfLine:c.sideOfLine})})})}export{z as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{convertJsonValueToMutableArcadeValue as e,getGeometryKeys as t,getNestedOptionalValue as n}from"../containerUtils.js";import r from"../Dictionary.js";import{ArcadeExecutionError as a}from"../executionError.js";import{Feature as i}from"../Feature.js";import l from"../ImmutablePointArray.js";import{
|
|
2
|
+
import{convertJsonValueToMutableArcadeValue as e,getGeometryKeys as t,getNestedOptionalValue as n}from"../containerUtils.js";import r from"../Dictionary.js";import{ArcadeExecutionError as a}from"../executionError.js";import{Feature as i}from"../Feature.js";import l from"../ImmutablePointArray.js";import{E as o,g as s,J as f,a0 as c,H as u,h as m,x as p,l as w,f as h,w as R,e as g,r as d,q as y,i as P,b as I,G as v,F as b,B as O,z as j}from"../../chunks/languageUtils.js";import{angle2D as x,angleBetween2D as N,bearing2D as S,bearingBetween2D as F}from"./centroid.js";import{constructGeometryFromDictionary as J}from"../geometry/constructors.js";import k from"../../geometry/Extent.js";import Z from"../../geometry/Geometry.js";import z from"../../geometry/Multipoint.js";import W from"../../geometry/Point.js";import q from"../../geometry/Polygon.js";import G from"../../geometry/Polyline.js";import{isClockwise as L}from"../../geometry/support/coordsUtils.js";import{fromJSON as M}from"../../geometry/support/jsonUtils.js";import{isArray as A,isString as U,isNumber as C,isBoolean as D}from"../../support/guards.js";function E(E,_){E.ringisclockwise=function(e,t){return _(e,t,(e,n,r)=>{o(r,1,1,t);let i=[];if(null===r[0])return!1;if(A(r[0]))for(const l of r[0]){if(!(l instanceof W))throw new a("InvalidParameter",t);i.push(l.hasZ?l.hasM?[l.x,l.y,l.z,l.m]:[l.x,l.y,l.z]:[l.x,l.y])}else if(r[0]instanceof l)i=r[0]._elements;else{if(!s(r[0]))throw new a("InvalidParameter",t);for(const e of r[0].toArray()){if(!(e instanceof W))throw new a("InvalidParameter",t);i.push(e.hasZ?e.hasM?[e.x,e.y,e.z,e.m]:[e.x,e.y,e.z]:[e.x,e.y])}}return!(i.length<3)&&L(i)})},E.polygon=function(e,t){return _(e,t,(n,i,l)=>{let s;if(o(l,1,1,t),l[0]instanceof r){const t=f(J(l[0],e.spatialReference,"polygon"),e.spatialReference);if(null==t)return null;s=t}else if(l[0]instanceof q)s=M(l[0].toJSON());else{const t=JSON.parse(l[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),s=f(new q(t),e.spatialReference)}if(null!==s&&!1===s.spatialReference.equals(e.spatialReference))throw new a("WrongSpatialReference",t);return c(s)})},E.polyline=function(e,t){return _(e,t,(n,i,l)=>{let s;if(o(l,1,1,t),l[0]instanceof r){const t=f(J(l[0],e.spatialReference,"polyline"),e.spatialReference);if(null==t)return null;s=t}else if(l[0]instanceof G)s=M(l[0].toJSON());else{const t=JSON.parse(l[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),s=f(new G(t),e.spatialReference)}if(null!==s&&!1===s.spatialReference.equals(e.spatialReference))throw new a("WrongSpatialReference",t);return c(s)})},E.point=function(e,t){return _(e,t,(n,i,l)=>{let s;if(o(l,1,1,t),l[0]instanceof r){const t=f(J(l[0],e.spatialReference,"point"),e.spatialReference);if(null==t)return null;s=t}else if(l[0]instanceof W)s=M(l[0].toJSON());else{const t=JSON.parse(l[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),s=f(new W(t),e.spatialReference)}if(null!==s&&!1===s.spatialReference.equals(e.spatialReference))throw new a("WrongSpatialReference",t);return c(s)})},E.multipoint=function(e,t){return _(e,t,(n,i,l)=>{let s;if(o(l,1,1,t),l[0]instanceof r){const t=f(J(l[0],e.spatialReference,"multipoint"),e.spatialReference);if(null==t)return null;s=t}else if(l[0]instanceof z)s=M(l[0].toJSON());else{const t=JSON.parse(l[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),s=f(new z(t),e.spatialReference)}if(null!==s&&!1===s.spatialReference.equals(e.spatialReference))throw new a("WrongSpatialReference",t);return c(s)})},E.extent=function(e,t){return _(e,t,(n,i,l)=>{l=u(l),o(l,1,1,t);let s=null;if(l[0]instanceof r)s=f(J(l[0],e.spatialReference),e.spatialReference);else if(l[0]instanceof W){const e={xmin:l[0].x,ymin:l[0].y,xmax:l[0].x,ymax:l[0].y,spatialReference:l[0].spatialReference.toJSON()},t=l[0];t.hasZ&&(e.zmin=t.z,e.zmax=t.z),t.hasM&&(e.mmin=t.m,e.mmax=t.m),s=M(e)}else if(l[0]instanceof q)s=M(l[0].extent?.toJSON());else if(l[0]instanceof G)s=M(l[0].extent?.toJSON());else if(l[0]instanceof z)s=M(l[0].extent?.toJSON());else if(l[0]instanceof k)s=M(l[0].toJSON());else{const t=JSON.parse(l[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),s=f(new k(t),e.spatialReference)}if(null!==s&&!1===s.spatialReference.equals(e.spatialReference))throw new a("WrongSpatialReference",t);return c(s)})},E.geometry=function(e,t){return _(e,t,(n,i,l)=>{o(l,1,1,t);let s=null;if(null===l[0])return null;if(m(l[0]))s=f(l[0].geometry(),e.spatialReference);else if(l[0]instanceof r)s=f(J(l[0],e.spatialReference),e.spatialReference);else{const t=JSON.parse(l[0]);t&&!t.spatialReference&&(t.spatialReference=e.spatialReference),s=f(M(t),e.spatialReference)}if(null!==s&&!1===s.spatialReference.equals(e.spatialReference))throw new a("WrongSpatialReference",t);return c(s)})},E.setgeometry=function(e,t){return _(e,t,(e,n,r)=>{if(o(r,2,2,t),!m(r[0]))throw new a("InvalidParameter",t);if(!0===r[0].immutable)throw new a("Immutable",t);if(!(r[1]instanceof Z||null===r[1]))throw new a("InvalidParameter",t);return r[0]._geometry=r[1],p})},E.feature=function(e,t){return _(e,t,(n,l,o)=>{if(0===o.length)throw new a("WrongNumberOfParameters",t);let s;if(1===o.length)if(U(o[0]))s=i.parseFromJson(o[0],e.timeZone);else if(m(o[0]))s=i.createFromArcadeFeature(o[0]);else if(o[0]instanceof Z)s=i.createFromGraphicLikeObject(o[0],null,null,e.timeZone);else{if(!(o[0]instanceof r))throw new a("InvalidParameter",t);{const n=o[0].hasField("geometry")?o[0].field("geometry"):null,r=o[0].hasField("attributes")?o[0].field("attributes"):null;let l,f;if(w(n))l=J(n,e.spatialReference);else{if(null!=n&&!h(n))throw new a("InvalidParameter",t);l=n}if(w(r))f=i.parseAttributesFromDictionary(r);else{if(null!=r)throw new a("InvalidParameter",t);f=null}s=i.createFromGraphicLikeObject(l,f,null,e.timeZone)}}else if(2===o.length){let n=null,l=null;if(null!==o[0])if(o[0]instanceof Z)n=o[0];else{if(!(o[0]instanceof r))throw new a("InvalidParameter",t);n=J(o[0],e.spatialReference)}if(null!==o[1]){if(!(o[1]instanceof r))throw new a("InvalidParameter",t);l=i.parseAttributesFromDictionary(o[1])}s=i.createFromGraphicLikeObject(n,l,null,e.timeZone)}else{let n=null;const l={};if(null!==o[0])if(o[0]instanceof Z)n=o[0];else{if(!(o[0]instanceof r))throw new a("InvalidParameter",t);n=J(o[0],e.spatialReference)}for(let e=1;e<o.length;e+=2){const n=R(o[e]),r=o[e+1];if(!(null==r||U(r)||isNaN(r)||g(r)||C(r)||d(r)||y(r)||D(r)))throw new a("InvalidParameter",t);if(P(r)||!1===I(r))throw new a("InvalidParameter",t);l[n]=r===p?null:r}s=i.createFromGraphicLikeObject(n,l,null,e.timeZone)}return s._geometry=f(s.geometry(),e.spatialReference),s.immutable=!1,s})},E.dictionary=function(t,n){return _(t,n,(t,i,l)=>{if(0===l.length||1===l.length&&null===l[0]){const e=new r;return e.immutable=!1,e}if(1===l.length&&U(l[0]))try{const t=e(JSON.parse(l[0]));if(!w(t))throw new a("InvalidParameter",n);return t}catch(c){throw new a("InvalidParameter",n)}if(1===l.length&&l[0]instanceof Z)try{const t=e(l[0].toJSON());if(!w(t))throw new a("InvalidParameter",n);return t.setField("hasZ",!0===l[0].hasZ),t.setField("hasM",!0===l[0].hasM),t}catch(c){throw new a("InvalidParameter",n)}if(1===l.length&&m(l[0]))try{const e=new r;e.immutable=!1,e.setField("geometry",l[0].geometry());const t=new r;t.immutable=!1,e.setField("attributes",t);for(const n of l[0].keys())t.setField(n,l[0].field(n));return e}catch(c){throw new a("InvalidParameter",n)}if(1===l.length&&(w(l[0])||v(l[0])||b(l[0])))try{const e=new r;e.immutable=!1;for(const t of l[0].keys())e.setField(t,l[0].field(t));return e}catch(c){throw new a("InvalidParameter",n)}if(2===l.length&&l[0]instanceof r&&D(l[1]))try{if(!(!0===l[1])){const e=new r;e.immutable=!1;for(const t of l[0].keys())e.setField(t,l[0].field(t));return e}return l[0].deepClone()}catch(c){throw new a("InvalidParameter",n)}if(l.length%2!=0)throw new a("WrongNumberOfParameters",n);const o=Object.create(null);for(let e=0;e<l.length;e+=2){const t=R(l[e]),r=l[e+1];if(!(null==r||U(r)||isNaN(r)||g(r)||C(r)||D(r)||y(r)||d(r)||A(r)||s(r)))throw new a("InvalidParameter",n);if(P(r))throw new a("InvalidParameter",n);o[t]=r===p?null:r}const f=new r(o);return f.immutable=!1,f})},E.haskey=function(e,n){return _(e,n,(e,i,l)=>{o(l,2,2,n);const s=R(l[1]);if(O(l[0])||l[0]instanceof r)return l[0].hasField(s);if(l[0]instanceof Z){const e=s.toLowerCase();for(const n of t(l[0]))if(n.toLowerCase()===e)return!0;return!1}throw new a("InvalidParameter",n)})},E.hasvalue=function(e,t){return _(e,t,(e,r,a)=>(o(a,2,2,t),null!=n(a[0],a[1])))},E.indexof=function(e,t){return _(e,t,(e,n,r)=>{o(r,2,2,t);const i=r[1];if(A(r[0])){for(let e=0;e<r[0].length;e++)if(j(i,r[0][e]))return e;return-1}if(s(r[0])){const e=r[0].length();for(let t=0;t<e;t++)if(j(i,r[0].get(t)))return t;return-1}throw new a("InvalidParameter",t)})},E.angle=function(e,t){return _(e,t,(e,n,r)=>{if(r=u(r),o(r,2,3,t),!(r[0]instanceof W))throw new a("InvalidParameter",t);if(!(r[1]instanceof W))throw new a("InvalidParameter",t);if(r.length>2&&!(r[2]instanceof W))throw new a("InvalidParameter",t);return 2===r.length?x(r[0],r[1]):N(r[0],r[1],r[2])})},E.bearing=function(e,t){return _(e,t,(e,n,r)=>{if(r=u(r),o(r,2,3,t),!(r[0]instanceof W))throw new a("InvalidParameter",t);if(!(r[1]instanceof W))throw new a("InvalidParameter",t);if(r.length>2&&!(r[2]instanceof W))throw new a("InvalidParameter",t);return 2===r.length?S(r[0],r[1]):F(r[0],r[1],r[2])})}}export{E as registerFunctions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import{cloneGeometry as t}from"../kernel.js";import{H as r,B as i,e as a,n as l,o,s as u,g as f,J as s,K as c,f as m,L as d,M as w,r as p,N as h,O as g}from"../../chunks/languageUtils.js";import{commonRelationsCheck as v,toCurveType as P,planarLength3D as x,toOffsetJoinType as I,toCentroidAlgorithm as y,measureToCoordinateFunc as R,pointToCoordinateFunc as N,distanceToCoordinateFunc as j}from"../geometry/functions.js";import{convertFromSpatialReferenceUnit as M,toAreaUnit as b,convert as O,toLengthUnit as _,convertToSpatialReferenceUnit as L}from"../geometry/unitConversion.js";import{equals as E}from"../../core/arrayUtils.js";import S from"../../geometry/Extent.js";import D from"../../geometry/Geometry.js";import T from"../../geometry/Multipoint.js";import Z from"../../geometry/Point.js";import k from"../../geometry/Polygon.js";import U from"../../geometry/Polyline.js";import{fromJSON as q}from"../../geometry/support/jsonUtils.js";import{squareMeters as A,meters as C}from"../geometry/extendedUnitData.js";import{isArray as J}from"../../support/guards.js";let z;async function B(){null==z&&(z=await import("../geometry/operators.js"),await z.loadAll())}function H(B,H){B.disjoint=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null===i[0]||null===i[1]||z.disjoint.execute(i[0],i[1])))},B.intersects=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.intersects.execute(i[0],i[1])))},B.touches=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.touches.execute(i[0],i[1])))},B.crosses=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.crosses.execute(i[0],i[1])))},B.within=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.within.execute(i[0],i[1])))},B.contains=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.contains.execute(i[0],i[1])))},B.overlaps=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.overlaps.execute(i[0],i[1])))},B.equals=function(e,n){return H(e,n,(e,t,r)=>(i(r,2,2,n),r[0]===r[1]||(r[0]instanceof D&&r[1]instanceof D?z.equals.execute(r[0],r[1]):(a(r[0])&&a(r[1])||l(r[0])&&l(r[1])||!(!o(r[0])||!o(r[1])))&&r[0].equals(r[1]))))},B.relate=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,3,3,t),l[0]instanceof D&&l[1]instanceof D)return z.relate.execute(l[0],l[1],u(l[2]));if(l[0]instanceof D&&null===l[1])return!1;if(l[1]instanceof D&&null===l[0])return!1;if(null===l[0]&&null===l[1])return!1;throw new n("InvalidParameter",t)})},B.intersection=function(e,n){return H(e,n,(e,t,i)=>(i=r(i),v(i,n),null===i[0]||null===i[1]?null:z.intersection.execute(i[0],i[1])))},B.union=function(e,i){return H(e,i,(a,l,o)=>{if(0===(o=r(o)).length)throw new n("WrongNumberOfParameters",i);const u=[];if(1===o.length)if(J(o[0])){for(const e of r(o[0]))if(null!==e){if(!(e instanceof D))throw new n("InvalidParameter",i);u.push(e)}}else{if(!f(o[0])){if(o[0]instanceof D)return s(t(o[0]),e.spatialReference);if(null===o[0])return null;throw new n("InvalidParameter",i)}for(const e of r(o[0].toArray()))if(null!==e){if(!(e instanceof D))throw new n("InvalidParameter",i);u.push(e)}}else for(const e of o)if(null!==e){if(!(e instanceof D))throw new n("InvalidParameter",i);u.push(e)}return 0===u.length?null:z.union.executeMany(u)})},B.difference=function(e,n){return H(e,n,(e,i,a)=>(a=r(a),v(a,n),null===a[0]?null:null===a[1]?t(a[0]):z.difference.execute(a[0],a[1])))},B.symmetricdifference=function(e,n){return H(e,n,(e,i,a)=>(a=r(a),v(a,n),null===a[0]&&null===a[1]?null:null===a[0]?t(a[1]):null===a[1]?t(a[0]):z.symmetricDifference.execute(a[0],a[1])))},B.clip=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,2,2,t),!(l[1]instanceof S)&&null!==l[1])throw new n("InvalidParameter",t);if(null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return null===l[1]?null:z.clip.execute(l[0],l[1])})},B.cut=function(e,a){return H(e,a,(e,l,o)=>{if(o=r(o),i(o,2,2,a),!(o[1]instanceof U)&&null!==o[1])throw new n("InvalidParameter",a);if(null===o[0])return[];if(!(o[0]instanceof D))throw new n("InvalidParameter",a);return null===o[1]?[t(o[0])]:z.cut.execute(o[0],o[1])})},B.area=function(e,t){return H(e,t,(a,l,o)=>{i(o,1,2,t);let u=(o=r(o))[0];if((J(o[0])||f(o[0]))&&(u=c(o[0],e.spatialReference)),null===u)return 0;if(!(u instanceof D))throw new n("InvalidParameter",t);return M(u.spatialReference,b(o[1]),z.area.execute(u))})},B.areageodetic=function(e,t){return H(e,t,(a,l,o)=>{i(o,1,3,t);let u=(o=r(o))[0];(J(u)||f(u))&&(u=c(u,e.spatialReference));const s=b(o[1]),d=P(o[2]);if(null==u)return 0;if(!m(u))throw new n("InvalidParameter",t);return O(A,s,z.geodeticArea.execute(u,{curveType:d}))})},B.length=function(e,t){return H(e,t,(a,l,o)=>{i(o,1,2,t);let u=(o=r(o))[0];if((J(o[0])||f(o[0]))&&(u=d(o[0],e.spatialReference)),null===u)return 0;if(!(u instanceof D))throw new n("InvalidParameter",t);return M(u.spatialReference,_(o[1]),z.length.execute(u))})},B.length3d=function(e,t){return H(e,t,(a,l,o)=>{i(o,1,2,t);let u=(o=r(o))[0];if((J(o[0])||f(o[0]))&&(u=d(o[0],e.spatialReference)),null===u)return 0;if(!(u instanceof D))throw new n("InvalidParameter",t);return!0===u.hasZ?M(u.spatialReference,_(o[1]),x(u)):M(u.spatialReference,_(o[1]),z.length.execute(u))})},B.lengthgeodetic=function(e,t){return H(e,t,(a,l,o)=>{i(o,1,3,t);let u=(o=r(o))[0];(J(o[0])||f(o[0]))&&(u=d(o[0],e.spatialReference));const s=P(o[2]);if(null==u)return 0;if(null!=u&&!m(u))throw new n("InvalidParameter",t);const c=_(o[1]);return O(C,c,z.geodeticLength.execute(u,{curveType:s}))})},B.distance=function(e,t){return H(e,t,(a,l,o)=>{o=r(o),i(o,2,3,t);let u=o[0];if((J(o[0])||f(o[0]))&&(u=w(o[0],e.spatialReference)),!(u instanceof D))throw new n("InvalidParameter",t);let s=o[1];if((J(o[1])||f(o[1]))&&(s=w(o[1],e.spatialReference)),!(s instanceof D))throw new n("InvalidParameter",t);return M(u.spatialReference,_(o[2]),z.distance.execute(u,s))})},B.distancegeodetic=function(e,t){return H(e,t,(e,a,l)=>{l=r(l),i(l,2,4,t);const o=l[0];if(!(o instanceof Z))throw new n("InvalidParameter",t);const u=l[1];if(!(u instanceof Z))throw new n("InvalidParameter",t);const f=_(l[2]),s=P(l[3]),c=new U({paths:[],spatialReference:o.spatialReference});return c.addPath([o,u]),O(C,f,z.geodeticLength.execute(c,{curveType:s}))})},B.densify=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,2,3,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);const o=p(l[1]);if(isNaN(o))throw new n("InvalidParameter",t);if(o<=0)throw new n("InvalidParameter",t);const u=L(_(l[2]),l[0].spatialReference,o);switch(l[0].type){case"polygon":case"polyline":case"extent":return z.densify.execute(l[0],u);default:return l[0]}})},B.densifygeodetic=function(e,t){return H(e,t,(e,a,l)=>{l=r(l),i(l,2,4,t);const o=l[0];if(null==o)return null;if(!m(o))throw new n("InvalidParameter",t);const u=p(l[1]);if(isNaN(u))throw new n("InvalidParameter",t);if(u<=0)throw new n("InvalidParameter",t);const f=_(l[2]),s=P(l[3]),c=O(f,C,u);switch(o.type){case"polygon":case"polyline":case"extent":return z.geodeticDensify.execute(o,c,{curveType:s});default:return o}})},B.generalize=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,2,4,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);const o=p(l[1]);if(isNaN(o))throw new n("InvalidParameter",t);const u=L(_(l[3]),l[0].spatialReference,o);return z.generalize.execute(l[0],u,{removeDegenerateParts:h(g(l[2],!0))})})},B.buffer=function(e,a){return H(e,a,(e,l,o)=>{if(o=r(o),i(o,2,3,a),null===o[0])return null;if(!(o[0]instanceof D))throw new n("InvalidParameter",a);const u=p(o[1]);if(isNaN(u))throw new n("InvalidParameter",a);return 0===u?t(o[0]):z.buffer.execute(o[0],L(_(o[2]),o[0].spatialReference,u))})},B.buffergeodetic=function(e,a){return H(e,a,(e,l,o)=>{o=r(o),i(o,2,4,a);const u=o[0];if(null==u)return null;if(!m(u))throw new n("InvalidParameter",a);const f=p(o[1]);if(isNaN(f))throw new n("InvalidParameter",a);if(0===f)return t(u);const s=_(o[2]),c=P(o[3]);return z.geodesicBuffer.execute(u,O(s,C,f),{curveType:c})})},B.offset=function(e,t){return H(e,t,(e,a,l)=>{l=r(l),i(l,2,6,t);const o=l[0];if(null===o)return null;if(!(o instanceof k||o instanceof U))throw new n("InvalidParameter",t);const u=p(l[1]);if(isNaN(u))throw new n("InvalidParameter",t);const f=l[2],s=I(l[3]),c=p(g(l[4],10));if(isNaN(c))throw new n("InvalidParameter",t);const m=p(g(l[5],0));if(isNaN(m))throw new n("InvalidParameter",t);return z.executeOffset(o,u,f,s,c,m)})},B.rotate=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,2,3,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);const o=l[0]instanceof S?k.fromExtent(l[0]):l[0],u=p(l[1]);if(isNaN(u))throw new n("InvalidParameter",t);const f=g(l[2],null);if(null===f){const e="point"===o.type?o:o.extent?.center;return z.rotate(o,u,e?.x,e?.y)}if(f instanceof Z)return z.rotate(o,u,f.x,f.y);throw new n("InvalidParameter",t)})},B.centroid=function(e,t){return H(e,t,(e,t,a)=>{if(a=r(a),i(a,1,2,t),null===a[0])return null;const l=y(a[1]);let o=a[0];if((J(a[0])||f(a[0]))&&(o="geometric"===l?w(a[0],e.spatialReference):c(a[0],e.spatialReference),null===o))return null;if(!(o instanceof D))throw new n("InvalidParameter",t);return"geometric"===l?z.centroid.execute(o):z.labelPoint.execute(o)})},B.measuretocoordinate=function(e,n){return H(e,n,R)},B.pointtocoordinate=function(e,n){return H(e,n,N)},B.distancetocoordinate=function(e,n){return H(e,n,j)},B.multiparttosinglepart=function(e,a){return H(e,a,(l,o,u)=>{if(u=r(u),i(u,1,1,a),null===u[0])return null;if(!(u[0]instanceof D))throw new n("InvalidParameter",a);if(u[0]instanceof Z)return[s(t(u[0]),e.spatialReference)];if(u[0]instanceof S)return[s(t(u[0]),e.spatialReference)];const f=z.simplify.execute(u[0]);if(f instanceof k){const e=[],n=[];for(let t=0;t<f.rings.length;t++)if(f.isClockwise(f.rings[t])){const n=q({rings:[f.rings[t]],hasZ:!0===f.hasZ,hasM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});e.push(n)}else n.push({ring:f.rings[t],pt:f.getPoint(t,0)});for(let t=0;t<n.length;t++)for(let r=0;r<e.length;r++)if(e[r].contains(n[t].pt)){e[r].addRing(n[t].ring);break}return e}if(f instanceof U){const e=[];for(let n=0;n<f.paths.length;n++){const t=q({paths:[f.paths[n]],hasZ:!0===f.hasZ,hasM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});e.push(t)}return e}if(u[0]instanceof T){const n=[],r=s(t(u[0]),e.spatialReference);for(let e=0;e<r.points.length;e++)n.push(r.getPoint(e));return n}return null})},B.isselfintersecting=function(e,n){return H(e,n,(e,n,t)=>{i(t,1,1,n);let a=(t=r(t))[0];if((J(t[0])||f(t[0]))&&(a=d(t[0],e.spatialReference)),a instanceof T){const e=a.points;for(let n=0;n<e.length;n++)for(let t=n+1;t<e.length;t++)if(E(e[n],e[t]))return!0;return!1}return(a instanceof U||a instanceof k)&&z.isSelfIntersecting(a)})},B.issimple=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,1,1,t),null===l[0])return!0;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return z.simplify.isSimple(l[0])})},B.simplify=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,1,1,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return z.simplify.execute(l[0])})},B.convexhull=function(e,t){return H(e,t,(e,a,l)=>{if(l=r(l),i(l,1,1,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return z.convexHull.execute(l[0])})},B.nearestcoordinate=function(t,a){return H(t,a,(t,l,o)=>{if(o=r(o),i(o,2,2,a),!(o[0]instanceof D||null===o[0]))throw new n("InvalidParameter",a);if(!(o[1]instanceof Z||null===o[1]))throw new n("InvalidParameter",a);if(null===o[0]||null===o[1])return null;const u=o[0]instanceof S?k.fromExtent(o[0]):o[0],f=z.proximity.getNearestCoordinate(u,o[1],{calculateLeftRightSide:!0});return null===f||f.isEmpty?null:e.createMutable({__proto__:null,coordinate:f.coordinate,distance:f.distance,sideOfLine:0===f.distance?"straddle":f.isRightSide?"right":"left"})})},B.nearestvertex=function(t,a){return H(t,a,(t,l,o)=>{if(o=r(o),i(o,2,2,a),!(o[0]instanceof D||null===o[0]))throw new n("InvalidParameter",a);if(!(o[1]instanceof Z||null===o[1]))throw new n("InvalidParameter",a);if(null===o[0]||null===o[1])return null;const u=o[0]instanceof S?k.fromExtent(o[0]):o[0],f=z.executeNearestVertex(u,o[1]);return null==f?null:e.createMutable({__proto__:null,coordinate:f.coordinate,distance:f.distance,sideOfLine:f.sideOfLine})})}}export{B as loadOperators,H as registerFunctions};
|
|
2
|
+
import e from"../Dictionary.js";import{ArcadeExecutionError as n}from"../executionError.js";import{cloneGeometry as t}from"../kernel.js";import{H as r,E as i,e as a,r as l,q as o,w as u,g as f,J as s,K as c,f as m,L as w,M as d,v as p,N as h,O as g}from"../../chunks/languageUtils.js";import{commonRelationsCheck as v,toCurveType as P,planarLength3D as x,toOffsetJoinType as I,toCentroidAlgorithm as y,measureToCoordinateFunc as R,pointToCoordinateFunc as N,distanceToCoordinateFunc as j}from"../geometry/functions.js";import{convertFromSpatialReferenceUnit as M,toAreaUnit as b,convert as O,toLengthUnit as _,convertToSpatialReferenceUnit as E}from"../geometry/unitConversion.js";import{equals as L}from"../../core/arrayUtils.js";import S from"../../geometry/Extent.js";import D from"../../geometry/Geometry.js";import T from"../../geometry/Multipoint.js";import Z from"../../geometry/Point.js";import k from"../../geometry/Polygon.js";import q from"../../geometry/Polyline.js";import{fromJSON as U}from"../../geometry/support/jsonUtils.js";import{squareMeters as A,meters as C}from"../geometry/extendedUnitData.js";import{isArray as J}from"../../support/guards.js";let z;async function H(){null==z&&(z=await import("../geometry/operators.js"),await z.loadAll())}function B(H,B){H.disjoint=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null===i[0]||null===i[1]||z.disjoint.execute(i[0],i[1])))},H.intersects=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.intersects.execute(i[0],i[1])))},H.touches=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.touches.execute(i[0],i[1])))},H.crosses=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.crosses.execute(i[0],i[1])))},H.within=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.within.execute(i[0],i[1])))},H.contains=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.contains.execute(i[0],i[1])))},H.overlaps=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null!==i[0]&&null!==i[1]&&z.overlaps.execute(i[0],i[1])))},H.equals=function(e,n){return B(e,n,(e,t,r)=>(i(r,2,2,n),r[0]===r[1]||(r[0]instanceof D&&r[1]instanceof D?z.equals.execute(r[0],r[1]):(a(r[0])&&a(r[1])||l(r[0])&&l(r[1])||!(!o(r[0])||!o(r[1])))&&r[0].equals(r[1]))))},H.relate=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,3,3,t),l[0]instanceof D&&l[1]instanceof D)return z.relate.execute(l[0],l[1],u(l[2]));if(l[0]instanceof D&&null===l[1])return!1;if(l[1]instanceof D&&null===l[0])return!1;if(null===l[0]&&null===l[1])return!1;throw new n("InvalidParameter",t)})},H.intersection=function(e,n){return B(e,n,(e,t,i)=>(i=r(i),v(i,n),null===i[0]||null===i[1]?null:z.intersection.execute(i[0],i[1])))},H.union=function(e,i){return B(e,i,(a,l,o)=>{if(0===(o=r(o)).length)throw new n("WrongNumberOfParameters",i);const u=[];if(1===o.length)if(J(o[0])){for(const e of r(o[0]))if(null!==e){if(!(e instanceof D))throw new n("InvalidParameter",i);u.push(e)}}else{if(!f(o[0])){if(o[0]instanceof D)return s(t(o[0]),e.spatialReference);if(null===o[0])return null;throw new n("InvalidParameter",i)}for(const e of r(o[0].toArray()))if(null!==e){if(!(e instanceof D))throw new n("InvalidParameter",i);u.push(e)}}else for(const e of o)if(null!==e){if(!(e instanceof D))throw new n("InvalidParameter",i);u.push(e)}return 0===u.length?null:z.union.executeMany(u)})},H.difference=function(e,n){return B(e,n,(e,i,a)=>(a=r(a),v(a,n),null===a[0]?null:null===a[1]?t(a[0]):z.difference.execute(a[0],a[1])))},H.symmetricdifference=function(e,n){return B(e,n,(e,i,a)=>(a=r(a),v(a,n),null===a[0]&&null===a[1]?null:null===a[0]?t(a[1]):null===a[1]?t(a[0]):z.symmetricDifference.execute(a[0],a[1])))},H.clip=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,2,2,t),!(l[1]instanceof S)&&null!==l[1])throw new n("InvalidParameter",t);if(null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return null===l[1]?null:z.clip.execute(l[0],l[1])})},H.cut=function(e,a){return B(e,a,(e,l,o)=>{if(o=r(o),i(o,2,2,a),!(o[1]instanceof q)&&null!==o[1])throw new n("InvalidParameter",a);if(null===o[0])return[];if(!(o[0]instanceof D))throw new n("InvalidParameter",a);return null===o[1]?[t(o[0])]:z.cut.execute(o[0],o[1])})},H.area=function(e,t){return B(e,t,(a,l,o)=>{i(o,1,2,t);let u=(o=r(o))[0];if((J(o[0])||f(o[0]))&&(u=c(o[0],e.spatialReference)),null===u)return 0;if(!(u instanceof D))throw new n("InvalidParameter",t);return M(u.spatialReference,b(o[1]),z.area.execute(u))})},H.areageodetic=function(e,t){return B(e,t,(a,l,o)=>{i(o,1,3,t);let u=(o=r(o))[0];(J(u)||f(u))&&(u=c(u,e.spatialReference));const s=b(o[1]),w=P(o[2]);if(null==u)return 0;if(!m(u))throw new n("InvalidParameter",t);return O(A,s,z.geodeticArea.execute(u,{curveType:w}))})},H.length=function(e,t){return B(e,t,(a,l,o)=>{i(o,1,2,t);let u=(o=r(o))[0];if((J(o[0])||f(o[0]))&&(u=w(o[0],e.spatialReference)),null===u)return 0;if(!(u instanceof D))throw new n("InvalidParameter",t);return M(u.spatialReference,_(o[1]),z.length.execute(u))})},H.length3d=function(e,t){return B(e,t,(a,l,o)=>{i(o,1,2,t);let u=(o=r(o))[0];if((J(o[0])||f(o[0]))&&(u=w(o[0],e.spatialReference)),null===u)return 0;if(!(u instanceof D))throw new n("InvalidParameter",t);return!0===u.hasZ?M(u.spatialReference,_(o[1]),x(u)):M(u.spatialReference,_(o[1]),z.length.execute(u))})},H.lengthgeodetic=function(e,t){return B(e,t,(a,l,o)=>{i(o,1,3,t);let u=(o=r(o))[0];(J(o[0])||f(o[0]))&&(u=w(o[0],e.spatialReference));const s=P(o[2]);if(null==u)return 0;if(null!=u&&!m(u))throw new n("InvalidParameter",t);const c=_(o[1]);return O(C,c,z.geodeticLength.execute(u,{curveType:s}))})},H.distance=function(e,t){return B(e,t,(a,l,o)=>{o=r(o),i(o,2,3,t);let u=o[0];if((J(o[0])||f(o[0]))&&(u=d(o[0],e.spatialReference)),!(u instanceof D))throw new n("InvalidParameter",t);let s=o[1];if((J(o[1])||f(o[1]))&&(s=d(o[1],e.spatialReference)),!(s instanceof D))throw new n("InvalidParameter",t);return M(u.spatialReference,_(o[2]),z.distance.execute(u,s))})},H.distancegeodetic=function(e,t){return B(e,t,(e,a,l)=>{l=r(l),i(l,2,4,t);const o=l[0];if(!(o instanceof Z))throw new n("InvalidParameter",t);const u=l[1];if(!(u instanceof Z))throw new n("InvalidParameter",t);const f=_(l[2]),s=P(l[3]),c=new q({paths:[],spatialReference:o.spatialReference});return c.addPath([o,u]),O(C,f,z.geodeticLength.execute(c,{curveType:s}))})},H.densify=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,2,3,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);const o=p(l[1]);if(isNaN(o))throw new n("InvalidParameter",t);if(o<=0)throw new n("InvalidParameter",t);const u=E(_(l[2]),l[0].spatialReference,o);switch(l[0].type){case"polygon":case"polyline":case"extent":return z.densify.execute(l[0],u);default:return l[0]}})},H.densifygeodetic=function(e,t){return B(e,t,(e,a,l)=>{l=r(l),i(l,2,4,t);const o=l[0];if(null==o)return null;if(!m(o))throw new n("InvalidParameter",t);const u=p(l[1]);if(isNaN(u))throw new n("InvalidParameter",t);if(u<=0)throw new n("InvalidParameter",t);const f=_(l[2]),s=P(l[3]),c=O(f,C,u);switch(o.type){case"polygon":case"polyline":case"extent":return z.geodeticDensify.execute(o,c,{curveType:s});default:return o}})},H.generalize=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,2,4,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);const o=p(l[1]);if(isNaN(o))throw new n("InvalidParameter",t);const u=E(_(l[3]),l[0].spatialReference,o);return z.generalize.execute(l[0],u,{removeDegenerateParts:h(g(l[2],!0))})})},H.buffer=function(e,a){return B(e,a,(e,l,o)=>{if(o=r(o),i(o,2,3,a),null===o[0])return null;if(!(o[0]instanceof D))throw new n("InvalidParameter",a);const u=p(o[1]);if(isNaN(u))throw new n("InvalidParameter",a);return 0===u?t(o[0]):z.buffer.execute(o[0],E(_(o[2]),o[0].spatialReference,u))})},H.buffergeodetic=function(e,a){return B(e,a,(e,l,o)=>{o=r(o),i(o,2,4,a);const u=o[0];if(null==u)return null;if(!m(u))throw new n("InvalidParameter",a);const f=p(o[1]);if(isNaN(f))throw new n("InvalidParameter",a);if(0===f)return t(u);const s=_(o[2]),c=P(o[3]);return z.geodesicBuffer.execute(u,O(s,C,f),{curveType:c})})},H.offset=function(e,t){return B(e,t,(e,a,l)=>{l=r(l),i(l,2,6,t);const o=l[0];if(null===o)return null;if(!(o instanceof k||o instanceof q))throw new n("InvalidParameter",t);const u=p(l[1]);if(isNaN(u))throw new n("InvalidParameter",t);const f=l[2],s=I(l[3]),c=p(g(l[4],10));if(isNaN(c))throw new n("InvalidParameter",t);const m=p(g(l[5],0));if(isNaN(m))throw new n("InvalidParameter",t);return z.executeOffset(o,u,f,s,c,m)})},H.rotate=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,2,3,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);const o=l[0]instanceof S?k.fromExtent(l[0]):l[0],u=p(l[1]);if(isNaN(u))throw new n("InvalidParameter",t);const f=g(l[2],null);if(null===f){const e="point"===o.type?o:o.extent?.center;return z.rotate(o,u,e?.x,e?.y)}if(f instanceof Z)return z.rotate(o,u,f.x,f.y);throw new n("InvalidParameter",t)})},H.centroid=function(e,t){return B(e,t,(e,t,a)=>{if(a=r(a),i(a,1,2,t),null===a[0])return null;const l=y(a[1]);let o=a[0];if((J(a[0])||f(a[0]))&&(o="geometric"===l?d(a[0],e.spatialReference):c(a[0],e.spatialReference),null===o))return null;if(!(o instanceof D))throw new n("InvalidParameter",t);return"geometric"===l?z.centroid.execute(o):z.labelPoint.execute(o)})},H.measuretocoordinate=function(e,n){return B(e,n,R)},H.pointtocoordinate=function(e,n){return B(e,n,N)},H.distancetocoordinate=function(e,n){return B(e,n,j)},H.multiparttosinglepart=function(e,a){return B(e,a,(l,o,u)=>{if(u=r(u),i(u,1,1,a),null===u[0])return null;if(!(u[0]instanceof D))throw new n("InvalidParameter",a);if(u[0]instanceof Z)return[s(t(u[0]),e.spatialReference)];if(u[0]instanceof S)return[s(t(u[0]),e.spatialReference)];const f=z.simplify.execute(u[0]);if(f instanceof k){const e=[],n=[];for(let t=0;t<f.rings.length;t++)if(f.isClockwise(f.rings[t])){const n=U({rings:[f.rings[t]],hasZ:!0===f.hasZ,hasM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});e.push(n)}else n.push({ring:f.rings[t],pt:f.getPoint(t,0)});for(let t=0;t<n.length;t++)for(let r=0;r<e.length;r++)if(e[r].contains(n[t].pt)){e[r].addRing(n[t].ring);break}return e}if(f instanceof q){const e=[];for(let n=0;n<f.paths.length;n++){const t=U({paths:[f.paths[n]],hasZ:!0===f.hasZ,hasM:!0===f.hasM,spatialReference:f.spatialReference.toJSON()});e.push(t)}return e}if(u[0]instanceof T){const n=[],r=s(t(u[0]),e.spatialReference);for(let e=0;e<r.points.length;e++)n.push(r.getPoint(e));return n}return null})},H.isselfintersecting=function(e,n){return B(e,n,(e,n,t)=>{i(t,1,1,n);let a=(t=r(t))[0];if((J(t[0])||f(t[0]))&&(a=w(t[0],e.spatialReference)),a instanceof T){const e=a.points;for(let n=0;n<e.length;n++)for(let t=n+1;t<e.length;t++)if(L(e[n],e[t]))return!0;return!1}return(a instanceof q||a instanceof k)&&z.isSelfIntersecting(a)})},H.issimple=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,1,1,t),null===l[0])return!0;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return z.simplify.isSimple(l[0])})},H.simplify=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,1,1,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return z.simplify.execute(l[0])})},H.convexhull=function(e,t){return B(e,t,(e,a,l)=>{if(l=r(l),i(l,1,1,t),null===l[0])return null;if(!(l[0]instanceof D))throw new n("InvalidParameter",t);return z.convexHull.execute(l[0])})},H.nearestcoordinate=function(t,a){return B(t,a,(t,l,o)=>{if(o=r(o),i(o,2,2,a),!(o[0]instanceof D||null===o[0]))throw new n("InvalidParameter",a);if(!(o[1]instanceof Z||null===o[1]))throw new n("InvalidParameter",a);if(null===o[0]||null===o[1])return null;const u=o[0]instanceof S?k.fromExtent(o[0]):o[0],f=z.proximity.getNearestCoordinate(u,o[1],{calculateLeftRightSide:!0});return null===f||f.isEmpty?null:e.createMutable({__proto__:null,coordinate:f.coordinate,distance:f.distance,sideOfLine:0===f.distance?"straddle":f.isRightSide?"right":"left"})})},H.nearestvertex=function(t,a){return B(t,a,(t,l,o)=>{if(o=r(o),i(o,2,2,a),!(o[0]instanceof D||null===o[0]))throw new n("InvalidParameter",a);if(!(o[1]instanceof Z||null===o[1]))throw new n("InvalidParameter",a);if(null===o[0]||null===o[1])return null;const u=o[0]instanceof S?k.fromExtent(o[0]):o[0],f=z.executeNearestVertex(u,o[1]);return null==f?null:e.createMutable({__proto__:null,coordinate:f.coordinate,distance:f.distance,sideOfLine:f.sideOfLine})})}}export{H as loadOperators,B as registerFunctions};
|