@arcgis/core 4.22.0-next.20211108 → 4.22.0-next.20211116
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/WebScene.js +1 -1
- package/analysis/LineOfSight.js +1 -1
- package/analysis/LineOfSightTarget.js +5 -0
- package/analysis/Slice.js +1 -1
- package/applications/SceneViewer/sceneViewerUtils.js +1 -1
- package/arcade/featureset/support/StatsField.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/024d0edf9304947e86b4.js +1 -0
- package/assets/esri/core/workers/chunks/0a225c0b6a82779de4dd.js +1 -0
- package/assets/esri/core/workers/chunks/0f476208b5d8eac1023a.js +1 -0
- package/assets/esri/core/workers/chunks/1120c94a972c7dbf12d8.js +1 -0
- package/assets/esri/core/workers/chunks/12576e848e14cc1fbb70.js +1 -0
- package/assets/esri/core/workers/chunks/1c507e58e5a37d2b783c.js +1 -0
- package/assets/esri/core/workers/chunks/{76b931486a028bacceb2.js → 1f02165e7758645b5e0d.js} +1 -1
- package/assets/esri/core/workers/chunks/25b401caca91702207d7.js +1 -0
- package/assets/esri/core/workers/chunks/{3cbf94d62ce78242f8f9.js → 2acb4b5e02cbd6229dfa.js} +1 -1
- package/assets/esri/core/workers/chunks/2ae87b17104ae7795050.js +971 -0
- package/assets/esri/core/workers/chunks/{8ab6ae44770e10540c6f.js → 2b343cc0e5ac8f4939d4.js} +1 -1
- package/assets/esri/core/workers/chunks/30de806c48ef4f81e5c9.js +1 -0
- package/assets/esri/core/workers/chunks/31566f97fc93d152daaf.js +1 -0
- package/assets/esri/core/workers/chunks/3845493f0e4a0503eee1.js +1 -0
- package/assets/esri/core/workers/chunks/3ac0e71a1261260d4b11.js +1 -0
- package/assets/esri/core/workers/chunks/3b86cf90bfb88b931fc4.js +1 -0
- package/assets/esri/core/workers/chunks/4513689048bc2a704bf4.js +1 -0
- package/assets/esri/core/workers/chunks/455547b0bfdc8d92b1ab.js +1 -0
- package/assets/esri/core/workers/chunks/{df052ceda292b1dc82e6.js → 472df5b8be9c335eb999.js} +1 -1
- package/assets/esri/core/workers/chunks/4786556e79c4447e5ac0.js +1 -0
- package/assets/esri/core/workers/chunks/{d6bae695dec918d9a3d1.js → 4e12f07e92d582ab1f5f.js} +1 -1
- package/assets/esri/core/workers/chunks/53c4e0e0e4f0ef450c1c.js +1 -0
- package/assets/esri/core/workers/chunks/597f8ce30413c6e86f7c.js +1 -0
- package/assets/esri/core/workers/chunks/599c9acfd08aaa88ef74.js +1 -0
- package/assets/esri/core/workers/chunks/5ad107d653b4a58b4deb.js +1 -0
- package/assets/esri/core/workers/chunks/5cdb149e322137a3bbf9.js +1 -0
- package/assets/esri/core/workers/chunks/{327196d77f0c0c957f7f.js → 5d8f64dd317fd081d4c1.js} +1 -1
- package/assets/esri/core/workers/chunks/5dae7c3c106afa91129c.js +1 -0
- package/assets/esri/core/workers/chunks/640eee272c7c8e9aefd4.js +1 -0
- package/assets/esri/core/workers/chunks/{f8d40432bd6439f1e746.js → 6443b9684c694138550f.js} +1 -1
- package/assets/esri/core/workers/chunks/64646de7e991f3076f60.js +1 -0
- package/assets/esri/core/workers/chunks/646ffd1881152271412c.js +1 -0
- package/assets/esri/core/workers/chunks/65536fcbe080a3c1f813.js +1 -0
- package/assets/esri/core/workers/chunks/{2c8f1a6ca81d3b897623.js → 7351fbd8a9dbef027d06.js} +1 -1
- package/assets/esri/core/workers/chunks/7678b37f4f528af762e2.js +1 -0
- package/assets/esri/core/workers/chunks/7788899becefd924c113.js +1 -0
- package/assets/esri/core/workers/chunks/{10238988bbdebde04d0d.js → 7becae4fffb0090a380c.js} +1 -1
- package/assets/esri/core/workers/chunks/7c675291bae0983ed424.js +1 -0
- package/assets/esri/core/workers/chunks/7e1070412acbca5d46ae.js +1 -0
- package/assets/esri/core/workers/chunks/82bb1efd0941a08e7756.js +1 -0
- package/assets/esri/core/workers/chunks/{5c68262ef4b3642baf98.js → 83a8e5cf4a4549ffec6d.js} +1 -1
- package/assets/esri/core/workers/chunks/84be859396962c283516.js +1 -0
- package/assets/esri/core/workers/chunks/8a5e15bb513c65ef730d.js +1 -0
- package/assets/esri/core/workers/chunks/8aa1910de5173c976dac.js +1 -0
- package/assets/esri/core/workers/chunks/{f621db836009fce93e62.js → 8cf9f06a7efee8eabdd1.js} +1 -1
- package/assets/esri/core/workers/chunks/8e9960a246f5b084c9c8.js +1 -0
- package/assets/esri/core/workers/chunks/8ed6513bf12cb9c519dd.js +1 -0
- package/assets/esri/core/workers/chunks/9453fdba689296828087.js +1 -0
- package/assets/esri/core/workers/chunks/99338ad451df1cd5f261.js +1 -0
- package/assets/esri/core/workers/chunks/9e3fc6ba87fa55c33055.js +1 -0
- package/assets/esri/core/workers/chunks/a00d39545a2db2a66816.js +1 -0
- package/assets/esri/core/workers/chunks/a0114820691d4dda8a67.js +1 -0
- package/assets/esri/core/workers/chunks/a0aa8321b58109c6ae19.js +1 -0
- package/assets/esri/core/workers/chunks/a164ca7d87bfae334347.js +1 -0
- package/assets/esri/core/workers/chunks/a3a55bd894e1eb739733.js +1 -0
- package/assets/esri/core/workers/chunks/a465488578b87d63215d.js +1 -0
- package/assets/esri/core/workers/chunks/ab1141ad2e731076a812.js +1 -0
- package/assets/esri/core/workers/chunks/b957ef59aa56b5c339f4.js +1 -0
- package/assets/esri/core/workers/chunks/{4b2afed7cc3ca20e17b1.js → bc9228c16edf3849bc6e.js} +1 -1
- package/assets/esri/core/workers/chunks/bd7a0b91157250f93aa3.js +1 -0
- package/assets/esri/core/workers/chunks/{7804c8ce359cbea286ab.js → c090b21b5a6171096f48.js} +1 -1
- package/assets/esri/core/workers/chunks/c2268a36f90a9310feec.js +1 -0
- package/assets/esri/core/workers/chunks/c80c8aff0d14dd822454.js +1 -0
- package/assets/esri/core/workers/chunks/cb070e62a8ac85509384.js +1 -0
- package/assets/esri/core/workers/chunks/{3f49c4f20d0ff6761152.js → ccadccbc6596938cabc5.js} +1 -1
- package/assets/esri/core/workers/chunks/d11d1d294ccc4ccdf60f.js +1 -0
- package/assets/esri/core/workers/chunks/d42f289a65a98d752e12.js +1 -0
- package/assets/esri/core/workers/chunks/{4ffded7ddec85660c36c.js → d80ab8aa647c42e6e0b7.js} +1 -1
- package/assets/esri/core/workers/chunks/{4b0ffef8ba88b5523930.js → db202ae7dc8b584f312f.js} +1 -1
- package/assets/esri/core/workers/chunks/df36c8dfea39b4e00238.js +1 -0
- package/assets/esri/core/workers/chunks/{cfdbbb5b3720c9c60684.js → e39316a7998d3dde62bf.js} +1 -1
- package/assets/esri/core/workers/chunks/e452d6662f619bdad71c.js +1 -0
- package/assets/esri/core/workers/chunks/e6b41012ade9bdce3244.js +1 -0
- package/assets/esri/core/workers/chunks/e9608d8e0ea984aa35a0.js +1 -0
- package/assets/esri/core/workers/chunks/e9af7a5eb1e3bce4f0f9.js +1 -0
- package/assets/esri/core/workers/chunks/ec0be96baf84a833cb38.js +1 -0
- package/assets/esri/core/workers/chunks/f1295524b32d201b5edb.js +1 -0
- package/assets/esri/core/workers/chunks/f343671ec3c8c6224198.js +1 -0
- package/assets/esri/core/workers/chunks/{d33a0cfda2aa26751ded.js → f3c0d0d182988a8d2b3f.js} +1 -1
- package/assets/esri/core/workers/chunks/f7a8197264cbc51eac1d.js +1 -0
- package/assets/esri/core/workers/chunks/f8a096d7709b6ae90496.js +1 -0
- package/assets/esri/core/workers/chunks/f9958a82ce78676e56eb.js +1 -0
- package/assets/esri/core/workers/chunks/fcde45f86962b11353a6.js +1 -0
- package/assets/esri/libs/i3s/i3s.wasm +0 -0
- package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
- package/assets/esri/themes/base/_core.scss +2 -0
- package/assets/esri/themes/base/widgets/_CoordinateConversion.scss +1 -0
- package/assets/esri/themes/base/widgets/_Editor.scss +108 -53
- package/assets/esri/themes/base/widgets/_FeatureContent.scss +0 -3
- package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +11 -3
- package/assets/esri/themes/base/widgets/_ItemList.scss +14 -16
- package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +44 -0
- package/assets/esri/themes/base/widgets/_Widget.scss +10 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_ar.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_bg.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_bs.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_ca.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_cs.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_da.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_de.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_el.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_en.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_es.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_et.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_fi.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_fr.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_he.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_hr.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_hu.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_id.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_it.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_ja.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_ko.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_lt.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_lv.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_nb.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_nl.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_pl.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_pt-BR.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_pt-PT.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_ro.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_ru.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_sk.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_sl.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_sr.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_sv.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_th.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_tr.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_uk.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_vi.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_zh-CN.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_zh-HK.json +1 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_zh-TW.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_ar.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_bg.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_bs.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_ca.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_cs.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_da.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_de.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_el.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_en.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_es.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_et.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_fi.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_fr.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_he.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_hr.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_hu.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_id.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_it.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_ja.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_ko.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_lt.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_lv.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_nb.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_nl.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_pl.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_pt-BR.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_pt-PT.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_ro.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_ru.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_sk.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_sl.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_sr.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_sv.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_th.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_tr.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_uk.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_vi.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_zh-CN.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_zh-HK.json +1 -1
- package/assets/esri/widgets/Compass/t9n/Compass_zh-TW.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_en.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nb.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_en.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace.json +1 -0
- package/chunks/ChapmanAtmosphere.glsl.js +2 -2
- package/chunks/Fog.glsl.js +54 -38
- package/chunks/NativeLine.glsl.js +12 -15
- package/chunks/RibbonLine.glsl.js +62 -74
- package/chunks/TiffDecoder.js +1 -1
- package/chunks/i3s.js +1 -1
- package/chunks/vxlLayer.js +1 -1
- package/core/Collection.js +1 -1
- package/core/HandleOwner.js +1 -1
- package/core/accessorSupport/Property.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/iteratorUtils.js +5 -0
- package/core/promiseUtils.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/projection.js +1 -1
- package/geometry/support/meshUtils/primitives.js +1 -1
- package/interfaces.d.ts +558 -108
- package/layers/AnalysisLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/VoxelWasmManager.js +1 -1
- package/layers/VoxelWasmPerScene.js +1 -1
- package/layers/WMTSLayer.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/ogc/wfsUtils.js +1 -1
- package/layers/support/FeatureEffect.js +1 -1
- package/layers/support/LOD.js +1 -1
- package/layers/support/LabelClass.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/TileInfoTilemapCache.js +5 -0
- package/layers/support/TilemapCache.js +1 -1
- package/layers/support/imageryRendererUtils.js +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +3 -3
- package/portal/schemas/definitions.js +1 -1
- package/rasterRenderers.js +1 -1
- package/renderers/AnimatedFlowRenderer.js +5 -0
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/rest/print.js +1 -1
- package/rest/query/operations/pbfFeatureServiceParser.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/support/ImageAngleParameters.d.ts +4 -0
- package/rest/support/ImageAngleResult.d.ts +4 -0
- package/rest/support/ImagePixelLocationParameters.d.ts +4 -0
- package/rest/support/ImagePixelLocationResult.d.ts +4 -0
- package/smartMapping/raster/renderers/classBreaks.js +1 -1
- package/smartMapping/statistics/support/WorkerClient.js +1 -1
- package/smartMapping/statistics/support/statsWorker.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/featureFlags.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/cim/SDFHelper.js +1 -1
- package/symbols/cim/TextRasterizer.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/effects/CIMEffectHelper.js +1 -1
- package/symbols/cim/effects/EffectArrow.js +1 -1
- package/symbols/cim/effects/EffectDashes.js +1 -1
- package/symbols/cim/effects/EffectDonut.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/symbols/cim/effects/EffectWave.js +1 -1
- package/symbols/cim/placements/PlacementAtExtremities.js +1 -1
- package/symbols/cim/placements/PlacementOnLine.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/views/2d/engine/brushes.js +1 -1
- package/views/2d/engine/flow/AnimatedFlowView2D.js +5 -0
- package/views/2d/engine/flow/BrushFlow.js +5 -0
- package/views/2d/engine/flow/FlowContainer.js +5 -0
- package/views/2d/engine/flow/FlowDisplayData.js +5 -0
- package/views/2d/engine/flow/FlowDisplayObject.js +5 -0
- package/views/2d/engine/flow/FlowGLResources.js +5 -0
- package/views/2d/engine/flow/FlowMaterial.js +5 -0
- package/views/2d/engine/flow/FlowStrategy.js +5 -0
- package/views/2d/engine/flow/FlowStyle.js +5 -0
- package/views/2d/engine/flow/ImageryTileLayerFlowProcessor.js +5 -0
- package/views/2d/engine/flow/ImageryTileLayerFlowSource.js +5 -0
- package/views/2d/engine/flow/animatedFlowRendererUtils.js +5 -0
- package/views/2d/engine/flow/createStreamlinesMesh.js +5 -0
- package/{core/interatorUtils.js → views/2d/engine/flow/interfaces.js} +0 -1
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/TilemapIndex.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
- package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
- package/views/2d/engine/webgl/WGLContainer.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
- package/views/2d/engine/webgl/fontUtils.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLTextTemplate.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/BaseDynamicLayerView2D.js +1 -1
- package/views/2d/layers/BitmapTileLayerView2D.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/GroupLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/WMSLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/features/support/ClusterStore.js +1 -1
- package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
- package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
- package/views/2d/layers/graphics/GraphicStore.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryGraphicsView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldTileView2D.js +1 -1
- package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
- package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
- package/views/2d/layers/support/util.js +1 -1
- package/views/2d/tiling/LODInfo.js +1 -1
- package/views/3d/analysis/AnalysisView3D.js +1 -1
- package/views/3d/analysis/AnalysisViewManager3D.js +5 -0
- package/views/3d/analysis/AreaMeasurement/AreaMeasurementView3D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightView3D.js +5 -0
- package/views/3d/analysis/LineOfSight/{LineOfSightLayerViewData.js → LineOfSightViewData.js} +1 -1
- package/views/3d/analysis/Slice/SliceController.js +5 -0
- package/views/3d/analysis/Slice/SliceView3D.js +5 -0
- package/views/3d/analysis/Slice/{SliceAnalysisViewData.js → SliceViewData.js} +1 -1
- package/views/3d/analysis/Slice/SliceVisualization.js +5 -0
- package/views/3d/analysis/support/loggerUtils.js +5 -0
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/CloudyWeather.d.ts +4 -0
- package/views/3d/environment/CloudyWeather.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/FogTechnique.js +1 -1
- package/views/3d/environment/FoggyWeather.d.ts +4 -0
- package/views/3d/environment/FoggyWeather.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/RainyWeather.d.ts +4 -0
- package/views/3d/environment/RainyWeather.js +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.js +1 -1
- package/views/3d/environment/Stars.js +1 -1
- package/views/3d/environment/SunnyWeather.d.ts +4 -0
- package/views/3d/environment/SunnyWeather.js +1 -1
- package/views/3d/interactive/analysisTools/lineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
- package/views/3d/interactive/analysisTools/slice/sliceToolUtils.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/layers/AnalysisLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/sdfPrimitives.js +1 -1
- package/views/3d/layers/support/symbolColorUtils.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/ElevationTileAgent.js +1 -1
- package/views/3d/terrain/ExtentHelper.js +1 -1
- package/views/3d/terrain/PlanarPatch.js +1 -1
- package/views/3d/terrain/TerrainConst.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TilingScheme.js +1 -1
- package/views/3d/terrain/TilingSchemeLogic.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +22 -30
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/MapView.js +1 -1
- package/views/MapViewBase.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/View.js +1 -1
- package/views/interactive/InteractiveToolBase.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/spatialReferenceSupport.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion/support/Format.js +1 -1
- package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
- package/widgets/CoordinateConversion/support/formatUtils.js +1 -1
- package/widgets/CoordinateConversion.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/FieldColumnConfig.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/FeatureTemplates/ItemList.js +1 -1
- package/widgets/FeatureTemplates/TemplateItem.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/relationshipRampUtils.js +1 -1
- package/widgets/Legend/support/utils.js +1 -1
- package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print/TemplateOptions.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search/LocatorSearchSource.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/Slice/SliceViewModel.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/TimeSlider/utils.js +5 -0
- package/widgets/TimeSlider.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +5 -0
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +5 -0
- package/widgets/UtilityNetworkTrace/support/GraphicHandler.js +5 -0
- package/widgets/UtilityNetworkTrace.js +5 -0
- package/widgets/support/Heading.js +1 -1
- package/widgets/support/InteractiveToolViewModel.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/assets/esri/core/workers/chunks/016343320b5023eec24a.js +0 -1
- package/assets/esri/core/workers/chunks/0825574c3e88ea0a5dbc.js +0 -1
- package/assets/esri/core/workers/chunks/11747dd72aafd275e452.js +0 -1
- package/assets/esri/core/workers/chunks/1295c31e0aa047b611d8.js +0 -1
- package/assets/esri/core/workers/chunks/1c7b6b51606b455480f3.js +0 -1
- package/assets/esri/core/workers/chunks/1d03fed1698a84421187.js +0 -1
- package/assets/esri/core/workers/chunks/1d392ff7d277dcb64406.js +0 -1
- package/assets/esri/core/workers/chunks/20000f89e169a26a57d3.js +0 -1
- package/assets/esri/core/workers/chunks/20dd68d1187c7681be83.js +0 -1
- package/assets/esri/core/workers/chunks/247892f40b450d30096e.js +0 -1
- package/assets/esri/core/workers/chunks/25b911044b9663613d91.js +0 -1
- package/assets/esri/core/workers/chunks/28e8b43c4297284e170c.js +0 -1
- package/assets/esri/core/workers/chunks/2c9aa0c3db2e01c8c867.js +0 -1
- package/assets/esri/core/workers/chunks/440f8101402a4c0d7019.js +0 -1
- package/assets/esri/core/workers/chunks/4586f798686cbfede092.js +0 -1
- package/assets/esri/core/workers/chunks/45c2f2a8789268e84fa6.js +0 -1
- package/assets/esri/core/workers/chunks/45e8721bd152a8dd051b.js +0 -1
- package/assets/esri/core/workers/chunks/49b71a8f676f82685504.js +0 -1
- package/assets/esri/core/workers/chunks/4f2d0f46b6aab00e877e.js +0 -1
- package/assets/esri/core/workers/chunks/58a605dd1910dd07da5c.js +0 -1
- package/assets/esri/core/workers/chunks/59906e3dd3f8d2d12aa8.js +0 -1
- package/assets/esri/core/workers/chunks/5ed1dbdb90a115b0592e.js +0 -1
- package/assets/esri/core/workers/chunks/60815d2467c9dacc5cc0.js +0 -1
- package/assets/esri/core/workers/chunks/6baf0518add67744f3a1.js +0 -1
- package/assets/esri/core/workers/chunks/74ecda78a371e36e6f51.js +0 -1
- package/assets/esri/core/workers/chunks/7922cb56bea42d538d06.js +0 -1
- package/assets/esri/core/workers/chunks/844b564d1a422a17f6ac.js +0 -1
- package/assets/esri/core/workers/chunks/8ddce8d653a9fb60cabe.js +0 -1
- package/assets/esri/core/workers/chunks/8e3085cf7269cb9a72d2.js +0 -1
- package/assets/esri/core/workers/chunks/90153791a049915d3b8c.js +0 -1
- package/assets/esri/core/workers/chunks/9a153f25a1764fc6d414.js +0 -1
- package/assets/esri/core/workers/chunks/9ae8c8f660af1fb5e3f1.js +0 -1
- package/assets/esri/core/workers/chunks/9dfaea6597adfed2c5d9.js +0 -1
- package/assets/esri/core/workers/chunks/9e369c080fd71d5048dd.js +0 -1
- package/assets/esri/core/workers/chunks/a217b261766cf9d9301e.js +0 -1
- package/assets/esri/core/workers/chunks/a292ae09cf1e4b26a412.js +0 -1
- package/assets/esri/core/workers/chunks/a53d7c54f46408d2db42.js +0 -1
- package/assets/esri/core/workers/chunks/a64d4e5412b02863b619.js +0 -1
- package/assets/esri/core/workers/chunks/a7478a5f050036833f63.js +0 -1
- package/assets/esri/core/workers/chunks/a77d72e7a5de9d2d3227.js +0 -1
- package/assets/esri/core/workers/chunks/a9ea1d8d3271a647c5ec.js +0 -1
- package/assets/esri/core/workers/chunks/addbd572aab0a3a0fb7e.js +0 -1
- package/assets/esri/core/workers/chunks/ae636e217a1b4d172ee1.js +0 -1
- package/assets/esri/core/workers/chunks/b53fd173bc01aa06ce39.js +0 -1
- package/assets/esri/core/workers/chunks/b857126936727679ad89.js +0 -1
- package/assets/esri/core/workers/chunks/b9e0ddcaf491bc8da424.js +0 -1
- package/assets/esri/core/workers/chunks/bc87155c91f7a41e405b.js +0 -1
- package/assets/esri/core/workers/chunks/bde5b37dad3402ce0b80.js +0 -1
- package/assets/esri/core/workers/chunks/c2dc20485290d9f21959.js +0 -1
- package/assets/esri/core/workers/chunks/c60331ca9adce0004c22.js +0 -1
- package/assets/esri/core/workers/chunks/cad407bb5733d36f0fba.js +0 -1
- package/assets/esri/core/workers/chunks/cbcda6b5b2ee9e167190.js +0 -1
- package/assets/esri/core/workers/chunks/ce743ad8cf32d1f2a5a7.js +0 -1
- package/assets/esri/core/workers/chunks/d3b35fa34d694739bebc.js +0 -1
- package/assets/esri/core/workers/chunks/d970041d336caecc845a.js +0 -1
- package/assets/esri/core/workers/chunks/dadc5bdaff232e4b2851.js +0 -1
- package/assets/esri/core/workers/chunks/e3cdb46868af383f75f3.js +0 -1
- package/assets/esri/core/workers/chunks/e504393250e8c88f6031.js +0 -971
- package/assets/esri/core/workers/chunks/e78e962c2949f8cc2665.js +0 -1
- package/assets/esri/core/workers/chunks/ea2eb4cf94af2a3c346b.js +0 -1
- package/assets/esri/core/workers/chunks/ed39696bd57d3e7b3e8f.js +0 -1
- package/assets/esri/core/workers/chunks/ee964c79960e22a1df60.js +0 -1
- package/assets/esri/core/workers/chunks/f6537efec3d915bf9a91.js +0 -1
- package/assets/esri/core/workers/chunks/fbc7068458186f46a3a3.js +0 -1
- package/assets/esri/core/workers/chunks/fdfa18eceb7a21095f1c.js +0 -1
- package/chunks/RealisticAtmosphere.glsl.js +0 -206
- package/views/3d/analysis/LineOfSight/LineOfSightTarget.js +0 -5
- package/views/3d/analysis/LineOfSight/LineOfSightView.js +0 -5
- package/views/3d/analysis/Slice/SliceView.js +0 -5
- package/views/3d/environment/RealisticAtmosphere.glsl.js +0 -5
- package/views/3d/environment/RealisticAtmosphere.js +0 -5
- package/views/3d/environment/RealisticAtmosphereTechnique.js +0 -5
- package/views/3d/interactive/graphics/Slice/SliceController.js +0 -5
- package/views/3d/interactive/graphics/Slice/SliceVisualization.js +0 -5
package/WebScene.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import o from"./core/Collection.js";import s from"./core/Error.js";import a from"./core/Handles.js";import"./core/has.js";import{clone as n}from"./core/lang.js";import l from"./core/Loadable.js";import{loadAll as p}from"./core/loadAll.js";import c from"./core/Logger.js";import{isSome as d}from"./core/maybe.js";import{MultiOriginJSONMixin as h,MultiOriginJSONSupport as u}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as m}from"./core/Promise.js";import{debounce as y,eachAlways as w}from"./core/promiseUtils.js";import{urlToObject as f,addQueryParameter as g}from"./core/urlUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/accessorSupport/ensureType.js";import{reader as b}from"./core/accessorSupport/decorators/reader.js";import{subclass as S}from"./core/accessorSupport/decorators/subclass.js";import{writer as I}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as _}from"./core/accessorSupport/originUtils.js";import{readLoadable as A}from"./core/accessorSupport/read.js";import j from"./geometry/Extent.js";import R from"./geometry/HeightModelInfo.js";import{canProjectWithoutEngine as P}from"./geometry/projection.js";import L from"./geometry/SpatialReference.js";import{validateWebSceneError as U}from"./geometry/support/heightModelInfoUtils.js";import{fromJSON as M}from"./geometry/support/jsonUtils.js";import{isEarth as O}from"./geometry/support/spatialReferenceUtils.js";import V from"./portal/Portal.js";import E from"./portal/PortalItem.js";import N from"./support/MapFloorInfo.js";import{createSchemaValidationError as C,createCopyError as T}from"./support/webSceneUtils.js";import{isSpatialReferenceSupported as G}from"./views/support/spatialReferenceSupport.js";import{saveResources as F}from"./webdoc/support/saveUtils.js";import{getOptimalThumbnailSize as W}from"./webdoc/support/thumbnailUtils.js";import x from"./webscene/ApplicationProperties.js";import J from"./webscene/Environment.js";import $ from"./webscene/InitialViewProperties.js";import k from"./webscene/Presentation.js";import B from"./webscene/TransportationNetwork.js";import{Version as q}from"./webscene/Version.js";const K=c.getLogger("esri.WebScene"),D=new q(1,26),H=()=>{const e=8,t=[],r=D.major;for(let i=e;i<=D.minor;i++)t.push(`${r}.${i}`);return t},z="Web Scene",Q="ViewingMode-Local";let X=class extends(l.LoadableMixin(m(h(r)))){constructor(e){super(e),this._handles=new a,this.applicationProperties=null,this.clippingArea=null,this.clippingEnabled=!1,this.floorInfo=null,this.heightModelInfo=null,this.sourceVersion=null,this.supportsHeightModelInfo=!0,this.transportationNetworks=null,this.presentation=new k,this.initialViewProperties=new $,this.portalItem=null,this.resourceInfo=null,this.debouncedSaveOperations=y((async(e,t,r)=>{switch(e){case 0:return this._saveImpl(t);case 1:return this._saveAsImpl(r,t)}})),this.resourceReferences={portalItem:null,paths:[]},this.authoringApp=null,this.authoringAppVersion=null,this._isAuthoringAppSetByUser=!1,this._isAuthoringAppVersionSetByUser=!1}initialize(){if(this.when().catch((e=>{K.error("#load()","Failed to load web scene",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t),this.addResolvingPromise(this._validateSpatialReference()),this.addResolvingPromise(this._validateHeightModelInfo())}this._handles.add(this.allLayers.on("change",(()=>this._scheduleLayersIdGC())))}destroy(){this._unscheduleLayersIdGC(),this._handles.destroy(),this.presentation&&this.presentation.destroy();const e=this.portalItem;this.portalItem=null,null==e||e.destroy()}writeClippingArea(e,t){t.clippingArea||(t.clippingArea={}),t.clippingArea.geometry=e.toJSON()}readClippingEnabled(e,t){return!!t.clippingArea&&!!t.clippingArea.clip}writeClippingEnabled(e,t){this.clippingArea&&(t.clippingArea||(t.clippingArea={}),t.clippingArea.clip=e)}writeLayers(e,t,r,i){const o={...i,layerContainerType:"operational-layers"},s=e.map((e=>this.verifyWriteLayer(e,i)?e.write({},o):null)).filter((e=>!!e));t[r]=s.toArray()}verifyWriteLayer(e,t){return"write"in e||(t&&t.messages&&t.messages.push(new s("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted in web scenes`,{layer:e})),!1)}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new q(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${D.major}.${D.minor}`}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?this._override("thumbnailUrl",e):(this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp="ArcGIS API for JavaScript"}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}writeGround(e,t,r,i){t[r]=e?e.write({},i):{transparency:0,layers:[]}}readInitialViewProperties(e,t){const r={};return t.initialState&&t.initialState.environment&&(r.environment=J.fromJSON(t.initialState.environment)),t.spatialReference?r.spatialReference=L.fromJSON(t.spatialReference):r.spatialReference=L.WebMercator,r.viewingMode=t.viewingMode||"global",t.initialState&&t.initialState.viewpoint&&(r.viewpoint=i.fromJSON(t.initialState.viewpoint)),new $(r)}get spatialReference(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.spatialReference)?e:L.WebMercator}get viewingMode(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.viewingMode)?e:"global"}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return p(this,(e=>{const t=this.presentation&&this.presentation.slides;e(this.ground,this.basemap,this.layers,t&&t.map((e=>e.basemap)))}))}read(e,t){t={...t,origin:"web-scene"};const r=this._isAuthoringAppVersionSetByUser,i=this._isAuthoringAppSetByUser;if(A(this,e,(t=>super.read(e,t)),t),i||(this._isAuthoringAppSetByUser=!1),r||(this._isAuthoringAppVersionSetByUser=!1),e.baseMap&&Array.isArray(e.baseMap.elevationLayers)&&this.sourceVersion.supportsVisibleElevationLayersInSlides){const t=e.baseMap.elevationLayers.map((e=>({id:e.id}))),r=this.presentation.slides,i=(e,t)=>e.visibleLayers.some((e=>e.id===t)),o=t.filter((e=>!r.some((t=>i(t,e.id)))));r.forEach((e=>{e.visibleLayers.addMany(o)}))}}_writeBasemapElevationLayers(e){const t=e.ground&&e.ground.layers;!e.baseMap&&t&&t.length&&(e.baseMap={title:"Basemap",baseMapLayers:[]}),e.baseMap&&(e.baseMap.elevationLayers=n(t))}write(e,t){var r;if("loaded"!==this.loadStatus){const e=new s("webscene:not-loaded","Web scene must be loaded before it can be serialized");throw K.error("#toJSON()","Web scene must be loaded before it can be serialized",this.loadError||this.loadStatus),e}this._runLayersIdGC();const i=!(null!=(r=t)&&r.messages);t={messages:[],...t,origin:"web-scene"};const o=super.write(e,t);if(i){const e=t.messages.filter((e=>"web-document-write:property-required"===e.name));if(e.length){const t=new s("web-document:property-required","One or more properties that are required in the webscene JSON are missing, see details for the specific errors",{errors:e});throw K.error("#toJSON()","One or more properties that are required in the webscene JSON are missing",e),t}}return this._writeBasemapElevationLayers(o),o}async save(e){return this.debouncedSaveOperations(0,e)}async _saveImpl(e){this.portalItem||(K.error("save(): requires the .portalItem property to be set"),await Promise.reject(new s("webscene:portal-item-not-set","Portal item to save to has not been set on the WebScene"))),this.portalItem.type!==z&&await Promise.reject(new s("webscene:portal-item-wrong-type",`Portal item needs to have type "${z}"`));const t=this._updateFromPromise;await this._ensureLoadBeforeSave();const r=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:this.portalItem.itemUrl&&f(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||V.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),i=this.write({},r);return await Promise.all(r.resources.pendingOperations),await this._verifySave(i,r,e),this._updateTypeKeywords(this.portalItem),await this.portalItem.update({data:i}),await F(this.resourceReferences,r,null),_(r),t&&await t,await this._saveThumbnail(),this.portalItem}async saveAs(e,t){return this.debouncedSaveOperations(1,t,e)}async _saveAsImpl(e,t){let r=E.from(e);r||(K.error("saveAs(portalItem): requires a portal item parameter"),await Promise.reject(new s("webscene:portal-item-required","saveAs requires a portal item to save to"))),r.id&&(r=r.clone(),r.id=null);const i=r.portal||V.getDefault();await this._ensureLoadBeforeSave(),r.type=z,r.portal=i;const o=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:null,messages:[],portal:i,portalItem:r,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),a=this.write({},o);await Promise.all(o.resources.pendingOperations),await this._verifySaveAs(a,o,t);const n=this.thumbnailUrl,l=!this._isOverridden("thumbnailUrl");return this._updateTypeKeywords(r),await i._signIn(),await i.user.addItem({item:r,folder:t&&t.folder,data:a}),await F(this.resourceReferences,o,null),this.portalItem=r,u.prototype.read.call(this,{version:a.version,authoringApp:a.authoringApp,authoringAppVersion:a.authoringAppVersion},{name:"web-scene",ignoreDefaults:!0,url:r.itemUrl&&f(r.itemUrl)}),_(o),n&&(this.thumbnailUrl=l?g(n,"w","8192"):n),o.portalItem=r,await this._saveThumbnail(),r}async _saveThumbnail(){this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl}),this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}_verifySave(e,t,r,i=!1){if(!O(this.spatialReference))return Promise.reject(new s("webscene:unsupported-spatial-reference","Webscenes using spatial reference systems from Mars or Moon can not be saved currently."));let o,a=t.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));t.blockedRelativeUrls&&(a=a.concat(t.blockedRelativeUrls.map((e=>new s("url:unsupported",`Relative url '${e}' is not supported in Web Scene`))))),r&&r.ignoreUnsupported&&(a=a.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name))),null!=r&&r.requiredPropertyChecksDisabled&&(a=a.filter((e=>"web-document-write:property-required"!==e.name)));const n=r&&r.strictSchemaValidationEnabled;return o=n?import("./webscene/support/schemaValidator.js").then((t=>{const r=t.validate(e);if(r.length>0){const e=`webscene did not validate:\n${r.join("\n")}`;K.error(`${i?"saveAs":"save"}(): ${e}`)}return r.map((e=>new s("webscene:schema-validation",e)))})).then((e=>{if(n&&e.length>0){throw C(e.concat(a))}return a})):Promise.resolve(a),o.then((e=>{if(e.length>0)return Promise.reject(new s("webscene:save","Failed to save webscene due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:e}))}))}_verifySaveAs(e,t,r){return this.canNotSaveAs(t)?Promise.reject(T()):this._verifySave(e,t,r,!0)}verifySaveAs(e){const t=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),r=this.write({},t);return this._verifySaveAs(r,t,e)}canNotSaveAs(e){return e||(e=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),this.write({},e)),e.verifyItemRelativeUrls&&e.verifyItemRelativeUrls.writtenUrls.length>0}async updateFrom(e,t={}){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;this._updateFromPromise===r&&(this._updateFromPromise=null)}async _updateFromInternal(e,t={}){if(await e.whenReady(),!t.environmentExcluded&&e.environment&&(this.initialViewProperties.environment=J.prototype.clone.apply(e.environment)),!t.viewpointExcluded&&e.viewpoint&&(this.initialViewProperties.viewpoint=e.viewpoint.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),this.initialViewProperties.viewingMode=e.viewingMode,d(e.clippingArea)?e.clippingArea!==this.clippingArea&&(this.clippingArea=e.clippingArea.clone(),this.clippingEnabled=!0):this.clippingEnabled=!1,e.heightModelInfo&&(this.heightModelInfo=e.heightModelInfo.clone()),e.map===this)for(const r of e.allLayerViews){const e="visible";e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e])}(!1===t.thumbnailExcluded||null==t.thumbnailExcluded&&!t.viewpointExcluded)&&await this._updateFromThumbnail(e,t.thumbnailSize||void 0)}async _updateFromThumbnail(e,t){const r=W(e,t),i=await e.takeScreenshot({format:"jpg",width:r.width,height:r.height,disableDecorations:!0});this.thumbnailUrl=i.dataUrl}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-scene"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):this._loadObjectsWithLayers()}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_extractOperationalLayers(e){const t=[];if(!this.sourceVersion.supportsGround&&e.baseMap&&Array.isArray(e.baseMap.elevationLayers))for(const o of e.baseMap.elevationLayers)t.push(o);const r=[],i=e=>(e.layers&&(e.layers=e.layers.filter(i)),"ArcGISTiledElevationServiceLayer"!==e.layerType||(this.sourceVersion.supportsGround||r.push(e),!1));return{operationalLayers:e.operationalLayers?e.operationalLayers.filter(i):[],operationalElevationLayers:r,basemapElevationLayers:t}}_loadFromJSON(e,t){const r=new o;return this._validateSpatialReference().then((()=>this._validateHeightModelInfo())).then((()=>import("./layers/support/layersCreator.js"))).then((({populateOperationalLayers:i})=>{const{operationalLayers:o,operationalElevationLayers:s,basemapElevationLayers:a}=this._extractOperationalLayers(e),n=[],l={context:{...t,layerContainerType:"operational-layers"}};if(this.portalItem&&(l.context.portal=this.portalItem.portal||V.getDefault()),a.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(this.ground.layers,a,e))}if(s.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(r,s,e))}return o&&o.length>0&&n.push(i(this.layers,o,l)),w(n).then((()=>{}))})).then((()=>this._loadObjectsWithLayers())).then((()=>{this.ground.layers.addMany(r)}))}async _ensureLoadBeforeSave(){await this.load(),await this._loadObjectsWithLayers();const e=[];for(const t of this.allLayers.items)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await w(e)}async _loadObjectsWithLayers(){const e=[];this.ground&&e.push(this.ground.load()),this.basemap&&e.push(this.basemap.load()),this.presentation.slides.forEach((t=>{t.basemap&&e.push(t.basemap.load())})),await w(e)}async _loadFromItem(e){if(await e.load().catch((e=>{throw new s("webscene:load-portal-item","Failed to load portal item",{error:e})})),"Web Scene"!==e.type)throw new s("webscene:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Scene'",{type:e.type});const t=await e.fetchData();this.resourceInfo=t;const r={origin:"web-scene",url:f(e.itemUrl),portal:e.portal||V.getDefault(),portalItem:e,readResourcePaths:[]};await this._readAndLoadFromJSON(t,r),this.resourceReferences={portalItem:e,paths:r.readResourcePaths}}_validateSpatialReference(){const e=this.initialViewProperties,t=this._sceneSpatialReference;let r;if("local"!==e.viewingMode){if(!G(t,"global"))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in global mode, only Web Mercator, WGS84 GCS or CGCS2000 are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||P(e,t)}else{if(!G(t,"local"))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in local mode, only projected coordinate systems are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||e.equals(t)}const i=e=>e&&(d(e.camera)&&e.camera.position&&e.camera.position.spatialReference||d(e.targetGeometry)&&e.targetGeometry.spatialReference),o=e.viewpoint,a=i(o);if(a&&!r(a))return Promise.reject(new s("webscene:incompatible-camera-spatial-reference","Camera spatial reference (${cameraSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{cameraSpatialReference:a,sceneSpatialReference:t,viewingMode:e.viewingMode}));const n=this.presentation.slides.find((e=>!r(i(e.viewpoint))));if(n){const r=i(n.viewpoint);return Promise.reject(new s("webscene:incompatible-slide-spatial-reference","Slide spatial reference (${slideSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{slideSpatialReference:r,sceneSpatialReference:t,viewingMode:e.viewingMode}))}return Promise.resolve()}_validateHeightModelInfo(){const e=this._sceneSpatialReference,t=U(this.heightModelInfo,e);return t?Promise.reject(t):Promise.resolve()}_validateJSON(e){const t=q.parse(e.version||"","webscene");return D.validate(t),e.version=`${t.major}.${t.minor}`,1===t.major&&t.minor<=2&&(e.spatialReference=L.WebMercator.toJSON()),e}_updateTypeKeywords(e){"local"===this.initialViewProperties.viewingMode?e.typeKeywords?-1===e.typeKeywords.indexOf(Q)&&e.typeKeywords.push(Q):e.typeKeywords=[Q]:"global"===this.initialViewProperties.viewingMode&&e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e=>e!==Q))),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}get _sceneSpatialReference(){return this.initialViewProperties.spatialReference||L.WebMercator}get _verifyItemRelativeRootPath(){return this.portalItem&&this.portalItem.itemUrl?f(this.portalItem.itemUrl).path:null}_enableVerifyItemRelativeUrls(e){const t=this._verifyItemRelativeRootPath;return t&&(e.verifyItemRelativeUrls={rootPath:t,writtenUrls:[]}),e}_unscheduleLayersIdGC(){this._layersIdGCTimeoutId&&(clearTimeout(this._layersIdGCTimeoutId),this._layersIdGCTimeoutId=0)}_scheduleLayersIdGC(){this._unscheduleLayersIdGC(),this._layersIdGCTimeoutId=setTimeout((()=>{this._layersIdGCTimeoutId=0,this._runLayersIdGC()}),3e3)}_runLayersIdGC(){this._unscheduleLayersIdGC();const e=this.applicationProperties&&this.applicationProperties.viewing&&this.applicationProperties.viewing.search,t=e=>!!this.allLayers.find((t=>t.id===e));e&&e.layers&&(e.layers=e.layers.filter((e=>t(e.id))));const r=this.presentation&&this.presentation.slides;r&&r.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>t(e.id))))}))}static fromJSON(e){if(!e)throw new s("webscene:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:e})}};X.VERSION=D,e([v({type:x,json:{write:!0}})],X.prototype,"applicationProperties",void 0),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],X.prototype,"basemap",void 0),e([v({type:j,json:{read:{source:"clippingArea.geometry",reader:M},write:{target:"clippingArea.geometry"}}})],X.prototype,"clippingArea",void 0),e([I("clippingArea")],X.prototype,"writeClippingArea",null),e([v({type:Boolean,json:{write:{target:"clippingArea.clip"}}})],X.prototype,"clippingEnabled",void 0),e([b("clippingEnabled",["clippingArea"])],X.prototype,"readClippingEnabled",null),e([I("clippingEnabled")],X.prototype,"writeClippingEnabled",null),e([v({type:N,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],X.prototype,"floorInfo",void 0),e([v({type:R,json:{write:!0}})],X.prototype,"heightModelInfo",void 0),e([v({json:{write:{target:"operationalLayers",ignoreOrigin:!0}}})],X.prototype,"layers",void 0),e([I("layers")],X.prototype,"writeLayers",null),e([v({readOnly:!0,type:q,json:{type:H(),write:{ignoreOrigin:!0,target:"version",isRequired:!0,overridePolicy:()=>({enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],X.prototype,"sourceVersion",void 0),e([b("sourceVersion",["version"])],X.prototype,"readSourceVersion",null),e([I("sourceVersion")],X.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:!1}})],X.prototype,"tables",void 0),e([v()],X.prototype,"thumbnailUrl",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringApp",null),e([I("authoringApp")],X.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringAppVersion",null),e([I("authoringAppVersion")],X.prototype,"writeAuthoringAppVersion",null),e([v({json:{write:{isRequired:!0,allowNull:!0,ignoreOrigin:!0,enabled:!0}}})],X.prototype,"ground",void 0),e([I("ground")],X.prototype,"writeGround",null),e([v({type:o.ofType(B),json:{write:!0}})],X.prototype,"transportationNetworks",void 0),e([v({type:k,nonNullable:!0,json:{write:{ignoreOrigin:!0,writer:(e,t,r,i)=>{if(e.slides&&e.slides.length>0){const r={...i,isPresentation:!0};t.presentation=e.write({},r)}}}}})],X.prototype,"presentation",void 0),e([v({type:$,nonNullable:!0,json:{write:{target:"initialState",isRequired:!0,ignoreOrigin:!0},default:()=>new $({viewingMode:"global",spatialReference:L.WebMercator})}})],X.prototype,"initialViewProperties",void 0),e([b("initialViewProperties",["initialState.environment","spatialReference","viewingMode","initialState.viewpoint"])],X.prototype,"readInitialViewProperties",null),e([v({type:L,json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"spatialReference",null),e([v({type:["local","global"],json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"viewingMode",null),e([v({type:E})],X.prototype,"portalItem",void 0),e([v()],X.prototype,"resourceInfo",void 0),X=e([S("esri.WebScene")],X);const Y=X;export{Y as default};
|
|
5
|
+
import{_ as e}from"./chunks/tslib.es6.js";import{version as t}from"./kernel.js";import r from"./Map.js";import i from"./Viewpoint.js";import o from"./core/Collection.js";import s from"./core/Error.js";import a from"./core/Handles.js";import"./core/has.js";import{clone as n}from"./core/lang.js";import l from"./core/Loadable.js";import{loadAll as p}from"./core/loadAll.js";import c from"./core/Logger.js";import{isSome as d}from"./core/maybe.js";import{MultiOriginJSONMixin as h,MultiOriginJSONSupport as u}from"./core/MultiOriginJSONSupport.js";import{EsriPromiseMixin as m}from"./core/Promise.js";import{debounce as y,eachAlways as w}from"./core/promiseUtils.js";import{urlToObject as f,addQueryParameter as g}from"./core/urlUtils.js";import{property as v}from"./core/accessorSupport/decorators/property.js";import"./core/accessorSupport/ensureType.js";import{reader as b}from"./core/accessorSupport/decorators/reader.js";import{subclass as S}from"./core/accessorSupport/decorators/subclass.js";import{writer as I}from"./core/accessorSupport/decorators/writer.js";import{updateOrigins as _}from"./core/accessorSupport/originUtils.js";import{readLoadable as A}from"./core/accessorSupport/read.js";import j from"./geometry/Extent.js";import R from"./geometry/HeightModelInfo.js";import{canProjectWithoutEngine as P}from"./geometry/projection.js";import L from"./geometry/SpatialReference.js";import{validateWebSceneError as U}from"./geometry/support/heightModelInfoUtils.js";import{fromJSON as M}from"./geometry/support/jsonUtils.js";import{isEarth as O}from"./geometry/support/spatialReferenceUtils.js";import V from"./portal/Portal.js";import E from"./portal/PortalItem.js";import N from"./support/MapFloorInfo.js";import{createSchemaValidationError as C,createCopyError as T}from"./support/webSceneUtils.js";import{isSpatialReferenceSupported as G}from"./views/support/spatialReferenceSupport.js";import{saveResources as F}from"./webdoc/support/saveUtils.js";import{getOptimalThumbnailSize as W}from"./webdoc/support/thumbnailUtils.js";import x from"./webscene/ApplicationProperties.js";import J from"./webscene/Environment.js";import $ from"./webscene/InitialViewProperties.js";import k from"./webscene/Presentation.js";import B from"./webscene/TransportationNetwork.js";import{Version as q}from"./webscene/Version.js";const K=c.getLogger("esri.WebScene"),D=new q(1,26),H=()=>{const e=8,t=[],r=D.major;for(let i=e;i<=D.minor;i++)t.push(`${r}.${i}`);return t},z="Web Scene",Q="ViewingMode-Local";let X=class extends(l.LoadableMixin(m(h(r)))){constructor(e){super(e),this._handles=new a,this.applicationProperties=null,this.clippingArea=null,this.clippingEnabled=!1,this.floorInfo=null,this.heightModelInfo=null,this.sourceVersion=null,this.transportationNetworks=null,this.presentation=new k,this.initialViewProperties=new $,this.portalItem=null,this.resourceInfo=null,this.debouncedSaveOperations=y((async(e,t,r)=>{switch(e){case 0:return this._saveImpl(t);case 1:return this._saveAsImpl(r,t)}})),this.resourceReferences={portalItem:null,paths:[]},this.authoringApp=null,this.authoringAppVersion=null,this._isAuthoringAppSetByUser=!1,this._isAuthoringAppVersionSetByUser=!1}initialize(){if(this.when().catch((e=>{K.error("#load()","Failed to load web scene",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t),this.addResolvingPromise(this._validateSpatialReference()),this.addResolvingPromise(this._validateHeightModelInfo())}this._handles.add(this.allLayers.on("change",(()=>this._scheduleLayersIdGC())))}destroy(){this._unscheduleLayersIdGC(),this._handles.destroy(),this.presentation&&this.presentation.destroy();const e=this.portalItem;this.portalItem=null,null==e||e.destroy()}writeClippingArea(e,t){t.clippingArea||(t.clippingArea={}),t.clippingArea.geometry=e.toJSON()}readClippingEnabled(e,t){return!!t.clippingArea&&!!t.clippingArea.clip}writeClippingEnabled(e,t){this.clippingArea&&(t.clippingArea||(t.clippingArea={}),t.clippingArea.clip=e)}writeLayers(e,t,r,i){const o={...i,layerContainerType:"operational-layers"},s=e.map((e=>this.verifyWriteLayer(e,i)?e.write({},o):null)).filter((e=>!!e));t[r]=s.toArray()}verifyWriteLayer(e,t){return"write"in e||(t&&t.messages&&t.messages.push(new s("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted in web scenes`,{layer:e})),!1)}readSourceVersion(e,t){const[r,i]=t.version.split(".");return new q(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${D.major}.${D.minor}`}get thumbnailUrl(){return this.portalItem&&this.portalItem.thumbnailUrl||null}set thumbnailUrl(e){e?this._override("thumbnailUrl",e):(this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set("authoringApp",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp="ArcGIS API for JavaScript"}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set("authoringAppVersion",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}writeGround(e,t,r,i){t[r]=e?e.write({},i):{transparency:0,layers:[]}}readInitialViewProperties(e,t){const r={};return t.initialState&&t.initialState.environment&&(r.environment=J.fromJSON(t.initialState.environment)),t.spatialReference?r.spatialReference=L.fromJSON(t.spatialReference):r.spatialReference=L.WebMercator,r.viewingMode=t.viewingMode||"global",t.initialState&&t.initialState.viewpoint&&(r.viewpoint=i.fromJSON(t.initialState.viewpoint)),new $(r)}get spatialReference(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.spatialReference)?e:L.WebMercator}get viewingMode(){var e,t;return null!=(e=null==(t=this.initialViewProperties)?void 0:t.viewingMode)?e:"global"}load(e){return this.addResolvingPromise(this._loadFromSource()),Promise.resolve(this)}loadAll(){return p(this,(e=>{const t=this.presentation&&this.presentation.slides;e(this.ground,this.basemap,this.layers,t&&t.map((e=>e.basemap)))}))}read(e,t){t={...t,origin:"web-scene"};const r=this._isAuthoringAppVersionSetByUser,i=this._isAuthoringAppSetByUser;if(A(this,e,(t=>super.read(e,t)),t),i||(this._isAuthoringAppSetByUser=!1),r||(this._isAuthoringAppVersionSetByUser=!1),e.baseMap&&Array.isArray(e.baseMap.elevationLayers)&&this.sourceVersion.supportsVisibleElevationLayersInSlides){const t=e.baseMap.elevationLayers.map((e=>({id:e.id}))),r=this.presentation.slides,i=(e,t)=>e.visibleLayers.some((e=>e.id===t)),o=t.filter((e=>!r.some((t=>i(t,e.id)))));r.forEach((e=>{e.visibleLayers.addMany(o)}))}}_writeBasemapElevationLayers(e){const t=e.ground&&e.ground.layers;!e.baseMap&&t&&t.length&&(e.baseMap={title:"Basemap",baseMapLayers:[]}),e.baseMap&&(e.baseMap.elevationLayers=n(t))}write(e,t){var r;if("loaded"!==this.loadStatus){const e=new s("webscene:not-loaded","Web scene must be loaded before it can be serialized");throw K.error("#toJSON()","Web scene must be loaded before it can be serialized",this.loadError||this.loadStatus),e}this._runLayersIdGC();const i=!(null!=(r=t)&&r.messages);t={messages:[],...t,origin:"web-scene"};const o=super.write(e,t);if(i){const e=t.messages.filter((e=>"web-document-write:property-required"===e.name));if(e.length){const t=new s("web-document:property-required","One or more properties that are required in the webscene JSON are missing, see details for the specific errors",{errors:e});throw K.error("#toJSON()","One or more properties that are required in the webscene JSON are missing",e),t}}return this._writeBasemapElevationLayers(o),o}async save(e){return this.debouncedSaveOperations(0,e)}async _saveImpl(e){this.portalItem||(K.error("save(): requires the .portalItem property to be set"),await Promise.reject(new s("webscene:portal-item-not-set","Portal item to save to has not been set on the WebScene"))),this.portalItem.type!==z&&await Promise.reject(new s("webscene:portal-item-wrong-type",`Portal item needs to have type "${z}"`));const t=this._updateFromPromise;await this._ensureLoadBeforeSave();const r=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:this.portalItem.itemUrl&&f(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||V.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),i=this.write({},r);return await Promise.all(r.resources.pendingOperations),await this._verifySave(i,r,e),this._updateTypeKeywords(this.portalItem),await this.portalItem.update({data:i}),await F(this.resourceReferences,r,null),_(r),t&&await t,await this._saveThumbnail(),this.portalItem}async saveAs(e,t){return this.debouncedSaveOperations(1,t,e)}async _saveAsImpl(e,t){let r=E.from(e);r||(K.error("saveAs(portalItem): requires a portal item parameter"),await Promise.reject(new s("webscene:portal-item-required","saveAs requires a portal item to save to"))),r.id&&(r=r.clone(),r.id=null);const i=r.portal||V.getDefault();await this._ensureLoadBeforeSave(),r.type=z,r.portal=i;const o=this._enableVerifyItemRelativeUrls({origin:"web-scene",url:null,messages:[],portal:i,portalItem:r,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}}),a=this.write({},o);await Promise.all(o.resources.pendingOperations),await this._verifySaveAs(a,o,t);const n=this.thumbnailUrl,l=!this._isOverridden("thumbnailUrl");return this._updateTypeKeywords(r),await i._signIn(),await i.user.addItem({item:r,folder:t&&t.folder,data:a}),await F(this.resourceReferences,o,null),this.portalItem=r,u.prototype.read.call(this,{version:a.version,authoringApp:a.authoringApp,authoringAppVersion:a.authoringAppVersion},{name:"web-scene",ignoreDefaults:!0,url:r.itemUrl&&f(r.itemUrl)}),_(o),n&&(this.thumbnailUrl=l?g(n,"w","8192"):n),o.portalItem=r,await this._saveThumbnail(),r}async _saveThumbnail(){this._isOverridden("thumbnailUrl")&&(await this.portalItem.updateThumbnail({thumbnail:this.thumbnailUrl}),this._clearOverride("thumbnailUrl"),this.clear("thumbnailUrl","user"))}_verifySave(e,t,r,i=!1){if(!O(this.spatialReference))return Promise.reject(new s("webscene:unsupported-spatial-reference","Webscenes using spatial reference systems from Mars or Moon can not be saved currently."));let o,a=t.messages.filter((e=>"error"===e.type)).map((e=>new s(e.name,e.message,e.details)));t.blockedRelativeUrls&&(a=a.concat(t.blockedRelativeUrls.map((e=>new s("url:unsupported",`Relative url '${e}' is not supported in Web Scene`))))),r&&r.ignoreUnsupported&&(a=a.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name))),null!=r&&r.requiredPropertyChecksDisabled&&(a=a.filter((e=>"web-document-write:property-required"!==e.name)));const n=r&&r.strictSchemaValidationEnabled;return o=n?import("./webscene/support/schemaValidator.js").then((t=>{const r=t.validate(e);if(r.length>0){const e=`webscene did not validate:\n${r.join("\n")}`;K.error(`${i?"saveAs":"save"}(): ${e}`)}return r.map((e=>new s("webscene:schema-validation",e)))})).then((e=>{if(n&&e.length>0){throw C(e.concat(a))}return a})):Promise.resolve(a),o.then((e=>{if(e.length>0)return Promise.reject(new s("webscene:save","Failed to save webscene due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:e}))}))}_verifySaveAs(e,t,r){return this.canNotSaveAs(t)?Promise.reject(T()):this._verifySave(e,t,r,!0)}verifySaveAs(e){const t=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),r=this.write({},t);return this._verifySaveAs(r,t,e)}canNotSaveAs(e){return e||(e=this._enableVerifyItemRelativeUrls({origin:"web-scene",messages:[]}),this.write({},e)),e.verifyItemRelativeUrls&&e.verifyItemRelativeUrls.writtenUrls.length>0}async updateFrom(e,t={}){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;this._updateFromPromise===r&&(this._updateFromPromise=null)}async _updateFromInternal(e,t={}){if(await e.whenReady(),!t.environmentExcluded&&e.environment&&(this.initialViewProperties.environment=J.prototype.clone.apply(e.environment)),!t.viewpointExcluded&&e.viewpoint&&(this.initialViewProperties.viewpoint=e.viewpoint.clone()),this.initialViewProperties.spatialReference=e.spatialReference.clone(),this.initialViewProperties.viewingMode=e.viewingMode,d(e.clippingArea)?e.clippingArea!==this.clippingArea&&(this.clippingArea=e.clippingArea.clone(),this.clippingEnabled=!0):this.clippingEnabled=!1,e.heightModelInfo&&(this.heightModelInfo=e.heightModelInfo.clone()),e.map===this)for(const r of e.allLayerViews){const e="visible";e in r&&e in r.layer&&r._isOverridden(e)&&(r.layer[e]=r[e])}(!1===t.thumbnailExcluded||null==t.thumbnailExcluded&&!t.viewpointExcluded)&&await this._updateFromThumbnail(e,t.thumbnailSize||void 0)}async _updateFromThumbnail(e,t){const r=W(e,t),i=await e.takeScreenshot({format:"jpg",width:r.width,height:r.height,disableDecorations:!0});this.thumbnailUrl=i.dataUrl}_loadFromSource(){return this.resourceInfo?this._loadFromJSON(this.resourceInfo,{origin:"web-scene"}):this.portalItem&&this.portalItem.id?this._loadFromItem(this.portalItem):this._loadObjectsWithLayers()}_readAndLoadFromJSON(e,t){const r=this._validateJSON(e);return this.read(r,t),this._loadFromJSON(r,t)}_extractOperationalLayers(e){const t=[];if(!this.sourceVersion.supportsGround&&e.baseMap&&Array.isArray(e.baseMap.elevationLayers))for(const o of e.baseMap.elevationLayers)t.push(o);const r=[],i=e=>(e.layers&&(e.layers=e.layers.filter(i)),"ArcGISTiledElevationServiceLayer"!==e.layerType||(this.sourceVersion.supportsGround||r.push(e),!1));return{operationalLayers:e.operationalLayers?e.operationalLayers.filter(i):[],operationalElevationLayers:r,basemapElevationLayers:t}}_loadFromJSON(e,t){const r=new o;return this._validateSpatialReference().then((()=>this._validateHeightModelInfo())).then((()=>import("./layers/support/layersCreator.js"))).then((({populateOperationalLayers:i})=>{const{operationalLayers:o,operationalElevationLayers:s,basemapElevationLayers:a}=this._extractOperationalLayers(e),n=[],l={context:{...t,layerContainerType:"operational-layers"}};if(this.portalItem&&(l.context.portal=this.portalItem.portal||V.getDefault()),a.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(this.ground.layers,a,e))}if(s.length>0){const e={...l,context:{...l.context,layerContainerType:"ground"}};e.defaultLayerType="ArcGISTiledElevationServiceLayer",n.push(i(r,s,e))}return o&&o.length>0&&n.push(i(this.layers,o,l)),w(n).then((()=>{}))})).then((()=>this._loadObjectsWithLayers())).then((()=>{this.ground.layers.addMany(r)}))}async _ensureLoadBeforeSave(){await this.load(),await this._loadObjectsWithLayers();const e=[];for(const t of this.allLayers.items)if("beforeSave"in t&&"function"==typeof t.beforeSave){const r=t.beforeSave();r&&e.push(r)}await w(e)}async _loadObjectsWithLayers(){const e=[];this.ground&&e.push(this.ground.load()),this.basemap&&e.push(this.basemap.load()),this.presentation.slides.forEach((t=>{t.basemap&&e.push(t.basemap.load())})),await w(e)}async _loadFromItem(e){if(await e.load().catch((e=>{throw new s("webscene:load-portal-item","Failed to load portal item",{error:e})})),"Web Scene"!==e.type)throw new s("webscene:invalid-portal-item","Invalid portal item type '${type}', expected 'Web Scene'",{type:e.type});const t=await e.fetchData();this.resourceInfo=t;const r={origin:"web-scene",url:f(e.itemUrl),portal:e.portal||V.getDefault(),portalItem:e,readResourcePaths:[]};await this._readAndLoadFromJSON(t,r),this.resourceReferences={portalItem:e,paths:r.readResourcePaths}}_validateSpatialReference(){const e=this.initialViewProperties,t=this._sceneSpatialReference;let r;if("local"!==e.viewingMode){if(!G(t,1))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in global mode, only Web Mercator, WGS84 GCS or CGCS2000 are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||P(e,t)}else{if(!G(t,2))return Promise.reject(new s("webscene:unsupported-spatial-reference","Unsupported spatial reference (${spatialReference.wkid}) in local mode, only projected coordinate systems are supported",{spatialReference:t,viewingMode:e.viewingMode}));r=e=>!e||e.equals(t)}const i=e=>e&&(d(e.camera)&&e.camera.position&&e.camera.position.spatialReference||d(e.targetGeometry)&&e.targetGeometry.spatialReference),o=e.viewpoint,a=i(o);if(a&&!r(a))return Promise.reject(new s("webscene:incompatible-camera-spatial-reference","Camera spatial reference (${cameraSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{cameraSpatialReference:a,sceneSpatialReference:t,viewingMode:e.viewingMode}));const n=this.presentation.slides.find((e=>!r(i(e.viewpoint))));if(n){const r=i(n.viewpoint);return Promise.reject(new s("webscene:incompatible-slide-spatial-reference","Slide spatial reference (${slideSpatialReference.wkid}) is incompatible with the scene spatial reference (${sceneSpatialReference.wkid})",{slideSpatialReference:r,sceneSpatialReference:t,viewingMode:e.viewingMode}))}return Promise.resolve()}_validateHeightModelInfo(){const e=this._sceneSpatialReference,t=U(this.heightModelInfo,e);return t?Promise.reject(t):Promise.resolve()}_validateJSON(e){const t=q.parse(e.version||"","webscene");return D.validate(t),e.version=`${t.major}.${t.minor}`,1===t.major&&t.minor<=2&&(e.spatialReference=L.WebMercator.toJSON()),e}_updateTypeKeywords(e){"local"===this.initialViewProperties.viewingMode?e.typeKeywords?-1===e.typeKeywords.indexOf(Q)&&e.typeKeywords.push(Q):e.typeKeywords=[Q]:"global"===this.initialViewProperties.viewingMode&&e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e=>e!==Q))),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)))}get _sceneSpatialReference(){return this.initialViewProperties.spatialReference||L.WebMercator}get _verifyItemRelativeRootPath(){return this.portalItem&&this.portalItem.itemUrl?f(this.portalItem.itemUrl).path:null}_enableVerifyItemRelativeUrls(e){const t=this._verifyItemRelativeRootPath;return t&&(e.verifyItemRelativeUrls={rootPath:t,writtenUrls:[]}),e}_unscheduleLayersIdGC(){this._layersIdGCTimeoutId&&(clearTimeout(this._layersIdGCTimeoutId),this._layersIdGCTimeoutId=0)}_scheduleLayersIdGC(){this._unscheduleLayersIdGC(),this._layersIdGCTimeoutId=setTimeout((()=>{this._layersIdGCTimeoutId=0,this._runLayersIdGC()}),3e3)}_runLayersIdGC(){this._unscheduleLayersIdGC();const e=this.applicationProperties&&this.applicationProperties.viewing&&this.applicationProperties.viewing.search,t=e=>!!this.allLayers.find((t=>t.id===e));e&&e.layers&&(e.layers=e.layers.filter((e=>t(e.id))));const r=this.presentation&&this.presentation.slides;r&&r.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>t(e.id))))}))}static fromJSON(e){if(!e)throw new s("webscene:empty-resource","Expected a JSON resource but got nothing");return new this({resourceInfo:e})}};X.VERSION=D,e([v({type:x,json:{write:!0}})],X.prototype,"applicationProperties",void 0),e([v({json:{read:{source:"baseMap"},write:{target:"baseMap"}}})],X.prototype,"basemap",void 0),e([v({type:j,json:{read:{source:"clippingArea.geometry",reader:M},write:{target:"clippingArea.geometry"}}})],X.prototype,"clippingArea",void 0),e([I("clippingArea")],X.prototype,"writeClippingArea",null),e([v({type:Boolean,json:{write:{target:"clippingArea.clip"}}})],X.prototype,"clippingEnabled",void 0),e([b("clippingEnabled",["clippingArea"])],X.prototype,"readClippingEnabled",null),e([I("clippingEnabled")],X.prototype,"writeClippingEnabled",null),e([v({type:N,json:{read:{source:"mapFloorInfo"},write:{target:"mapFloorInfo"}}})],X.prototype,"floorInfo",void 0),e([v({type:R,json:{write:!0}})],X.prototype,"heightModelInfo",void 0),e([v({json:{write:{target:"operationalLayers",ignoreOrigin:!0}}})],X.prototype,"layers",void 0),e([I("layers")],X.prototype,"writeLayers",null),e([v({readOnly:!0,type:q,json:{type:H(),write:{ignoreOrigin:!0,target:"version",isRequired:!0,overridePolicy:()=>({enabled:!0,allowNull:!0,ignoreOrigin:!0})}}})],X.prototype,"sourceVersion",void 0),e([b("sourceVersion",["version"])],X.prototype,"readSourceVersion",null),e([I("sourceVersion")],X.prototype,"writeSourceVersion",null),e([v({json:{read:!1,write:!1}})],X.prototype,"tables",void 0),e([v()],X.prototype,"thumbnailUrl",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringApp",null),e([I("authoringApp")],X.prototype,"writeAuthoringApp",null),e([v({type:String,json:{write:{writerEnsuresNonNull:!0,ignoreOrigin:!0}}})],X.prototype,"authoringAppVersion",null),e([I("authoringAppVersion")],X.prototype,"writeAuthoringAppVersion",null),e([v({json:{write:{isRequired:!0,allowNull:!0,ignoreOrigin:!0,enabled:!0}}})],X.prototype,"ground",void 0),e([I("ground")],X.prototype,"writeGround",null),e([v({type:o.ofType(B),json:{write:!0}})],X.prototype,"transportationNetworks",void 0),e([v({type:k,nonNullable:!0,json:{write:{ignoreOrigin:!0,writer:(e,t,r,i)=>{if(e.slides&&e.slides.length>0){const r={...i,isPresentation:!0};t.presentation=e.write({},r)}}}}})],X.prototype,"presentation",void 0),e([v({type:$,nonNullable:!0,json:{write:{target:"initialState",isRequired:!0,ignoreOrigin:!0},default:()=>new $({viewingMode:"global",spatialReference:L.WebMercator})}})],X.prototype,"initialViewProperties",void 0),e([b("initialViewProperties",["initialState.environment","spatialReference","viewingMode","initialState.viewpoint"])],X.prototype,"readInitialViewProperties",null),e([v({type:L,json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"spatialReference",null),e([v({type:["local","global"],json:{read:!1,write:{isRequired:!0,ignoreOrigin:!0}}})],X.prototype,"viewingMode",null),e([v({type:E})],X.prototype,"portalItem",void 0),e([v()],X.prototype,"resourceInfo",void 0),X=e([S("esri.WebScene")],X);const Y=X;export{Y as default};
|
package/analysis/LineOfSight.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../chunks/tslib.es6.js";import e from"./Analysis.js";import r from"../core/Collection.js";import{castForReferenceSetter as
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import e from"./Analysis.js";import r from"./LineOfSightTarget.js";import o from"../core/Collection.js";import{castForReferenceSetter as s,referenceSetter as i}from"../core/collectionUtils.js";import{clone as n}from"../core/lang.js";import{isNone as p,isSome as a}from"../core/maybe.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import m from"../geometry/Extent.js";import u from"../geometry/Point.js";import{fromValues as f,expand as g}from"../geometry/support/aaBoundingRect.js";var y;const h=o.ofType(r);let v=y=class extends e{constructor(t){super(t),this.type="line-of-sight",this.observer=null}get targets(){return this._get("targets")||new h}set targets(t){this._set("targets",i(t,this.targets,h))}get extent(){if(p(this.observer))return null;const t=f(this.observer.x,this.observer.y,this.observer.x,this.observer.y);for(const e of this.targets)a(e.location)&&g(t,e.location,t);return m.fromBounds(t,this.observer.spatialReference)}clone(){return new y({intersection:n(this.intersection),observer:n(this.observer),targets:n(this.targets),...this.cloneBaseAnalysisProperties()})}};t([c()],v.prototype,"type",void 0),t([c()],v.prototype,"intersection",void 0),t([c({type:u})],v.prototype,"observer",void 0),t([c({cast:s,type:h,nonNullable:!0})],v.prototype,"targets",null),t([c({value:null})],v.prototype,"extent",null),v=y=t([l("esri.analysis.LineOfSight")],v);const b=v;export{b as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{_ as o}from"../chunks/tslib.es6.js";import r from"../core/Accessor.js";import{clone as t}from"../core/lang.js";import{equalsMaybe as e}from"../core/maybe.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import c from"../geometry/Point.js";var n;let p=n=class extends r{constructor(o){super(o),this.location=null}clone(){return new n({location:t(this.location),intersection:t(this.intersection)})}equals(o){return e(this.location,o.location)&&e(this.intersection,o.intersection)}};o([s({type:c})],p.prototype,"location",void 0),o([s()],p.prototype,"intersection",void 0),p=n=o([i("esri.analysis.LineOfSightTarget")],p);const a=p;export{p as LineOfSightTarget,a as default};
|
package/analysis/Slice.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import t from"./Analysis.js";import s from"../core/Collection.js";import{castForReferenceSetter as o,referenceSetter as r}from"../core/collectionUtils.js";import{clone as l}from"../core/lang.js";import i from"../core/Logger.js";import{isNone as a,isSome as
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import t from"./Analysis.js";import s from"../core/Collection.js";import{castForReferenceSetter as o,referenceSetter as r}from"../core/collectionUtils.js";import{clone as l}from"../core/lang.js";import i from"../core/Logger.js";import{isNone as a,isSome as n}from"../core/maybe.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import{renderSRFromMapSR as d}from"../geometry/support/coordinateSystem.js";import{shapeToExtent as u}from"../views/3d/interactive/analysisTools/slice/sliceToolUtils.js";import{RenderCoordsHelper as y}from"../views/3d/support/RenderCoordsHelper.js";import{isSpatialReferenceSupported as h}from"../views/support/spatialReferenceSupport.js";import m from"../widgets/Slice/SlicePlane.js";var f;const x=i.getLogger("esri.analysis.Slice");let b=f=class extends t{constructor(e){super(e),this.type="slice",this.tiltEnabled=!1,this.shape=null,this.excludeGroundSurface=!1}get extent(){if(a(this.shape)||a(this.shape.position))return null;const e=this.shape.position.spatialReference;let t=null,s=null;if(h(e,2)){const s=y.create(2,d(!1,e));t=u(this.shape,s,{tiltEnabled:this.tiltEnabled})}if(h(e,1)){const t=y.create(1,d(!0,e));s=u(this.shape,t,{tiltEnabled:this.tiltEnabled})}return n(t)&&n(s)?t.union(s):a(t)&&a(s)?(x.warnOnce(`Extent of slice analysis (title: '${null!=(o=this.title)?o:"no title"}', id: '${null!=(r=this.id)?r:"no id"}') could not be computed as the spatial reference of the shape (wkid: '${null!=(l=e.wkid)?l:"no wkid"}') is not supported by the view`),null):a(t)?s:t;var o,r,l}clone(){return new f({tiltEnabled:this.tiltEnabled,shape:l(this.shape),excludedLayers:this.excludedLayers.slice(),excludeGroundSurface:this.excludeGroundSurface,...this.cloneBaseAnalysisProperties()})}get excludedLayers(){return this._get("excludedLayers")||new s}set excludedLayers(e){this._set("excludedLayers",r(e,this._get("excludedLayers")))}};e([p({readOnly:!0})],b.prototype,"type",void 0),e([p({readOnly:!0})],b.prototype,"extent",null),e([p()],b.prototype,"tiltEnabled",void 0),e([p({types:{key:"type",base:null,typeMap:{plane:m},defaultKeyValue:"plane"}})],b.prototype,"shape",void 0),e([p({cast:o})],b.prototype,"excludedLayers",null),e([p({type:Boolean,nonNullable:!0})],b.prototype,"excludeGroundSurface",void 0),b=f=e([c("esri.analysis.Slice")],b);const j=b;export{j as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"../../core/Logger.js";import{isHostedAgolService as
|
|
5
|
+
import t from"../../core/Logger.js";import{isHostedAgolService as e}from"../../layers/support/arcgisLayerUrl.js";import{renderSVG as r}from"../../symbols/support/svgUtils.js";import{viewingModeFromString as n}from"../../views/ViewingMode.js";import{isSpatialReferenceSupported as o}from"../../views/support/spatialReferenceSupport.js";async function a(t,e,r="awaiting-feature-creation-info"){await t.startBatchCreateWorkflow(e,r)}function i(t){return t.numberOfFeatureTemplates}function u(t){const e=t.activeWorkflow;return"batch-create"===(null==e?void 0:e.type)?e.numPendingFeatures:0}function s(t){return t.state}function c(t){var e;return null==(e=t.activeWorkflow)?void 0:e.type}const f=t.getLogger("sceneViewer.appState.saveState");function p(t,e){return f.warn(t,e)}function l(t){return e(t)}function m(t,e,n,o){return r(t,e,n,o)}function g(t){return!t.canNotSaveAs()}function v(t,e){return o(t,n(e))}export{u as batchCreateGetNumPendingFeatures,g as canSaveAs,s as getActiveWorkflowState,c as getActiveWorkflowType,l as isHostedAgolServiceUrl,v as isSpatialReferenceSupported,i as numberOfFeatureTemplates,m as renderSVG,p as saveStateWarning,a as startBatchCreateWorkflow};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{FeatureServiceDatabaseType as e}from"./shared.js";import{toWhereClauseFromTree as r}from"./sqlUtils.js";import{WhereClause as t}from"../../../core/sql/WhereClause.js";function
|
|
5
|
+
import{FeatureServiceDatabaseType as e}from"./shared.js";import{toWhereClauseFromTree as r}from"./sqlUtils.js";import{WhereClause as t}from"../../../core/sql/WhereClause.js";function a(a){if("function"===a.parseTree.type){if(0===a.parseTree.args.value.length)return{name:a.parseTree.name,expr:null};if(a.parseTree.args.value.length>1)throw new Error("Statistic does not have 1 or 0 Parameters");const n=t.create(r(a.parseTree.args.value[0],e.Standardised,a.parameters),a.fieldsIndex);return{name:a.parseTree.name,expr:n}}return null}class n{clone(){const e=new n;return e.field=this.field,e.tofieldname=this.tofieldname,e.typeofstat=this.typeofstat,e.workingexpr=this.workingexpr,e}static parseStatField(e,r,i){const s=new n;s.field=e;const o=t.create(r,i),l=a(o);if(null===l)throw new Error("Invalid Statistic Function");const p=l.name.toUpperCase().trim();if("MIN"===p){if(s.typeofstat="MIN",s.workingexpr=l.expr,null===o)throw new Error("Invalid Statistic Function Parameters")}else if("MAX"===p){if(s.typeofstat="MAX",s.workingexpr=l.expr,null===o)throw new Error("Invalid Statistic Function Parameters")}else if("COUNT"===p)s.typeofstat="COUNT",s.workingexpr=l.expr;else if("STDEV"===p){if(s.typeofstat="STDDEV",s.workingexpr=l.expr,null===o)throw new Error("Invalid Statistic Function Parameters")}else if("SUM"===p){if(s.typeofstat="SUM",s.workingexpr=l.expr,null===o)throw new Error("Invalid Statistic Function Parameters")}else if("MEAN"===p){if(s.typeofstat="AVG",s.workingexpr=l.expr,null===o)throw new Error("Invalid Statistic Function Parameters")}else if("AVG"===p){if(s.typeofstat="AVG",s.workingexpr=l.expr,null===o)throw new Error("Invalid Statistic Function Parameters")}else{if("VAR"!==p)throw new Error("Invalid Statistic Function");if(s.typeofstat="VAR",s.workingexpr=l.expr,null===o)throw new Error("Invalid Statistic Function Parameters")}return s}toStatisticsName(){switch(this.typeofstat.toUpperCase()){case"MIN":return"min";case"MAX":return"max";case"SUM":return"sum";case"COUNT":default:return"count";case"VAR":return"var";case"STDDEV":return"stddev";case"AVG":return"avg"}}}export{n as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{create as e,resolve as r,reject as t}from"../../../core/promiseUtils.js";import i from"../../../geometry/Extent.js";import n from"../../../layers/support/Field.js";var o,l;function s(e){return n.fromJSON(e.toJSON())}function y(e){return e.toJSON()}function u(e){return"string"==typeof e||e instanceof String}function p(e){return"boolean"==typeof e}function c(e){return"number"==typeof e}function a(e){return e instanceof Array}function m(e){return e instanceof Date}function f(e,r){return e===r||!(!m(e)||!m(r))&&e.getTime()===r.getTime()}function d(e){const r={};for(const t in e)r[t]=e[t];return r}function g(e){if(void 0===e)return null;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 109404;case"miles":case"mile":return 109413;case"kilometers":case"kilometer":case"km":return 109414}return null}function F(e){if(null===e)return null;switch(e.type){case"polygon":case"multipoint":case"polyline":return e.extent;case"point":return new i({xmin:e.x,ymin:e.y,xmax:e.x,ymax:e.y,spatialReference:e.spatialReference});case"extent":return e}return null}function G(e){if(void 0===e)return null;if("number"==typeof e)return e;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 9001;case"miles":case"mile":return 9035;case"kilometers":case"kilometer":case"km":return 9036}return null}function T(e,r){return e===r||("point"===e&&"esriGeometryPoint"===r||("polyline"===e&&"esriGeometryPolyline"===r||("polygon"===e&&"esriGeometryPolygon"===r||("extent"===e&&"esriGeometryEnvelope"===r||("multipoint"===e&&"esriGeometryMultipoint"===r||("point"===r&&"esriGeometryPoint"===e||("polyline"===r&&"esriGeometryPolyline"===e||("polygon"===r&&"esriGeometryPolygon"===e||("extent"===r&&"esriGeometryEnvelope"===e||"multipoint"===r&&"esriGeometryMultipoint"===e)))))))))}!function(e){e[e.Standardised=0]="Standardised",e[e.StandardisedNoInterval=1]="StandardisedNoInterval",e[e.SqlServer=2]="SqlServer",e[e.Oracle=3]="Oracle",e[e.Postgres=4]="Postgres",e[e.PGDB=5]="PGDB",e[e.FILEGDB=6]="FILEGDB",e[e.NotEvaluated=7]="NotEvaluated"}(o||(o={})),function(e){e[e.InFeatureSet=0]="InFeatureSet",e[e.NotInFeatureSet=1]="NotInFeatureSet",e[e.Unknown=2]="Unknown"}(l||(l={}));const S=1e3;function v(e){return function(r){e.reject(r)}}function P(e,r){return function(){try{e.apply(null,arguments)}catch(t){r.reject(t)}}}const I={point:"point",polygon:"polygon",polyline:"polyline",multipoint:"multipoint",extent:"extent",esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint",esriGeometryEnvelope:"extent",envelope:"extent"},b={point:"esriGeometryPoint",polygon:"esriGeometryPolygon",polyline:"esriGeometryPolyline",multipoint:"esriGeometryMultipoint",extent:"esriGeometryEnvelope",esriGeometryPoint:"esriGeometryPoint",esriGeometryPolygon:"esriGeometryPolygon",esriGeometryPolyline:"esriGeometryPolyline",esriGeometryMultipoint:"esriGeometryMultipoint",esriGeometryEnvelope:"esriGeometryEnvelope",envelope:"esriGeometryEnvelope"},D={"small-integer":"esriFieldTypeSmallInteger",integer:"esriFieldTypeInteger",long:"esriFieldTypeLong",single:"esriFieldTypeSingle",double:"esriFieldTypeDouble",string:"esriFieldTypeString",date:"esriFieldTypeDate",oid:"esriFieldTypeOID",geometry:"esriFieldTypeGeometry",blob:"esriFieldTypeBlob",raster:"esriFieldTypeRaster",guid:"esriFieldTypeGUID","global-id":"esriFieldTypeGlobalID",xml:"eesriFieldTypeXML",esriFieldTypeSmallInteger:"esriFieldTypeSmallInteger",esriFieldTypeInteger:"esriFieldTypeInteger",esriFieldTypeLong:"esriFieldTypeLong",esriFieldTypeSingle:"esriFieldTypeSingle",esriFieldTypeDouble:"esriFieldTypeDouble",esriFieldTypeString:"esriFieldTypeString",esriFieldTypeDate:"esriFieldTypeDate",esriFieldTypeOID:"esriFieldTypeOID",esriFieldTypeGeometry:"esriFieldTypeGeometry",esriFieldTypeBlob:"esriFieldTypeBlob",esriFieldTypeRaster:"esriFieldTypeRaster",esriFieldTypeGUID:"esriFieldTypeGUID",esriFieldTypeGlobalID:"esriFieldTypeGlobalID",esriFieldTypeXML:"eesriFieldTypeXML"};function x(e){switch(e){default:return"esriGeometryPoint";case"polygon":return"esriGeometryPolygon";case"multipoint":return"esriGeometryMultipoint";case"polyline":return"esriGeometryPolyline"}}function O(i,n){return e(((e,o)=>{const l=r(!0);i.reduce(((e,r,i,o)=>e.then((e=>{try{return n(e,r,i,o)}catch(l){return t(l)}}),(e=>t(e)))),l).then(e,o)}))}function N(e){return void 0===e?"":e=(e=(e=e.replace(/\/featureserver\/[0-9]*/i,"/FeatureServer")).replace(/\/mapserver\/[0-9]*/i,"/MapServer")).split("?")[0]}function E(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});const t="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(n=r.cmp,function(e){return function(r,t){const i={key:r,value:e[r]},o={key:t,value:e[t]};return n(i,o)}});var n;const o=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);let n,l;if(Array.isArray(r)){for(l="[",n=0;n<r.length;n++)n&&(l+=","),l+=e(r[n])||"null";return l+"]"}if(null===r)return"null";if(-1!==o.indexOf(r)){if(t)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}const s=o.push(r)-1,y=Object.keys(r).sort(i&&i(r));for(l="",n=0;n<y.length;n++){const t=y[n],i=e(r[t]);i&&(l&&(l+=","),l+=JSON.stringify(t)+":"+i)}return o.splice(s,1),"{"+l+"}"}(e)}export{o as FeatureServiceDatabaseType,l as IdState,P as callback,d as cloneAttributes,s as cloneField,G as convertLinearUnitsToCode,g as convertSquareUnitsToCode,S as defaultMaxRecords,f as equalityTest,v as errback,y as esriFieldToJson,N as extractServiceUrl,a as isArray,p as isBoolean,m as isDate,c as isNumber,u as isString,D as layerFieldEsriConstants,I as layerGeometryEsriConstants,b as layerGeometryEsriRestConstants,O as reduceArrayWithPromises,T as sameGeomType,F as shapeExtent,E as stableStringify,x as toEsriGeometryType};
|
|
5
|
+
import{create as e,resolve as r,reject as t}from"../../../core/promiseUtils.js";import i from"../../../geometry/Extent.js";import n from"../../../layers/support/Field.js";var o,l;function s(e){return n.fromJSON(e.toJSON())}function y(e){return e.toJSON()}function u(e){return"string"==typeof e||e instanceof String}function p(e){return"boolean"==typeof e}function c(e){return"number"==typeof e}function a(e){return e instanceof Array}function m(e){return e instanceof Date}function f(e,r){return e===r||!(!m(e)||!m(r))&&e.getTime()===r.getTime()}function d(e){const r={};for(const t in e)r[t]=e[t];return r}function g(e){if(void 0===e)return null;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 109404;case"miles":case"mile":return 109413;case"kilometers":case"kilometer":case"km":return 109414}return null}function F(e){if(null===e)return null;switch(e.type){case"polygon":case"multipoint":case"polyline":return e.extent;case"point":return new i({xmin:e.x,ymin:e.y,xmax:e.x,ymax:e.y,spatialReference:e.spatialReference});case"extent":return e}return null}function G(e){if(void 0===e)return null;if("number"==typeof e)return e;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 9001;case"miles":case"mile":return 9035;case"kilometers":case"kilometer":case"km":return 9036}return null}function T(e,r){return e===r||("point"===e&&"esriGeometryPoint"===r||("polyline"===e&&"esriGeometryPolyline"===r||("polygon"===e&&"esriGeometryPolygon"===r||("extent"===e&&"esriGeometryEnvelope"===r||("multipoint"===e&&"esriGeometryMultipoint"===r||("point"===r&&"esriGeometryPoint"===e||("polyline"===r&&"esriGeometryPolyline"===e||("polygon"===r&&"esriGeometryPolygon"===e||("extent"===r&&"esriGeometryEnvelope"===e||"multipoint"===r&&"esriGeometryMultipoint"===e)))))))))}!function(e){e[e.Standardised=0]="Standardised",e[e.StandardisedNoInterval=1]="StandardisedNoInterval",e[e.SqlServer=2]="SqlServer",e[e.Oracle=3]="Oracle",e[e.Postgres=4]="Postgres",e[e.PGDB=5]="PGDB",e[e.FILEGDB=6]="FILEGDB",e[e.NotEvaluated=7]="NotEvaluated"}(o||(o={})),function(e){e[e.InFeatureSet=0]="InFeatureSet",e[e.NotInFeatureSet=1]="NotInFeatureSet",e[e.Unknown=2]="Unknown"}(l||(l={}));const S=1e3;function v(e){return function(r){e.reject(r)}}function P(e,r){return function(){try{e.apply(null,arguments)}catch(t){r.reject(t)}}}const I={point:"point",polygon:"polygon",polyline:"polyline",multipoint:"multipoint",extent:"extent",esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint",esriGeometryEnvelope:"extent",envelope:"extent"},b={point:"esriGeometryPoint",polygon:"esriGeometryPolygon",polyline:"esriGeometryPolyline",multipoint:"esriGeometryMultipoint",extent:"esriGeometryEnvelope",esriGeometryPoint:"esriGeometryPoint",esriGeometryPolygon:"esriGeometryPolygon",esriGeometryPolyline:"esriGeometryPolyline",esriGeometryMultipoint:"esriGeometryMultipoint",esriGeometryEnvelope:"esriGeometryEnvelope",envelope:"esriGeometryEnvelope"},D={"small-integer":"esriFieldTypeSmallInteger",integer:"esriFieldTypeInteger",long:"esriFieldTypeLong",single:"esriFieldTypeSingle",double:"esriFieldTypeDouble",string:"esriFieldTypeString",date:"esriFieldTypeDate",oid:"esriFieldTypeOID",geometry:"esriFieldTypeGeometry",blob:"esriFieldTypeBlob",raster:"esriFieldTypeRaster",guid:"esriFieldTypeGUID","global-id":"esriFieldTypeGlobalID",xml:"eesriFieldTypeXML",esriFieldTypeSmallInteger:"esriFieldTypeSmallInteger",esriFieldTypeInteger:"esriFieldTypeInteger",esriFieldTypeLong:"esriFieldTypeLong",esriFieldTypeSingle:"esriFieldTypeSingle",esriFieldTypeDouble:"esriFieldTypeDouble",esriFieldTypeString:"esriFieldTypeString",esriFieldTypeDate:"esriFieldTypeDate",esriFieldTypeOID:"esriFieldTypeOID",esriFieldTypeGeometry:"esriFieldTypeGeometry",esriFieldTypeBlob:"esriFieldTypeBlob",esriFieldTypeRaster:"esriFieldTypeRaster",esriFieldTypeGUID:"esriFieldTypeGUID",esriFieldTypeGlobalID:"esriFieldTypeGlobalID",esriFieldTypeXML:"eesriFieldTypeXML"};function x(e){switch(e){case"point":default:return"esriGeometryPoint";case"polygon":return"esriGeometryPolygon";case"multipoint":return"esriGeometryMultipoint";case"polyline":return"esriGeometryPolyline"}}function O(i,n){return e(((e,o)=>{const l=r(!0);i.reduce(((e,r,i,o)=>e.then((e=>{try{return n(e,r,i,o)}catch(l){return t(l)}}),(e=>t(e)))),l).then(e,o)}))}function N(e){return void 0===e?"":e=(e=(e=e.replace(/\/featureserver\/[0-9]*/i,"/FeatureServer")).replace(/\/mapserver\/[0-9]*/i,"/MapServer")).split("?")[0]}function E(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});const t="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(n=r.cmp,function(e){return function(r,t){const i={key:r,value:e[r]},o={key:t,value:e[t]};return n(i,o)}});var n;const o=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);let n,l;if(Array.isArray(r)){for(l="[",n=0;n<r.length;n++)n&&(l+=","),l+=e(r[n])||"null";return l+"]"}if(null===r)return"null";if(-1!==o.indexOf(r)){if(t)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}const s=o.push(r)-1,y=Object.keys(r).sort(i&&i(r));for(l="",n=0;n<y.length;n++){const t=y[n],i=e(r[t]);i&&(l&&(l+=","),l+=JSON.stringify(t)+":"+i)}return o.splice(s,1),"{"+l+"}"}(e)}export{o as FeatureServiceDatabaseType,l as IdState,P as callback,d as cloneAttributes,s as cloneField,G as convertLinearUnitsToCode,g as convertSquareUnitsToCode,S as defaultMaxRecords,f as equalityTest,v as errback,y as esriFieldToJson,N as extractServiceUrl,a as isArray,p as isBoolean,m as isDate,c as isNumber,u as isString,D as layerFieldEsriConstants,I as layerGeometryEsriConstants,b as layerGeometryEsriRestConstants,O as reduceArrayWithPromises,T as sameGeomType,F as shapeExtent,E as stableStringify,x as toEsriGeometryType};
|
package/arcade/functions/date.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{p as e,z as n,t,E as r,d as u,F as s,f as o,G as a,H as c}from"../../chunks/languageUtils.js";import{getLocale as i}from"../../intl/locale.js";import{DateTime as l}from"luxon";function f(e){const n=new Date(e.getTime()),t=n.getFullYear(),r=new Date(0);r.setFullYear(t+1,0,4),r.setHours(0,0,0,0);const u=g(r),s=new Date(0);s.setFullYear(t,0,4),s.setHours(0,0,0,0);const o=g(s);return n.getTime()>=u.getTime()?t+1:n.getTime()>=o.getTime()?t:t-1}function g(e){const n=1,t=new Date(e.getTime()),r=t.getDay(),u=(r<n?7:0)+r-n;return t.setDate(t.getDate()-u),t.setHours(0,0,0,0),t}function d(e){const n=f(e),t=new Date(0);t.setFullYear(n,0,4),t.setHours(0,0,0,0);return g(t)}function m(e,n,t){return e+(h(t)?D:N)[n]}function h(e){return e%4==0&&(e%100!=0||e%400==0)}const N=[0,31,59,90,120,151,181,212,243,273,304,334],D=[0,31,60,91,121,152,182,213,244,274,305,335];function w(e){return null===e?e:isNaN(e.getTime())?null:e}function y(h,N){h.today=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);const u=new Date;return u.setHours(0,0,0,0),u}))},h.now=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);return new Date}))},h.timestamp=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);let u=new Date;return u=new Date(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),u}))},h.toutc=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?null:new Date(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds())}))},h.tolocal=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?null:l.utc(s.getFullYear(),s.getMonth()+1,s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds(),s.getMilliseconds()).toJSDate()}))},h.day=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getDate()}))},h.month=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMonth()}))},h.year=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getFullYear()}))},h.hour=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getHours()}))},h.second=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getSeconds()}))},h.millisecond=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMilliseconds()}))},h.minute=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMinutes()}))},h.week=function(u,s){return N(u,s,(function(u,s,o){e(o,1,2);const a=n(o[0]);if(null===a)return NaN;const c=t(r(o[1],0));if(c<0||c>6)throw new Error("Invalid Parameter");const i=a.getDate(),l=a.getMonth(),f=a.getFullYear(),g=a.getDay(),d=m(i,l,f)-1,h=Math.floor(d/7);return g-c+(g-c<0?7:0)<d-7*h?h+1:h}))},h.weekday=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getDay()}))},h.isoweekday=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);if(null===s)return NaN;let o=s.getDay();return 0===o&&(o=7),o}))},h.isomonth=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMonth()+1}))},h.isoweek=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);if(null===s)return NaN;const o=g(s).getTime()-d(s).getTime();return Math.round(o/6048e5)+1}))},h.isoyear=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:f(s)}))},h.date=function(r,a){return N(r,a,(function(r,a,c){if(e(c,0,7),3===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),0,0,0,0));if(4===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),0,0,0));if(5===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),0,0));if(6===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),t(c[5]),0));if(7===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),t(c[5]),t(c[6])));if(2===c.length){let e,n=u(c[1]);return""===n?null:(n=s(n),e="X"===n?l.fromSeconds(t(c[0])):"x"===n?l.fromMillis(t(c[0])):l.fromFormat(u(c[0]),n,{locale:i(),numberingSystem:"latn"}),e.isValid?e.toJSDate():null)}if(1===c.length){if(o(c[0])){if(""===c[0].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(c[0]))return n(c[0]+"-01-01")}const e=t(c[0]);if(!1===isNaN(e))return w(new Date(e));return n(c[0])}return 0===c.length?new Date:void 0}))},h.datediff=function(n,t){return N(n,t,(function(n,t,r){e(r,2,3);const s=a(r[0]),o=a(r[1]);if(null===s||null===o)return NaN;switch(u(r[2]).toLowerCase()){case"days":case"day":case"d":return s.diff(o,"days").days;case"months":case"month":return s.diff(o,"months").months;case"minutes":case"minute":case"m":return"M"===r[2]?s.diff(o,"months").months:s.diff(o,"minutes").minutes;case"seconds":case"second":case"s":return s.diff(o,"seconds").seconds;default:return s.diff(o).milliseconds;case"hours":case"hour":case"h":return s.diff(o,"hours").hours;case"years":case"year":case"y":return s.diff(o,"years").years}}))},h.dateadd=function(n,r){return N(n,r,(function(n,r,s){e(s,2,3);const o=a(s[0]);if(null===o)return null;let i=t(s[1]);if(isNaN(i))return o.toJSDate();let l="milliseconds";switch(u(s[2]).toLowerCase()){case"days":case"day":case"d":l="days",i=c(i);break;case"months":case"month":l="months",i=c(i);break;case"minutes":case"minute":case"m":l="M"===s[2]?"months":"minutes";break;case"seconds":case"second":case"s":l="seconds";break;case"milliseconds":case"millisecond":case"ms":l="milliseconds";break;case"hours":case"hour":case"h":l="hours";break;case"years":case"year":case"y":l="years"}return o.plus({[l]:i}).toJSDate()}))}}export{y as registerFunctions};
|
|
5
|
+
import{p as e,z as n,t,E as r,d as u,F as s,f as o,G as a,H as c}from"../../chunks/languageUtils.js";import{getLocale as i}from"../../intl/locale.js";import{DateTime as l}from"luxon";function f(e){const n=new Date(e.getTime()),t=n.getFullYear(),r=new Date(0);r.setFullYear(t+1,0,4),r.setHours(0,0,0,0);const u=g(r),s=new Date(0);s.setFullYear(t,0,4),s.setHours(0,0,0,0);const o=g(s);return n.getTime()>=u.getTime()?t+1:n.getTime()>=o.getTime()?t:t-1}function g(e){const n=1,t=new Date(e.getTime()),r=t.getDay(),u=(r<n?7:0)+r-n;return t.setDate(t.getDate()-u),t.setHours(0,0,0,0),t}function d(e){const n=f(e),t=new Date(0);t.setFullYear(n,0,4),t.setHours(0,0,0,0);return g(t)}function m(e,n,t){return e+(h(t)?D:N)[n]}function h(e){return e%4==0&&(e%100!=0||e%400==0)}const N=[0,31,59,90,120,151,181,212,243,273,304,334],D=[0,31,60,91,121,152,182,213,244,274,305,335];function w(e){return null===e?e:isNaN(e.getTime())?null:e}function y(h,N){h.today=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);const u=new Date;return u.setHours(0,0,0,0),u}))},h.now=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);return new Date}))},h.timestamp=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);let u=new Date;return u=new Date(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),u}))},h.toutc=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?null:new Date(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds())}))},h.tolocal=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?null:l.utc(s.getFullYear(),s.getMonth()+1,s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds(),s.getMilliseconds()).toJSDate()}))},h.day=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getDate()}))},h.month=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMonth()}))},h.year=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getFullYear()}))},h.hour=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getHours()}))},h.second=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getSeconds()}))},h.millisecond=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMilliseconds()}))},h.minute=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMinutes()}))},h.week=function(u,s){return N(u,s,(function(u,s,o){e(o,1,2);const a=n(o[0]);if(null===a)return NaN;const c=t(r(o[1],0));if(c<0||c>6)throw new Error("Invalid Parameter");const i=a.getDate(),l=a.getMonth(),f=a.getFullYear(),g=a.getDay(),d=m(i,l,f)-1,h=Math.floor(d/7);return g-c+(g-c<0?7:0)<d-7*h?h+1:h}))},h.weekday=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getDay()}))},h.isoweekday=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);if(null===s)return NaN;let o=s.getDay();return 0===o&&(o=7),o}))},h.isomonth=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMonth()+1}))},h.isoweek=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);if(null===s)return NaN;const o=g(s).getTime()-d(s).getTime();return Math.round(o/6048e5)+1}))},h.isoyear=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:f(s)}))},h.date=function(r,a){return N(r,a,(function(r,a,c){if(e(c,0,7),3===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),0,0,0,0));if(4===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),0,0,0));if(5===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),0,0));if(6===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),t(c[5]),0));if(7===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),t(c[5]),t(c[6])));if(2===c.length){let e,n=u(c[1]);return""===n?null:(n=s(n),e="X"===n?l.fromSeconds(t(c[0])):"x"===n?l.fromMillis(t(c[0])):l.fromFormat(u(c[0]),n,{locale:i(),numberingSystem:"latn"}),e.isValid?e.toJSDate():null)}if(1===c.length){if(o(c[0])){if(""===c[0].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(c[0]))return n(c[0]+"-01-01")}const e=t(c[0]);if(!1===isNaN(e))return w(new Date(e));return n(c[0])}return 0===c.length?new Date:void 0}))},h.datediff=function(n,t){return N(n,t,(function(n,t,r){e(r,2,3);const s=a(r[0]),o=a(r[1]);if(null===s||null===o)return NaN;switch(u(r[2]).toLowerCase()){case"days":case"day":case"d":return s.diff(o,"days").days;case"months":case"month":return s.diff(o,"months").months;case"minutes":case"minute":case"m":return"M"===r[2]?s.diff(o,"months").months:s.diff(o,"minutes").minutes;case"seconds":case"second":case"s":return s.diff(o,"seconds").seconds;case"milliseconds":case"millisecond":case"ms":default:return s.diff(o).milliseconds;case"hours":case"hour":case"h":return s.diff(o,"hours").hours;case"years":case"year":case"y":return s.diff(o,"years").years}}))},h.dateadd=function(n,r){return N(n,r,(function(n,r,s){e(s,2,3);const o=a(s[0]);if(null===o)return null;let i=t(s[1]);if(isNaN(i))return o.toJSDate();let l="milliseconds";switch(u(s[2]).toLowerCase()){case"days":case"day":case"d":l="days",i=c(i);break;case"months":case"month":l="months",i=c(i);break;case"minutes":case"minute":case"m":l="M"===s[2]?"months":"minutes";break;case"seconds":case"second":case"s":l="seconds";break;case"milliseconds":case"millisecond":case"ms":l="milliseconds";break;case"hours":case"hour":case"h":l="hours";break;case"years":case"year":case"y":l="years"}return o.plus({[l]:i}).toJSDate()}))}}export{y as registerFunctions};
|
package/arcade/treeAnalysis.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.22/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const e={all:{min:"2",max:"2"},none:{min:"2",max:"2"},any:{min:"2",max:"2"},reduce:{min:"2",max:"3"},map:{min:"2",max:"2"},filter:{min:"2",max:"2"},fromcodepoint:{min:"1",max:"*"},fromcharcode:{min:"1",max:"*"},tocodepoint:{min:"1",max:"2"},tocharcode:{min:"1",max:"2"},concatenate:{min:"0",max:"*"},expects:{min:"1",max:"*"},getfeatureset:{min:"1",max:"2"},week:{min:"1",max:"2"},fromjson:{min:"1",max:"1"},length3d:{min:"1",max:"2"},tohex:{min:"1",max:"1"},hash:{min:"1",max:"1"},isoweek:{min:"1",max:"1"},isoweekday:{min:"1",max:"1"},isomonth:{min:"1",max:"1"},isoyear:{min:"1",max:"1"},resize:{min:"2",max:"3"},slice:{min:"0",max:"*"},splice:{min:"0",max:"*"},push:{min:"2",max:"2"},pop:{min:"1",max:"1"},includes:{min:"2",max:"2"},array:{min:"1",max:"2"},front:{min:"1",max:"1"},back:{min:"1",max:"1"},insert:{min:"3",max:"3"},erase:{min:"2",max:"2"},split:{min:"2",max:"4"},guid:{min:"0",max:"1"},today:{min:"0",max:"0"},angle:{min:"2",max:"3"},bearing:{min:"2",max:"3"},urlencode:{min:"1",max:"1"},now:{min:"0",max:"0"},timestamp:{min:"0",max:"0"},day:{min:"1",max:"1"},month:{min:"1",max:"1"},year:{min:"1",max:"1"},hour:{min:"1",max:"1"},second:{min:"1",max:"1"},millisecond:{min:"1",max:"1"},minute:{min:"1",max:"1"},weekday:{min:"1",max:"1"},toutc:{min:"1",max:"1"},tolocal:{min:"1",max:"1"},date:{min:"0",max:"7"},datediff:{min:"2",max:"3"},dateadd:{min:"2",max:"3"},trim:{min:"1",max:"1"},text:{min:"1",max:"2"},left:{min:"2",max:"2"},right:{min:"2",max:"2"},mid:{min:"2",max:"3"},upper:{min:"1",max:"1"},proper:{min:"1",max:"2"},lower:{min:"1",max:"1"},find:{min:"2",max:"3"},iif:{min:"3",max:"3"},decode:{min:"2",max:"*"},when:{min:"2",max:"*"},defaultvalue:{min:"2",max:"2"},isempty:{min:"1",max:"1"},domaincode:{min:"2",max:"4"},domainname:{min:"2",max:"4"},polygon:{min:"1",max:"1"},point:{min:"1",max:"1"},polyline:{min:"1",max:"1"},extent:{min:"1",max:"1"},multipoint:{min:"1",max:"1"},ringisclockwise:{min:"1",max:"1"},geometry:{min:"1",max:"1"},count:{min:"0",max:"*"},number:{min:"1",max:"2"},acos:{min:"1",max:"1"},asin:{min:"1",max:"1"},atan:{min:"1",max:"1"},atan2:{min:"2",max:"2"},ceil:{min:"1",max:"2"},floor:{min:"1",max:"2"},round:{min:"1",max:"2"},cos:{min:"1",max:"1"},exp:{min:"1",max:"1"},log:{min:"1",max:"1"},min:{min:"0",max:"*"},constrain:{min:"3",max:"3"},console:{min:"0",max:"*"},max:{min:"0",max:"*"},pow:{min:"2",max:"2"},random:{min:"0",max:"0"},sqrt:{min:"1",max:"1"},sin:{min:"1",max:"1"},tan:{min:"1",max:"1"},abs:{min:"1",max:"1"},isnan:{min:"1",max:"1"},stdev:{min:"0",max:"*"},average:{min:"0",max:"*"},mean:{min:"0",max:"*"},sum:{min:"0",max:"*"},variance:{min:"0",max:"*"},distinct:{min:"0",max:"*"},first:{min:"1",max:"1"},top:{min:"2",max:"2"},boolean:{min:"1",max:"1"},dictionary:{min:"0",max:"*"},typeof:{min:"1",max:"1"},reverse:{min:"1",max:"1"},replace:{min:"3",max:"4"},sort:{min:"1",max:"2"},feature:{min:"1",max:"*"},haskey:{min:"2",max:"2"},indexof:{min:"2",max:"2"},disjoint:{min:"2",max:"2"},intersects:{min:"2",max:"2"},touches:{min:"2",max:"2"},crosses:{min:"2",max:"2"},within:{min:"2",max:"2"},contains:{min:"2",max:"2"},overlaps:{min:"2",max:"2"},equals:{min:"2",max:"2"},relate:{min:"3",max:"3"},intersection:{min:"2",max:"2"},union:{min:"1",max:"2"},difference:{min:"2",max:"2"},symmetricdifference:{min:"2",max:"2"},clip:{min:"2",max:"2"},cut:{min:"2",max:"2"},area:{min:"1",max:"2"},areageodetic:{min:"1",max:"2"},length:{min:"1",max:"2"},lengthgeodetic:{min:"1",max:"2"},distancegeodetic:{min:"2",max:"3"},distance:{min:"2",max:"3"},densify:{min:"2",max:"3"},densifygeodetic:{min:"2",max:"3"},generalize:{min:"2",max:"4"},buffer:{min:"2",max:"3"},buffergeodetic:{min:"2",max:"3"},offset:{min:"2",max:"6"},rotate:{min:"2",max:"3"},issimple:{min:"1",max:"1"},simplify:{min:"1",max:"1"},centroid:{min:"1",max:"1"},isselfintersecting:{min:"1",max:"1"},multiparttosinglepart:{min:"1",max:"1"},setgeometry:{min:"2",max:"2"},portal:{min:"1",max:"1"},getuser:{min:"1",max:"2"},subtypes:{min:"1",max:"1"},subtypecode:{min:"1",max:"1"},subtypename:{min:"1",max:"1"},domain:{min:"2",max:"3"},convertdirection:{min:"3",max:"3"},schema:{min:"1",max:"1"}};for(const R in e)e[R].fmin=e[R].min,e[R].fmax=e[R].max;const t=["featureset","getuser","featuresetbyid","featuresetbyname","featuresetbyassociation","featuresetbyrelationshipname","featuresetbyurl","getfeatureset","attachments","featuresetbyportalitem"],n=["disjoint","intersects","touches","crosses","within","contains","overlaps","equals","relate","intersection","union","difference","symmetricdifference","clip","cut","area","areageodetic","length","length3d","lengthgeodetic","distance","distancegeodetic","densify","densifygeodetic","generalize","buffer","buffergeodetic","offset","rotate","issimple","simplify","multiparttosinglepart"];function a(e){return"string"==typeof e||e instanceof String}function r(t,n){const a=e[t.name.toLowerCase()];void 0===a?e[t.name.toLowerCase()]="sync"===n?{min:t.min,max:t.max}:{fmin:t.min,fmax:t.max}:"sync"===n?(a.min=t.min,a.max=t.max):(a.fmin=t.min,a.fmax=t.max)}function i(e,t){return"0"!==e.min&&t.length<Number(e.min)||"*"!==e.max&&t.length>Number(e.max)?-2:1}function s(e,t,n){if(null!==n.localScope&&void 0!==n.localScope[e.toLowerCase()]){const a=n.localScope[e.toLowerCase()];if("FormulaFunction"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t);if("any"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t)}if(void 0!==n.globalScope[e.toLowerCase()]){const a=n.globalScope[e.toLowerCase()];if("FormulaFunction"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t);if("any"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t)}return-1}function o(e,t){if(e)for(const n of e)l(n,t)}function l(e,t){if(e&&!1!==t(e))switch(e.type){case"ArrayExpression":o(e.elements,t);break;case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":l(e.left,t),l(e.right,t);break;case"BlockStatement":case"Program":o(e.body,t);break;case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"Identifier":case"Literal":break;case"CallExpression":l(e.callee,t),o(e.arguments,t);break;case"ExpressionStatement":l(e.expression,t);break;case"ForInStatement":l(e.left,t),l(e.right,t),l(e.body,t);break;case"ForStatement":l(e.init,t),l(e.test,t),l(e.update,t),l(e.body,t);break;case"FunctionDeclaration":l(e.id,t),o(e.params,t),l(e.body,t);break;case"IfStatement":l(e.test,t),l(e.consequent,t),l(e.alternate,t);break;case"MemberExpression":l(e.object,t),l(e.property,t);break;case"ObjectExpression":o(e.properties,t);break;case"Property":l(e.key,t),l(e.value,t);break;case"ReturnStatement":case"UnaryExpression":case"UpdateExpression":l(e.argument,t);break;case"VariableDeclaration":o(e.declarations,t);break;case"VariableDeclarator":l(e.id,t),l(e.init,t);break;case"TemplateLiteral":o(e.expressions,t),o(e.quasis,t)}}function m(e,t=!0){let n=b(e,"SYNTAX","UNREOGNISED");try{switch(e.type){case"VariableDeclarator":return"Identifier"!==e.id.type?b(e,"SYNTAX","VARIABLEMUSTHAVEIDENTIFIER"):null!==e.init?m(e.init,!1):"";case"VariableDeclaration":for(let a=0;a<e.declarations.length;a++)if(n=m(e.declarations[a],t),""!==n)return n;return"";case"ForInStatement":if(n=m(e.left,t),""!==n)return n;if("VariableDeclaration"===e.left.type){if(e.left.declarations.length>1)return b(e,"SYNTAX","ONLY1VAR");if(null!==e.left.declarations[0].init)return b(e,"SYNTAX","CANNOTDECLAREVAL")}else if("Identifier"!==e.left.type)return b(e,"SYNTAX","LEFTNOTVAR");return n=m(e.right,t),""!==n?n:(n=m(e.body,t),""!==n?n:"");case"ForStatement":return null!==e.test&&(n=m(e.test,t),""!==n)||(null!==e.init&&(n=m(e.init,t),""!==n)||null!==e.update&&(n=m(e.update,t),""!==n)||null!==e.body&&(n=m(e.body,t),""!==n))?n:"";case"ContinueStatement":case"EmptyStatement":case"BreakStatement":case"Literal":case"TemplateElement":return"";case"IfStatement":return n=m(e.test,t),""!==n||null!==e.consequent&&(n=m(e.consequent,!1),""!==n)||null!==e.alternate&&(n=m(e.alternate,!1),""!==n)?n:"";case"BlockStatement":{const a=[];for(let t=0;t<e.body.length;t++)"EmptyStatement"!==e.body[t].type&&a.push(e.body[t]);e.body=a;for(let r=0;r<e.body.length;r++)if(n=m(e.body[r],t),""!==n)return n;return""}case"FunctionDeclaration":return!1===t?b(e,"SYNTAX","GLOBALFUNCTIONSONLY"):"Identifier"!==e.id.type?b(e,"SYNTAX","FUNCTIONMUSTHAVEIDENTIFIER"):m(e.body,!1);case"ReturnStatement":return null!==e.argument?m(e.argument,t):"";case"UpdateExpression":return"Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type?b(e,"SYNTAX","ASSIGNMENTTOVARSONLY"):m(e.argument,t);case"AssignmentExpression":if("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");if(n=m(e.left,t),""!==n)return n;switch(e.operator){case"=":case"/=":case"*=":case"%=":case"+=":case"-=":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return m(e.right,!1);case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,m(e.expression,!1);case"Identifier":n="";break;case"MemberExpression":return n=m(e.object,t),""!==n?n:!0===e.computed?m(e.property,t):"";case"CallExpression":if("Identifier"!==e.callee.type)return b(e,"SYNTAX","ONLYNODESSUPPORTED");n="";for(let a=0;a<e.arguments.length;a++)if(n=m(e.arguments[a],t),""!==n)return n;return"";case"UnaryExpression":n=m(e.argument,t);break;case"BinaryExpression":if(n=m(e.left,t),""!==n)return n;if(n=m(e.right,t),""!==n)return n;switch(e.operator){case"|":case"&":case">>":case"<<":case">>":case">>>":case"^":case"==":case"!=":case"<":case"<=":case">":case">=":case"+":case"-":case"*":case"/":case"%":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return"";case"LogicalExpression":if(n=m(e.left,t),""!==n)return n;if(n=m(e.right),""!==n)return n;switch(e.operator){case"&&":case"||":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return"";case"ArrayExpression":n="";for(let a=0;a<e.elements.length;a++)if(n=m(e.elements[a],t),""!==n)return n;return n;case"TemplateLiteral":n="";for(let a=0;a<e.quasis.length;a++)if(n=m(e.quasis[a],t),""!==n)return n;for(let a=0;a<e.expressions.length;a++)if(n=m(e.expressions[a],t),""!==n)return n;return n;case"ObjectExpression":n="";for(let a=0;a<e.properties.length;a++){if(n="",null!==e.properties[a].key&&("Literal"!==e.properties[a].key.type&&"Identifier"!==e.properties[a].key.type&&(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING")),"Literal"===e.properties[a].key.type)){const t=e.properties[a].key,r="value"in t?t.value:null;"string"==typeof r||r instanceof String||(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING"))}if(""===n&&(n=m(e.properties[a],t)),""!==n)return n}return n;case"Property":return"Literal"!==e.key.type&&"Identifier"!==e.key.type?b(e,"SYNTAX","ONLYLITERAL"):("Identifier"!==e.key.type&&(n=m(e.key,t),""!==n)||(n=m(e.value,t)),n);default:return n}return n}catch(a){throw a}}function c(e,t){let n=b(e,"SYNTAX","UNREOGNISED"),a=null,r="";try{switch(e.type){case"VariableDeclarator":{const n=null===e.init?"":c(e.init,t);return""!==n?n:("Identifier"===e.id.type&&(null===t.localScope?t.globalScope[e.id.name.toLowerCase()]={type:"any"}:t.localScope[e.id.name.toLowerCase()]={type:"any"}),"")}case"FunctionDeclaration":return a=y(e.id.name.toLowerCase(),e),r=x(e,t),""!==r?r:null!==t.localScope?b(e,"SYNTAX","GLOBALFUNCTIONSONLY"):(a.isnative=!1,t.globalScope[e.id.name.toLowerCase()]={type:"FormulaFunction",signature:[a]},"");case"VariableDeclaration":n="";for(let a=0;a<e.declarations.length;a++)if(n=c(e.declarations[a],t),""!==n)return n;return n;case"IfStatement":return n=c(e.test,t),""!==n?n:"AssignmentExpression"===e.test.type||"UpdateExpression"===e.test.type?b(e.test,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"):null!==e.consequent&&(n=c(e.consequent,t),""!==n)||null!==e.alternate&&(n=c(e.alternate,t),""!==n)?n:"";case"EmptyStatement":case"BreakStatement":case"ContinueStatement":case"Literal":case"TemplateElement":return"";case"BlockStatement":for(let a=0;a<e.body.length;a++)if(n=c(e.body[a],t),""!==n)return n;return"";case"ReturnStatement":return null!==e.argument?c(e.argument,t):"";case"ForInStatement":if("VariableDeclaration"===e.left.type){if(e.left.declarations.length>1)return b(e,"SYNTAX","ONLY1VAR");if(null!==e.left.declarations[0].init)return b(e,"SYNTAX","CANNOTDECLAREVAL")}else if("Identifier"!==e.left.type)return b(e,"SYNTAX","LEFTNOTVAR");return n=c(e.left,t),""!==n?n:(n=c(e.right,t),""!==n?n:(n=c(e.body,t),""!==n?n:""));case"ForStatement":return null!==e.init&&(n=c(e.init,t),""!==n)||(null!==e.test&&(n=c(e.test,t),""!==n)||null!==e.body&&(n=c(e.body,t),""!==n)||null!==e.update&&(n=c(e.update,t),""!==n))?n:"";case"UpdateExpression":{if("Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");let n=!1;return"MemberExpression"===e.argument.type?c(e.argument,t):(null!==t.localScope&&void 0!==t.localScope[e.argument.name.toLowerCase()]&&(n=!0),void 0!==t.globalScope[e.argument.name.toLowerCase()]&&(n=!0),!1===n?"Identifier "+e.argument.name+" has not been declared.":"")}case"AssignmentExpression":{if("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");let n=c(e.right,t);if(""!==n)return n;let a=!1;return"MemberExpression"===e.left.type?(n=c(e.left,t),""!==n?n:""):(null!==t.localScope&&void 0!==t.localScope[e.left.name.toLowerCase()]&&(a=!0),void 0!==t.globalScope[e.left.name.toLowerCase()]&&(a=!0),!1===a?"Identifier "+e.left.name+" has not been declared.":"")}case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,c(e.expression,t);case"Identifier":{const a=e.name.toLowerCase();if(null!==t.localScope&&void 0!==t.localScope[a])return"";n=void 0!==t.globalScope[a]?"":b(e,"SYNTAX","VARIABLENOTFOUND");break}case"MemberExpression":return n=c(e.object,t),""!==n?n:!0===e.computed?c(e.property,t):"";case"CallExpression":{if("Identifier"!==e.callee.type)return b(e,"SYNTAX","ONLYNODESSUPPORTED");n="";for(let r=0;r<e.arguments.length;r++)if(n=c(e.arguments[r],t),""!==n)return n;const a=s(e.callee.name,e.arguments,t);-1===a&&(n=b(e,"SYNTAX","NOTFOUND")),-2===a&&(n=b(e,"SYNTAX","WRONGSIGNATURE"));break}case"UnaryExpression":n=c(e.argument,t);break;case"BinaryExpression":return n=c(e.left,t),""!==n?n:(n=c(e.right,t),""!==n?n:"");case"LogicalExpression":return n=c(e.left,t),""!==n?n:"AssignmentExpression"===e.left.type||"UpdateExpression"===e.left.type?b(e.left,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"):(n=c(e.right,t),""!==n?n:"AssignmentExpression"===e.right.type||"UpdateExpression"===e.right.type?b(e.right,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"):"");case"ArrayExpression":n="";for(let a=0;a<e.elements.length;a++)if(n=c(e.elements[a],t),""!==n)return n;return n;case"TemplateLiteral":n="";for(let a=0;a<e.quasis.length;a++)if(n=c(e.quasis[a],t),""!==n)return n;for(let a=0;a<e.expressions.length;a++)if(n=c(e.expressions[a],t),""!==n)return n;return n;case"ObjectExpression":n="";for(let a=0;a<e.properties.length;a++){if(n="",null!==e.properties[a].key&&("Literal"!==e.properties[a].key.type&&"Identifier"!==e.properties[a].key.type&&(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING")),"Literal"===e.properties[a].key.type)){const t=e.properties[a].key,r="value"in t?t.value:null;"string"==typeof r||r instanceof String||(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING"))}if(""===n&&(n=c(e.properties[a],t)),""!==n)return n}return n;case"Property":return"Literal"!==e.key.type&&"Identifier"!==e.key.type?b(e,"SYNTAX","ONLYLITERAL"):("Identifier"!==e.key.type&&(n=c(e.key,t),""!==n)||(n=c(e.value,t)),n);case"Program":case"TemplateElement":return n;default:return C(e),n}return n}catch(i){throw i}}function p(e,t){let n=!1;const a=t.toLowerCase();return l(e,(e=>!n&&("Identifier"===e.type&&e.name&&e.name.toLowerCase()===a&&(n=!0),!0))),n}function u(e,t){let n=!1;const a=t.toLowerCase();return l(e,(e=>!n&&("CallExpression"!==e.type||"Identifier"!==e.callee.type||!e.callee.name||e.callee.name.toLowerCase()!==a||(n=!0,!1)))),n}function f(e){const t=[];return l(e,(e=>"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?t.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&t.push(e.object.name.toLowerCase()+"."+e.property.value.toString().toLowerCase()),!1))),t}function d(e){const t=[];return l(e,(e=>{if("CallExpression"===e.type&&"Identifier"===e.callee.type&&"expects"===e.callee.name.toLowerCase()){let n="";for(let r=0;r<(e.arguments||[]).length;r++)0===r?"Identifier"===e.arguments[r].type&&(n=e.arguments[r].name.toLowerCase()):n&&"Literal"===e.arguments[r].type&&a(e.arguments[r].value)&&t.push(n+"."+e.arguments[r].value.toLowerCase());return!1}return"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?t.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&t.push(e.object.name.toLowerCase()+"."+e.property.value.toString().toLowerCase()),!1)})),t}function y(e,t){const n=[];if(void 0!==t.params&&null!==t.params)for(let a=0;a<t.params.length;a++)n.push("any");return{name:e,return:"any",params:n}}function x(e,t){const n={globalScope:t.globalScope,localScope:{}};for(let a=0;a<e.params.length;a++){const t=e.params[a].name;n.localScope[t.toLowerCase()]={type:"any"}}return c(e.body,n)}function N(e,t,n,a){const r={};null==e&&(e={}),null==n&&(n={}),r.infinity={type:"any"},r.textformatting={type:"any"},r.pi={type:"any"};for(const i in t)"sync"===a&&void 0!==t[i].min?r[i]={type:"FormulaFunction",signature:{min:t[i].min,max:t[i].max}}:"sync"!==a&&void 0!==t[i].fmin&&(r[i]={type:"FormulaFunction",signature:{min:t[i].fmin,max:t[i].fmax}});for(let i=0;i<n.length;i++){const e=n[i];r[e.name]={type:"FormulaFunction",signature:e}}for(const i in e)r[i]=e[i],r[i].type="any";return r}function S(t,n,a="async",r=e){const i={globalScope:N(n.vars,r,n.customFunctions,a),localScope:null};return c(t.body[0].body,i)}function E(e){return"BlockStatement"!==e.body[0].body.type?"Invalid formula content.":m(e.body[0].body)}function b(e,t,n){let a="";if("RUNTIME"===t)a="Runtime Error: ";else a="Syntax Error: ";try{switch(e.type){case"IfStatement":switch(n){case"CANNOT_USE_ASSIGNMENT_IN_CONDITION":a+=" Assignments not be made in logical tests";break;case"CANNOT_USE_NONBOOLEAN_IN_CONDITION":a+=" Non Boolean used as Condition"}break;case"UpdateExpression":case"AssignmentExpression":switch(n){case"CANNOT_USE_ASSIGNMENT_IN_CONDITION":a+=" Assignments not be made in logical tests";break;case"ASSIGNMENTTOVARSONLY":a+=" Assignments can only be made to identifiers"}break;case"ExpressionStatement":a+=" Assignments can only be made to identifiers";break;case"FunctionDeclaration":switch(n){case"GLOBALFUNCTIONSONLY":a+=" Functions cannot be declared as variables";break;case"FUNCTIONMUSTHAVEIDENTIFIER":a+=" Function Definition must have an identifier"}break;case"VariableDeclaration":a+=" Only 1 variable can be declared at a time";break;case"VariableDeclarator":switch(n){case"FUNCTIONVARIABLEDECLARATOR":a+=" Functions cannot be declared as variables";break;case"VARIABLEMUSTHAVEIDENTIFIER":a+=" Variable Definition must have an identifier"}break;case"Identifier":a+=" Identifier Not Found. ",a+=e.name;break;case"ObjectExpression":if("OBJECTPROPERTYMUSTBESTRING"===n)a+=" Property name must be a string";break;case"ForStatement":if("CANNOT_USE_NONBOOLEAN_IN_CONDITION"===n)a+=" Non Boolean used as Condition";break;case"ForInStatement":switch(n){case"ONLY1VAR":a+=" Can only declare 1 var for use with IN";break;case"CANNOTDECLAREVAL":a+=" Can only declare value for use with IN";break;case"LEFTNOVAR":a+="Must provide a variable to iterate with.";break;case"VARIABLENOTDECLARED":a+="Variable must be declared before it is used..";break;case"CANNOTITERATETHISTYPE":a+="This type cannot be used in an IN loop"}break;case"MemberExpression":switch(n){case"PROPERTYNOTFOUND":a+="Cannot find member property. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:"";break;case"OUTOFBOUNDS":a+="Out of Bounds. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:"";break;case"NOTFOUND":a+="Cannot call member method on null. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:"";break;case"INVALIDTYPE":a+="Cannot call member property on object of this type. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:""}break;case"Property":if("ONLYLITERAL"===n)a+="Property names must be literals or identifiers";break;case"Literal":break;case"CallExpression":switch(n){case"WRONGSIGNATURE":a+="Function signature does not match: ",a+="Identifier"===e.callee.type?e.callee.name:"";break;case"ONLYNODESUPPORTED":a+="Functions must be declared.",a+="Identifier"===e.callee.type?e.callee.name:"";break;case"NOTAFUNCTION":a+="Not a Function: ",a+="Identifier"===e.callee.type?e.callee.name:"";break;case"NOTFOUND":a+="Function Not Found: "+("Identifier"===e.callee.type?e.callee.name:"")}break;case"UnaryExpression":switch(n){case"NOTSUPPORTEDUNARYOPERATOR":a+="Operator "+e.operator+" not allowed in this context. Only ! can be used with boolean, and - with a number";break;case"NOTSUPPORTEDTYPE":a+="Unary operator "+e.operator+" cannot be used with this argument."}case"BinaryExpression":if("OPERATORNOTRECOGNISED"===n)a+="Binary Operator not recognised "+e.operator;break;case"LogicalExpression":switch(n){case"ONLYBOOLEAN":a+="Operator "+e.operator+" cannot be used. Only || or && are allowed values";break;case"ONLYORORAND":a+="Logical Expression "+e.operator+" being applied to parameters that are not boolean."}break;case"ArrayExpression":if("FUNCTIONCONTEXTILLEGAL"===n)a+=" Cannot Put Function inside Array.";break;default:a+="Expression contains unrecognised code structures."}}catch(r){throw r}return a}function g(e,t,n){return{line:e.loc.start.line,character:e.loc.start.column,reason:b(e,t,n)}}function T(e,t,n,a){const r={globalScope:t.globalScope,localScope:{}};for(let i=0;i<e.params.length;i++){const t=e.params[i].name;r.localScope[t.toLowerCase()]={type:"any"}}O(e.body,r,n,a,!1)}function O(e,t,n,a,r=!0){if(null===e)throw new Error("Unnexpexted Expression Syntax");let i=null;try{switch(e.type){case"VariableDeclarator":return"Identifier"!==e.id.type?a.push(g(e,"SYNTAX","VARIABLEMUSTHAVEIDENTIFIER")):(null!==t.localScope?t.localScope[e.id.name.toLowerCase()]:t.globalScope[e.id.name.toLowerCase()],null===t.localScope?t.globalScope[e.id.name.toLowerCase()]={type:"any"}:t.localScope[e.id.name.toLowerCase()]={type:"any"}),void(null!==e.init&&O(e.init,t,n,a,r));case"FunctionDeclaration":return!1===r&&a.push(g(e,"SYNTAX","GLOBALFUNCTIONSONLY")),"Identifier"!==e.id.type&&a.push(g(e,"SYNTAX","FUNCTIONMUSTHAVEIDENTIFIER")),i=y("",e),T(e,t,n,a),null!==t.localScope&&a.push(g(e,"SYNTAX","GLOBALFUNCTIONSONLY")),i.isnative=!1,void("Identifier"===e.id.type&&(t.globalScope[e.id.name.toLowerCase()]={type:"FormulaFunction",signature:[i]}));case"VariableDeclaration":for(let i=0;i<e.declarations.length;i++)O(e.declarations[i],t,n,a,r);return;case"IfStatement":return null!==e.test&&(O(e.test,t,n,a,r),"AssignmentExpression"!==e.test.type&&"UpdateExpression"!==e.test.type||a.push(g(e.test,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"))),null!==e.consequent&&O(e.consequent,t,n,a,r),void(null!==e.alternate&&O(e.alternate,t,n,a,r));case"EmptyStatement":case"BreakStatement":case"ContinueStatement":case"Literal":case"TemplateElement":return;case"BlockStatement":if(null!==e.body)for(let i=0;i<e.body.length;i++)O(e.body[i],t,n,a,r);return;case"ReturnStatement":return void(null!==e.argument&&O(e.argument,t,n,a,r));case"ForInStatement":return"VariableDeclaration"===e.left.type?(e.left.declarations.length>1&&a.push(g(e,"SYNTAX","ONLY1VAR")),null!==e.left.declarations[0].init&&a.push(g(e,"SYNTAX","CANNOTDECLAREVAL"))):"Identifier"!==e.left.type&&a.push(g(e,"SYNTAX","LEFTNOTVAR")),O(e.left,t,n,a,r),O(e.right,t,n,a,r),void O(e.body,t,n,a,r);case"ForStatement":return null!==e.init&&O(e.init,t,n,a,r),null!==e.test&&O(e.test,t,n,a,r),null!==e.body&&O(e.body,t,n,a,r),void(null!==e.update&&O(e.update,t,n,a,r));case"UpdateExpression":if("Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type)a.push(g(e,"SYNTAX","ASSIGNMENTTOVARSONLY"));else{if("Identifier"===e.argument.type){let r=!1;!1===n&&(null!==t.localScope&&void 0!==t.localScope[e.argument.name.toLowerCase()]&&(r=!0),void 0!==t.globalScope[e.argument.name.toLowerCase()]&&(r=!0),!1===r&&a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Identifier "+e.argument.name+" has not been declared."}))}"MemberExpression"===e.argument.type&&O(e.argument,t,n,a,r)}return;case"AssignmentExpression":{switch("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type&&a.push(g(e,"SYNTAX","ASSIGNMENTTOVARSONLY")),e.operator){case"=":case"/=":case"*=":case"%=":case"+=":case"-=":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}O(e.right,t,n,a,r);let i=!1;return"Identifier"===e.left.type&&(null!==t.localScope&&void 0!==t.localScope[e.left.name.toLowerCase()]&&(i=!0),void 0!==t.globalScope[e.left.name.toLowerCase()]&&(i=!0),!1===n&&!1===i&&a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Identifier "+e.left.name+" has not been declared."})),void("MemberExpression"===e.left.type&&O(e.left,t,n,a,r))}case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,void O(e.expression,t,n,a,r);case"Identifier":{const r=e.name.toLowerCase();if(null!==t.localScope&&void 0!==t.localScope[r])return;if(void 0!==t.globalScope[r])return;!1===n&&a.push(g(e,"SYNTAX","VARIABLENOTFOUND"));break}case"MemberExpression":return O(e.object,t,n,a,r),void(!0===e.computed&&O(e.property,t,n,a,r));case"CallExpression":"Identifier"!==e.callee.type&&a.push(g(e,"SYNTAX","ONLYNODESSUPPORTED"));for(let i=0;i<e.arguments.length;i++)O(e.arguments[i],t,n,a,r);if("Identifier"===e.callee.type){const r=s(e.callee.name,e.arguments,t);!1===n&&-1===r&&a.push(g(e,"SYNTAX","NOTFOUND")),-2===r&&a.push(g(e,"SYNTAX","WRONGSIGNATURE"))}return;case"UnaryExpression":return void O(e.argument,t,n,a,r);case"BinaryExpression":switch(O(e.left,t,n,a,r),O(e.right,t,n,a,r),e.operator){case"==":case"!=":case"<":case"<=":case">":case">=":case"+":case"-":case"*":case"/":case"%":case"&":case"|":case"^":case"<<":case">>":case">>>":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}return;case"LogicalExpression":switch(e.operator){case"&&":case"||":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}return O(e.left,t,n,a,r),"AssignmentExpression"!==e.left.type&&"UpdateExpression"!==e.left.type||a.push(g(e,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION")),O(e.right,t,n,a,r),void("AssignmentExpression"!==e.right.type&&"UpdateExpression"!==e.right.type||a.push(g(e,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION")));case"ArrayExpression":for(let i=0;i<e.elements.length;i++)O(e.elements[i],t,n,a,r);return;case"TemplateLiteral":for(let i=0;i<e.quasis.length;i++)O(e.quasis[i],t,n,a,r);for(let i=0;i<e.expressions.length;i++)O(e.expressions[i],t,n,a,r);return;case"ObjectExpression":for(let i=0;i<e.properties.length;i++)O(e.properties[i],t,n,a,r);return;case"Property":return"Literal"!==e.key.type&&"Identifier"!==e.key.type&&a.push(g(e,"SYNTAX","ONLYLITERAL")),"Literal"===e.key.type&&O(e.key,t,n,a,r),void O(e.value,t,n,a,r);default:a.push(g(e,"SYNTAX","UNRECOGNISED"))}return}catch(o){a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Unnexpected Syntax"})}}function A(t,n,a,r="async",i=e){const s=[];if("BlockStatement"!==t.body[0].body.type)return[{line:0,character:0,reason:"Invalid Body"}];null==n&&(n={vars:{},customFunctions:[]});const o={globalScope:N(n.vars,i,n.customFunctions,r),localScope:null};try{O(t.body[0].body,o,a,s)}catch(l){}return s}function I(e){const t=[];return l(e,(e=>("CallExpression"===e.type&&"Identifier"===e.callee.type&&t.push(e.callee.name.toLowerCase()),!0))),t}function h(e,a=[]){let r=null;if(void 0===e.usesFeatureSet){null===r&&(r=I(e)),e.usesFeatureSet=!1;for(let n=0;n<r.length;n++)t.indexOf(r[n])>-1&&(e.usesFeatureSet=!0,e.isAsync=!0);if(!1===e.usesFeatureSet&&a&&a.length>0)for(const t of a)if(p(e,t)){e.usesFeatureSet=!0,e.isAsync=!0;break}}if(void 0===e.usesGeometry){e.usesGeometry=!1,null===r&&(r=I(e));for(let t=0;t<r.length;t++)n.indexOf(r[t])>-1&&(e.usesGeometry=!0)}}function L(e){const n=I(e);for(let a=0;a<n.length;a++)if(t.indexOf(n[a])>-1)return!0;return!1}function C(e){}export{r as addFunctionDeclaration,i as checkFunctionSignature,A as checkScript,N as constructGlobalScope,O as extractAllIssues,T as extractAllIssuesInFunction,y as extractFunctionDeclaration,d as findExpectedFieldLiterals,f as findFieldLiterals,s as findFunction,I as findFunctionCalls,h as findScriptDependencies,e as functionDecls,g as makeError,b as nodeErrorMessage,u as referencesFunction,p as referencesMember,L as scriptUsesFeatureSet,c as testValidityOfExpression,x as validateFunction,E as validateLanguage,m as validateLanguageNode,S as validateScript,l as walk};
|
|
5
|
+
const e={all:{min:"2",max:"2"},none:{min:"2",max:"2"},any:{min:"2",max:"2"},reduce:{min:"2",max:"3"},map:{min:"2",max:"2"},filter:{min:"2",max:"2"},fromcodepoint:{min:"1",max:"*"},fromcharcode:{min:"1",max:"*"},tocodepoint:{min:"1",max:"2"},tocharcode:{min:"1",max:"2"},concatenate:{min:"0",max:"*"},expects:{min:"1",max:"*"},getfeatureset:{min:"1",max:"2"},week:{min:"1",max:"2"},fromjson:{min:"1",max:"1"},length3d:{min:"1",max:"2"},tohex:{min:"1",max:"1"},hash:{min:"1",max:"1"},isoweek:{min:"1",max:"1"},isoweekday:{min:"1",max:"1"},isomonth:{min:"1",max:"1"},isoyear:{min:"1",max:"1"},resize:{min:"2",max:"3"},slice:{min:"0",max:"*"},splice:{min:"0",max:"*"},push:{min:"2",max:"2"},pop:{min:"1",max:"1"},includes:{min:"2",max:"2"},array:{min:"1",max:"2"},front:{min:"1",max:"1"},back:{min:"1",max:"1"},insert:{min:"3",max:"3"},erase:{min:"2",max:"2"},split:{min:"2",max:"4"},guid:{min:"0",max:"1"},today:{min:"0",max:"0"},angle:{min:"2",max:"3"},bearing:{min:"2",max:"3"},urlencode:{min:"1",max:"1"},now:{min:"0",max:"0"},timestamp:{min:"0",max:"0"},day:{min:"1",max:"1"},month:{min:"1",max:"1"},year:{min:"1",max:"1"},hour:{min:"1",max:"1"},second:{min:"1",max:"1"},millisecond:{min:"1",max:"1"},minute:{min:"1",max:"1"},weekday:{min:"1",max:"1"},toutc:{min:"1",max:"1"},tolocal:{min:"1",max:"1"},date:{min:"0",max:"7"},datediff:{min:"2",max:"3"},dateadd:{min:"2",max:"3"},trim:{min:"1",max:"1"},text:{min:"1",max:"2"},left:{min:"2",max:"2"},right:{min:"2",max:"2"},mid:{min:"2",max:"3"},upper:{min:"1",max:"1"},proper:{min:"1",max:"2"},lower:{min:"1",max:"1"},find:{min:"2",max:"3"},iif:{min:"3",max:"3"},decode:{min:"2",max:"*"},when:{min:"2",max:"*"},defaultvalue:{min:"2",max:"2"},isempty:{min:"1",max:"1"},domaincode:{min:"2",max:"4"},domainname:{min:"2",max:"4"},polygon:{min:"1",max:"1"},point:{min:"1",max:"1"},polyline:{min:"1",max:"1"},extent:{min:"1",max:"1"},multipoint:{min:"1",max:"1"},ringisclockwise:{min:"1",max:"1"},geometry:{min:"1",max:"1"},count:{min:"0",max:"*"},number:{min:"1",max:"2"},acos:{min:"1",max:"1"},asin:{min:"1",max:"1"},atan:{min:"1",max:"1"},atan2:{min:"2",max:"2"},ceil:{min:"1",max:"2"},floor:{min:"1",max:"2"},round:{min:"1",max:"2"},cos:{min:"1",max:"1"},exp:{min:"1",max:"1"},log:{min:"1",max:"1"},min:{min:"0",max:"*"},constrain:{min:"3",max:"3"},console:{min:"0",max:"*"},max:{min:"0",max:"*"},pow:{min:"2",max:"2"},random:{min:"0",max:"0"},sqrt:{min:"1",max:"1"},sin:{min:"1",max:"1"},tan:{min:"1",max:"1"},abs:{min:"1",max:"1"},isnan:{min:"1",max:"1"},stdev:{min:"0",max:"*"},average:{min:"0",max:"*"},mean:{min:"0",max:"*"},sum:{min:"0",max:"*"},variance:{min:"0",max:"*"},distinct:{min:"0",max:"*"},first:{min:"1",max:"1"},top:{min:"2",max:"2"},boolean:{min:"1",max:"1"},dictionary:{min:"0",max:"*"},typeof:{min:"1",max:"1"},reverse:{min:"1",max:"1"},replace:{min:"3",max:"4"},sort:{min:"1",max:"2"},feature:{min:"1",max:"*"},haskey:{min:"2",max:"2"},indexof:{min:"2",max:"2"},disjoint:{min:"2",max:"2"},intersects:{min:"2",max:"2"},touches:{min:"2",max:"2"},crosses:{min:"2",max:"2"},within:{min:"2",max:"2"},contains:{min:"2",max:"2"},overlaps:{min:"2",max:"2"},equals:{min:"2",max:"2"},relate:{min:"3",max:"3"},intersection:{min:"2",max:"2"},union:{min:"1",max:"2"},difference:{min:"2",max:"2"},symmetricdifference:{min:"2",max:"2"},clip:{min:"2",max:"2"},cut:{min:"2",max:"2"},area:{min:"1",max:"2"},areageodetic:{min:"1",max:"2"},length:{min:"1",max:"2"},lengthgeodetic:{min:"1",max:"2"},distancegeodetic:{min:"2",max:"3"},distance:{min:"2",max:"3"},densify:{min:"2",max:"3"},densifygeodetic:{min:"2",max:"3"},generalize:{min:"2",max:"4"},buffer:{min:"2",max:"3"},buffergeodetic:{min:"2",max:"3"},offset:{min:"2",max:"6"},rotate:{min:"2",max:"3"},issimple:{min:"1",max:"1"},simplify:{min:"1",max:"1"},centroid:{min:"1",max:"1"},isselfintersecting:{min:"1",max:"1"},multiparttosinglepart:{min:"1",max:"1"},setgeometry:{min:"2",max:"2"},portal:{min:"1",max:"1"},getuser:{min:"1",max:"2"},subtypes:{min:"1",max:"1"},subtypecode:{min:"1",max:"1"},subtypename:{min:"1",max:"1"},domain:{min:"2",max:"3"},convertdirection:{min:"3",max:"3"},schema:{min:"1",max:"1"}};for(const R in e)e[R].fmin=e[R].min,e[R].fmax=e[R].max;const t=["featureset","getuser","featuresetbyid","featuresetbyname","featuresetbyassociation","featuresetbyrelationshipname","featuresetbyurl","getfeatureset","attachments","featuresetbyportalitem"],n=["disjoint","intersects","touches","crosses","within","contains","overlaps","equals","relate","intersection","union","difference","symmetricdifference","clip","cut","area","areageodetic","length","length3d","lengthgeodetic","distance","distancegeodetic","densify","densifygeodetic","generalize","buffer","buffergeodetic","offset","rotate","issimple","simplify","multiparttosinglepart"];function a(e){return"string"==typeof e||e instanceof String}function r(t,n){const a=e[t.name.toLowerCase()];void 0===a?e[t.name.toLowerCase()]="sync"===n?{min:t.min,max:t.max}:{fmin:t.min,fmax:t.max}:"sync"===n?(a.min=t.min,a.max=t.max):(a.fmin=t.min,a.fmax=t.max)}function i(e,t){return"0"!==e.min&&t.length<Number(e.min)||"*"!==e.max&&t.length>Number(e.max)?-2:1}function s(e,t,n){if(null!==n.localScope&&void 0!==n.localScope[e.toLowerCase()]){const a=n.localScope[e.toLowerCase()];if("FormulaFunction"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t);if("any"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t)}if(void 0!==n.globalScope[e.toLowerCase()]){const a=n.globalScope[e.toLowerCase()];if("FormulaFunction"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t);if("any"===a.type)return void 0===a.signature&&(a.signature={min:"0",max:"*"}),i(a.signature,t)}return-1}function o(e,t){if(e)for(const n of e)l(n,t)}function l(e,t){if(e&&!1!==t(e))switch(e.type){case"ArrayExpression":o(e.elements,t);break;case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":l(e.left,t),l(e.right,t);break;case"BlockStatement":case"Program":o(e.body,t);break;case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"Identifier":case"Literal":break;case"CallExpression":l(e.callee,t),o(e.arguments,t);break;case"ExpressionStatement":l(e.expression,t);break;case"ForInStatement":l(e.left,t),l(e.right,t),l(e.body,t);break;case"ForStatement":l(e.init,t),l(e.test,t),l(e.update,t),l(e.body,t);break;case"FunctionDeclaration":l(e.id,t),o(e.params,t),l(e.body,t);break;case"IfStatement":l(e.test,t),l(e.consequent,t),l(e.alternate,t);break;case"MemberExpression":l(e.object,t),l(e.property,t);break;case"ObjectExpression":o(e.properties,t);break;case"Property":l(e.key,t),l(e.value,t);break;case"ReturnStatement":case"UnaryExpression":case"UpdateExpression":l(e.argument,t);break;case"VariableDeclaration":o(e.declarations,t);break;case"VariableDeclarator":l(e.id,t),l(e.init,t);break;case"TemplateLiteral":o(e.expressions,t),o(e.quasis,t)}}function m(e,t=!0){let n=b(e,"SYNTAX","UNREOGNISED");try{switch(e.type){case"VariableDeclarator":return"Identifier"!==e.id.type?b(e,"SYNTAX","VARIABLEMUSTHAVEIDENTIFIER"):null!==e.init?m(e.init,!1):"";case"VariableDeclaration":for(let a=0;a<e.declarations.length;a++)if(n=m(e.declarations[a],t),""!==n)return n;return"";case"ForInStatement":if(n=m(e.left,t),""!==n)return n;if("VariableDeclaration"===e.left.type){if(e.left.declarations.length>1)return b(e,"SYNTAX","ONLY1VAR");if(null!==e.left.declarations[0].init)return b(e,"SYNTAX","CANNOTDECLAREVAL")}else if("Identifier"!==e.left.type)return b(e,"SYNTAX","LEFTNOTVAR");return n=m(e.right,t),""!==n?n:(n=m(e.body,t),""!==n?n:"");case"ForStatement":return null!==e.test&&(n=m(e.test,t),""!==n)||(null!==e.init&&(n=m(e.init,t),""!==n)||null!==e.update&&(n=m(e.update,t),""!==n)||null!==e.body&&(n=m(e.body,t),""!==n))?n:"";case"ContinueStatement":case"EmptyStatement":case"BreakStatement":case"Literal":case"TemplateElement":return"";case"IfStatement":return n=m(e.test,t),""!==n||null!==e.consequent&&(n=m(e.consequent,!1),""!==n)||null!==e.alternate&&(n=m(e.alternate,!1),""!==n)?n:"";case"BlockStatement":{const a=[];for(let t=0;t<e.body.length;t++)"EmptyStatement"!==e.body[t].type&&a.push(e.body[t]);e.body=a;for(let r=0;r<e.body.length;r++)if(n=m(e.body[r],t),""!==n)return n;return""}case"FunctionDeclaration":return!1===t?b(e,"SYNTAX","GLOBALFUNCTIONSONLY"):"Identifier"!==e.id.type?b(e,"SYNTAX","FUNCTIONMUSTHAVEIDENTIFIER"):m(e.body,!1);case"ReturnStatement":return null!==e.argument?m(e.argument,t):"";case"UpdateExpression":return"Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type?b(e,"SYNTAX","ASSIGNMENTTOVARSONLY"):m(e.argument,t);case"AssignmentExpression":if("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");if(n=m(e.left,t),""!==n)return n;switch(e.operator){case"=":case"/=":case"*=":case"%=":case"+=":case"-=":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return m(e.right,!1);case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,m(e.expression,!1);case"Identifier":n="";break;case"MemberExpression":return n=m(e.object,t),""!==n?n:!0===e.computed?m(e.property,t):"";case"CallExpression":if("Identifier"!==e.callee.type)return b(e,"SYNTAX","ONLYNODESSUPPORTED");n="";for(let a=0;a<e.arguments.length;a++)if(n=m(e.arguments[a],t),""!==n)return n;return"";case"UnaryExpression":n=m(e.argument,t);break;case"BinaryExpression":if(n=m(e.left,t),""!==n)return n;if(n=m(e.right,t),""!==n)return n;switch(e.operator){case"|":case"&":case">>":case"<<":case">>":case">>>":case"^":case"==":case"!=":case"<":case"<=":case">":case">=":case"+":case"-":case"*":case"/":case"%":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return"";case"LogicalExpression":if(n=m(e.left,t),""!==n)return n;if(n=m(e.right),""!==n)return n;switch(e.operator){case"&&":case"||":break;default:return b(e,"SYNTAX","OPERATORNOTRECOGNISED")}return"";case"ArrayExpression":n="";for(let a=0;a<e.elements.length;a++)if(n=m(e.elements[a],t),""!==n)return n;return n;case"TemplateLiteral":n="";for(let a=0;a<e.quasis.length;a++)if(n=m(e.quasis[a],t),""!==n)return n;for(let a=0;a<e.expressions.length;a++)if(n=m(e.expressions[a],t),""!==n)return n;return n;case"ObjectExpression":n="";for(let a=0;a<e.properties.length;a++){if(n="",null!==e.properties[a].key&&("Literal"!==e.properties[a].key.type&&"Identifier"!==e.properties[a].key.type&&(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING")),"Literal"===e.properties[a].key.type)){const t=e.properties[a].key,r="value"in t?t.value:null;"string"==typeof r||r instanceof String||(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING"))}if(""===n&&(n=m(e.properties[a],t)),""!==n)return n}return n;case"Property":return"Literal"!==e.key.type&&"Identifier"!==e.key.type?b(e,"SYNTAX","ONLYLITERAL"):("Identifier"!==e.key.type&&(n=m(e.key,t),""!==n)||(n=m(e.value,t)),n);default:return n}return n}catch(a){throw a}}function c(e,t){let n=b(e,"SYNTAX","UNREOGNISED"),a=null,r="";try{switch(e.type){case"VariableDeclarator":{const n=null===e.init?"":c(e.init,t);return""!==n?n:("Identifier"===e.id.type&&(null===t.localScope?t.globalScope[e.id.name.toLowerCase()]={type:"any"}:t.localScope[e.id.name.toLowerCase()]={type:"any"}),"")}case"FunctionDeclaration":return a=y(e.id.name.toLowerCase(),e),r=x(e,t),""!==r?r:null!==t.localScope?b(e,"SYNTAX","GLOBALFUNCTIONSONLY"):(a.isnative=!1,t.globalScope[e.id.name.toLowerCase()]={type:"FormulaFunction",signature:[a]},"");case"VariableDeclaration":n="";for(let a=0;a<e.declarations.length;a++)if(n=c(e.declarations[a],t),""!==n)return n;return n;case"IfStatement":return n=c(e.test,t),""!==n?n:"AssignmentExpression"===e.test.type||"UpdateExpression"===e.test.type?b(e.test,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"):null!==e.consequent&&(n=c(e.consequent,t),""!==n)||null!==e.alternate&&(n=c(e.alternate,t),""!==n)?n:"";case"EmptyStatement":case"BreakStatement":case"ContinueStatement":case"Literal":case"TemplateElement":return"";case"BlockStatement":for(let a=0;a<e.body.length;a++)if(n=c(e.body[a],t),""!==n)return n;return"";case"ReturnStatement":return null!==e.argument?c(e.argument,t):"";case"ForInStatement":if("VariableDeclaration"===e.left.type){if(e.left.declarations.length>1)return b(e,"SYNTAX","ONLY1VAR");if(null!==e.left.declarations[0].init)return b(e,"SYNTAX","CANNOTDECLAREVAL")}else if("Identifier"!==e.left.type)return b(e,"SYNTAX","LEFTNOTVAR");return n=c(e.left,t),""!==n?n:(n=c(e.right,t),""!==n?n:(n=c(e.body,t),""!==n?n:""));case"ForStatement":return null!==e.init&&(n=c(e.init,t),""!==n)||(null!==e.test&&(n=c(e.test,t),""!==n)||null!==e.body&&(n=c(e.body,t),""!==n)||null!==e.update&&(n=c(e.update,t),""!==n))?n:"";case"UpdateExpression":{if("Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");let n=!1;return"MemberExpression"===e.argument.type?c(e.argument,t):(null!==t.localScope&&void 0!==t.localScope[e.argument.name.toLowerCase()]&&(n=!0),void 0!==t.globalScope[e.argument.name.toLowerCase()]&&(n=!0),!1===n?"Identifier "+e.argument.name+" has not been declared.":"")}case"AssignmentExpression":{if("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type)return b(e,"SYNTAX","ASSIGNMENTTOVARSONLY");let n=c(e.right,t);if(""!==n)return n;let a=!1;return"MemberExpression"===e.left.type?(n=c(e.left,t),""!==n?n:""):(null!==t.localScope&&void 0!==t.localScope[e.left.name.toLowerCase()]&&(a=!0),void 0!==t.globalScope[e.left.name.toLowerCase()]&&(a=!0),!1===a?"Identifier "+e.left.name+" has not been declared.":"")}case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,c(e.expression,t);case"Identifier":{const a=e.name.toLowerCase();if(null!==t.localScope&&void 0!==t.localScope[a])return"";n=void 0!==t.globalScope[a]?"":b(e,"SYNTAX","VARIABLENOTFOUND");break}case"MemberExpression":return n=c(e.object,t),""!==n?n:!0===e.computed?c(e.property,t):"";case"CallExpression":{if("Identifier"!==e.callee.type)return b(e,"SYNTAX","ONLYNODESSUPPORTED");n="";for(let r=0;r<e.arguments.length;r++)if(n=c(e.arguments[r],t),""!==n)return n;const a=s(e.callee.name,e.arguments,t);-1===a&&(n=b(e,"SYNTAX","NOTFOUND")),-2===a&&(n=b(e,"SYNTAX","WRONGSIGNATURE"));break}case"UnaryExpression":n=c(e.argument,t);break;case"BinaryExpression":return n=c(e.left,t),""!==n?n:(n=c(e.right,t),""!==n?n:"");case"LogicalExpression":return n=c(e.left,t),""!==n?n:"AssignmentExpression"===e.left.type||"UpdateExpression"===e.left.type?b(e.left,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"):(n=c(e.right,t),""!==n?n:"AssignmentExpression"===e.right.type||"UpdateExpression"===e.right.type?b(e.right,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"):"");case"ArrayExpression":n="";for(let a=0;a<e.elements.length;a++)if(n=c(e.elements[a],t),""!==n)return n;return n;case"TemplateLiteral":n="";for(let a=0;a<e.quasis.length;a++)if(n=c(e.quasis[a],t),""!==n)return n;for(let a=0;a<e.expressions.length;a++)if(n=c(e.expressions[a],t),""!==n)return n;return n;case"ObjectExpression":n="";for(let a=0;a<e.properties.length;a++){if(n="",null!==e.properties[a].key&&("Literal"!==e.properties[a].key.type&&"Identifier"!==e.properties[a].key.type&&(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING")),"Literal"===e.properties[a].key.type)){const t=e.properties[a].key,r="value"in t?t.value:null;"string"==typeof r||r instanceof String||(n=b(e,"SYNTAX","OBJECTPROPERTYMUSTBESTRING"))}if(""===n&&(n=c(e.properties[a],t)),""!==n)return n}return n;case"Property":return"Literal"!==e.key.type&&"Identifier"!==e.key.type?b(e,"SYNTAX","ONLYLITERAL"):("Identifier"!==e.key.type&&(n=c(e.key,t),""!==n)||(n=c(e.value,t)),n);case"Program":case"TemplateElement":return n;default:return C(e),n}return n}catch(i){throw i}}function p(e,t){let n=!1;const a=t.toLowerCase();return l(e,(e=>!n&&("Identifier"===e.type&&e.name&&e.name.toLowerCase()===a&&(n=!0),!0))),n}function u(e,t){let n=!1;const a=t.toLowerCase();return l(e,(e=>!n&&("CallExpression"!==e.type||"Identifier"!==e.callee.type||!e.callee.name||e.callee.name.toLowerCase()!==a||(n=!0,!1)))),n}function f(e){const t=[];return l(e,(e=>"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?t.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&t.push(e.object.name.toLowerCase()+"."+e.property.value.toString().toLowerCase()),!1))),t}function d(e){const t=[];return l(e,(e=>{if("CallExpression"===e.type&&"Identifier"===e.callee.type&&"expects"===e.callee.name.toLowerCase()){let n="";for(let r=0;r<(e.arguments||[]).length;r++)0===r?"Identifier"===e.arguments[r].type&&(n=e.arguments[r].name.toLowerCase()):n&&"Literal"===e.arguments[r].type&&a(e.arguments[r].value)&&t.push(n+"."+e.arguments[r].value.toLowerCase());return!1}return"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?t.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&t.push(e.object.name.toLowerCase()+"."+e.property.value.toString().toLowerCase()),!1)})),t}function y(e,t){const n=[];if(void 0!==t.params&&null!==t.params)for(let a=0;a<t.params.length;a++)n.push("any");return{name:e,return:"any",params:n}}function x(e,t){const n={globalScope:t.globalScope,localScope:{}};for(let a=0;a<e.params.length;a++){const t=e.params[a].name;n.localScope[t.toLowerCase()]={type:"any"}}return c(e.body,n)}function N(e,t,n,a){const r={};null==e&&(e={}),null==n&&(n={}),r.infinity={type:"any"},r.textformatting={type:"any"},r.pi={type:"any"};for(const i in t)"sync"===a&&void 0!==t[i].min?r[i]={type:"FormulaFunction",signature:{min:t[i].min,max:t[i].max}}:"sync"!==a&&void 0!==t[i].fmin&&(r[i]={type:"FormulaFunction",signature:{min:t[i].fmin,max:t[i].fmax}});for(let i=0;i<n.length;i++){const e=n[i];r[e.name]={type:"FormulaFunction",signature:e}}for(const i in e)r[i]=e[i],r[i].type="any";return r}function S(t,n,a="async",r=e){const i={globalScope:N(n.vars,r,n.customFunctions,a),localScope:null};return c(t.body[0].body,i)}function E(e){return"BlockStatement"!==e.body[0].body.type?"Invalid formula content.":m(e.body[0].body)}function b(e,t,n){let a="";switch(t){case"SYNTAX":default:a="Syntax Error: ";break;case"RUNTIME":a="Runtime Error: "}try{switch(e.type){case"IfStatement":switch(n){case"CANNOT_USE_ASSIGNMENT_IN_CONDITION":a+=" Assignments not be made in logical tests";break;case"CANNOT_USE_NONBOOLEAN_IN_CONDITION":a+=" Non Boolean used as Condition"}break;case"UpdateExpression":case"AssignmentExpression":switch(n){case"CANNOT_USE_ASSIGNMENT_IN_CONDITION":a+=" Assignments not be made in logical tests";break;case"ASSIGNMENTTOVARSONLY":a+=" Assignments can only be made to identifiers"}break;case"ExpressionStatement":a+=" Assignments can only be made to identifiers";break;case"FunctionDeclaration":switch(n){case"GLOBALFUNCTIONSONLY":a+=" Functions cannot be declared as variables";break;case"FUNCTIONMUSTHAVEIDENTIFIER":a+=" Function Definition must have an identifier"}break;case"VariableDeclaration":a+=" Only 1 variable can be declared at a time";break;case"VariableDeclarator":switch(n){case"FUNCTIONVARIABLEDECLARATOR":a+=" Functions cannot be declared as variables";break;case"VARIABLEMUSTHAVEIDENTIFIER":a+=" Variable Definition must have an identifier"}break;case"Identifier":a+=" Identifier Not Found. ",a+=e.name;break;case"ObjectExpression":if("OBJECTPROPERTYMUSTBESTRING"===n)a+=" Property name must be a string";break;case"ForStatement":if("CANNOT_USE_NONBOOLEAN_IN_CONDITION"===n)a+=" Non Boolean used as Condition";break;case"ForInStatement":switch(n){case"ONLY1VAR":a+=" Can only declare 1 var for use with IN";break;case"CANNOTDECLAREVAL":a+=" Can only declare value for use with IN";break;case"LEFTNOVAR":a+="Must provide a variable to iterate with.";break;case"VARIABLENOTDECLARED":a+="Variable must be declared before it is used..";break;case"CANNOTITERATETHISTYPE":a+="This type cannot be used in an IN loop"}break;case"MemberExpression":switch(n){case"PROPERTYNOTFOUND":a+="Cannot find member property. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:"";break;case"OUTOFBOUNDS":a+="Out of Bounds. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:"";break;case"NOTFOUND":a+="Cannot call member method on null. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:"";break;case"INVALIDTYPE":a+="Cannot call member property on object of this type. ",a+=!1===e.computed&&"Identifier"===e.property.type?e.property.name:""}break;case"Property":if("ONLYLITERAL"===n)a+="Property names must be literals or identifiers";break;case"Literal":break;case"CallExpression":switch(n){case"WRONGSIGNATURE":a+="Function signature does not match: ",a+="Identifier"===e.callee.type?e.callee.name:"";break;case"ONLYNODESUPPORTED":a+="Functions must be declared.",a+="Identifier"===e.callee.type?e.callee.name:"";break;case"NOTAFUNCTION":a+="Not a Function: ",a+="Identifier"===e.callee.type?e.callee.name:"";break;case"NOTFOUND":a+="Function Not Found: "+("Identifier"===e.callee.type?e.callee.name:"")}break;case"UnaryExpression":switch(n){case"NOTSUPPORTEDUNARYOPERATOR":a+="Operator "+e.operator+" not allowed in this context. Only ! can be used with boolean, and - with a number";break;case"NOTSUPPORTEDTYPE":a+="Unary operator "+e.operator+" cannot be used with this argument."}case"BinaryExpression":if("OPERATORNOTRECOGNISED"===n)a+="Binary Operator not recognised "+e.operator;break;case"LogicalExpression":switch(n){case"ONLYBOOLEAN":a+="Operator "+e.operator+" cannot be used. Only || or && are allowed values";break;case"ONLYORORAND":a+="Logical Expression "+e.operator+" being applied to parameters that are not boolean."}break;case"ArrayExpression":if("FUNCTIONCONTEXTILLEGAL"===n)a+=" Cannot Put Function inside Array.";break;default:a+="Expression contains unrecognised code structures."}}catch(r){throw r}return a}function g(e,t,n){return{line:e.loc.start.line,character:e.loc.start.column,reason:b(e,t,n)}}function T(e,t,n,a){const r={globalScope:t.globalScope,localScope:{}};for(let i=0;i<e.params.length;i++){const t=e.params[i].name;r.localScope[t.toLowerCase()]={type:"any"}}O(e.body,r,n,a,!1)}function O(e,t,n,a,r=!0){if(null===e)throw new Error("Unnexpexted Expression Syntax");let i=null;try{switch(e.type){case"VariableDeclarator":return"Identifier"!==e.id.type?a.push(g(e,"SYNTAX","VARIABLEMUSTHAVEIDENTIFIER")):(null!==t.localScope?t.localScope[e.id.name.toLowerCase()]:t.globalScope[e.id.name.toLowerCase()],null===t.localScope?t.globalScope[e.id.name.toLowerCase()]={type:"any"}:t.localScope[e.id.name.toLowerCase()]={type:"any"}),void(null!==e.init&&O(e.init,t,n,a,r));case"FunctionDeclaration":return!1===r&&a.push(g(e,"SYNTAX","GLOBALFUNCTIONSONLY")),"Identifier"!==e.id.type&&a.push(g(e,"SYNTAX","FUNCTIONMUSTHAVEIDENTIFIER")),i=y("",e),T(e,t,n,a),null!==t.localScope&&a.push(g(e,"SYNTAX","GLOBALFUNCTIONSONLY")),i.isnative=!1,void("Identifier"===e.id.type&&(t.globalScope[e.id.name.toLowerCase()]={type:"FormulaFunction",signature:[i]}));case"VariableDeclaration":for(let i=0;i<e.declarations.length;i++)O(e.declarations[i],t,n,a,r);return;case"IfStatement":return null!==e.test&&(O(e.test,t,n,a,r),"AssignmentExpression"!==e.test.type&&"UpdateExpression"!==e.test.type||a.push(g(e.test,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION"))),null!==e.consequent&&O(e.consequent,t,n,a,r),void(null!==e.alternate&&O(e.alternate,t,n,a,r));case"EmptyStatement":case"BreakStatement":case"ContinueStatement":case"Literal":case"TemplateElement":return;case"BlockStatement":if(null!==e.body)for(let i=0;i<e.body.length;i++)O(e.body[i],t,n,a,r);return;case"ReturnStatement":return void(null!==e.argument&&O(e.argument,t,n,a,r));case"ForInStatement":return"VariableDeclaration"===e.left.type?(e.left.declarations.length>1&&a.push(g(e,"SYNTAX","ONLY1VAR")),null!==e.left.declarations[0].init&&a.push(g(e,"SYNTAX","CANNOTDECLAREVAL"))):"Identifier"!==e.left.type&&a.push(g(e,"SYNTAX","LEFTNOTVAR")),O(e.left,t,n,a,r),O(e.right,t,n,a,r),void O(e.body,t,n,a,r);case"ForStatement":return null!==e.init&&O(e.init,t,n,a,r),null!==e.test&&O(e.test,t,n,a,r),null!==e.body&&O(e.body,t,n,a,r),void(null!==e.update&&O(e.update,t,n,a,r));case"UpdateExpression":if("Identifier"!==e.argument.type&&"MemberExpression"!==e.argument.type)a.push(g(e,"SYNTAX","ASSIGNMENTTOVARSONLY"));else{if("Identifier"===e.argument.type){let r=!1;!1===n&&(null!==t.localScope&&void 0!==t.localScope[e.argument.name.toLowerCase()]&&(r=!0),void 0!==t.globalScope[e.argument.name.toLowerCase()]&&(r=!0),!1===r&&a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Identifier "+e.argument.name+" has not been declared."}))}"MemberExpression"===e.argument.type&&O(e.argument,t,n,a,r)}return;case"AssignmentExpression":{switch("Identifier"!==e.left.type&&"MemberExpression"!==e.left.type&&a.push(g(e,"SYNTAX","ASSIGNMENTTOVARSONLY")),e.operator){case"=":case"/=":case"*=":case"%=":case"+=":case"-=":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}O(e.right,t,n,a,r);let i=!1;return"Identifier"===e.left.type&&(null!==t.localScope&&void 0!==t.localScope[e.left.name.toLowerCase()]&&(i=!0),void 0!==t.globalScope[e.left.name.toLowerCase()]&&(i=!0),!1===n&&!1===i&&a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Identifier "+e.left.name+" has not been declared."})),void("MemberExpression"===e.left.type&&O(e.left,t,n,a,r))}case"ExpressionStatement":return"AssignmentExpression"===e.expression.type||e.expression.type,void O(e.expression,t,n,a,r);case"Identifier":{const r=e.name.toLowerCase();if(null!==t.localScope&&void 0!==t.localScope[r])return;if(void 0!==t.globalScope[r])return;!1===n&&a.push(g(e,"SYNTAX","VARIABLENOTFOUND"));break}case"MemberExpression":return O(e.object,t,n,a,r),void(!0===e.computed&&O(e.property,t,n,a,r));case"CallExpression":"Identifier"!==e.callee.type&&a.push(g(e,"SYNTAX","ONLYNODESSUPPORTED"));for(let i=0;i<e.arguments.length;i++)O(e.arguments[i],t,n,a,r);if("Identifier"===e.callee.type){const r=s(e.callee.name,e.arguments,t);!1===n&&-1===r&&a.push(g(e,"SYNTAX","NOTFOUND")),-2===r&&a.push(g(e,"SYNTAX","WRONGSIGNATURE"))}return;case"UnaryExpression":return void O(e.argument,t,n,a,r);case"BinaryExpression":switch(O(e.left,t,n,a,r),O(e.right,t,n,a,r),e.operator){case"==":case"!=":case"<":case"<=":case">":case">=":case"+":case"-":case"*":case"/":case"%":case"&":case"|":case"^":case"<<":case">>":case">>>":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}return;case"LogicalExpression":switch(e.operator){case"&&":case"||":break;default:a.push(g(e,"SYNTAX","OPERATORNOTRECOGNISED"))}return O(e.left,t,n,a,r),"AssignmentExpression"!==e.left.type&&"UpdateExpression"!==e.left.type||a.push(g(e,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION")),O(e.right,t,n,a,r),void("AssignmentExpression"!==e.right.type&&"UpdateExpression"!==e.right.type||a.push(g(e,"SYNTAX","CANNOT_USE_ASSIGNMENT_IN_CONDITION")));case"ArrayExpression":for(let i=0;i<e.elements.length;i++)O(e.elements[i],t,n,a,r);return;case"TemplateLiteral":for(let i=0;i<e.quasis.length;i++)O(e.quasis[i],t,n,a,r);for(let i=0;i<e.expressions.length;i++)O(e.expressions[i],t,n,a,r);return;case"ObjectExpression":for(let i=0;i<e.properties.length;i++)O(e.properties[i],t,n,a,r);return;case"Property":return"Literal"!==e.key.type&&"Identifier"!==e.key.type&&a.push(g(e,"SYNTAX","ONLYLITERAL")),"Literal"===e.key.type&&O(e.key,t,n,a,r),void O(e.value,t,n,a,r);default:a.push(g(e,"SYNTAX","UNRECOGNISED"))}return}catch(o){a.push({line:null===e?0:e.loc.start.line,character:null===e?0:e.loc.start.column,reason:"Unnexpected Syntax"})}}function A(t,n,a,r="async",i=e){const s=[];if("BlockStatement"!==t.body[0].body.type)return[{line:0,character:0,reason:"Invalid Body"}];null==n&&(n={vars:{},customFunctions:[]});const o={globalScope:N(n.vars,i,n.customFunctions,r),localScope:null};try{O(t.body[0].body,o,a,s)}catch(l){}return s}function I(e){const t=[];return l(e,(e=>("CallExpression"===e.type&&"Identifier"===e.callee.type&&t.push(e.callee.name.toLowerCase()),!0))),t}function h(e,a=[]){let r=null;if(void 0===e.usesFeatureSet){null===r&&(r=I(e)),e.usesFeatureSet=!1;for(let n=0;n<r.length;n++)t.indexOf(r[n])>-1&&(e.usesFeatureSet=!0,e.isAsync=!0);if(!1===e.usesFeatureSet&&a&&a.length>0)for(const t of a)if(p(e,t)){e.usesFeatureSet=!0,e.isAsync=!0;break}}if(void 0===e.usesGeometry){e.usesGeometry=!1,null===r&&(r=I(e));for(let t=0;t<r.length;t++)n.indexOf(r[t])>-1&&(e.usesGeometry=!0)}}function L(e){const n=I(e);for(let a=0;a<n.length;a++)if(t.indexOf(n[a])>-1)return!0;return!1}function C(e){}export{r as addFunctionDeclaration,i as checkFunctionSignature,A as checkScript,N as constructGlobalScope,O as extractAllIssues,T as extractAllIssuesInFunction,y as extractFunctionDeclaration,d as findExpectedFieldLiterals,f as findFieldLiterals,s as findFunction,I as findFunctionCalls,h as findScriptDependencies,e as functionDecls,g as makeError,b as nodeErrorMessage,u as referencesFunction,p as referencesMember,L as scriptUsesFeatureSet,c as testValidityOfExpression,x as validateFunction,E as validateLanguage,m as validateLanguageNode,S as validateScript,l as walk};
|