@arcgis/core 4.33.0-next.20250605 → 4.33.0-next.20250607
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/deepClone.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/geometry/constructors.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0229c573fa8a2fff2d8b.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{346781f07389074f6c12.js → 130c848bf6337649052c.js} +1 -1
- package/assets/esri/core/workers/chunks/{e385a27fd1ac2123a05f.js → 178260e8a263f2f1584f.js} +1 -1
- package/assets/esri/core/workers/chunks/{28b1819bf744ce957dfd.js → 17fcdaeb42e932712096.js} +2 -2
- package/assets/esri/core/workers/chunks/{28b1819bf744ce957dfd.js.LICENSE.txt → 17fcdaeb42e932712096.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/183a7dec68c8ba6eb3d6.js +1 -0
- package/assets/esri/core/workers/chunks/29fb64826bb1351aca8d.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/2ddb776434a93b8d9e63.js +1 -0
- package/assets/esri/core/workers/chunks/3cbc498388fb1931a9f8.js +1 -0
- package/assets/esri/core/workers/chunks/{d0372bac0c5f4fbed468.js → 3f59a73f9a758095976f.js} +1 -1
- package/assets/esri/core/workers/chunks/{3a74654fa539f78ceb86.js → 467cacb501b0417bb4df.js} +1 -1
- package/assets/esri/core/workers/chunks/{a2e9141ff4efd13413a1.js → 4a805e7a57d25c4b595f.js} +2 -2
- package/assets/esri/core/workers/chunks/53ff5b7691ba1444358e.js +1 -0
- package/assets/esri/core/workers/chunks/54f981fe0f8851767be9.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{a6fb75929e456f87f804.js → 58b2dc0ec977af7413b0.js} +1 -1
- package/assets/esri/core/workers/chunks/5cc5f32b474ee723e192.js +1 -0
- package/assets/esri/core/workers/chunks/658e82c9b722852e02d0.js +1 -0
- package/assets/esri/core/workers/chunks/73ddb356121add556994.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/9a87c367ee5ba44f3081.js +1 -0
- package/assets/esri/core/workers/chunks/a1a42b0d7cd47b647f8a.js +1 -0
- package/assets/esri/core/workers/chunks/{3025e420e13e2bc8c0a1.js → a622ed3f182648ab3ff6.js} +1 -1
- package/assets/esri/core/workers/chunks/aad9a693813b47a51530.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/b8c8acf75e09014d8346.js +1 -0
- package/assets/esri/core/workers/chunks/c6c86cbe65a58c3093ae.js +1 -0
- package/assets/esri/core/workers/chunks/e717832326d1b1f817d3.js +1 -0
- package/assets/esri/core/workers/chunks/ec922f876e1465d36045.js +1 -0
- package/assets/esri/core/workers/chunks/{5853b2af6ac8be2c69d8.js → ee3940679d794d78b4ea.js} +1 -1
- package/assets/esri/core/workers/chunks/{bd2dcc55ac3418421ee5.js → f20ba89ac21f05b7020c.js} +1 -1
- package/assets/esri/core/workers/chunks/f3b51aa0a1a8fc3b231c.js.LICENSE.txt +1 -1
- package/assets/esri/themes/base/widgets/_TimeSlider.scss +1 -0
- package/assets/esri/themes/dark/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/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
- package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.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_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_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_no.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/FeatureForm/t9n/FeatureForm_ar.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.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_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_nl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.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/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_ar.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_bg.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_bs.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_ca.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_cs.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_da.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_de.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_el.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_es.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_et.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_fi.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_fr.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_he.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_hr.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_hu.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_id.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_it.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_ja.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_ko.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_lt.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_lv.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_nl.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_no.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_pl.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_pt-BR.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_pt-PT.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_ro.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_ru.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_sk.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_sl.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_sr.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_sv.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_th.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_tr.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_uk.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_vi.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_zh-CN.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_zh-HK.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_zh-TW.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ar.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bg.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_bs.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ca.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_cs.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_da.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_de.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_el.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_es.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_et.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fi.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_fr.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_he.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hr.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_hu.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_id.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_it.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ja.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ko.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lt.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_lv.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_nl.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_no.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pl.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-BR.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_pt-PT.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ro.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_ru.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sk.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sl.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sr.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_sv.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_th.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_tr.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_uk.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_vi.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-CN.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-HK.json +1 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_zh-TW.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ar.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_bg.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_bs.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ca.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_cs.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_da.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_de.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_el.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_es.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_et.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_fi.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_fr.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_he.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_hr.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_hu.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_id.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_it.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ja.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ko.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_lt.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_lv.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_nl.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_no.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_pl.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_pt-BR.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_pt-PT.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ro.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_ru.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sk.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sl.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sr.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_sv.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_th.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_tr.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_uk.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_vi.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_zh-CN.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_zh-HK.json +1 -1
- package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_zh-TW.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ar.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_bg.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_bs.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ca.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_cs.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_da.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_de.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_el.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_es.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_et.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_fi.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_fr.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_he.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_hr.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_hu.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_id.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_it.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ja.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ko.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_lt.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_lv.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_nl.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_no.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_pl.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_pt-BR.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_pt-PT.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ro.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_ru.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sk.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sl.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sr.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_sv.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_th.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_tr.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_uk.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_vi.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_zh-CN.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_zh-HK.json +1 -1
- package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_zh-TW.json +1 -1
- package/chunks/aiServices.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/geometry/support/MeshTexture.js +1 -1
- package/interfaces.d.ts +163 -18
- package/intl/date.js +1 -1
- package/intl/number.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/support/PlaybackInfo.d.ts +4 -0
- package/networks/CircuitManager.js +1 -1
- package/networks/UnitIdentifierManager.js +1 -1
- package/package.json +2 -2
- package/rest/networks/circuits/alterCircuit.js +1 -1
- package/rest/networks/circuits/createCircuit.js +1 -1
- package/rest/networks/circuits/deleteCircuits.js +1 -1
- package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
- package/rest/networks/circuits/support/EditCircuitsResult.js +5 -0
- package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
- package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
- package/rest/networks/support/utils.js +5 -0
- package/rest/networks/unitIdentifiers/insertGap.js +1 -1
- package/rest/networks/unitIdentifiers/reset.js +1 -1
- package/rest/networks/unitIdentifiers/resize.js +1 -1
- package/rest/networks/unitIdentifiers/support/EditUnitIdentifiersResult.js +5 -0
- package/support/arcadeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/3d/FocusAreasView.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
- package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
- package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
- package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/DisplayQualityProfile.js +1 -1
- package/views/3d/support/QualitySettings.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/lib/textureUtils.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/ToolViewManager.js +1 -1
- package/views/support/layerViewUtils.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/Parameters.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/FeatureForm/FieldInput.js +1 -1
- package/widgets/LayerList/LayerListItem.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/assets/esri/core/workers/chunks/074498a4d685223ec058.js +0 -1
- package/assets/esri/core/workers/chunks/15b3eb60f86954783fab.js +0 -1
- package/assets/esri/core/workers/chunks/28677588ec75bc08ade9.js +0 -1
- package/assets/esri/core/workers/chunks/5d50a8d0427eab0a2514.js +0 -1
- package/assets/esri/core/workers/chunks/91d484960df25ec9554b.js +0 -1
- package/assets/esri/core/workers/chunks/9cd55043f3d789f41815.js +0 -1
- package/assets/esri/core/workers/chunks/9fe62638dc7dce466612.js +0 -1
- package/assets/esri/core/workers/chunks/adf6982e2d8102669cdf.js +0 -1
- package/assets/esri/core/workers/chunks/c6fa79ce324122e08dbb.js +0 -1
- package/assets/esri/core/workers/chunks/cbbbaccc0d3683e1c0fe.js +0 -1
- package/assets/esri/core/workers/chunks/e7a440476cd1eb4c6547.js +0 -1
- package/assets/esri/core/workers/chunks/e9993d4f2bfdc434fbcc.js +0 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../request.js";import t from"./featureSetCollection.js";import{p as a,$ as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import p from"./featureset/support/cache.js";import{FeatureSetError as f,FeatureSetErrorCodes as y}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as m,isSupportedLayer as h,extractServiceUrl as I}from"./featureset/support/shared.js";import L from"../core/Loadable.js";import w from"../core/sql/WhereClause.js";import S from"../layers/FeatureLayer.js";import _ from"../layers/Layer.js";import C from"../portal/PortalItem.js";function g(){null===p.applicationCache&&(p.applicationCache=new p)}async function k(e,t,a){if(p.applicationCache){const a=p.applicationCache.getLayerInfo(e);if(a){const r=await a;return new S({url:e,outFields:t,sourceJSON:r})}const n=new S({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(p.applicationCache){p.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw p.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new S({url:e,outFields:t,sourceJSON:a})}const l=new S({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new S({url:e,outFields:t})}async function F(e,t,a,r,n,l=null){return N(await k(e,["*"],n),t,a,r,n,l)}function N(e,t=null,a=null,r=!0,n=null,l=null){switch(e.type){case"catalog-footprint":return N(e.parent,t,a,r,n,l);case"subtype-sublayer":{const s=N(e.parent,t,a,r,n,l);return s.filter(w.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:s.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const s={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l};return!e.url&&e.source?new c(s):new u(s)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function T(t){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw p.applicationCache.clearLayerInfo(t),r}}return a}async function A(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new f(y.DataElementsNotFound)})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw p.applicationCache.clearLayerInfo(r),l}}return n}async function O(t,a){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw p.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function E(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},n=await O(e,null);if(r.metadata=n,void 0!==n.controllerDatasetLayers?.utilityNetworkLayerId&&null!==n.controllerDatasetLayers.utilityNetworkLayerId){if(n.layers)for(const e of n.layers)r.layerNameLkp[e.id]=e.name;if(n.tables)for(const e of n.tables)r.layerNameLkp[e.id]=e.name;const l=n.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=l;const s=await A(e,l);if(s){r.queryelem=s,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const n=await T(e+"/"+l);if(void 0!==n.systemLayers?.associationsTableId&&null!==n.systemLayers.associationsTableId){let l=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),l=await F(e+"/"+n.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await l.load(),r.unVersion>=4&&(l=l.filter(w.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})),await l.load())}return{lkp:r.lkp,associations:l,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function j(e,t,a,r=null,n=null,l=!0,s=null,i=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await F(o,r,n,l,s,i);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:i})}n.registerAction(),l.registerAction(),s.registerAction(),i.registerAction(),o.registerAction();class b extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.title===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.id===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await O(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function M(e,t,a=null,r=null){return new b(e,t,a,r)}function v(e,t,a=null,r=null){return new D(e,t,a,r)}function R(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof _&&m(e)){const a=e;switch(t){case"datasource":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return N(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function q(e,t,a,r,n,l,s,i=null){if(p.applicationCache){const o=p.applicationCache.getLayerInfo(e+":"+l.url);if(o)return G(await o,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await G(await o,t,a,r,n,s,i)}const o=new C({id:e,portal:l}).load();p.applicationCache?p.applicationCache.setLayerInfo(e+":"+l.url,o):null!=s&&s.setCachedPortalItem(l.url,e,o);try{return await G(await o,t,a,r,n,s,i)}catch(u){throw p.applicationCache&&p.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,o),u}}async function G(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await k(I(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=_.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await _.fromPortalItem(e)}return N(i,a,r,n,l,s)}export{E as constructAssociationMetaDataFeatureSetFromUrl,N as constructFeatureSet,q as constructFeatureSetFromPortalItem,j as constructFeatureSetFromRelationship,F as constructFeatureSetFromUrl,R as convertToFeatureSet,M as createFeatureSetCollectionFromMap,v as createFeatureSetCollectionFromService,g as initialiseMetaDataCache};
|
|
5
|
+
import e from"../request.js";import t from"./featureSetCollection.js";import{m as a,$ as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import l from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import p from"./featureset/support/cache.js";import{FeatureSetError as f,FeatureSetErrorCodes as y}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as m,isSupportedLayer as h,extractServiceUrl as I}from"./featureset/support/shared.js";import L from"../core/Loadable.js";import w from"../core/sql/WhereClause.js";import S from"../layers/FeatureLayer.js";import _ from"../layers/Layer.js";import C from"../portal/PortalItem.js";function g(){null===p.applicationCache&&(p.applicationCache=new p)}async function k(e,t,a){if(p.applicationCache){const a=p.applicationCache.getLayerInfo(e);if(a){const r=await a;return new S({url:e,outFields:t,sourceJSON:r})}const n=new S({url:e,outFields:t}),l=(async()=>(await n.load(),n.sourceJSON))();if(p.applicationCache){p.applicationCache.setLayerInfo(e,l);try{return await l,n}catch(r){throw p.applicationCache.clearLayerInfo(e),r}}return await l,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new S({url:e,outFields:t,sourceJSON:a})}const l=new S({url:e,outFields:t}),s=(async()=>(await l.load(),l.sourceJSON))();a.setCachedLayerMetadata(e,s);try{return await s,l}catch(n){throw a.removeCachedLayerMetadata(e,s),n}}return new S({url:e,outFields:t})}async function F(e,t,a,r,n,l=null){return N(await k(e,["*"],n),t,a,r,n,l)}function N(e,t=null,a=null,r=!0,n=null,l=null){switch(e.type){case"catalog-footprint":return N(e.parent,t,a,r,n,l);case"subtype-sublayer":{const s=N(e.parent,t,a,r,n,l);return s.filter(w.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:s.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"knowledge-graph-sublayer":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const s={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:l};return!e.url&&e.source?new c(s):new u(s)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function T(t){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw p.applicationCache.clearLayerInfo(t),r}}return a}async function A(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new f(y.DataElementsNotFound)})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(r,n);try{return await n}catch(l){throw p.applicationCache.clearLayerInfo(r),l}}return n}async function O(t,a){if(null!==p.applicationCache){const e=p.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==p.applicationCache){p.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw p.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(l){throw a.removeCachedServiceMetadata(t,r),l}}return r}async function E(e,t,a){const r={metadata:null,networkId:-1,unVersion:3,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map,queryelem:null,layerNameLkp:{},lkp:null},n=await O(e,null);if(r.metadata=n,void 0!==n.controllerDatasetLayers?.utilityNetworkLayerId&&null!==n.controllerDatasetLayers.utilityNetworkLayerId){if(n.layers)for(const e of n.layers)r.layerNameLkp[e.id]=e.name;if(n.tables)for(const e of n.tables)r.layerNameLkp[e.id]=e.name;const l=n.controllerDatasetLayers.utilityNetworkLayerId;r.networkId=l;const s=await A(e,l);if(s){r.queryelem=s,r.queryelem?.dataElement&&void 0!==r.queryelem.dataElement.schemaGeneration&&(r.unVersion=r.queryelem.dataElement.schemaGeneration),r.lkp={},r.queryelem.dataElement.domainNetworks||(r.queryelem.dataElement.domainNetworks=[]);for(const e of r.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:r.layerNameLkp[t.layerId]??null};r.layerIdLookup.set(e.layerId,e),r.sourceIdLookup.set(e.sourceId,e),e.className&&(r.lkp[e.className]=e)}}if(r.queryelem.dataElement.terminalConfigurations)for(const e of r.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)r.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const n=await T(e+"/"+l);if(void 0!==n.systemLayers?.associationsTableId&&null!==n.systemLayers.associationsTableId){let l=null;if(a&&r.unVersion<8){const a=[];r.unVersion>=4&&(a.push("STATUS"),a.push("PERCENTALONG")),l=await F(e+"/"+n.systemLayers.associationsTableId,t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...a],!1,null,null),await l.load(),r.unVersion>=4&&(l=l.filter(w.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})),await l.load())}return{lkp:r.lkp,associations:l,unVersion:r.unVersion,terminals:r.terminals,layerIdLookup:r.layerIdLookup,sourceIdLookup:r.sourceIdLookup}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}return{associations:null,unVersion:r.unVersion,lkp:null,terminals:[],layerIdLookup:new Map,sourceIdLookup:new Map}}async function j(e,t,a,r=null,n=null,l=!0,s=null,i=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await F(o,r,n,l,s,i);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:l,lrucache:s,interceptor:i})}n.registerAction(),l.registerAction(),s.registerAction(),i.registerAction(),o.registerAction();class b extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.title===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){if(L.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=this._map.allLayers.find((t=>h(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.allTables){const r=this._map.allTables.find((t=>h(t)&&t.id===e));if(null!=r)return this._makeAndAddFeatureSet(r,t,a)}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=N(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await O(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])s.name===e&&(l=s);if(!l)for(const s of n.tables??[])s.name===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=await this._loadMetaData();let l=null;for(const s of n.layers??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(!l)for(const s of n.tables??[])null!==s.id&&void 0!==s.id&&s.id.toString()===e&&(l=s);if(l){const e=await k(this._url+"/"+l.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function M(e,t,a=null,r=null){return new b(e,t,a,r)}function v(e,t,a=null,r=null){return new D(e,t,a,r)}function R(e,t,n,l,s){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof _&&m(e)){const a=e;switch(t){case"datasource":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(a,s,"outFields"in a?a.outFields:null,!0,n,l)}return null}if(r(e)){switch(t){case"datasource":return N(e.parent,s,e.parent.outFields,!0,n,l).getDataSourceFeatureSet();case"parent":case"root":return N(e,s,e.parent.outFields,!0,n,l)}return null}return null}async function q(e,t,a,r,n,l,s,i=null){if(p.applicationCache){const o=p.applicationCache.getLayerInfo(e+":"+l.url);if(o)return G(await o,t,a,r,n,s,i)}if(null!=s){const o=s.getCachedPortalItem(l.url,e);if(null!=o)return await G(await o,t,a,r,n,s,i)}const o=new C({id:e,portal:l}).load();p.applicationCache?p.applicationCache.setLayerInfo(e+":"+l.url,o):null!=s&&s.setCachedPortalItem(l.url,e,o);try{return await G(await o,t,a,r,n,s,i)}catch(u){throw p.applicationCache&&p.applicationCache.clearLayerInfo(e+":"+l.url),null!=s&&s.removeCachedPortalItem(l.url,e,o),u}}async function G(e,t,a,r,n,l,s){let i;if("Feature Service"===e.type||"Map Service"===e.type)i=await k(I(e.url??"")+"/"+t,["*"],l);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=l){const t=l.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)i=await t;else{const t=_.fromPortalItem(e);l.setCachedPortalItemLayer(e.portal.url,e.id,t);try{i=await t}catch(o){throw l.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else i=await _.fromPortalItem(e)}return N(i,a,r,n,l,s)}export{E as constructAssociationMetaDataFeatureSetFromUrl,N as constructFeatureSet,q as constructFeatureSetFromPortalItem,j as constructFeatureSetFromRelationship,F as constructFeatureSetFromUrl,R as convertToFeatureSet,M as createFeatureSetCollectionFromMap,v as createFeatureSetCollectionFromService,g as initialiseMetaDataCache};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../Graphic.js";import{id as t}from"../../../kernel.js";import r from"../../../request.js";import i from"../../Attachment.js";import s from"../../Dictionary.js";import{FeatureSetError as a,FeatureSetErrorCodes as n}from"../support/errorsupport.js";import l from"../support/FeatureSet.js";import o from"../support/IdSet.js";import{defaultMaxRecords as u,stableStringify as d,FeatureServiceDatabaseType as c,IdState as h,extractServiceUrl as p}from"../support/shared.js";import{toWhereClause as y,isSingleField as f}from"../support/sqlUtils.js";import{decodeStatType as g}from"../support/stats.js";import{sliceEquals as _}from"../../../core/arrayUtils.js";import{createMD5Hash as m,outputTypes as w}from"../../../core/MD5.js";import{sqlAnd as R}from"../../../core/sql.js";import F from"../../../core/sql/WhereClause.js";import{fromJSON as S}from"../../../geometry/support/jsonUtils.js";import{srToRESTValue as b}from"../../../geometry/support/spatialReferenceUtils.js";import I from"../../../layers/FeatureLayer.js";import D from"../../../rest/support/AttachmentQuery.js";import P from"../../../rest/support/Query.js";import C from"../../../rest/support/StatisticDefinition.js";function v(e){if(0===e.length)throw new a(n.NeverReach);const t=[];for(let i=0;i<e.length;i++){const r=e[i],s=[`"${r.name.replace('"','""')}" ${r.asc?">":"<"} @last_${i}`];for(let t=0;t<i;t++){const r=e[t];s.push(`"${r.name.replace('"','""')}" = @last_${t}`)}t.push(s.join(" AND "))}const r=t.join(" OR ");return F.create(r)}function T(e,t){null==e.clause&&(e.clause=v(e.keyFields));for(let r=0;r<e.keyFields.length;r++){const i=e.keyFields[r].name;e.clause.parameters[`last_${r}`]=t.attributes[i]}}class k extends l{constructor(e){super(e),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerDynamic",this._removeGeometry=!1,this._overrideFields=null,this.formulaCredential=null,this._pageJustIds=!1,this._requestStandardised=!1,this._useDefinitionExpression=!0,e.spatialReference&&(this.spatialReference=e.spatialReference),this._transparent=!0,this._maxProcessing=1e3,this._layer=e.layer,this._wset=null,void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry)}_maxQueryRate(){return u}end(){return this._layer}optimisePagingFeatureQueries(e){this._pageJustIds=e}get urlQueryPath(){return this._layer.parsedUrl.path||""}convertQueryToLruCacheKey(e){const t=this.urlQueryPath+","+d(e.toJSON());return m(t,w.String)}async loadImpl(){return!0===this._layer.loaded?(this._initialiseFeatureSet(),this):(await this._layer.load(),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){if(null==this.spatialReference&&(this.spatialReference=this._layer.spatialReference),this.geometryType=this._layer.geometryType??"",this.fields=this._layer.fields.slice(),this.hasZ=!0===this._layer?.capabilities?.data?.supportsZ,this.hasM=!0===this._layer?.capabilities?.data?.supportsM,null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=[],t=[];for(const r of this.fields)if("oid"===r.type)e.push(r),t.push(r.name);else for(const i of this._overrideFields)if(i.toLowerCase()===r.name.toLowerCase()){e.push(r),t.push(r.name);break}this.fields=e,this._overrideFields=t}if(this._layer.source&&this._layer.source.sourceJSON){const e=this._layer.source.sourceJSON.currentVersion;!0===this._layer.source.sourceJSON.useStandardizedQueries?(this._databaseType=c.StandardisedNoInterval,null!=e&&e>=10.61&&(this._databaseType=c.Standardised)):null!=e&&(e>=10.5&&(this._databaseType=c.StandardisedNoInterval,this._requestStandardised=!0),e>=10.61&&(this._databaseType=c.Standardised))}this.objectIdField=this._layer.objectIdField;for(const e of this.fields)"global-id"===e.type&&(this.globalIdField=e.name);this.subtypeField=this._layer.subtypeField??"",this.subtypes=this._layer.subtypes,this.typeIdField=("typeIdField"in this._layer?this._layer.typeIdField:null)??"",this.types="types"in this._layer?this._layer.types:null}_isInFeatureSet(){return h.InFeatureSet}async _refineSetBlock(e){return e}_candidateIdTransform(e){return e}async _getSet(e){if(null===this._wset){await this._ensureLoaded();const t=await this._getFilteredSet("",null,null,null,e);return this._wset=t,t}return this._wset}async _runDatabaseProbe(e){await this._ensureLoaded();const t=new P;this.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t.where=e.replace("OBJECTID",this._layer.objectIdField);try{return await this._layer.queryObjectIds(t),!0}catch(r){return!1}}_canUsePagination(){return!(!this._layer.capabilities||!this._layer.capabilities.query||!0!==this._layer.capabilities.query.supportsPagination)}_cacheableFeatureSetSourceKey(){return this._layer.url}get gdbVersion(){return this._layer&&this._layer.capabilities&&this._layer.capabilities.data&&this._layer.capabilities.data.isVersioned?this._layer.gdbVersion||"SDE.DEFAULT":""}nativeCapabilities(){return{title:this._layer.title??"",source:this,canQueryRelated:!0,capabilities:this._layer.capabilities,databaseType:this._databaseType,requestStandardised:this._requestStandardised}}_createQuery(){const e=this._layer.createQuery();return e.returnZ=this.hasZ,e.returnM=this.hasM,this.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),this._requestStandardised&&(e.sqlFormat="standard"),this._useDefinitionExpression?"subtype-group"===this._layer.type&&(e.where=this._layer.definitionExpression):e.where=null,e}executeQuery(e,t){const r="execute"===t?this._layer.queryFeatures.bind(this._layer):"executeForCount"===t?this._layer.queryFeatureCount.bind(this._layer):this._layer.queryObjectIds.bind(this._layer);let i=null;if(this.recentlyUsedQueries){const t=this.convertQueryToLruCacheKey(e);i=this.recentlyUsedQueries.getFromCache(t),null===i&&(i=r(e),this.recentlyUsedQueries.addToCache(t,i),i=i.catch((e=>{throw this.recentlyUsedQueries?.removeFromCache(t),e})))}return this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:e,method:t}),null===i&&(i=r(e)),i}async _getFilteredSet(e,t,r,i,s){const a=await this.databaseType();if(this.isTable()&&t&&null!==e&&""!==e){return new o([],[],!0,null)}if(this._canUsePagination())return this._getFilteredSetUsingPaging(e,t,r,i,s);let n="",l=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(n=i.constructClause(),l=!0);const u=this._createQuery();u.where=R(u.where,null===r?null===t?"1=1":"":y(r,a)),u.spatialRelationship=this._makeRelationshipEnum(e),u.outSpatialReference=this.spatialReference,u.orderByFields=""!==n?n.split(","):null,u.geometry=null===t?null:t,u.relationParameter=this._makeRelationshipParam(e);let d=await this.executeQuery(u,"executeForIds");null===d&&(d=[]),this._checkCancelled(s);return new o([],d,l,null)}_expandPagedSet(e,t,r,i,s){return this._expandPagedSetFeatureSet(e,t,r,i,s)}async _getFilteredSetUsingPaging(e,t,r,i,s){let a="",n=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(a=i.constructClause(),n=!0);const l=await this.databaseType(),u=null===r?null===t?"1=1":"":y(r,l);let d=this._maxQueryRate();const c=this._layer.capabilities?.query.maxRecordCount;null!=c&&c<d&&(d=c);let h=null;if(!0===this._pageJustIds)h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:this._layer.objectIdField,resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:!1,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}});else{let r=!0;!0===this._removeGeometry&&(r=!1);const i=this._overrideFields??this._fieldsIncludingObjectId(["*"]);h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:i.join(","),resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:r,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}})}return await this._expandPagedSet(h,d,0,1,s),h}_clonePageDefinition(e){return null===e?null:!0!==e.groupbypage?{groupbypage:!1,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,resultOffset:e.resultOffset,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}:{groupbypage:!0,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,useOIDpagination:e.useOIDpagination,generatedOid:e.generatedOid,groupByFieldsForStatistics:e.groupByFieldsForStatistics,resultOffset:e.resultOffset,outStatistics:e.outStatistics,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}}async _getPhysicalPage(e,t,r){const i=e.pagesDefinition.internal.lastRetrieved,s=i,a=e.pagesDefinition.internal.lastPage,n=this._createQuery();n.spatialRelationship=e.pagesDefinition.spatialRel,n.relationParameter=e.pagesDefinition.relationParam,n.outFields=e.pagesDefinition.outFields.split(","),n.num=e.pagesDefinition.resultRecordCount,n.start=e.pagesDefinition.internal.lastPage,n.geometry=e.pagesDefinition.geometry,n.where=R(n.where,e.pagesDefinition.where),n.orderByFields=""!==e.pagesDefinition.orderByFields?e.pagesDefinition.orderByFields.split(","):null,n.returnGeometry=e.pagesDefinition.returnGeometry,n.outSpatialReference=this.spatialReference;const l=await this.executeQuery(n,"execute");if(this._checkCancelled(r),e.pagesDefinition.internal.lastPage!==a)return"done";const o=this._layer.objectIdField;for(let u=0;u<l.features.length;u++)e.pagesDefinition.internal.set[s+u]=l.features[u].attributes[o];if(!1===this._pageJustIds)for(let u=0;u<l.features.length;u++)this._featureCache[l.features[u].attributes[o]]=l.features[u];return(void 0===l.exceededTransferLimit&&l.features.length!==e.pagesDefinition.resultRecordCount||!1===l.exceededTransferLimit)&&(e.pagesDefinition.internal.fullyResolved=!0),e.pagesDefinition.internal.lastRetrieved=i+l.features.length,e.pagesDefinition.internal.lastPage+=e.pagesDefinition.resultRecordCount,"done"}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice();if(t.includes("*"))return t;let r=!1;for(const i of t)if(i.toUpperCase()===this.objectIdField.toUpperCase()){r=!0;break}return!1===r&&t.push(this.objectIdField),t}async _getFeatures(e,t,r,i){const s=[];if(-1!==t&&void 0===this._featureCache[t]&&s.push(t),!0===this._checkIfNeedToExpandKnownPage(e,this._maxProcessingRate()))return await this._expandPagedSet(e,this._maxProcessingRate(),0,0,i),this._getFeatures(e,t,r,i);let l=0;for(let a=e._lastFetchedIndex;a<e._known.length;a++){if(e._lastFetchedIndex+=1,l++,void 0===this._featureCache[e._known[a]]){let r=!1;if(null!==this._layer._mode&&void 0!==this._layer._mode){const t=this._layer._mode;if(void 0!==t._featureMap[e._known[a]]){const i=t._featureMap[e._known[a]];null!==i&&(r=!0,this._featureCache[e._known[a]]=i)}}if(!1===r&&(e._known[a]!==t&&s.push(e._known[a]),s.length>=this._maxProcessingRate()-1))break}if(l>=r&&0===s.length)break}if(0===s.length)return"success";const o=this._createQuery();o.objectIds=s,o.outFields=this._overrideFields??this._fieldsIncludingObjectId(["*"]),o.returnGeometry=!0,!0===this._removeGeometry&&(o.returnGeometry=!1),o.outSpatialReference=this.spatialReference;const u=await this.executeQuery(o,"execute");if(this._checkCancelled(i),void 0!==u.error)throw new a(n.RequestFailed,{reason:u.error});const d=this._layer.objectIdField;for(let a=0;a<u.features.length;a++)this._featureCache[u.features[a].attributes[d]]=u.features[a];return"success"}async _getDistinctPages(e,t,r,i,s,l,o,u,d){await this._ensureLoaded();const c=await this.databaseType();let h=r.parseTree.column;const p=this._layer.fields??[];for(let a=0;a<p.length;a++)if(p[a].name.toLowerCase()===h.toLowerCase()){h=p[a].name;break}const f=this._createQuery();f.where=R(f.where,null===l?null===s?"1=1":"":y(l,c)),f.spatialRelationship=this._makeRelationshipEnum(i),f.relationParameter=this._makeRelationshipParam(i),f.geometry=null===s?null:s,f.returnDistinctValues=!0,f.returnGeometry=!1,f.outFields=[h];const g=await this.executeQuery(f,"execute");if(this._checkCancelled(d),!g.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);let _=!1;for(let a=0;a<p.length;a++)if(p[a].name===h){"date"===p[a].type&&(_=!0);break}for(let a=0;a<g.features.length;a++){if(_){const e=g.features[a].attributes[h];null!==e?u.push(new Date(e)):u.push(e)}else u.push(g.features[a].attributes[h]);if(u.length>=o)break}if(0===g.features.length)return u;if(g.features.length===this._layer.capabilities?.query.maxRecordCount&&u.length<o){return{calculated:!0,result:await this._getDistinctPages(e+g.features.length,t,r,i,s,l,o,u,d)}}return u}async _distinctStat(e,t,r,i,s,a,n){return{calculated:!0,result:await this._getDistinctPages(0,e,t,r,i,s,a,[],n)}}isTable(){return this._layer.isTable||null===this._layer.geometryType||"table"===this._layer.type||""===this._layer.geometryType||"esriGeometryNull"===this._layer.geometryType}async _countstat(e,t,r,i){const s=await this.databaseType();if(this.isTable()&&r&&null!==t&&""!==t)return{calculated:!0,result:0};const a=this._createQuery();a.where=R(a.where,null===i?null===r?"1=1":"":y(i,s)),a.spatialRelationship=this._makeRelationshipEnum(t),a.relationParameter=this._makeRelationshipParam(t),a.geometry=null===r?null:r,a.returnGeometry=!1;return{calculated:!0,result:await this.executeQuery(a,"executeForCount")}}async _stats(e,t,r,i,s,l,o){await this._ensureLoaded();const u=this._layer.capabilities?.query,d=!!u?.supportsSqlExpression,c=!!u?.supportsStatistics,h=!!u?.supportsDistinct;if("count"===e)return h?this._countstat(e,r,i,s):{calculated:!1};if(!1===c||!1===f(t)&&!1===d||!1===t.isStandardized)return""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o);if("distinct"===e)return!1===h?""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o):this._distinctStat(e,t,r,i,s,l,o);const p=await this.databaseType();if(this.isTable()&&i&&null!==r&&""!==r)return{calculated:!0,result:null};const _=this._createQuery();_.where=R(_.where,null===s?null===i?"1=1":"":y(s,p)),_.spatialRelationship=this._makeRelationshipEnum(r),_.relationParameter=this._makeRelationshipParam(r),_.geometry=null===i?null:i;const m=new C;m.statisticType=g(e),m.onStatisticField=y(t,p),m.outStatisticFieldName="ARCADE_STAT_RESULT",_.returnGeometry=!1;let w="ARCADE_STAT_RESULT";_.outStatistics=[m];const F=await this.executeQuery(_,"execute");if(!F.hasOwnProperty("features")||0===F.features.length)throw new a(n.InvalidStatResponse);let S=!1;const b=F.fields??[];for(let a=0;a<b.length;a++)if("ARCADE_STAT_RESULT"===b[a].name.toUpperCase()){w=b[a].name,"date"===b[a].type&&(S=!0);break}if(S){let e=F.features[0].attributes[w];return null!==e&&(e=new Date(F.features[0].attributes[w])),{calculated:!0,result:e}}return{calculated:!0,result:F.features[0].attributes[w]}}_stat(e,t,r,i,s,a,n){return this._stats(e,t,r,i,s,a,n)}async _canDoAggregates(e,t){await this._ensureLoaded();let r=!1;const i=this._layer.capabilities?.query,s=!0===i?.supportsSqlExpression;if(null!=i&&!0===i.supportsStatistics&&!0===i.supportsOrderBy&&(r=!0),r)for(let a=0;a<t.length-1;a++)(!1===t[a].workingexpr?.isStandardized||!1===f(t[a].workingexpr)&&!1===s)&&(r=!1);return!1!==r}_makeRelationshipEnum(e){if(e.includes("esriSpatialRelRelation"))return"relation";switch(e){case"esriSpatialRelRelation":return"relation";case"esriSpatialRelIntersects":return"intersects";case"esriSpatialRelContains":return"contains";case"esriSpatialRelOverlaps":return"overlaps";case"esriSpatialRelWithin":return"within";case"esriSpatialRelTouches":return"touches";case"esriSpatialRelCrosses":return"crosses";case"esriSpatialRelEnvelopeIntersects":return"envelope-intersects"}return e}_makeRelationshipParam(e){return e.includes("esriSpatialRelRelation")?e.split(":")[1]:""}async _getAggregatePagesDataSourceDefinition(e,t,r,i,s,a,n){await this._ensureLoaded();const l=await this.databaseType();let u=null;if(!this._layer.capabilities.query.supportsPaginationOnAggregatedQueries){const t=this.getFieldsIndex();u={keyFields:e.map(((e,r)=>({name:t.normalizeFieldName(e)??e,asc:null==a||1===a._directions[r]})))}}let d="",c=!1;null!=a&&!0===this._layer.capabilities?.query?.supportsOrderBy&&(null==u||_(e,0,e.length,a._fields,0,Math.min(a._fields.length,e.length),((e,t)=>e.toLowerCase()===t.toLowerCase())))&&(d=a.constructClause(),c=!0),""===d&&(d=e.join(","));const h=[];for(let o=0;o<t.length;o++){const e=new C;e.onStatisticField=null!==t[o].workingexpr?y(t[o].workingexpr,l):"",e.outStatisticFieldName=t[o].field,e.statisticType=t[o].toStatisticsName(),h.push(e)}let p=this._maxQueryRate();const f=this._layer.capabilities?.query.maxRecordCount;null!=f&&f<p&&(p=f);const g=null===s?null===i?"1=1":"":y(s,l);return new o([],["GETPAGES"],c,{groupbypage:!0,spatialRel:this._makeRelationshipEnum(r),relationParam:this._makeRelationshipParam(r),outFields:["*"],useOIDpagination:!1,generatedOid:n,resultRecordCount:p,resultOffset:0,groupByFieldsForStatistics:e,outStatistics:h,geometry:null===i?null:i,where:g,orderByFields:d,returnGeometry:!1,returnIdsOnly:!1,internal:{lastMaxId:-1,set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1,keysetPagination:u}})}async _getAgregagtePhysicalPage(t,r,i){let s=t.pagesDefinition.where;if(!0===t.pagesDefinition.useOIDpagination&&(s=R(s,t.pagesDefinition.generatedOid+">"+t.pagesDefinition.internal.lastMaxId.toString())),null!=t.pagesDefinition.internal.keysetPagination?.clause){if(!this._layer.capabilities.query.supportsOrderBy)throw new a(n.NotImplemented);s=R(s,y(t.pagesDefinition.internal.keysetPagination.clause,await this.databaseType()))}const l=t.pagesDefinition.internal.lastRetrieved,o=l,u=t.pagesDefinition.internal.lastPage,d=this._createQuery();if(d.where=R(d.where,s),d.spatialRelationship=t.pagesDefinition.spatialRel,d.relationParameter=t.pagesDefinition.relationParam,d.outFields=t.pagesDefinition.outFields,d.outStatistics=t.pagesDefinition.outStatistics,d.geometry=t.pagesDefinition.geometry,d.groupByFieldsForStatistics=t.pagesDefinition.groupByFieldsForStatistics,d.num=t.pagesDefinition.resultRecordCount,d.start=t.pagesDefinition.internal.lastPage,d.returnGeometry=t.pagesDefinition.returnGeometry,d.orderByFields=""!==t.pagesDefinition.orderByFields?t.pagesDefinition.orderByFields.split(","):null,this.isTable()&&d.geometry&&d.spatialRelationship)return[];const c=await this.executeQuery(d,"execute");if(this._checkCancelled(i),!c.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);const h=[];if(t.pagesDefinition.internal.lastPage!==u)return[];c.features.length>0&&void 0===c.features[0].attributes[t.pagesDefinition.generatedOid]&&(t.pagesDefinition.generatedOid=t.pagesDefinition.generatedOid.toLowerCase());for(let e=0;e<c.features.length;e++)t.pagesDefinition.internal.set[o+e]=c.features[e].attributes[t.pagesDefinition.generatedOid];for(let a=0;a<c.features.length;a++)h.push(new e({attributes:c.features[a].attributes,geometry:null}));return t.pagesDefinition.internal.keysetPagination?0!==c.features.length&&c.exceededTransferLimit?T(t.pagesDefinition.internal.keysetPagination,h.at(-1)):t.pagesDefinition.internal.fullyResolved=!0:!0===t.pagesDefinition.useOIDpagination?0===c.features.length?t.pagesDefinition.internal.fullyResolved=!0:t.pagesDefinition.internal.lastMaxId=c.features[c.features.length-1].attributes[t.pagesDefinition.generatedOid]:(void 0===c.exceededTransferLimit&&c.features.length!==t.pagesDefinition.resultRecordCount||!1===c.exceededTransferLimit)&&(t.pagesDefinition.internal.fullyResolved=!0),t.pagesDefinition.internal.lastRetrieved=l+c.features.length,t.pagesDefinition.internal.lastPage+=t.pagesDefinition.resultRecordCount,h}static create(e,t,r,i,s){const a=new I({url:e,outFields:null===t?["*"]:t});return new k({layer:a,spatialReference:r,lrucache:i,interceptor:s})}relationshipMetaData(){return this._layer&&this._layer.source&&this._layer.source.sourceJSON?.relationships?this._layer.source.sourceJSON.relationships:[]}serviceUrl(){return p(this._layer.parsedUrl.path)}async queryAttachments(e,t,r,a,n){function l(e){const t=e.capabilities;return t?.data.supportsAttachment&&t?.operations.supportsQueryAttachments}const o=this._layer;if(l(o)){const l={objectIds:[e],returnMetadata:n};(t&&t>0||r&&r>0)&&(l.size=[t&&t>0?t:0,r&&r>0?r:t+1]),a&&a.length>0&&(l.attachmentTypes=a),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:o,query:l,method:"attachments"});const u=await o.queryAttachments(new D(l)),d=[];return u&&u[e]&&u[e].forEach((t=>{const r=this._layer.parsedUrl.path+"/"+e.toString()+"/attachments/"+t.id.toString();let a=null;n&&t.exifInfo&&(a=s.convertJsonToArcade(t.exifInfo,"system",!0)),d.push(new i(t.id,t.name,t.contentType,t.size,r,a,t.keywords??null))})),d}return[]}async queryRelatedFeatures(t){const i={f:"json",relationshipId:t.relationshipId.toString(),definitionExpression:t.where,outFields:t.outFields?.join(","),returnGeometry:t.returnGeometry.toString()};void 0!==t.resultOffset&&null!==t.resultOffset&&(i.resultOffset=t.resultOffset.toString()),void 0!==t.resultRecordCount&&null!==t.resultRecordCount&&(i.resultRecordCount=t.resultRecordCount.toString()),t.orderByFields&&(i.orderByFields=t.orderByFields.join(",")),t.objectIds&&t.objectIds.length>0&&(i.objectIds=t.objectIds.join(",")),t.outSpatialReference&&(i.outSR=b(t.outSpatialReference)),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preRequestCallback({layer:this._layer,queryPayload:i,method:"relatedrecords",url:this._layer.parsedUrl.path+"/queryRelatedRecords"});const s=await r(this._layer.parsedUrl.path+"/queryRelatedRecords",{responseType:"json",query:i});if(s.data){const t={},r=s.data;if(r?.relatedRecordGroups){const i=r.spatialReference;for(const s of r.relatedRecordGroups){const a=s.objectId,n=[];for(const t of s.relatedRecords){t.geometry&&(t.geometry.spatialReference=i);const r=new e({geometry:t.geometry?S(t.geometry):null,attributes:t.attributes});n.push(r)}t[a]={features:n,exceededTransferLimit:!0===r.exceededTransferLimit}}}return t}throw new a(n.InvalidRequest)}async getFeatureByObjectId(e,t){const r=this._createQuery();r.outFields=t,r.returnGeometry=!1,r.outSpatialReference=this.spatialReference,r.where=R(r.where,this.objectIdField+"="+e.toString()),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:r,method:"execute"});const i=await this._layer.queryFeatures(r);return 1===i.features.length?i.features[0]:null}async getIdentityUser(){await this.load();const e=t?.findCredential(this._layer.url);return e?e.userId:null}async getOwningSystemUrl(){await this.load();const e=t?.findServerInfo(this._layer.url);if(e)return e.owningSystemUrl;let i=this._layer.url;const s=i.toLowerCase().indexOf("/rest/services");if(i=s>-1?i.slice(0,s):i,i){i+="/rest/info";try{const e=await r(i,{query:{f:"json"}});let t="";return e.data?.owningSystemUrl&&(t=e.data.owningSystemUrl),t}catch(a){return""}}return""}getDataSourceFeatureSet(){const e=new k({layer:this._layer,spatialReference:this.spatialReference??void 0,outFields:this._overrideFields??void 0,includeGeometry:!this._removeGeometry,lrucache:this.recentlyUsedQueries??void 0,interceptor:this.featureSetQueryInterceptor??void 0});return e._useDefinitionExpression=!1,e}get preferredTimeZone(){return this._layer.preferredTimeZone??null}get dateFieldsTimeZone(){return this._layer.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this._layer.datesInUnknownTimezone??!1}get editFieldsInfo(){return this._layer.editFieldsInfo??null}get timeInfo(){return this._layer.timeInfo??null}async getFeatureSetInfo(){if(this.fsetInfo)return this.fsetInfo;let e=null,t="serviceItemId"in this._layer?this._layer.serviceItemId:null;const i=this._layer.parsedUrl?.path??null;if(i){const s=await r(i,{responseType:"json",query:{f:"json"}});e=s?.data?.name??null,t=s?.data?.serviceItemId??null}const s=this._layer.title&&null!==(this._layer.parent??null);return this.featureSetInfo={layerId:this._layer.layerId,layerName:""===e?null:e,itemId:""===t?null:t,serviceLayerUrl:""===i?null:i,webMapLayerId:s?this._layer.id??null:null,webMapLayerTitle:s?this._layer.title??null:null,className:null,objectClassId:null},this.fsetInfo}}export{k as default};
|
|
5
|
+
import e from"../../../Graphic.js";import{id as t}from"../../../kernel.js";import r from"../../../request.js";import i from"../../Attachment.js";import s from"../../Dictionary.js";import{FeatureSetError as a,FeatureSetErrorCodes as n}from"../support/errorsupport.js";import l from"../support/FeatureSet.js";import o from"../support/IdSet.js";import{defaultMaxRecords as u,stableStringify as d,FeatureServiceDatabaseType as c,IdState as h,extractServiceUrl as p}from"../support/shared.js";import{toWhereClause as y,isSingleField as f}from"../support/sqlUtils.js";import{decodeStatType as g}from"../support/stats.js";import{sliceEquals as _}from"../../../core/arrayUtils.js";import{createMD5Hash as m,outputTypes as w}from"../../../core/MD5.js";import{sqlAnd as R}from"../../../core/sql.js";import F from"../../../core/sql/WhereClause.js";import{fromJSON as S}from"../../../geometry/support/jsonUtils.js";import{srToRESTValue as b}from"../../../geometry/support/spatialReferenceUtils.js";import I from"../../../layers/FeatureLayer.js";import D from"../../../rest/support/AttachmentQuery.js";import P from"../../../rest/support/Query.js";import C from"../../../rest/support/StatisticDefinition.js";function v(e){if(0===e.length)throw new a(n.NeverReach);const t=[];for(let i=0;i<e.length;i++){const r=e[i],s=[`"${r.name.replaceAll('"','""')}" ${r.asc?">":"<"} @last_${i}`];for(let t=0;t<i;t++){const r=e[t];s.push(`"${r.name.replaceAll('"','""')}" = @last_${t}`)}t.push(s.join(" AND "))}const r=t.join(" OR ");return F.create(r)}function T(e,t){null==e.clause&&(e.clause=v(e.keyFields));for(let r=0;r<e.keyFields.length;r++){const i=e.keyFields[r].name;e.clause.parameters[`last_${r}`]=t.attributes[i]}}class k extends l{constructor(e){super(e),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerDynamic",this._removeGeometry=!1,this._overrideFields=null,this.formulaCredential=null,this._pageJustIds=!1,this._requestStandardised=!1,this._useDefinitionExpression=!0,e.spatialReference&&(this.spatialReference=e.spatialReference),this._transparent=!0,this._maxProcessing=1e3,this._layer=e.layer,this._wset=null,void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry)}_maxQueryRate(){return u}end(){return this._layer}optimisePagingFeatureQueries(e){this._pageJustIds=e}get urlQueryPath(){return this._layer.parsedUrl.path||""}convertQueryToLruCacheKey(e){const t=this.urlQueryPath+","+d(e.toJSON());return m(t,w.String)}async loadImpl(){return!0===this._layer.loaded?(this._initialiseFeatureSet(),this):(await this._layer.load(),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){if(null==this.spatialReference&&(this.spatialReference=this._layer.spatialReference),this.geometryType=this._layer.geometryType??"",this.fields=this._layer.fields.slice(),this.hasZ=!0===this._layer?.capabilities?.data?.supportsZ,this.hasM=!0===this._layer?.capabilities?.data?.supportsM,null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=[],t=[];for(const r of this.fields)if("oid"===r.type)e.push(r),t.push(r.name);else for(const i of this._overrideFields)if(i.toLowerCase()===r.name.toLowerCase()){e.push(r),t.push(r.name);break}this.fields=e,this._overrideFields=t}if(this._layer.source&&this._layer.source.sourceJSON){const e=this._layer.source.sourceJSON.currentVersion;!0===this._layer.source.sourceJSON.useStandardizedQueries?(this._databaseType=c.StandardisedNoInterval,null!=e&&e>=10.61&&(this._databaseType=c.Standardised)):null!=e&&(e>=10.5&&(this._databaseType=c.StandardisedNoInterval,this._requestStandardised=!0),e>=10.61&&(this._databaseType=c.Standardised))}this.objectIdField=this._layer.objectIdField;for(const e of this.fields)"global-id"===e.type&&(this.globalIdField=e.name);this.subtypeField=this._layer.subtypeField??"",this.subtypes=this._layer.subtypes,this.typeIdField=("typeIdField"in this._layer?this._layer.typeIdField:null)??"",this.types="types"in this._layer?this._layer.types:null}_isInFeatureSet(){return h.InFeatureSet}async _refineSetBlock(e){return e}_candidateIdTransform(e){return e}async _getSet(e){if(null===this._wset){await this._ensureLoaded();const t=await this._getFilteredSet("",null,null,null,e);return this._wset=t,t}return this._wset}async _runDatabaseProbe(e){await this._ensureLoaded();const t=new P;this.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t.where=e.replace("OBJECTID",this._layer.objectIdField);try{return await this._layer.queryObjectIds(t),!0}catch(r){return!1}}_canUsePagination(){return!(!this._layer.capabilities||!this._layer.capabilities.query||!0!==this._layer.capabilities.query.supportsPagination)}_cacheableFeatureSetSourceKey(){return this._layer.url}get gdbVersion(){return this._layer&&this._layer.capabilities&&this._layer.capabilities.data&&this._layer.capabilities.data.isVersioned?this._layer.gdbVersion||"SDE.DEFAULT":""}nativeCapabilities(){return{title:this._layer.title??"",source:this,canQueryRelated:!0,capabilities:this._layer.capabilities,databaseType:this._databaseType,requestStandardised:this._requestStandardised}}_createQuery(){const e=this._layer.createQuery();return e.returnZ=this.hasZ,e.returnM=this.hasM,this.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),this._requestStandardised&&(e.sqlFormat="standard"),this._useDefinitionExpression?"subtype-group"===this._layer.type&&(e.where=this._layer.definitionExpression):e.where=null,e}executeQuery(e,t){const r="execute"===t?this._layer.queryFeatures.bind(this._layer):"executeForCount"===t?this._layer.queryFeatureCount.bind(this._layer):this._layer.queryObjectIds.bind(this._layer);let i=null;if(this.recentlyUsedQueries){const t=this.convertQueryToLruCacheKey(e);i=this.recentlyUsedQueries.getFromCache(t),null===i&&(i=r(e),this.recentlyUsedQueries.addToCache(t,i),i=i.catch((e=>{throw this.recentlyUsedQueries?.removeFromCache(t),e})))}return this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:e,method:t}),null===i&&(i=r(e)),i}async _getFilteredSet(e,t,r,i,s){const a=await this.databaseType();if(this.isTable()&&t&&null!==e&&""!==e){return new o([],[],!0,null)}if(this._canUsePagination())return this._getFilteredSetUsingPaging(e,t,r,i,s);let n="",l=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(n=i.constructClause(),l=!0);const u=this._createQuery();u.where=R(u.where,null===r?null===t?"1=1":"":y(r,a)),u.spatialRelationship=this._makeRelationshipEnum(e),u.outSpatialReference=this.spatialReference,u.orderByFields=""!==n?n.split(","):null,u.geometry=null===t?null:t,u.relationParameter=this._makeRelationshipParam(e);let d=await this.executeQuery(u,"executeForIds");null===d&&(d=[]),this._checkCancelled(s);return new o([],d,l,null)}_expandPagedSet(e,t,r,i,s){return this._expandPagedSetFeatureSet(e,t,r,i,s)}async _getFilteredSetUsingPaging(e,t,r,i,s){let a="",n=!1;null!==i&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(a=i.constructClause(),n=!0);const l=await this.databaseType(),u=null===r?null===t?"1=1":"":y(r,l);let d=this._maxQueryRate();const c=this._layer.capabilities?.query.maxRecordCount;null!=c&&c<d&&(d=c);let h=null;if(!0===this._pageJustIds)h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:this._layer.objectIdField,resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:!1,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}});else{let r=!0;!0===this._removeGeometry&&(r=!1);const i=this._overrideFields??this._fieldsIncludingObjectId(["*"]);h=new o([],["GETPAGES"],n,{spatialRel:this._makeRelationshipEnum(e),relationParam:this._makeRelationshipParam(e),outFields:i.join(","),resultRecordCount:d,resultOffset:0,geometry:null===t?null:t,where:u,orderByFields:a,returnGeometry:r,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}})}return await this._expandPagedSet(h,d,0,1,s),h}_clonePageDefinition(e){return null===e?null:!0!==e.groupbypage?{groupbypage:!1,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,resultOffset:e.resultOffset,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}:{groupbypage:!0,spatialRel:e.spatialRel,relationParam:e.relationParam,outFields:e.outFields,resultRecordCount:e.resultRecordCount,useOIDpagination:e.useOIDpagination,generatedOid:e.generatedOid,groupByFieldsForStatistics:e.groupByFieldsForStatistics,resultOffset:e.resultOffset,outStatistics:e.outStatistics,geometry:e.geometry,where:e.where,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}}async _getPhysicalPage(e,t,r){const i=e.pagesDefinition.internal.lastRetrieved,s=i,a=e.pagesDefinition.internal.lastPage,n=this._createQuery();n.spatialRelationship=e.pagesDefinition.spatialRel,n.relationParameter=e.pagesDefinition.relationParam,n.outFields=e.pagesDefinition.outFields.split(","),n.num=e.pagesDefinition.resultRecordCount,n.start=e.pagesDefinition.internal.lastPage,n.geometry=e.pagesDefinition.geometry,n.where=R(n.where,e.pagesDefinition.where),n.orderByFields=""!==e.pagesDefinition.orderByFields?e.pagesDefinition.orderByFields.split(","):null,n.returnGeometry=e.pagesDefinition.returnGeometry,n.outSpatialReference=this.spatialReference;const l=await this.executeQuery(n,"execute");if(this._checkCancelled(r),e.pagesDefinition.internal.lastPage!==a)return"done";const o=this._layer.objectIdField;for(let u=0;u<l.features.length;u++)e.pagesDefinition.internal.set[s+u]=l.features[u].attributes[o];if(!1===this._pageJustIds)for(let u=0;u<l.features.length;u++)this._featureCache[l.features[u].attributes[o]]=l.features[u];return(void 0===l.exceededTransferLimit&&l.features.length!==e.pagesDefinition.resultRecordCount||!1===l.exceededTransferLimit)&&(e.pagesDefinition.internal.fullyResolved=!0),e.pagesDefinition.internal.lastRetrieved=i+l.features.length,e.pagesDefinition.internal.lastPage+=e.pagesDefinition.resultRecordCount,"done"}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice();if(t.includes("*"))return t;let r=!1;for(const i of t)if(i.toUpperCase()===this.objectIdField.toUpperCase()){r=!0;break}return!1===r&&t.push(this.objectIdField),t}async _getFeatures(e,t,r,i){const s=[];if(-1!==t&&void 0===this._featureCache[t]&&s.push(t),!0===this._checkIfNeedToExpandKnownPage(e,this._maxProcessingRate()))return await this._expandPagedSet(e,this._maxProcessingRate(),0,0,i),this._getFeatures(e,t,r,i);let l=0;for(let a=e._lastFetchedIndex;a<e._known.length;a++){if(e._lastFetchedIndex+=1,l++,void 0===this._featureCache[e._known[a]]){let r=!1;if(null!==this._layer._mode&&void 0!==this._layer._mode){const t=this._layer._mode;if(void 0!==t._featureMap[e._known[a]]){const i=t._featureMap[e._known[a]];null!==i&&(r=!0,this._featureCache[e._known[a]]=i)}}if(!1===r&&(e._known[a]!==t&&s.push(e._known[a]),s.length>=this._maxProcessingRate()-1))break}if(l>=r&&0===s.length)break}if(0===s.length)return"success";const o=this._createQuery();o.objectIds=s,o.outFields=this._overrideFields??this._fieldsIncludingObjectId(["*"]),o.returnGeometry=!0,!0===this._removeGeometry&&(o.returnGeometry=!1),o.outSpatialReference=this.spatialReference;const u=await this.executeQuery(o,"execute");if(this._checkCancelled(i),void 0!==u.error)throw new a(n.RequestFailed,{reason:u.error});const d=this._layer.objectIdField;for(let a=0;a<u.features.length;a++)this._featureCache[u.features[a].attributes[d]]=u.features[a];return"success"}async _getDistinctPages(e,t,r,i,s,l,o,u,d){await this._ensureLoaded();const c=await this.databaseType();let h=r.parseTree.column;const p=this._layer.fields??[];for(let a=0;a<p.length;a++)if(p[a].name.toLowerCase()===h.toLowerCase()){h=p[a].name;break}const f=this._createQuery();f.where=R(f.where,null===l?null===s?"1=1":"":y(l,c)),f.spatialRelationship=this._makeRelationshipEnum(i),f.relationParameter=this._makeRelationshipParam(i),f.geometry=null===s?null:s,f.returnDistinctValues=!0,f.returnGeometry=!1,f.outFields=[h];const g=await this.executeQuery(f,"execute");if(this._checkCancelled(d),!g.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);let _=!1;for(let a=0;a<p.length;a++)if(p[a].name===h){"date"===p[a].type&&(_=!0);break}for(let a=0;a<g.features.length;a++){if(_){const e=g.features[a].attributes[h];null!==e?u.push(new Date(e)):u.push(e)}else u.push(g.features[a].attributes[h]);if(u.length>=o)break}if(0===g.features.length)return u;if(g.features.length===this._layer.capabilities?.query.maxRecordCount&&u.length<o){return{calculated:!0,result:await this._getDistinctPages(e+g.features.length,t,r,i,s,l,o,u,d)}}return u}async _distinctStat(e,t,r,i,s,a,n){return{calculated:!0,result:await this._getDistinctPages(0,e,t,r,i,s,a,[],n)}}isTable(){return this._layer.isTable||null===this._layer.geometryType||"table"===this._layer.type||""===this._layer.geometryType||"esriGeometryNull"===this._layer.geometryType}async _countstat(e,t,r,i){const s=await this.databaseType();if(this.isTable()&&r&&null!==t&&""!==t)return{calculated:!0,result:0};const a=this._createQuery();a.where=R(a.where,null===i?null===r?"1=1":"":y(i,s)),a.spatialRelationship=this._makeRelationshipEnum(t),a.relationParameter=this._makeRelationshipParam(t),a.geometry=null===r?null:r,a.returnGeometry=!1;return{calculated:!0,result:await this.executeQuery(a,"executeForCount")}}async _stats(e,t,r,i,s,l,o){await this._ensureLoaded();const u=this._layer.capabilities?.query,d=!!u?.supportsSqlExpression,c=!!u?.supportsStatistics,h=!!u?.supportsDistinct;if("count"===e)return h?this._countstat(e,r,i,s):{calculated:!1};if(!1===c||!1===f(t)&&!1===d||!1===t.isStandardized)return""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o);if("distinct"===e)return!1===h?""!==r||null!==s?{calculated:!1}:this._manualStat(e,t,l,o):this._distinctStat(e,t,r,i,s,l,o);const p=await this.databaseType();if(this.isTable()&&i&&null!==r&&""!==r)return{calculated:!0,result:null};const _=this._createQuery();_.where=R(_.where,null===s?null===i?"1=1":"":y(s,p)),_.spatialRelationship=this._makeRelationshipEnum(r),_.relationParameter=this._makeRelationshipParam(r),_.geometry=null===i?null:i;const m=new C;m.statisticType=g(e),m.onStatisticField=y(t,p),m.outStatisticFieldName="ARCADE_STAT_RESULT",_.returnGeometry=!1;let w="ARCADE_STAT_RESULT";_.outStatistics=[m];const F=await this.executeQuery(_,"execute");if(!F.hasOwnProperty("features")||0===F.features.length)throw new a(n.InvalidStatResponse);let S=!1;const b=F.fields??[];for(let a=0;a<b.length;a++)if("ARCADE_STAT_RESULT"===b[a].name.toUpperCase()){w=b[a].name,"date"===b[a].type&&(S=!0);break}if(S){let e=F.features[0].attributes[w];return null!==e&&(e=new Date(F.features[0].attributes[w])),{calculated:!0,result:e}}return{calculated:!0,result:F.features[0].attributes[w]}}_stat(e,t,r,i,s,a,n){return this._stats(e,t,r,i,s,a,n)}async _canDoAggregates(e,t){await this._ensureLoaded();let r=!1;const i=this._layer.capabilities?.query,s=!0===i?.supportsSqlExpression;if(null!=i&&!0===i.supportsStatistics&&!0===i.supportsOrderBy&&(r=!0),r)for(let a=0;a<t.length-1;a++)(!1===t[a].workingexpr?.isStandardized||!1===f(t[a].workingexpr)&&!1===s)&&(r=!1);return!1!==r}_makeRelationshipEnum(e){if(e.includes("esriSpatialRelRelation"))return"relation";switch(e){case"esriSpatialRelRelation":return"relation";case"esriSpatialRelIntersects":return"intersects";case"esriSpatialRelContains":return"contains";case"esriSpatialRelOverlaps":return"overlaps";case"esriSpatialRelWithin":return"within";case"esriSpatialRelTouches":return"touches";case"esriSpatialRelCrosses":return"crosses";case"esriSpatialRelEnvelopeIntersects":return"envelope-intersects"}return e}_makeRelationshipParam(e){return e.includes("esriSpatialRelRelation")?e.split(":")[1]:""}async _getAggregatePagesDataSourceDefinition(e,t,r,i,s,a,n){await this._ensureLoaded();const l=await this.databaseType();let u=null;if(!this._layer.capabilities.query.supportsPaginationOnAggregatedQueries){const t=this.getFieldsIndex();u={keyFields:e.map(((e,r)=>({name:t.normalizeFieldName(e)??e,asc:null==a||1===a._directions[r]})))}}let d="",c=!1;null!=a&&!0===this._layer.capabilities?.query?.supportsOrderBy&&(null==u||_(e,0,e.length,a._fields,0,Math.min(a._fields.length,e.length),((e,t)=>e.toLowerCase()===t.toLowerCase())))&&(d=a.constructClause(),c=!0),""===d&&(d=e.join(","));const h=[];for(let o=0;o<t.length;o++){const e=new C;e.onStatisticField=null!==t[o].workingexpr?y(t[o].workingexpr,l):"",e.outStatisticFieldName=t[o].field,e.statisticType=t[o].toStatisticsName(),h.push(e)}let p=this._maxQueryRate();const f=this._layer.capabilities?.query.maxRecordCount;null!=f&&f<p&&(p=f);const g=null===s?null===i?"1=1":"":y(s,l);return new o([],["GETPAGES"],c,{groupbypage:!0,spatialRel:this._makeRelationshipEnum(r),relationParam:this._makeRelationshipParam(r),outFields:["*"],useOIDpagination:!1,generatedOid:n,resultRecordCount:p,resultOffset:0,groupByFieldsForStatistics:e,outStatistics:h,geometry:null===i?null:i,where:g,orderByFields:d,returnGeometry:!1,returnIdsOnly:!1,internal:{lastMaxId:-1,set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1,keysetPagination:u}})}async _getAgregagtePhysicalPage(t,r,i){let s=t.pagesDefinition.where;if(!0===t.pagesDefinition.useOIDpagination&&(s=R(s,t.pagesDefinition.generatedOid+">"+t.pagesDefinition.internal.lastMaxId.toString())),null!=t.pagesDefinition.internal.keysetPagination?.clause){if(!this._layer.capabilities.query.supportsOrderBy)throw new a(n.NotImplemented);s=R(s,y(t.pagesDefinition.internal.keysetPagination.clause,await this.databaseType()))}const l=t.pagesDefinition.internal.lastRetrieved,o=l,u=t.pagesDefinition.internal.lastPage,d=this._createQuery();if(d.where=R(d.where,s),d.spatialRelationship=t.pagesDefinition.spatialRel,d.relationParameter=t.pagesDefinition.relationParam,d.outFields=t.pagesDefinition.outFields,d.outStatistics=t.pagesDefinition.outStatistics,d.geometry=t.pagesDefinition.geometry,d.groupByFieldsForStatistics=t.pagesDefinition.groupByFieldsForStatistics,d.num=t.pagesDefinition.resultRecordCount,d.start=t.pagesDefinition.internal.lastPage,d.returnGeometry=t.pagesDefinition.returnGeometry,d.orderByFields=""!==t.pagesDefinition.orderByFields?t.pagesDefinition.orderByFields.split(","):null,this.isTable()&&d.geometry&&d.spatialRelationship)return[];const c=await this.executeQuery(d,"execute");if(this._checkCancelled(i),!c.hasOwnProperty("features"))throw new a(n.InvalidStatResponse);const h=[];if(t.pagesDefinition.internal.lastPage!==u)return[];c.features.length>0&&void 0===c.features[0].attributes[t.pagesDefinition.generatedOid]&&(t.pagesDefinition.generatedOid=t.pagesDefinition.generatedOid.toLowerCase());for(let e=0;e<c.features.length;e++)t.pagesDefinition.internal.set[o+e]=c.features[e].attributes[t.pagesDefinition.generatedOid];for(let a=0;a<c.features.length;a++)h.push(new e({attributes:c.features[a].attributes,geometry:null}));return t.pagesDefinition.internal.keysetPagination?0!==c.features.length&&c.exceededTransferLimit?T(t.pagesDefinition.internal.keysetPagination,h.at(-1)):t.pagesDefinition.internal.fullyResolved=!0:!0===t.pagesDefinition.useOIDpagination?0===c.features.length?t.pagesDefinition.internal.fullyResolved=!0:t.pagesDefinition.internal.lastMaxId=c.features[c.features.length-1].attributes[t.pagesDefinition.generatedOid]:(void 0===c.exceededTransferLimit&&c.features.length!==t.pagesDefinition.resultRecordCount||!1===c.exceededTransferLimit)&&(t.pagesDefinition.internal.fullyResolved=!0),t.pagesDefinition.internal.lastRetrieved=l+c.features.length,t.pagesDefinition.internal.lastPage+=t.pagesDefinition.resultRecordCount,h}static create(e,t,r,i,s){const a=new I({url:e,outFields:null===t?["*"]:t});return new k({layer:a,spatialReference:r,lrucache:i,interceptor:s})}relationshipMetaData(){return this._layer&&this._layer.source&&this._layer.source.sourceJSON?.relationships?this._layer.source.sourceJSON.relationships:[]}serviceUrl(){return p(this._layer.parsedUrl.path)}async queryAttachments(e,t,r,a,n){function l(e){const t=e.capabilities;return t?.data.supportsAttachment&&t?.operations.supportsQueryAttachments}const o=this._layer;if(l(o)){const l={objectIds:[e],returnMetadata:n};(t&&t>0||r&&r>0)&&(l.size=[t&&t>0?t:0,r&&r>0?r:t+1]),a&&a.length>0&&(l.attachmentTypes=a),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:o,query:l,method:"attachments"});const u=await o.queryAttachments(new D(l)),d=[];return u&&u[e]&&u[e].forEach((t=>{const r=this._layer.parsedUrl.path+"/"+e.toString()+"/attachments/"+t.id.toString();let a=null;n&&t.exifInfo&&(a=s.convertJsonToArcade(t.exifInfo,"system",!0)),d.push(new i(t.id,t.name,t.contentType,t.size,r,a,t.keywords??null))})),d}return[]}async queryRelatedFeatures(t){const i={f:"json",relationshipId:t.relationshipId.toString(),definitionExpression:t.where,outFields:t.outFields?.join(","),returnGeometry:t.returnGeometry.toString()};void 0!==t.resultOffset&&null!==t.resultOffset&&(i.resultOffset=t.resultOffset.toString()),void 0!==t.resultRecordCount&&null!==t.resultRecordCount&&(i.resultRecordCount=t.resultRecordCount.toString()),t.orderByFields&&(i.orderByFields=t.orderByFields.join(",")),t.objectIds&&t.objectIds.length>0&&(i.objectIds=t.objectIds.join(",")),t.outSpatialReference&&(i.outSR=b(t.outSpatialReference)),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preRequestCallback({layer:this._layer,queryPayload:i,method:"relatedrecords",url:this._layer.parsedUrl.path+"/queryRelatedRecords"});const s=await r(this._layer.parsedUrl.path+"/queryRelatedRecords",{responseType:"json",query:i});if(s.data){const t={},r=s.data;if(r?.relatedRecordGroups){const i=r.spatialReference;for(const s of r.relatedRecordGroups){const a=s.objectId,n=[];for(const t of s.relatedRecords){t.geometry&&(t.geometry.spatialReference=i);const r=new e({geometry:t.geometry?S(t.geometry):null,attributes:t.attributes});n.push(r)}t[a]={features:n,exceededTransferLimit:!0===r.exceededTransferLimit}}}return t}throw new a(n.InvalidRequest)}async getFeatureByObjectId(e,t){const r=this._createQuery();r.outFields=t,r.returnGeometry=!1,r.outSpatialReference=this.spatialReference,r.where=R(r.where,this.objectIdField+"="+e.toString()),this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:r,method:"execute"});const i=await this._layer.queryFeatures(r);return 1===i.features.length?i.features[0]:null}async getIdentityUser(){await this.load();const e=t?.findCredential(this._layer.url);return e?e.userId:null}async getOwningSystemUrl(){await this.load();const e=t?.findServerInfo(this._layer.url);if(e)return e.owningSystemUrl;let i=this._layer.url;const s=i.toLowerCase().indexOf("/rest/services");if(i=s>-1?i.slice(0,s):i,i){i+="/rest/info";try{const e=await r(i,{query:{f:"json"}});let t="";return e.data?.owningSystemUrl&&(t=e.data.owningSystemUrl),t}catch(a){return""}}return""}getDataSourceFeatureSet(){const e=new k({layer:this._layer,spatialReference:this.spatialReference??void 0,outFields:this._overrideFields??void 0,includeGeometry:!this._removeGeometry,lrucache:this.recentlyUsedQueries??void 0,interceptor:this.featureSetQueryInterceptor??void 0});return e._useDefinitionExpression=!1,e}get preferredTimeZone(){return this._layer.preferredTimeZone??null}get dateFieldsTimeZone(){return this._layer.dateFieldsTimeZone??null}get datesInUnknownTimezone(){return this._layer.datesInUnknownTimezone??!1}get editFieldsInfo(){return this._layer.editFieldsInfo??null}get timeInfo(){return this._layer.timeInfo??null}async getFeatureSetInfo(){if(this.fsetInfo)return this.fsetInfo;let e=null,t="serviceItemId"in this._layer?this._layer.serviceItemId:null;const i=this._layer.parsedUrl?.path??null;if(i){const s=await r(i,{responseType:"json",query:{f:"json"}});e=s?.data?.name??null,t=s?.data?.serviceItemId??null}const s=this._layer.title&&null!==(this._layer.parent??null);return this.featureSetInfo={layerId:this._layer.layerId,layerName:""===e?null:e,itemId:""===t?null:t,serviceLayerUrl:""===i?null:i,webMapLayerId:s?this._layer.id??null:null,webMapLayerTitle:s?this._layer.title??null:null,className:null,objectClassId:null},this.fsetInfo}}export{k 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.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as r}from"../executionError.js";import{f as s,t as a,m as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as u,isArray as d}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),h=(e,n)=>e+n,g=(e,n)=>e-n,m=(e,n)=>e*n,_=(e,n)=>e/n,f=(e,n,t)=>l(h)(e,n,t),w=(e,n,t)=>l(g)(e,n,t),A=(e,n,t)=>l(m)(e,n,t),D=(e,n,t)=>l(_)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,R=3240,F=60,v=60,M=180*S/Math.PI,L=p*F*v,U=90*S,z=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t(null,r.InvalidParameter,null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}var H,k,q;function P(e,n){switch(e){case H.north:return"SHORT"===n?"N":"North";case H.east:return"SHORT"===n?"E":"East";case H.south:return"SHORT"===n?"S":"South";case H.west:return"SHORT"===n?"W":"West"}}function Q(e,n){return e-Math.floor(e/n)*n}function j(e){switch(e){case k.truncated_degrees:case k.decimal_degrees:return p;case k.radians:return E;case k.gradians:return T;case k.seconds:return L;case k.fractional_degree_minutes:return F;case k.fractional_minute_seconds:return v;default:throw new t(null,r.LogicError,null,{reason:"unsupported evaluations"})}}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(H||(H={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(k||(k={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(q||(q={}));const C=new n([],[["NORTH",q.north_azimuth],["NORTH AZIMUTH",q.north_azimuth],["POLAR",q.polar],["QUADRANT",q.quadrant],["SOUTH",q.south_azimuth],["SOUTH AZIMUTH",q.south_azimuth]]);function W(e){const n=C.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported directionType"});return n}const B=new n([],[["D",k.decimal_degrees],["DD",k.decimal_degrees],["DECIMAL DEGREE",k.decimal_degrees],["DEGREE",k.decimal_degrees],["DECIMAL DEGREES",k.decimal_degrees],["DEGREES",k.decimal_degrees],["DMS",k.degrees_minutes_seconds],["DEGREES MINUTES SECONDS",k.degrees_minutes_seconds],["R",k.radians],["RAD",k.radians],["RADS",k.radians],["RADIAN",k.radians],["RADIANS",k.radians],["G",k.gradians],["GON",k.gradians],["GONS",k.gradians],["GRAD",k.gradians],["GRADS",k.gradians],["GRADIAN",k.gradians],["GRADIANS",k.gradians]]);function V(e){const n=B.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported units"});return n}var X;!function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(X||(X={}));class Z{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case k.decimal_degrees:case k.truncated_degrees:return this.m_degrees;case k.fractional_degree_minutes:return this.m_minutes;case k.seconds:case k.fractional_minute_seconds:return this.m_seconds;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/v);return t-=s*v,new Z(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new Z(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(e===k.seconds||e===k.fractional_minute_seconds)v<=t&&(t-=v,++r),F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.fractional_degree_minutes)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.decimal_degrees||e===k.truncated_degrees){const e=D(this.m_seconds,S),n=D(this.m_minutes,F);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new Z(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*v+t}}class J{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return e===X.meridian?this.meridian:this.direction}}class K{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new K(new $(K._convertDirectionFormat(e.extractAngularUnits(k.seconds),n,q.north_azimuth)))}getAngle(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:case q.south_azimuth:case q.polar:return new $(K._convertDirectionFormat(n,q.north_azimuth,e));case q.quadrant:{const e=K.secondsNorthAzimuthToQuadrant(n);return new $(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.north;case q.south_azimuth:return H.south;case q.polar:return H.east;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.east;case q.south_azimuth:return H.west;case q.polar:return H.north;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=U||e>=x?H.north:H.south,t=n===H.north?Math.min(L-e,e):Math.abs(e-z),r=e>z?H.west:H.east;return new J(n,t,r)}static createFromAngleMeridianAndDirection(e,n,t){return new K(new $(K.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(k.seconds),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return n===H.north?t===H.east?e:L-e:t===H.east?z-e:z+e}static _convertDirectionFormat(e,n,s){let a=0;switch(n){case q.north_azimuth:a=e;break;case q.polar:a=U-e;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:a=e+z}let i=0;switch(s){case q.north_azimuth:i=a;break;case q.polar:i=U-a;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:i=a-z}return i=I(i,L),i<0?L+i:i}}function Y(e,n,s){let a=null;switch(n){case k.decimal_degrees:a=A(e,S);break;case k.seconds:a=e;break;case k.gradians:a=A(e,R);break;case k.radians:a=A(e,M);break;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}switch(s){case k.decimal_degrees:return D(a,S);case k.seconds:return a;case k.gradians:return D(a,R);case k.radians:return a/M;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}class ${constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new $(Y(e,n,k.seconds))}extractAngularUnits(e){return Y(this._seconds,k.seconds,ee(e))}static createFromDegreesMinutesSeconds(e,n,t){return new $(f(f(A(e,S),A(n,v)),t))}}function ee(e){switch(o(e),e){case k.decimal_degrees:case k.truncated_degrees:case k.degrees_minutes_seconds:return k.decimal_degrees;case k.gradians:return k.gradians;case k.fractional_degree_minutes:return k.fractional_degree_minutes;case k.radians:return k.radians;case k.seconds:case k.fractional_minute_seconds:return k.seconds}}class ne{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new ne(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=k.truncated_degrees,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ge(this.view,r,s),n=n===k.truncated_degrees?k.fractional_degree_minutes:n,r=e.newpos;continue;case"s":e=ge(this.view,r,s),n=k.fractional_minute_seconds,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)),this._formattedDms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)).format(n,t)}}function te(e,n,s,a,i){let o=null;switch(n){case k.decimal_degrees:case k.radians:case k.gradians:return o=Q(G(e.extractAngularUnits(n),a),j(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.truncated_degrees:case k.fractional_degree_minutes:return o=Q(i.fetchFormattedDms().getField(n),j(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.fractional_minute_seconds:return o=Q(G(i.fetchDms().getField(n),a),j(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}function re(e,n,s){if(s===q.quadrant)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(n===k.degrees_minutes_seconds){const n=Z.numberToDms(e);return K.createFromAngleAndDirection($.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),s)}return K.createFromAngleAndDirection($.createFromAngleAndUnits(e,ee(n)),s)}function se(e){switch(a(e)){case 1:return{first:H.north,second:H.east};case 2:return{first:H.south,second:H.east};case 3:return{first:H.south,second:H.west};case 4:return{first:H.north,second:H.west}}return null}function ae(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return H.north;case"E":case"EAST":return H.east;case"S":case"SOUTH":return H.south;case"W":case"WEST":return H.west}return null}function ie(e){const n=parseFloat(e);if(u(n)){if(isNaN(n))throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return n}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function oe(e,n,a){const i=a===q.quadrant;let o=null,c=null,u=0,d=0,l=0;if(i){if(e.length<2)throw new t(null,r.LogicError,null,{reason:"conversion error"});l=1;const n=se(s(e[e.length-1]));if(n?(o=n.first,c=n.second):(u=1,o=ae(s(e[0])),c=ae(s(e[e.length-1]))),null===o||null===c)throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}switch(n){case k.decimal_degrees:case k.radians:case k.gradians:if(0===e.length)throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return i?K.createFromAngleMeridianAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),o,c):K.createFromAngleAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),a);case k.degrees_minutes_seconds:if(d=e.length-l-u,3===d){const n=$.createFromDegreesMinutesSeconds(ie(e[u]),ie(e[u+1]),ie(e[u+2]));return i?K.createFromAngleMeridianAndDirection(n,o,c):K.createFromAngleAndDirection(n,a)}if(1===d){const n=ie(e[u]),t=Z.numberToDms(n),r=$.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?K.createFromAngleMeridianAndDirection(r,o,c):K.createFromAngleAndDirection(r,a)}}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function ce(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function ue(e,n,s){if(u(e))return re(a(e),n,s);if(c(e))return oe(ce(e),n,s);if(d(e))return oe(e,n,s);if(i(e))return oe(e.toArray(),n,s);throw new t(null,r.LogicError,null,{reason:"conversion error"})}function de(e,n,s){const a=ee(s);if(a&&s!==k.degrees_minutes_seconds){return e.getAngle(n).extractAngularUnits(a)}throw new t(null,r.LogicError,null,{reason:"conversion error"})}function le(e,n,t){const r=e.getAngle(n);if(n===q.quadrant&&t===k.degrees_minutes_seconds){const t=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[P(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,P(e.getDirection(n),"SHORT")]}if(t===k.degrees_minutes_seconds){const e=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return n===q.quadrant?[P(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),P(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function he(e,n){let s="";switch(e){case k.decimal_degrees:s=n===q.quadrant?"DD.DD"+b:"DDD.DD"+b;break;case k.degrees_minutes_seconds:s=n===q.quadrant?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case k.radians:s="R.RR";break;case k.gradians:s="GGG.GG"+N;break;default:throw new t(null,r.LogicError,null,{reason:"conversion error"})}return n===q.quadrant&&(s="p "+s+" b"),s}function ge(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const a=e[n];if(a===t)s?r.rounding++:r.padding++,n++;else{if("."!==a)break;s=!0,n++}}return r.newpos=n-1,r}function me(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function _e(e,n,t){let r="",s=null,a=null;const i=ne.createFromStringAndBearing(n,e,t),o={D:k.decimal_degrees,d:k.truncated_degrees,m:k.fractional_degree_minutes,s:k.fractional_minute_seconds,R:k.radians,G:k.gradians};for(let c=0;c<n.length;c++){const u=n[c];switch(u){case"[":s=me(n,c),r+=s.escaped,c=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ge(n,c,u),a=e.getAngle(t),r+=te(a,o[u],s.padding,s.rounding,i),c=s.newpos;continue;case"P":case"p":r+=P(i.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=P(i.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const fe=new n(["TEXT","VALUE"]);function we(n,a,i){if(!(a instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===a.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===a.hasField("angleType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const o=W(O(a.field("directiontype"))),c=ue(n,V(O(a.field("angletype"))),o);if(!(i instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===i.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const u=W(O(i.field("directiontype"))),d=i.hasField("angleType")?V(O(i.field("angletype"))):null,l=fe.get(O(i.field("outputType")));if(!u||!l)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(!(d||"TEXT"===l&&i.hasField("format")))throw new t(null,r.LogicError,null,{reason:"invalid unit"});switch(l){case"VALUE":return u===q.quadrant||d===k.degrees_minutes_seconds?le(c,u,d):de(c,u,d);case"TEXT":{let e="";return i.hasField("format")&&(e=s(i.field("format"))),null!==e&&""!==e||(e=he(d,u)),_e(c,e,u)}default:throw new t(null,r.InvalidParameter,null)}}export{we as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
|
|
5
|
+
import e from"../Dictionary.js";import{StringEnum as n}from"../enum.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as r}from"../executionError.js";import{w as s,u as a,j as i}from"../../chunks/languageUtils.js";import{assertIsSome as o}from"../../core/maybe.js";import{isString as c,isNumber as u,isArray as d}from"../../support/guards.js";const l=e=>(n,t,r=14)=>+e(n,t).toFixed(r),h=(e,n)=>e+n,g=(e,n)=>e-n,m=(e,n)=>e*n,_=(e,n)=>e/n,f=(e,n,t)=>l(h)(e,n,t),w=(e,n,t)=>l(g)(e,n,t),A=(e,n,t)=>l(m)(e,n,t),D=(e,n,t)=>l(_)(e,n,t),p=360,T=400,E=2*Math.PI,S=3600,R=3240,F=60,v=60,M=180*S/Math.PI,L=p*F*v,U=90*S,z=180*S,x=270*S,N=String.fromCharCode(7501),b="°";function O(e){if(!1===c(e))throw new t(null,r.InvalidParameter,null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function y(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}var H,k,q;function P(e,n){switch(e){case H.north:return"SHORT"===n?"N":"North";case H.east:return"SHORT"===n?"E":"East";case H.south:return"SHORT"===n?"S":"South";case H.west:return"SHORT"===n?"W":"West"}}function j(e,n){return e-Math.floor(e/n)*n}function Q(e){switch(e){case k.truncated_degrees:case k.decimal_degrees:return p;case k.radians:return E;case k.gradians:return T;case k.seconds:return L;case k.fractional_degree_minutes:return F;case k.fractional_minute_seconds:return v;default:throw new t(null,r.LogicError,null,{reason:"unsupported evaluations"})}}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(H||(H={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(k||(k={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(q||(q={}));const C=new n([],[["NORTH",q.north_azimuth],["NORTH AZIMUTH",q.north_azimuth],["POLAR",q.polar],["QUADRANT",q.quadrant],["SOUTH",q.south_azimuth],["SOUTH AZIMUTH",q.south_azimuth]]);function W(e){const n=C.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported directionType"});return n}const B=new n([],[["D",k.decimal_degrees],["DD",k.decimal_degrees],["DECIMAL DEGREE",k.decimal_degrees],["DEGREE",k.decimal_degrees],["DECIMAL DEGREES",k.decimal_degrees],["DEGREES",k.decimal_degrees],["DMS",k.degrees_minutes_seconds],["DEGREES MINUTES SECONDS",k.degrees_minutes_seconds],["R",k.radians],["RAD",k.radians],["RADS",k.radians],["RADIAN",k.radians],["RADIANS",k.radians],["G",k.gradians],["GON",k.gradians],["GONS",k.gradians],["GRAD",k.gradians],["GRADS",k.gradians],["GRADIAN",k.gradians],["GRADIANS",k.gradians]]);function V(e){const n=B.lookup(e);if(null==n)throw new t(null,r.LogicError,null,{reason:"unsupported units"});return n}var X;!function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(X||(X={}));class Z{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case k.decimal_degrees:case k.truncated_degrees:return this.m_degrees;case k.fractional_degree_minutes:return this.m_minutes;case k.seconds:case k.fractional_minute_seconds:return this.m_seconds;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=y(e).fraction;let t=y(e).integer;const r=Math.floor(t/S);t-=r*S;const s=Math.floor(t/v);return t-=s*v,new Z(r,s,t+n)}static numberToDms(e){const n=y(e).fraction,t=y(e).integer,r=A(y(100*n).fraction,100),s=y(100*n).integer;return new Z(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(e===k.seconds||e===k.fractional_minute_seconds)v<=t&&(t-=v,++r),F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.fractional_degree_minutes)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,F<=r&&(r=0,++s),p<=s&&(s=0);else if(e===k.decimal_degrees||e===k.truncated_degrees){const e=D(this.m_seconds,S),n=D(this.m_minutes,F);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new Z(s,r,t)}static dmsToSeconds(e,n,t){return e*S+n*v+t}}class J{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return e===X.meridian?this.meridian:this.direction}}class K{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new K(new $(K._convertDirectionFormat(e.extractAngularUnits(k.seconds),n,q.north_azimuth)))}getAngle(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:case q.south_azimuth:case q.polar:return new $(K._convertDirectionFormat(n,q.north_azimuth,e));case q.quadrant:{const e=K.secondsNorthAzimuthToQuadrant(n);return new $(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.north;case q.south_azimuth:return H.south;case q.polar:return H.east;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(k.seconds);switch(e){case q.north_azimuth:return H.east;case q.south_azimuth:return H.west;case q.polar:return H.north;case q.quadrant:return K.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=U||e>=x?H.north:H.south,t=n===H.north?Math.min(L-e,e):Math.abs(e-z),r=e>z?H.west:H.east;return new J(n,t,r)}static createFromAngleMeridianAndDirection(e,n,t){return new K(new $(K.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(k.seconds),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return n===H.north?t===H.east?e:L-e:t===H.east?z-e:z+e}static _convertDirectionFormat(e,n,s){let a=0;switch(n){case q.north_azimuth:a=e;break;case q.polar:a=U-e;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:a=e+z}let i=0;switch(s){case q.north_azimuth:i=a;break;case q.polar:i=U-a;break;case q.quadrant:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:i=a-z}return i=I(i,L),i<0?L+i:i}}function Y(e,n,s){let a=null;switch(n){case k.decimal_degrees:a=A(e,S);break;case k.seconds:a=e;break;case k.gradians:a=A(e,R);break;case k.radians:a=A(e,M);break;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}switch(s){case k.decimal_degrees:return D(a,S);case k.seconds:return a;case k.gradians:return D(a,R);case k.radians:return a/M;default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}class ${constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new $(Y(e,n,k.seconds))}extractAngularUnits(e){return Y(this._seconds,k.seconds,ee(e))}static createFromDegreesMinutesSeconds(e,n,t){return new $(f(f(A(e,S),A(n,v)),t))}}function ee(e){switch(o(e),e){case k.decimal_degrees:case k.truncated_degrees:case k.degrees_minutes_seconds:return k.decimal_degrees;case k.gradians:return k.gradians;case k.fractional_degree_minutes:return k.fractional_degree_minutes;case k.radians:return k.radians;case k.seconds:case k.fractional_minute_seconds:return k.seconds}}class ne{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new ne(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=k.truncated_degrees,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=ge(this.view,r,s),n=n===k.truncated_degrees?k.fractional_degree_minutes:n,r=e.newpos;continue;case"s":e=ge(this.view,r,s),n=k.fractional_minute_seconds,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)),this._formattedDms=Z.secondsToDMS(this.angle.extractAngularUnits(k.seconds)).format(n,t)}}function te(e,n,s,a,i){let o=null;switch(n){case k.decimal_degrees:case k.radians:case k.gradians:return o=j(G(e.extractAngularUnits(n),a),Q(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.truncated_degrees:case k.fractional_degree_minutes:return o=j(i.fetchFormattedDms().getField(n),Q(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case k.fractional_minute_seconds:return o=j(G(i.fetchDms().getField(n),a),Q(n)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");default:throw new t(null,r.LogicError,null,{reason:"unexpected evaluation"})}}function re(e,n,s){if(s===q.quadrant)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(n===k.degrees_minutes_seconds){const n=Z.numberToDms(e);return K.createFromAngleAndDirection($.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),s)}return K.createFromAngleAndDirection($.createFromAngleAndUnits(e,ee(n)),s)}function se(e){switch(a(e)){case 1:return{first:H.north,second:H.east};case 2:return{first:H.south,second:H.east};case 3:return{first:H.south,second:H.west};case 4:return{first:H.north,second:H.west}}return null}function ae(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return H.north;case"E":case"EAST":return H.east;case"S":case"SOUTH":return H.south;case"W":case"WEST":return H.west}return null}function ie(e){const n=parseFloat(e);if(u(n)){if(isNaN(n))throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return n}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function oe(e,n,a){const i=a===q.quadrant;let o=null,c=null,u=0,d=0,l=0;if(i){if(e.length<2)throw new t(null,r.LogicError,null,{reason:"conversion error"});l=1;const n=se(s(e[e.length-1]));if(n?(o=n.first,c=n.second):(u=1,o=ae(s(e[0])),c=ae(s(e[e.length-1]))),null===o||null===c)throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}switch(n){case k.decimal_degrees:case k.radians:case k.gradians:if(0===e.length)throw new t(null,r.LogicError,null,{reason:"invalid conversion"});return i?K.createFromAngleMeridianAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),o,c):K.createFromAngleAndDirection($.createFromAngleAndUnits(ie(e[u]),ee(n)),a);case k.degrees_minutes_seconds:if(d=e.length-l-u,3===d){const n=$.createFromDegreesMinutesSeconds(ie(e[u]),ie(e[u+1]),ie(e[u+2]));return i?K.createFromAngleMeridianAndDirection(n,o,c):K.createFromAngleAndDirection(n,a)}if(1===d){const n=ie(e[u]),t=Z.numberToDms(n),r=$.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?K.createFromAngleMeridianAndDirection(r,o,c):K.createFromAngleAndDirection(r,a)}}throw new t(null,r.LogicError,null,{reason:"invalid conversion"})}function ce(e){const n=new Set([" ","-","/","'",'"',"\\","^",b,N,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function ue(e,n,s){if(u(e))return re(a(e),n,s);if(c(e))return oe(ce(e),n,s);if(d(e))return oe(e,n,s);if(i(e))return oe(e.toArray(),n,s);throw new t(null,r.LogicError,null,{reason:"conversion error"})}function de(e,n,s){const a=ee(s);if(a&&s!==k.degrees_minutes_seconds){return e.getAngle(n).extractAngularUnits(a)}throw new t(null,r.LogicError,null,{reason:"conversion error"})}function le(e,n,t){const r=e.getAngle(n);if(n===q.quadrant&&t===k.degrees_minutes_seconds){const t=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[P(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,P(e.getDirection(n),"SHORT")]}if(t===k.degrees_minutes_seconds){const e=Z.secondsToDMS(r.extractAngularUnits(k.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return n===q.quadrant?[P(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),P(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function he(e,n){let s="";switch(e){case k.decimal_degrees:s=n===q.quadrant?"DD.DD"+b:"DDD.DD"+b;break;case k.degrees_minutes_seconds:s=n===q.quadrant?"dd"+b+" mm' ss\"":"ddd"+b+" mm' ss.ss\"";break;case k.radians:s="R.RR";break;case k.gradians:s="GGG.GG"+N;break;default:throw new t(null,r.LogicError,null,{reason:"conversion error"})}return n===q.quadrant&&(s="p "+s+" b"),s}function ge(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const a=e[n];if(a===t)s?r.rounding++:r.padding++,n++;else{if("."!==a)break;s=!0,n++}}return r.newpos=n-1,r}function me(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function _e(e,n,t){let r="",s=null,a=null;const i=ne.createFromStringAndBearing(n,e,t),o={D:k.decimal_degrees,d:k.truncated_degrees,m:k.fractional_degree_minutes,s:k.fractional_minute_seconds,R:k.radians,G:k.gradians};for(let c=0;c<n.length;c++){const u=n[c];switch(u){case"[":s=me(n,c),r+=s.escaped,c=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=ge(n,c,u),a=e.getAngle(t),r+=te(a,o[u],s.padding,s.rounding,i),c=s.newpos;continue;case"P":case"p":r+=P(i.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=P(i.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}const fe=new n(["TEXT","VALUE"]);function we(n,a,i){if(!(a instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===a.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===a.hasField("angleType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const o=W(O(a.field("directiontype"))),c=ue(n,V(O(a.field("angletype"))),o);if(!(i instanceof e))throw new t(null,r.InvalidParameter,null);if(!1===i.hasField("directionType"))throw new t(null,r.LogicError,null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new t(null,r.LogicError,null,{reason:"missing angleType"});const u=W(O(i.field("directiontype"))),d=i.hasField("angleType")?V(O(i.field("angletype"))):null,l=fe.get(O(i.field("outputType")));if(!u||!l)throw new t(null,r.LogicError,null,{reason:"conversion error"});if(!(d||"TEXT"===l&&i.hasField("format")))throw new t(null,r.LogicError,null,{reason:"invalid unit"});switch(l){case"VALUE":return u===q.quadrant||d===k.degrees_minutes_seconds?le(c,u,d):de(c,u,d);case"TEXT":{let e="";return i.hasField("format")&&(e=s(i.field("format"))),null!==e&&""!==e||(e=he(d,u)),_e(c,e,u)}default:throw new t(null,r.InvalidParameter,null)}}export{we as convertDirection,f as preciseAdd,D as preciseDivide,w as preciseMinus,A as preciseMultiply};
|
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.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o,ExecutionErrorCodes as u}from"../executionError.js";import{
|
|
5
|
+
import{ArcadeDate as n,createDateTimeZone as r}from"../ArcadeDate.js";import{toStringEnumKey as e,StringEnum as t}from"../enum.js";import{ArcadeExecutionError as o,ExecutionErrorCodes as u}from"../executionError.js";import{B as l,K as i,u as a,g as s,e as c,f,w as m,N as d,J as h,O as N,P as y}from"../../chunks/languageUtils.js";import{DateOnly as w}from"../../core/sql/DateOnly.js";import{TimeOnly as g}from"../../core/sql/TimeOnly.js";import{getLocale as A}from"../../intl/locale.js";import{DateTime as T}from"luxon";import{isString as D}from"../../support/guards.js";function k(n,r,e){return n+(P(e)?S:p)[r]}function P(n){return n%4==0&&(n%100!=0||n%400==0)}const p=[0,31,59,90,120,151,181,212,243,273,304,334],S=[0,31,60,91,121,152,182,213,244,274,305,335];function Z(n){return null===n?n:!1===n.isValid?null:n}function F(n,r){switch(e(n)){case"":case"default":return i(r);case"z":return"UTC";default:return n}}function O(n,r){return f(n)?n.toArcadeDate():d(n,i(r))}const C=new t(["days","months","minutes","seconds","hours","years","milliseconds"],[["day","days"],["d","days"],["month","months"],["minute","minutes"],["m","minutes"],["second","seconds"],["s","seconds"],["hour","hours"],["h","hours"],["year","years"],["y","years"],["millisecond","milliseconds"],["ms","milliseconds"]]);function U(n){return"M"===n?"months":C.lookup(m(n))??"milliseconds"}function x(e,t){e.today=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const a=new Date;return a.setHours(0,0,0,0),n.dateJSAndZoneToArcadeDate(a,i(r))}))},e.time=function(r,e){return t(r,e,((t,m,d)=>{switch(l(d,0,4,r,e),d.length){case 0:{const e=n.nowToArcadeDate(i(r));return new g(e.hour,e.minute,e.second,e.millisecond)}case 1:{if(s(d[0]))return d[0].clone();if(c(d[0]))return new g(d[0].hour,d[0].minute,d[0].second,d[0].millisecond);if(f(d[0]))return new g(0,0,0,0);if(D(d[0]))return g.fromString(d[0]);const n=a(d[0]);return!1===isNaN(n)?g.fromMilliseconds(n):null}case 2:return D(d[0])&&D(d[1])?g.fromString(d[0],d[1]):g.fromParts(a(d[0]),a(d[1]),0,0);case 3:return g.fromParts(a(d[0]),a(d[1]),a(d[2]),0);case 4:return g.fromParts(a(d[0]),a(d[1]),a(d[2]),a(d[3]))}throw new o(r,u.InvalidParameter,e)}))},e.dateonly=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,0,3,r,e),3===u.length)return w.fromParts(a(u[0]),a(u[1])+1,a(u[2]));if(2===u.length){const n=m(u[1]);return""===n?null:"X"===n?w.fromSeconds(a(u[0])):"x"===n?w.fromMilliseconds(a(u[0])):w.fromString(m(u[0]),n)}if(1===u.length){if(D(u[0])){if(""===u[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(u[0]))return w.fromString(u[0]+"-01-01")}if(f(u[0]))return u[0].clone();if(c(u[0]))return w.fromParts(u[0].year,u[0].monthJS+1,u[0].day);const n=a(u[0]);return!1===isNaN(n)?w.fromMilliseconds(n):D(u[0])?w.fromString(u[0]):null}if(0===u.length){const e=n.nowToArcadeDate(i(r));return!1===e.isValid?null:w.fromParts(e.year,e.monthJS+1,e.day)}return null}))},e.changetimezone=function(e,a){return t(e,a,((t,s,c)=>{if(l(c,2,2,e,a),null===c[0])return null;if(f(c[0]))throw new o(e,u.CannotChangeTimeZoneDateOnly,a);if(f(c[0]))throw new o(e,u.CannotChangeTimeZoneTime,a);const h=d(c[0],i(e));if(null===h)throw new o(e,u.InvalidParameter,a);const N=r(F(m(c[1]),e),!1);if(null===N)return null;const y=n.arcadeDateAndZoneToArcadeDate(h,N);return!1===y.isValid?null:y}))},e.timezone=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,1,2,r,e),s(u[0]))return"Unknown";if(f(u[0]))return"Unknown";const a=d(u[0],i(r));if(null===a)return null;const c=a.timeZone;return"system"===c?n.systemTimeZoneCanonicalName:"utc"===c.toLowerCase()?"UTC":"unknown"===c.toLowerCase()?"Unknown":c}))},e.timezoneoffset=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:60*u.timeZoneOffset*1e3}))},e.now=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const a=n.nowToArcadeDate(i(r));return!1===a.isValid?null:a}))},e.timestamp=function(r,e){return t(r,e,((t,o,u)=>{l(u,0,0,r,e);const i=n.nowUTCToArcadeDate();return!1===i.isValid?null:i}))},e.toutc=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:u.toUTC()}))},e.tolocal=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=d(o[0],i(n));return null===u?null:u.toLocal()}))},e.day=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.day}))},e.month=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.monthJS}))},e.year=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.year}))},e.hour=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].hour;const u=d(o[0],i(n));return null===u?NaN:u.hour}))},e.second=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].second;const u=d(o[0],i(n));return null===u?NaN:u.second}))},e.millisecond=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].millisecond;const u=d(o[0],i(n));return null===u?NaN:u.millisecond}))},e.minute=function(n,r){return t(n,r,((e,t,o)=>{if(l(o,1,1,n,r),s(o[0]))return o[0].minute;const u=d(o[0],i(n));return null===u?NaN:u.minute}))},e.week=function(n,r){return t(n,r,((e,t,s)=>{l(s,1,2,n,r);const c=O(s[0],i(n));if(null===c)return NaN;const f=a(h(s[1],0));if(f<0||f>6)throw new o(n,u.InvalidParameter,r);const m=c.day,d=c.monthJS,N=c.year,y=c.dayOfWeekJS,w=k(m,d,N)-1,g=Math.floor(w/7);return y-f+(y-f<0?7:0)<w-7*g?g+1:g}))},e.weekday=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.dayOfWeekJS}))},e.isoweekday=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.dayOfWeekISO}))},e.isomonth=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.monthISO}))},e.isoweek=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.weekISO}))},e.isoyear=function(n,r){return t(n,r,((e,t,o)=>{l(o,1,1,n,r);const u=O(o[0],i(n));return null===u?NaN:u.yearISO}))},e.date=function(e,o){return t(e,o,((t,u,c)=>{if(l(c,0,8,e,o),3===c.length){if(f(c[0])&&s(c[1])&&D(c[2])){const t=r(F(m(c[2])??"unknown",e),!1);return null===t?null:Z(n.fromParts(c[0].year,c[0].month,c[0].day,c[1].hour,c[1].minute,c[1].second,c[1].millisecond,t))}return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),0,0,0,0,i(e)))}if(4===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),0,0,0,i(e)));if(5===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),0,0,i(e)));if(6===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),0,i(e)));if(7===c.length)return Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),a(c[6]),i(e)));if(8===c.length){const t=r(F(m(c[7])??"unknown",e),!1);return null===t?null:Z(n.fromParts(a(c[0]),a(c[1])+1,a(c[2]),a(c[3]),a(c[4]),a(c[5]),a(c[6]),t))}if(2===c.length){if(f(c[0])&&D(c[1])){const t=r(F(m(c[1])??"unknown",e),!1);return null===t?null:Z(n.fromParts(c[0].year,c[0].month,c[0].day,0,0,0,0,t))}if(f(c[0])&&s(c[1]))return Z(n.fromParts(c[0].year,c[0].month,c[0].day,c[1].hour,c[1].minute,c[1].second,c[1].millisecond,"unknown"));let t,o=m(c[1]);return""===o?null:(o=N(o,!0),t="X"===o?T.fromSeconds(a(c[0])):"x"===o?T.fromMillis(a(c[0])):T.fromFormat(m(c[0]),o,{locale:A(),numberingSystem:"latn"}),t.isValid?n.dateTimeToArcadeDate(t):null)}if(1===c.length){if(f(c[0]))return Z(n.fromParts(c[0].year,c[0].month,c[0].day,0,0,0,0,"unknown"));if(D(c[0])){if(""===c[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(c[0]))return d(c[0]+"-01-01",i(e))}const r=a(c[0]);if(!1===isNaN(r)){const t=T.fromMillis(r);return t.isValid?n.dateTimeAndZoneToArcadeDate(t,i(e)):null}return d(c[0],i(e))}return 0===c.length?n.nowToArcadeDate(i(e)):null}))},e.datediff=function(r,e){return t(r,e,((t,o,u)=>{if(l(u,2,4,r,e),s(u[0]))return s(u[1])?u[0].difference(u[1],m(u[2])):NaN;if(s(u[1]))return NaN;if(f(u[0]))return f(u[1])?u[0].difference(u[1],m(u[2])):NaN;if(f(u[1]))return NaN;let a=d(u[0],i(r)),c=d(u[1],i(r));if(null===a||null===c)return NaN;let N=h(u[3],"");return""!==N&&null!==N?(N=F(m(N),r),a=n.arcadeDateAndZoneToArcadeDate(a,N),c=n.arcadeDateAndZoneToArcadeDate(c,N)):a.timeZone!==c.timeZone&&(a.isUnknownTimeZone?a=n.arcadeDateAndZoneToArcadeDate(a,c.timeZone):c=(c.isUnknownTimeZone,n.arcadeDateAndZoneToArcadeDate(c,a.timeZone))),a.diff(c,U(u[2]))}))},e.dateadd=function(n,r){return t(n,r,((e,t,o)=>{l(o,2,3,n,r);let u=a(o[1]);if(isNaN(u)||u===1/0||u===-1/0)return s(o[0])||f(o[0])?o[0].clone():d(o[0],i(n));const c=U(o[2]);if("days"!==c&&"months"!==c||(u=f(o[0])?u:y(u)),s(o[0]))return o[0].plus(c,u);if(f(o[0]))return o[0].plus(c,u);const m=d(o[0],i(n));return null===m?null:m.plus({[c]:u})}))}}export{x as registerFunctions};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import r from"../Feature.js";import{
|
|
5
|
+
import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import r from"../Feature.js";import{B as o,k as i,Q as a,w as u,K as s,S as d,T as c,v as f,U as m,V as l,e as p}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as y}from"../featureset/support/shared.js";import{SqlTimeStampOffset as w}from"../../core/sql/SqlTimestampOffset.js";import v from"../../core/sql/WhereClause.js";import{isString as b}from"../../support/guards.js";function h(e){const n=e?.fullSchema();return n?.datesInUnknownTimezone?"unknown":n?.dateFieldsTimeZone||"UTC"}function T(e){const n=e.fullSchema()?.fieldsIndex;return null==n&&e instanceof r?e.fieldsIndex:n}const I={getAttributeSQL(e,n){const t=e.field(n);if(null==t)return t;if(p(t)){const r=t.toDateTime(),o=T(e)?.get(n)?.type;return"esriFieldTypeTimestampOffset"===o||"timestamp-offset"===o?w.fromDateTime(r):r}return t}};function j(r,p,w){r.domain=function(r,d){return p(r,d,((c,f,m)=>{if(o(m,2,3,r,d),i(m[0])){const n=a(m[0],u(m[1]),void 0===m[2]?void 0:m[2]);return n&&n.domain?"coded-value"===n.domain.type||"codedValue"===n.domain.type?e.convertObjectToArcadeDictionary({type:"codedValue",name:n.domain.name,dataType:y[n.field.type],codedValues:n.domain.codedValues.map((e=>({name:e.name,code:e.code})))},s(r)):e.convertObjectToArcadeDictionary({type:"range",name:n.domain.name,dataType:y[n.field.type],min:n.domain.minValue,max:n.domain.maxValue},s(r)):null}throw new n(r,t.InvalidParameter,d)}))},r.domaincode=function(e,r){return p(e,r,((a,s,c)=>{if(o(c,2,4,e,r),i(c[0]))return d(c[0],u(c[1]),c[2],void 0===c[3]?void 0:c[3]);throw new n(e,t.InvalidParameter,r)}))},r.domainname=function(e,r){return p(e,r,((a,s,d)=>{if(o(d,2,4,e,r),i(d[0]))return c(d[0],u(d[1]),d[2],void 0===d[3]?void 0:d[3]);throw new n(e,t.InvalidParameter,r)}))},r.expects=function(e,r){return p(e,r,((o,i,a)=>{if(a.length<1)throw new n(e,t.WrongNumberOfParameters,r);return f}))},r.featureinfilter=function(e,r){return p(e,r,((e,r,a)=>{o(a,2,2,e,r);const[u,s]=a;if(null==u)return!1;if(""===s||null==s)return!0;if(!i(u)||!b(s))throw new n(e,t.InvalidParameter,r);const d=v.create(s,{fieldsIndex:T(u),timeZone:h(u)}),c=d.getVariables();for(const n of c)d.parameters[n]=w(e,{name:n});return d.testFeature(u,I)}))},r.gdbversion=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0]))return s[0].gdbVersion();throw new n(e,t.InvalidParameter,r)}))},r.schema=function(r,o){return p(r,o,((a,u,d)=>{if(i(d[0])){const n=m(d[0]);return n?e.convertObjectToArcadeDictionary(n,s(r)):null}throw new n(r,t.InvalidParameter,o)}))},r.subtypecode=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0])){const e=l(s[0]);if(!e)return null;if(e.subtypeField&&s[0].hasField(e.subtypeField)){const n=s[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===n)return t.code;return null}return null}throw new n(e,t.InvalidParameter,r)}))},r.subtypename=function(e,r){return p(e,r,((a,u,s)=>{if(o(s,1,1,e,r),i(s[0])){const e=l(s[0]);if(!e)return"";if(e.subtypeField&&s[0].hasField(e.subtypeField)){const n=s[0].field(e.subtypeField);for(const t of e.subtypes)if(t.code===n)return t.name;return""}return""}throw new n(e,t.InvalidParameter,r)}))},r.subtypes=function(r,a){return p(r,a,((u,d,c)=>{if(o(c,1,1,r,a),i(c[0])){const n=l(c[0]);return n?e.convertObjectToArcadeDictionary(n,s(r)):null}throw new n(r,t.InvalidParameter,a)}))}}export{j as registerFunctions};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o,ExecutionErrorCodes as s}from"../executionError.js";import l from"../Feature.js";import{convertToFeatureSet as f,constructFeatureSetFromPortalItem as d,constructFeatureSet as u,constructFeatureSetFromRelationship as c,constructFeatureSetFromUrl as m,constructAssociationMetaDataFeatureSetFromUrl as p}from"../featureSetUtils.js";import y from"../ImmutableArray.js";import{D as w,k as h,j as I,p as g,f as F,h as b,L as T,g as D,o as x,K as E,e as N,n as A,m as v,i as S,t as L,M as j,Y as C}from"../../chunks/languageUtils.js";import{getPortal as k}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as $,FieldRename as P,AdaptedFeatureSet as U,OriginalField as M}from"../featureset/actions/Adapted.js";import R from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/OrderBy.js";import z from"../featureset/actions/Top.js";import W from"../featureset/sources/Empty.js";import H from"../featureset/sources/FeatureLayerMemory.js";import G from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as V,cloneField as _}from"../featureset/support/shared.js";import{isSingleField as K}from"../featureset/support/sqlUtils.js";import{calculateStat as q}from"./fieldStats.js";import{isPromiseLike as B}from"../../core/promiseUtils.js";import Q from"../../core/sql/WhereClause.js";import J from"../../layers/FeatureLayer.js";import Y from"../../layers/support/Field.js";import X from"../../portal/Portal.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return q("distinct",e[0],-1);if(v(e[0]))return q("distinct",e[0].toArray(),-1)}return q("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,l,f){const d=await t.getFeatureSetInfo();if(null===(d?.layerId??null))return null;if(!r.layerIdLookup.get(d.layerId))return null;const c=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),m=[];switch(i){case"connected":m.push("connectivity"),m.push("junction-edge-from-connectivity"),m.push("junction-edge-to-connectivity"),m.push("junction-edge-midspan-connectivity"),m.push("junction-junction-connectivity");break;case"container":case"content":m.push("containment");break;case"structure":case"attached":m.push("attachment");break;case"junctionedge":m.push("junction-edge-from-connectivity"),m.push("junction-edge-to-connectivity");break;case"midspan":m.push("junction-edge-midspan-connectivity");break;default:throw new o(l,s.InvalidParameter,f)}let p=null,y=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(p=e.terminalId);null===p&&(y=!0)}const w=[];if(!y){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(d.layerId).sourceId,...p?{terminalId:p}:""}),o=await ee(c,new ne({types:m,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";w.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const h=new J({source:w,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new Y({name:"objectId",alias:"objectId",type:"oid"}),new Y({name:"globalId",alias:"globalId",type:"global-id"}),new Y({name:"percentAlong",alias:"percentAlong",type:"double"}),new Y({name:"side",alias:"side",type:"string"}),new Y({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new Y({name:"className",alias:"className",type:"string"})]});return u(h)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,(async(e,r,l)=>{if(w(l,1,2,n,a),h(l[0]))return"Unknown";if(I(l[0]))return"Unknown";if(g(l[0])){if(await l[0].load(),1===l.length||null===l[1])return l[0].datesInUnknownTimezone?pe("unknown"):pe(l[0].dateFieldsTimeZone);if(!(l[1]instanceof i)||!1===l[1].hasField("type"))throw new o(n,s.InvalidParameter,a);const e=l[1].field("type");if(!1===ie(e))throw new o(n,s.InvalidParameter,a);switch(F(e).toLowerCase()){case"preferredtimezone":return pe(l[0].preferredTimeZone);case"editfieldsinfo":return pe(l[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(l[0].timeInfo?.timeZone??null);case"field":if(l[1].hasField("fieldname")&&ie(l[1].field("fieldname")))return pe(l[0].fieldTimeZone(F(l[1].field("fieldname"))))}throw new o(n,s.InvalidParameter,a)}const f=b(l[0],T(n));if(null===f)return null;const d=f.timeZone;return"system"===d?t.systemTimeZoneCanonicalName:"utc"===d.toLowerCase()?"UTC":"unknown"===d.toLowerCase()?"Unknown":d}))},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{w(a,1,3,t,n);const r=a[0];if(D(r)){if(1===a.length)return r.toSQLWithKeyword();if(2===a.length)return r.changeTimeZone(F(a[1])).toSQLWithKeyword();throw new o(t,s.InvalidParameter,n)}if(I(r))return r.toSQLWithKeyword();if(g(r)){if(3!==a.length)throw new o(t,s.InvalidParameter,n);await r.load();const e=F(a[1]);if(I(a[2]))return a[2].toSQLWithKeyword();if(!1===D(a[2]))throw new o(t,s.InvalidParameter,n);const i=r.fieldTimeZone(e);return null==i?a[2].toSQLWithKeyword():a[2].changeTimeZone(i).toSQLWithKeyword()}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,((e,i,a)=>{if(w(a,2,4,t,n),x(a[0])){const e=F(a[1]);let i=E(a[2],null);const r=N(E(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,s.InvalidParameter,n);return a[0].featureSetById(e,r,i)}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"featuresetbyid",min:2,max:4});const q=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,1,2,t,n),A(a[0])){const e=null==a[1]?"datasource":q.lookup(F(a[1]));return f(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,((e,a,r)=>{if(w(r,2,5,t,i),null===r[0])throw new o(t,s.PortalRequired,i);if(r[0]instanceof n){const e=F(r[1]),n=F(r[2]);let a=E(r[3],null);const l=N(E(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o(t,s.InvalidParameter,i);let f;return f=t.services?.portal?t.services.portal:X.getDefault(),f=k(r[0],f),d(e,n,t.spatialReference,a,l,f,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o(t,s.PortalRequired,i);const l=F(r[0]),f=F(r[1]);let u=E(r[2],null);const c=N(E(r[3],!0));if(null===u&&(u=["*"]),!1===ae(u))throw new o(t,s.InvalidParameter,i);return d(l,f,t.spatialReference,u,c,t.services?.portal??X.getDefault(),t.lrucache,t.interceptor)}))},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,((e,i,a)=>{if(w(a,2,4,t,n),x(a[0])){const e=F(a[1]);let i=E(a[2],null);const r=N(E(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,s.InvalidParameter,n);return a[0].featureSetByName(e,r,i)}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,((e,a,r)=>{w(r,1,1,t,n);const l={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(l.layerDefinition=e.layerDefinition,l.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(l.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(l.featureSet.features=e.features,l.featureSet.geometryType=e.geometryType,l.layerDefinition.geometryType=l.featureSet.geometryType,l.layerDefinition.objectIdField=e.objectIdFieldName??"",l.layerDefinition.typeIdField=e.typeIdFieldName,l.layerDefinition.globalIdField=e.globalIdFieldName,l.layerDefinition.fields=e.fields,e.spatialReference&&(l.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o(t,s.InvalidParameter,n);{const e=JSON.parse(r[0].castToText(!0)),i=le(e,"layerdefinition");if(null!==i){l.layerDefinition.geometryType=le(i,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.globalIdField=le(i,"globalidfield",""),l.layerDefinition.objectIdField=le(i,"objectidfield",""),l.layerDefinition.typeIdField=le(i,"typeidfield",""),l.layerDefinition.hasZ=!0===le(i,"hasz",!1),l.layerDefinition.hasM=!0===le(i,"hasm",!1);const t=le(i,"spatialreference");t&&(l.layerDefinition.spatialReference=de(t));const n=[];for(const e of le(i,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};n.push(t)}l.layerDefinition.fields=n;const a=le(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];l.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{l.layerDefinition.hasZ=!0===le(e,"hasz",!1),l.layerDefinition.hasM=!0===le(e,"hasm",!1),l.layerDefinition.geometryType=le(e,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.objectIdField=le(e,"objectidfieldname",""),l.layerDefinition.typeIdField=le(e,"typeidfieldname","");const i=le(e,"spatialreference");i&&(l.layerDefinition.spatialReference=de(i));const a=[],r=le(e,"fields",null);if(!ae(r))throw new o(t,s.InvalidParameter,n);for(const e of r){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};a.push(t)}l.layerDefinition.fields=a;const f={};for(const e of a)f[e.name.toLowerCase()]=e.name;let d=le(e,"features",null);if(ae(d))for(const e of d){const t={},n=le(e,"attributes",{});for(const e in n)t[f[e.toLowerCase()]]=n[e];l.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else d=null,l.featureSet.features=d}}}if(!1===me(l))throw new o(t,s.InvalidParameter,n);return l.layerDefinition.geometryType||(l.layerDefinition.geometryType="esriGeometryNull"),H.create(l,t.spatialReference)}))},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,(async(i,a,r)=>{if(w(r,2,2,t,n),ae(r[0])||v(r[0])){const e=[];let i,a=r[0];if(a instanceof y&&(a=a.toArray()),!S(r[1]))throw new o(t,s.InvalidParameter,n);i=r[1].createFunction(t);for(const t of a){const n=i(t);B(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(g(r[0])){const n=await r[0].load(),i=Q.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new R({parentfeatureset:r[0],whereclause:i})}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,2,2,t,n),g(a[0])){const e=new G(a[1]);return new O({parentfeatureset:a[0],orderbyclause:e})}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,2,2,t,n),g(a[0]))return new z({parentfeatureset:a[0],topnum:a[1]});if(ae(a[0]))return L(a[1])>=a[0].length?a[0].slice():a[0].slice(0,L(a[1]));if(v(a[0]))return L(a[1])>=a[0].length()?a[0].slice():a[0].slice(0,L(a[1]));throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,1,1,t,n),g(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=l.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:v(a[0])?0===a[0].length()?null:a[0].get(0):null}))},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,(async(e,a,r)=>{w(r,1,2,t,n);const l={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(l.minsize=L(r[1].field("minsize"))),r[1].hasField("metadata")&&(l.returnMetadata=N(r[1].field("metadata"))),r[1].hasField("maxsize")&&(l.maxsize=L(r[1].field("maxsize"))),r[1].hasField("types")){const e=j(r[1].field("types"),!1);e.length>0&&(l.types=e)}}else if(null!==r[1])throw new o(t,s.InvalidParameter,n);if(A(r[0])){const e=r[0]._layer;let n;if(g(e))n=e;else{if(null==e||!V(e))return[];n=u(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),l.minsize,l.maxsize,l.types,l.returnMetadata)}if(null===r[0])return[];throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{w(a,2,4,t,n);const r=a[0],l=F(a[1]);let f=E(a[2],null);const d=N(E(a[3],!0));if(null===f&&(f=["*"]),!1===ae(f))throw new o(t,s.InvalidParameter,n);if(null===a[0])return null;if(!A(a[0]))throw new o(t,s.InvalidParameter,n);const p=r._layer;let y;if(g(p))y=p;else{if(null==p||!V(p))return null;y=u(p,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}y=await y.load();const h=y.relationshipMetaData().filter((e=>e.name===l));if(0===h.length)return null;if(void 0!==h[0].relationshipTableId&&null!==h[0].relationshipTableId&&h[0].relationshipTableId>-1)return c(y,h[0],r.field(y.objectIdField),y.spatialReference,f,d,t.lrucache,t.interceptor);let I=y.serviceUrl();if(!I)return null;I="/"===I.charAt(I.length-1)?I+h[0].relatedTableId.toString():I+"/"+h[0].relatedTableId.toString();const b=await m(I,y.spatialReference,f,d,t.lrucache,t.interceptor);await b.load();let T=b.relationshipMetaData();if(T=T.filter((e=>e.id===h[0].id)),!1===r.hasField(h[0].keyField)||null===r.field(h[0].keyField)){const e=await y.getFeatureByObjectId(r.field(y.objectIdField),[h[0].keyField]);if(e){const t=Q.create(T[0].keyField+"= @id",{fieldsIndex:b.getFieldsIndex(),timeZone:b.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[h[0].keyField]},b.filter(t)}return new W({parentfeatureset:b})}const D=Q.create(T[0].keyField+"= @id",{fieldsIndex:b.getFieldsIndex(),timeZone:b.dateFieldsTimeZoneDefaultUTC});return D.parameters={id:r.field(h[0].keyField)},b.filter(D)}))},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{w(a,2,3,t,n);const l=a[0],f=r(F(E(a[1],""))),d=ie(a[2])?F(a[2]):null;if(null===a[0])return null;if(!A(a[0]))throw new o(t,s.InvalidParameter,n);let c=l._layer;if(c instanceof J&&(c=u(c,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)),null===c)return null;if(!1===g(c))return null;await c.load();const m=c.serviceUrl(),y=await p(m,t.spatialReference,!0);if(y.unVersion>=8)return await ye(c,l,f,d,y,t,n);const h=y.associations;let I=null,b=null,T=!1;if(null!==d&&""!==d&&void 0!==d){for(const e of y.terminals)e.terminalName===d&&(b=e.terminalId);null===b&&(T=!0)}const D=h.getFieldsIndex(),x=D.get("TOGLOBALID").name,N=D.get("FROMGLOBALID").name,v=D.get("TOTERMINALID").name,S=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,j=D.get("TONETWORKSOURCEID").name,k=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){I=l.field(t.name);break}let z=null,W=new Z(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(new Y({name:"side",alias:"side",type:"string"}),Q.create("''",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));const G="globalid",V="globalId",K={};for(const t in y.lkp)K[t]=y.lkp[t].sourceId;const q=new $(new Y({name:"classname",alias:"classname",type:"string"}),null,K);let B="";switch(f){case"midspan":{B=`((${x}='${I}') OR ( ${N}='${I}')) AND (${k} IN (5))`,q.codefield=Q.create(`CASE WHEN (${x}='${I}') THEN ${L} ELSE ${j} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=_(U.findField(h.fields,N));e.name=G,e.alias=G,z=new Z(e,Q.create(`CASE WHEN (${N}='${I}') THEN ${x} ELSE ${N} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),W=y.unVersion>=4?new M(U.findField(h.fields,D.get("PERCENTALONG").name)):new Z(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{B=`((${x}='${I}') OR ( ${N}='${I}')) AND (${k} IN (4,6))`,q.codefield=Q.create(`CASE WHEN (${x}='${I}') THEN ${L} ELSE ${j} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const e=_(U.findField(h.fields,N));e.name=G,e.alias=G,z=new Z(e,Q.create(`CASE WHEN (${N}='${I}') THEN ${x} ELSE ${N} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC})),H=new Z(new Y({name:"side",alias:"side",type:"string"}),Q.create(`CASE WHEN (${k}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${x}='@T'`,t=`${N}='@T'`;null!==b&&(e+=` AND ${v}=@A`,t+=` AND ${S}=@A`),B="(("+e+") OR ("+t+"))",B=C(B,"@T",I??""),e=C(e,"@T",I??""),null!==b&&(e=C(e,"@A",b.toString()),B=C(B,"@A",b.toString())),q.codefield=Q.create("CASE WHEN "+e+` THEN ${L} ELSE ${j} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC});const n=_(U.findField(h.fields,N));n.name=G,n.alias=G,z=new Z(n,Q.create("CASE WHEN "+e+` THEN ${N} ELSE ${x} END`,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}));break}case"container":B=`${x}='${I}' AND ${k} = 2`,null!==b&&(B+=` AND ${v} = `+b.toString()),q.codefield=L,B="( "+B+" )",z=new P(U.findField(h.fields,N),G,G);break;case"content":B=`(${N}='${I}' AND ${k} = 2)`,null!==b&&(B+=` AND ${S} = `+b.toString()),q.codefield=j,B="( "+B+" )",z=new P(U.findField(h.fields,x),G,G);break;case"structure":B=`(${x}='${I}' AND ${k} = 3)`,null!==b&&(B+=` AND ${v} = `+b.toString()),q.codefield=L,B="( "+B+" )",z=new P(U.findField(h.fields,N),G,V);break;case"attached":B=`(${N}='${I}' AND ${k} = 3)`,null!==b&&(B+=` AND ${S} = `+b.toString()),q.codefield=j,B="( "+B+" )",z=new P(U.findField(h.fields,x),G,V);break;default:throw new o(t,s.InvalidParameter,n)}T&&(B="1 <> 1");return new U({parentfeatureset:h,adaptedFields:[new M(U.findField(h.fields,O)),new M(U.findField(h.fields,R)),z,H,q,W],extraFilter:B?Q.create(B,{fieldsIndex:h.getFieldsIndex(),timeZone:h.dateFieldsTimeZoneDefaultUTC}):null})}))},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,(async(a,r,l)=>{if(w(l,3,3,t,n),!g(l[0]))throw new o(t,s.InvalidParameter,n);const f=await l[0].load(),d=[],u=[];let c=!1,m=[];if(ie(l[1]))m.push(l[1]);else if(l[1]instanceof i)m.push(l[1]);else if(ae(l[1]))m=l[1];else{if(!v(l[1]))throw new o(t,s.InvalidParameter,n);m=l[1].toArray()}for(const e of m)if(ie(e)){const t=Q.create(F(e),{fieldsIndex:f.getFieldsIndex(),timeZone:f.dateFieldsTimeZoneDefaultUTC}),n=!0===K(t)?F(e):"%%%%FIELDNAME";d.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(c=!0)}else{if(!(e instanceof i))throw new o(t,s.InvalidParameter,n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",a=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(c=!0),!i)throw new o(t,s.InvalidParameter,n);d.push({name:i,expression:Q.create(a||i,{fieldsIndex:f.getFieldsIndex(),timeZone:f.dateFieldsTimeZoneDefaultUTC})})}}if(m=[],ie(l[2]))m.push(l[2]);else if(ae(l[2]))m=l[2];else if(v(l[2]))m=l[2].toArray();else{if(!(l[2]instanceof i))throw new o(t,s.InvalidParameter,n);m.push(l[2])}for(const e of m){if(!(e instanceof i))throw new o(t,s.InvalidParameter,n);{const i=e.hasField("name")?e.field("name"):"",a=e.hasField("statistic")?e.field("statistic"):"",r=e.hasField("expression")?e.field("expression"):"";if(!(i&&a&&ie(a)&&r))throw new o(t,s.InvalidParameter,n);u.push({name:i,statistic:a,expression:Q.create(r,{fieldsIndex:f.getFieldsIndex(),timeZone:f.dateFieldsTimeZoneDefaultUTC})})}}if(c){const e={};for(const n of f.fields)e[n.name.toLowerCase()]=1;for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of u)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of d)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of d)se(n.expression,e,t);for(const n of u)se(n.expression,e,t);return l[0].groupby(d,u)}))},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,(async(a,r,l)=>{if(g(l[0])){w(l,2,2,t,n);const a=await l[0].load(),r=[];let f=[];if(ie(l[1]))f.push(l[1]);else if(l[1]instanceof i)f.push(l[1]);else if(ae(l[1]))f=l[1];else{if(!v(l[1]))throw new o(t,s.InvalidParameter,n);f=l[1].toArray()}let d=!1;for(const e of f)if(ie(e)){const t=Q.create(F(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===K(t)?F(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(d=!0)}else{if(!(e instanceof i))throw new o(t,s.InvalidParameter,n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",l=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(d=!0),!i)throw new o(t,s.InvalidParameter,n);r.push({name:i,expression:Q.create(l||i,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(d){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of r)se(n.expression,e,t);return l[0].groupby(r,[])}return oe(l)}))},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,(async(e,a,r)=>{if(w(r,1,1,t,n),!g(r[0]))return null;const o=await r[0].getFeatureSetInfo();return o?i.convertObjectToArcadeDictionary({layerId:o.layerId,layerName:o.layerName,itemId:o.itemId,serviceLayerUrl:o.serviceLayerUrl,webMapLayerId:o.webMapLayerId??null,webMapLayerTitle:o.webMapLayerTitle??null,className:null,objectClassId:null},T(t),!1,!1):null}))},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,2,2,t,n),g(a[0])){const e=await a[0].load(),i=a[1];if(!re(i))throw new o(t,s.InvalidParameter,n);if(e.subtypeField){const t=Q.create(`${e.subtypeField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:a[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o(t,s.FeatureSetDoesNotHaveSubtypes,n);const r=Q.create(`${e.typeIdField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:a[0],whereclause:r})}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
|
|
5
|
+
import e from"../../Graphic.js";import{ArcadeDate as t}from"../ArcadeDate.js";import n from"../ArcadePortal.js";import i from"../Dictionary.js";import{StringEnum as a,toStringEnumKey as r}from"../enum.js";import{ArcadeExecutionError as o,ExecutionErrorCodes as s}from"../executionError.js";import l from"../Feature.js";import{convertToFeatureSet as f,constructFeatureSetFromPortalItem as d,constructFeatureSet as u,constructFeatureSetFromRelationship as c,constructFeatureSetFromUrl as m,constructAssociationMetaDataFeatureSetFromUrl as p}from"../featureSetUtils.js";import y from"../ImmutableArray.js";import{B as w,g as I,f as h,m as g,w as F,N as b,K as T,e as D,l as x,J as E,H as N,k as A,j as v,i as S,u as L,L as j,Y as C}from"../../chunks/languageUtils.js";import{getPortal as k}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as $,FieldRename as P,AdaptedFeatureSet as U,OriginalField as M}from"../featureset/actions/Adapted.js";import R from"../featureset/actions/AttributeFilter.js";import O from"../featureset/actions/OrderBy.js";import z from"../featureset/actions/Top.js";import H from"../featureset/sources/Empty.js";import W from"../featureset/sources/FeatureLayerMemory.js";import G from"../featureset/support/OrderbyClause.js";import{isSupportedLayer as V,cloneField as _}from"../featureset/support/shared.js";import{isSingleField as B}from"../featureset/support/sqlUtils.js";import{calculateStat as K}from"./fieldStats.js";import{isPromiseLike as q}from"../../core/promiseUtils.js";import Q from"../../core/sql/WhereClause.js";import J from"../../layers/FeatureLayer.js";import Y from"../../layers/support/Field.js";import X from"../../portal/Portal.js";import{queryAssociations as ee}from"../../rest/networks/queryAssociations.js";import te from"../../rest/networks/support/NetworkElement.js";import ne from"../../rest/networks/support/QueryAssociationsParameters.js";import{isString as ie,isArray as ae,isInteger as re}from"../../support/guards.js";function oe(e){if(1===e.length){if(ae(e[0]))return K("distinct",e[0],-1);if(v(e[0]))return K("distinct",e[0].toArray(),-1)}return K("distinct",e,-1)}function se(e,t,n){const i=e.getVariables();if(i.length>0){const a={};for(const e of i)a[e]=t.evaluateIdentifier(n,{name:e});e.parameters=a}return e}function le(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function fe(e){if(null===e)return null;const t={type:le(e,"type",""),name:le(e,"name","")};if("range"===t.type)t.range=le(e,"range",[]);else{t.codedValues=[];for(const n of le(e,"codedValues",[]))t.codedValues.push({name:le(n,"name",""),code:le(n,"code",null)})}return t}function de(e){if(null===e)return null;const t={},n=le(e,"wkt");null!==n&&(t.wkt=n);const i=le(e,"wkid");return null!==i&&(t.wkid=i),t}function ue(e){if(null===e)return null;const t={hasZ:le(e,"hasz",!1),hasM:le(e,"hasm",!1)},n=le(e,"spatialreference");null!=n&&(t.spatialReference=de(n));const i=le(e,"x",null);if(null!==i)return t.x=i,t.y=le(e,"y",null),t.hasZ&&(t.z=le(e,"z",null)),t.hasM&&(t.m=le(e,"m",null)),t;const a=le(e,"rings",null);if(null!==a)return t.rings=a,t;const r=le(e,"paths",null);if(null!==r)return t.paths=r,t;const o=le(e,"points",null);if(null!==o)return t.points=o,t;for(const s of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=le(e,s,null);null!==n&&(t[s]=n)}return t}function ce(e,t){for(const n of t)if(n===e)return!0;return!1}function me(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==ce(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==ae(e.layerDefinition.fields)&&!1!==ae(e.featureSet.features))))}function pe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}async function ye(t,n,i,a,r,l,f){const d=await t.getFeatureSetInfo();if(null===(d?.layerId??null))return null;if(!r.layerIdLookup.get(d.layerId))return null;const c=t.serviceUrl().replace(/\/FeatureServer/i,"/UtilityNetworkServer"),m=[];switch(i){case"connected":m.push("connectivity"),m.push("junction-edge-from-connectivity"),m.push("junction-edge-to-connectivity"),m.push("junction-edge-midspan-connectivity"),m.push("junction-junction-connectivity");break;case"container":case"content":m.push("containment");break;case"structure":case"attached":m.push("attachment");break;case"junctionedge":m.push("junction-edge-from-connectivity"),m.push("junction-edge-to-connectivity");break;case"midspan":m.push("junction-edge-midspan-connectivity");break;default:throw new o(l,s.InvalidParameter,f)}let p=null,y=!1;if(null!==a&&""!==a&&void 0!==a){for(const e of r.terminals)e.terminalName===a&&(p=e.terminalId);null===p&&(y=!0)}const w=[];if(!y){const a=new te({globalId:n.field(t.globalIdField),networkSourceId:r.layerIdLookup.get(d.layerId).sourceId,...p?{terminalId:p}:""}),o=await ee(c,new ne({types:m,elements:[a]}));let s=0;for(const t of o.associations){let n=null,o="",l="";if(t.fromNetworkElement?.globalId===a.globalId?(n=t.toNetworkElement,l="to"):t.toNetworkElement?.globalId===a.globalId&&(n=t.fromNetworkElement,l="from"),!n)continue;switch(i){case"attached":if("attachment"!==t.associationType)continue;if("to"!==l)continue;break;case"structure":if("attachment"!==t.associationType)continue;if("from"!==l)continue;break;case"container":if("containment"!==t.associationType)continue;if("from"!==l)continue;break;case"content":if("containment"!==t.associationType)continue;if("to"!==l)continue;break;case"connected":break;case"junctionedge":"junction-edge-to-connectivity"===t.associationType?o="to":"junction-edge-from-connectivity"===t.associationType&&(o="from");break;case"midspan":if("junction-edge-midspan-connectivity"!==t.associationType)continue}const f=r.sourceIdLookup.get(n.networkSourceId)?.className??"";w.push(new e({geometry:null,attributes:{objectId:s++,globalId:n.globalId,percentAlong:t.percentAlong??0,isContentVisible:t.isContentVisible?0:1,className:f,side:o}}))}}const I=new J({source:w,geometryType:null,objectIdField:"objectId",globalIdField:"globalId",fields:[new Y({name:"objectId",alias:"objectId",type:"oid"}),new Y({name:"globalId",alias:"globalId",type:"global-id"}),new Y({name:"percentAlong",alias:"percentAlong",type:"double"}),new Y({name:"side",alias:"side",type:"string"}),new Y({name:"isContentVisible",alias:"isContentVisible",type:"integer"}),new Y({name:"className",alias:"className",type:"string"})]});return u(I)}function we(e){if("async"===e.mode){e.functions.timezone=function(n,a){return e.standardFunctionAsync(n,a,(async(e,r,l)=>{if(w(l,1,2,n,a),I(l[0]))return"Unknown";if(h(l[0]))return"Unknown";if(g(l[0])){if(await l[0].load(),1===l.length||null===l[1])return l[0].datesInUnknownTimezone?pe("unknown"):pe(l[0].dateFieldsTimeZone);if(!(l[1]instanceof i)||!1===l[1].hasField("type"))throw new o(n,s.InvalidParameter,a);const e=l[1].field("type");if(!1===ie(e))throw new o(n,s.InvalidParameter,a);switch(F(e).toLowerCase()){case"preferredtimezone":return pe(l[0].preferredTimeZone);case"editfieldsinfo":return pe(l[0].editFieldsInfo?.timeZone??null);case"timeinfo":return pe(l[0].timeInfo?.timeZone??null);case"field":if(l[1].hasField("fieldname")&&ie(l[1].field("fieldname")))return pe(l[0].fieldTimeZone(F(l[1].field("fieldname"))))}throw new o(n,s.InvalidParameter,a)}const f=b(l[0],T(n));if(null===f)return null;const d=f.timeZone;return"system"===d?t.systemTimeZoneCanonicalName:"utc"===d.toLowerCase()?"UTC":"unknown"===d.toLowerCase()?"Unknown":d}))},e.functions.sqltimestamp=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{w(a,1,3,t,n);const r=a[0];if(D(r)){if(1===a.length)return r.toSQLWithKeyword();if(2===a.length)return r.changeTimeZone(F(a[1])).toSQLWithKeyword();throw new o(t,s.InvalidParameter,n)}if(h(r))return r.toSQLWithKeyword();if(g(r)){if(3!==a.length)throw new o(t,s.InvalidParameter,n);await r.load();const e=F(a[1]);if(h(a[2]))return a[2].toSQLWithKeyword();if(!1===D(a[2]))throw new o(t,s.InvalidParameter,n);const i=r.fieldTimeZone(e);return null==i?a[2].toSQLWithKeyword():a[2].changeTimeZone(i).toSQLWithKeyword()}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(t,n){return e.standardFunctionAsync(t,n,((e,i,a)=>{if(w(a,2,4,t,n),x(a[0])){const e=F(a[1]);let i=E(a[2],null);const r=N(E(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,s.InvalidParameter,n);return a[0].featureSetById(e,r,i)}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"featuresetbyid",min:2,max:4});const K=new a(["datasource","parent","root"]);e.functions.getfeatureset=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,1,2,t,n),A(a[0])){const e=null==a[1]?"datasource":K.lookup(F(a[1]));return f(a[0].fullSchema(),e,t.lrucache,t.interceptor,t.spatialReference)}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(t,i){return e.standardFunctionAsync(t,i,((e,a,r)=>{if(w(r,2,5,t,i),null===r[0])throw new o(t,s.PortalRequired,i);if(r[0]instanceof n){const e=F(r[1]),n=F(r[2]);let a=E(r[3],null);const l=N(E(r[4],!0));if(null===a&&(a=["*"]),!1===ae(a))throw new o(t,s.InvalidParameter,i);let f;return f=t.services?.portal?t.services.portal:X.getDefault(),f=k(r[0],f),d(e,n,t.spatialReference,a,l,f,t.lrucache,t.interceptor)}if(!1===ie(r[0]))throw new o(t,s.PortalRequired,i);const l=F(r[0]),f=F(r[1]);let u=E(r[2],null);const c=N(E(r[3],!0));if(null===u&&(u=["*"]),!1===ae(u))throw new o(t,s.InvalidParameter,i);return d(l,f,t.spatialReference,u,c,t.services?.portal??X.getDefault(),t.lrucache,t.interceptor)}))},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(t,n){return e.standardFunctionAsync(t,n,((e,i,a)=>{if(w(a,2,4,t,n),x(a[0])){const e=F(a[1]);let i=E(a[2],null);const r=N(E(a[3],!0));if(null===i&&(i=["*"]),!1===ae(i))throw new o(t,s.InvalidParameter,n);return a[0].featureSetByName(e,r,i)}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(t,n){return e.standardFunction(t,n,((e,a,r)=>{w(r,1,1,t,n);const l={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(ie(r[0])){const e=JSON.parse(r[0]);void 0!==e.layerDefinition?(l.layerDefinition=e.layerDefinition,l.featureSet=e.featureSet,e.layerDefinition.spatialReference&&(l.layerDefinition.spatialReference=e.layerDefinition.spatialReference)):(l.featureSet.features=e.features,l.featureSet.geometryType=e.geometryType,l.layerDefinition.geometryType=l.featureSet.geometryType,l.layerDefinition.objectIdField=e.objectIdFieldName??"",l.layerDefinition.typeIdField=e.typeIdFieldName,l.layerDefinition.globalIdField=e.globalIdFieldName,l.layerDefinition.fields=e.fields,e.spatialReference&&(l.layerDefinition.spatialReference=e.spatialReference))}else{if(!(r[0]instanceof i))throw new o(t,s.InvalidParameter,n);{const e=JSON.parse(r[0].castToText(!0)),i=le(e,"layerdefinition");if(null!==i){l.layerDefinition.geometryType=le(i,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.globalIdField=le(i,"globalidfield",""),l.layerDefinition.objectIdField=le(i,"objectidfield",""),l.layerDefinition.typeIdField=le(i,"typeidfield",""),l.layerDefinition.hasZ=!0===le(i,"hasz",!1),l.layerDefinition.hasM=!0===le(i,"hasm",!1);const t=le(i,"spatialreference");t&&(l.layerDefinition.spatialReference=de(t));const n=[];for(const e of le(i,"fields",[])){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};n.push(t)}l.layerDefinition.fields=n;const a=le(e,"featureset");if(a){const e={};for(const t of n)e[t.name.toLowerCase()]=t.name;for(const t of le(a,"features",[])){const n={},i=le(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];l.featureSet.features.push({attributes:n,geometry:ue(le(t,"geometry"))})}}}else{l.layerDefinition.hasZ=!0===le(e,"hasz",!1),l.layerDefinition.hasM=!0===le(e,"hasm",!1),l.layerDefinition.geometryType=le(e,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.objectIdField=le(e,"objectidfieldname",""),l.layerDefinition.typeIdField=le(e,"typeidfieldname","");const i=le(e,"spatialreference");i&&(l.layerDefinition.spatialReference=de(i));const a=[],r=le(e,"fields",null);if(!ae(r))throw new o(t,s.InvalidParameter,n);for(const e of r){const t={name:le(e,"name",""),alias:le(e,"alias",""),type:le(e,"type",""),nullable:le(e,"nullable",!0),editable:le(e,"editable",!0),length:le(e,"length",null),domain:fe(le(e,"domain"))};a.push(t)}l.layerDefinition.fields=a;const f={};for(const e of a)f[e.name.toLowerCase()]=e.name;let d=le(e,"features",null);if(ae(d))for(const e of d){const t={},n=le(e,"attributes",{});for(const e in n)t[f[e.toLowerCase()]]=n[e];l.featureSet.features.push({attributes:t,geometry:ue(le(e,"geometry",null))})}else d=null,l.featureSet.features=d}}}if(!1===me(l))throw new o(t,s.InvalidParameter,n);return l.layerDefinition.geometryType||(l.layerDefinition.geometryType="esriGeometryNull"),W.create(l,t.spatialReference)}))},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(t,n){return e.standardFunctionAsync(t,n,(async(i,a,r)=>{if(w(r,2,2,t,n),ae(r[0])||v(r[0])){const e=[];let i,a=r[0];if(a instanceof y&&(a=a.toArray()),!S(r[1]))throw new o(t,s.InvalidParameter,n);i=r[1].createFunction(t);for(const t of a){const n=i(t);q(n)?!0===await n&&e.push(t):!0===n&&e.push(t)}return e}if(g(r[0])){const n=await r[0].load(),i=Q.create(r[1],{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC}),a=i.getVariables();if(a.length>0){const n={};for(const i of a)n[i]=e.evaluateIdentifier(t,{name:i});i.parameters=n}return new R({parentfeatureset:r[0],whereclause:i})}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,2,2,t,n),g(a[0])){const e=new G(a[1]);return new O({parentfeatureset:a[0],orderbyclause:e})}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,2,2,t,n),g(a[0]))return new z({parentfeatureset:a[0],topnum:a[1]});if(ae(a[0]))return L(a[1])>=a[0].length?a[0].slice():a[0].slice(0,L(a[1]));if(v(a[0]))return L(a[1])>=a[0].length()?a[0].slice():a[0].slice(0,L(a[1]));throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,1,1,t,n),g(a[0])){const n=await a[0].first(e.abortSignal);if(null!==n){const e=l.createFromGraphicLikeObject(n.geometry,n.attributes,a[0],t.timeZone);return e._underlyingGraphic=n,e}return n}return ae(a[0])?0===a[0].length?null:a[0][0]:v(a[0])?0===a[0].length()?null:a[0].get(0):null}))},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(t,n){return e.standardFunctionAsync(t,n,(async(e,a,r)=>{w(r,1,2,t,n);const l={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i){if(r[1].hasField("minsize")&&(l.minsize=L(r[1].field("minsize"))),r[1].hasField("metadata")&&(l.returnMetadata=N(r[1].field("metadata"))),r[1].hasField("maxsize")&&(l.maxsize=L(r[1].field("maxsize"))),r[1].hasField("types")){const e=j(r[1].field("types"),!1);e.length>0&&(l.types=e)}}else if(null!==r[1])throw new o(t,s.InvalidParameter,n);if(A(r[0])){const e=r[0]._layer;let n;if(g(e))n=e;else{if(null==e||!V(e))return[];n=u(e,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}return await n.load(),n.queryAttachments(r[0].field(n.objectIdField),l.minsize,l.maxsize,l.types,l.returnMetadata)}if(null===r[0])return[];throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{w(a,2,4,t,n);const r=a[0],l=F(a[1]);let f=E(a[2],null);const d=N(E(a[3],!0));if(null===f&&(f=["*"]),!1===ae(f))throw new o(t,s.InvalidParameter,n);if(null===a[0])return null;if(!A(a[0]))throw new o(t,s.InvalidParameter,n);const p=r._layer;let y;if(g(p))y=p;else{if(null==p||!V(p))return null;y=u(p,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)}y=await y.load();const I=y.relationshipMetaData().filter((e=>e.name===l));if(0===I.length)return null;if(void 0!==I[0].relationshipTableId&&null!==I[0].relationshipTableId&&I[0].relationshipTableId>-1)return c(y,I[0],r.field(y.objectIdField),y.spatialReference,f,d,t.lrucache,t.interceptor);let h=y.serviceUrl();if(!h)return null;h="/"===h.charAt(h.length-1)?h+I[0].relatedTableId.toString():h+"/"+I[0].relatedTableId.toString();const b=await m(h,y.spatialReference,f,d,t.lrucache,t.interceptor);await b.load();let T=b.relationshipMetaData();if(T=T.filter((e=>e.id===I[0].id)),!1===r.hasField(I[0].keyField)||null===r.field(I[0].keyField)){const e=await y.getFeatureByObjectId(r.field(y.objectIdField),[I[0].keyField]);if(e){const t=Q.create(T[0].keyField+"= @id",{fieldsIndex:b.getFieldsIndex(),timeZone:b.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[I[0].keyField]},b.filter(t)}return new H({parentfeatureset:b})}const D=Q.create(T[0].keyField+"= @id",{fieldsIndex:b.getFieldsIndex(),timeZone:b.dateFieldsTimeZoneDefaultUTC});return D.parameters={id:r.field(I[0].keyField)},b.filter(D)}))},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{w(a,2,3,t,n);const l=a[0],f=r(F(E(a[1],""))),d=ie(a[2])?F(a[2]):null;if(null===a[0])return null;if(!A(a[0]))throw new o(t,s.InvalidParameter,n);let c=l._layer;if(c instanceof J&&(c=u(c,t.spatialReference,["*"],!0,t.lrucache,t.interceptor)),null===c)return null;if(!1===g(c))return null;await c.load();const m=c.serviceUrl(),y=await p(m,t.spatialReference,!0);if(y.unVersion>=8)return await ye(c,l,f,d,y,t,n);const I=y.associations;let h=null,b=null,T=!1;if(null!==d&&""!==d&&void 0!==d){for(const e of y.terminals)e.terminalName===d&&(b=e.terminalId);null===b&&(T=!0)}const D=I.getFieldsIndex(),x=D.get("TOGLOBALID").name,N=D.get("FROMGLOBALID").name,v=D.get("TOTERMINALID").name,S=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,j=D.get("TONETWORKSOURCEID").name,k=D.get("ASSOCIATIONTYPE").name,R=D.get("ISCONTENTVISIBLE").name,O=D.get("OBJECTID").name;for(const t of c.fields)if("global-id"===t.type){h=l.field(t.name);break}let z=null,H=new Z(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC})),W=new Z(new Y({name:"side",alias:"side",type:"string"}),Q.create("''",{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC}));const G="globalid",V="globalId",B={};for(const t in y.lkp)B[t]=y.lkp[t].sourceId;const K=new $(new Y({name:"classname",alias:"classname",type:"string"}),null,B);let q="";switch(f){case"midspan":{q=`((${x}='${h}') OR ( ${N}='${h}')) AND (${k} IN (5))`,K.codefield=Q.create(`CASE WHEN (${x}='${h}') THEN ${L} ELSE ${j} END`,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC});const e=_(U.findField(I.fields,N));e.name=G,e.alias=G,z=new Z(e,Q.create(`CASE WHEN (${N}='${h}') THEN ${x} ELSE ${N} END`,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC})),H=y.unVersion>=4?new M(U.findField(I.fields,D.get("PERCENTALONG").name)):new Z(new Y({name:"percentalong",alias:"percentalong",type:"double"}),Q.create("0",{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{q=`((${x}='${h}') OR ( ${N}='${h}')) AND (${k} IN (4,6))`,K.codefield=Q.create(`CASE WHEN (${x}='${h}') THEN ${L} ELSE ${j} END`,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC});const e=_(U.findField(I.fields,N));e.name=G,e.alias=G,z=new Z(e,Q.create(`CASE WHEN (${N}='${h}') THEN ${x} ELSE ${N} END`,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC})),W=new Z(new Y({name:"side",alias:"side",type:"string"}),Q.create(`CASE WHEN (${k}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${x}='@T'`,t=`${N}='@T'`;null!==b&&(e+=` AND ${v}=@A`,t+=` AND ${S}=@A`),q="(("+e+") OR ("+t+"))",q=C(q,"@T",h??""),e=C(e,"@T",h??""),null!==b&&(e=C(e,"@A",b.toString()),q=C(q,"@A",b.toString())),K.codefield=Q.create("CASE WHEN "+e+` THEN ${L} ELSE ${j} END`,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC});const n=_(U.findField(I.fields,N));n.name=G,n.alias=G,z=new Z(n,Q.create("CASE WHEN "+e+` THEN ${N} ELSE ${x} END`,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC}));break}case"container":q=`${x}='${h}' AND ${k} = 2`,null!==b&&(q+=` AND ${v} = `+b.toString()),K.codefield=L,q="( "+q+" )",z=new P(U.findField(I.fields,N),G,G);break;case"content":q=`(${N}='${h}' AND ${k} = 2)`,null!==b&&(q+=` AND ${S} = `+b.toString()),K.codefield=j,q="( "+q+" )",z=new P(U.findField(I.fields,x),G,G);break;case"structure":q=`(${x}='${h}' AND ${k} = 3)`,null!==b&&(q+=` AND ${v} = `+b.toString()),K.codefield=L,q="( "+q+" )",z=new P(U.findField(I.fields,N),G,V);break;case"attached":q=`(${N}='${h}' AND ${k} = 3)`,null!==b&&(q+=` AND ${S} = `+b.toString()),K.codefield=j,q="( "+q+" )",z=new P(U.findField(I.fields,x),G,V);break;default:throw new o(t,s.InvalidParameter,n)}T&&(q="1 <> 1");return new U({parentfeatureset:I,adaptedFields:[new M(U.findField(I.fields,O)),new M(U.findField(I.fields,R)),z,W,K,H],extraFilter:q?Q.create(q,{fieldsIndex:I.getFieldsIndex(),timeZone:I.dateFieldsTimeZoneDefaultUTC}):null})}))},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(t,n){return e.standardFunctionAsync(t,n,(async(a,r,l)=>{if(w(l,3,3,t,n),!g(l[0]))throw new o(t,s.InvalidParameter,n);const f=await l[0].load(),d=[],u=[];let c=!1,m=[];if(ie(l[1]))m.push(l[1]);else if(l[1]instanceof i)m.push(l[1]);else if(ae(l[1]))m=l[1];else{if(!v(l[1]))throw new o(t,s.InvalidParameter,n);m=l[1].toArray()}for(const e of m)if(ie(e)){const t=Q.create(F(e),{fieldsIndex:f.getFieldsIndex(),timeZone:f.dateFieldsTimeZoneDefaultUTC}),n=!0===B(t)?F(e):"%%%%FIELDNAME";d.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(c=!0)}else{if(!(e instanceof i))throw new o(t,s.InvalidParameter,n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",a=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(c=!0),!i)throw new o(t,s.InvalidParameter,n);d.push({name:i,expression:Q.create(a||i,{fieldsIndex:f.getFieldsIndex(),timeZone:f.dateFieldsTimeZoneDefaultUTC})})}}if(m=[],ie(l[2]))m.push(l[2]);else if(ae(l[2]))m=l[2];else if(v(l[2]))m=l[2].toArray();else{if(!(l[2]instanceof i))throw new o(t,s.InvalidParameter,n);m.push(l[2])}for(const e of m){if(!(e instanceof i))throw new o(t,s.InvalidParameter,n);{const i=e.hasField("name")?e.field("name"):"",a=e.hasField("statistic")?e.field("statistic"):"",r=e.hasField("expression")?e.field("expression"):"";if(!(i&&a&&ie(a)&&r))throw new o(t,s.InvalidParameter,n);u.push({name:i,statistic:a,expression:Q.create(r,{fieldsIndex:f.getFieldsIndex(),timeZone:f.dateFieldsTimeZoneDefaultUTC})})}}if(c){const e={};for(const n of f.fields)e[n.name.toLowerCase()]=1;for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of u)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of d)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of d)se(n.expression,e,t);for(const n of u)se(n.expression,e,t);return l[0].groupby(d,u)}))},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(t,n){return e.standardFunctionAsync(t,n,(async(a,r,l)=>{if(g(l[0])){w(l,2,2,t,n);const a=await l[0].load(),r=[];let f=[];if(ie(l[1]))f.push(l[1]);else if(l[1]instanceof i)f.push(l[1]);else if(ae(l[1]))f=l[1];else{if(!v(l[1]))throw new o(t,s.InvalidParameter,n);f=l[1].toArray()}let d=!1;for(const e of f)if(ie(e)){const t=Q.create(F(e),{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC}),n=!0===B(t)?F(e):"%%%%FIELDNAME";r.push({name:n,expression:t}),"%%%%FIELDNAME"===n&&(d=!0)}else{if(!(e instanceof i))throw new o(t,s.InvalidParameter,n);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",l=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(d=!0),!i)throw new o(t,s.InvalidParameter,n);r.push({name:i,expression:Q.create(l||i,{fieldsIndex:a.getFieldsIndex(),timeZone:a.dateFieldsTimeZoneDefaultUTC})})}}if(d){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of r)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const n of r)se(n.expression,e,t);return l[0].groupby(r,[])}return oe(l)}))},e.functions.getfeaturesetinfo=function(t,n){return e.standardFunctionAsync(t,n,(async(e,a,r)=>{if(w(r,1,1,t,n),!g(r[0]))return null;const o=await r[0].getFeatureSetInfo();return o?i.convertObjectToArcadeDictionary({layerId:o.layerId,layerName:o.layerName,itemId:o.itemId,serviceLayerUrl:o.serviceLayerUrl,webMapLayerId:o.webMapLayerId??null,webMapLayerTitle:o.webMapLayerTitle??null,className:null,objectClassId:null},T(t),!1,!1):null}))},e.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),e.functions.filterbysubtypecode=function(t,n){return e.standardFunctionAsync(t,n,(async(e,i,a)=>{if(w(a,2,2,t,n),g(a[0])){const e=await a[0].load(),i=a[1];if(!re(i))throw new o(t,s.InvalidParameter,n);if(e.subtypeField){const t=Q.create(`${e.subtypeField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:a[0],whereclause:t})}if(null===e.typeIdField||""===e.typeIdField)throw new o(t,s.FeatureSetDoesNotHaveSubtypes,n);const r=Q.create(`${e.typeIdField}= ${a[1]}`,{fieldsIndex:e.getFieldsIndex(),timeZone:e.dateFieldsTimeZoneDefaultUTC});return new R({parentfeatureset:a[0],whereclause:r})}throw new o(t,s.InvalidParameter,n)}))},e.signatures.push({name:"filterbysubtypecode",min:2,max:2})}}export{we as registerFunctions};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeExecutionError as e,ExecutionErrorCodes as t}from"../executionError.js";import{shapeExtent as n}from"../kernel.js";import{
|
|
5
|
+
import{ArcadeExecutionError as e,ExecutionErrorCodes as t}from"../executionError.js";import{shapeExtent as n}from"../kernel.js";import{C as r,B as s,h as i,w as a,m as o}from"../../chunks/languageUtils.js";import u from"../featureset/actions/SpatialFilter.js";import l from"../featureset/sources/Empty.js";import{invokeRemoteGeometryOp as c}from"../geometry/operatorsWorkerConnection.js";function f(a){return async(f,p,S)=>{if(s(S,2,2,f,p),null===(S=r(S))[0]&&null===S[1])return!1;if(o(S[0])){if(i(S[1]))return new u({parentfeatureset:S[0],relation:a,relationGeom:S[1]});if(null===S[1])return new l({parentfeatureset:S[0]});throw new e(f,t.InvalidParameter,p)}if(i(S[0])){if(i(S[1])){switch(a){case"esriSpatialRelEnvelopeIntersects":{const e=n(S[0]),t=n(S[1]);return null!=e&&null!=t&&c("intersects",[e.toJSON(),t.toJSON()])}case"esriSpatialRelIntersects":return c("intersects",[S[0].toJSON(),S[1].toJSON()]);case"esriSpatialRelContains":return c("contains",[S[0].toJSON(),S[1].toJSON()]);case"esriSpatialRelOverlaps":return c("overlaps",[S[0].toJSON(),S[1].toJSON()]);case"esriSpatialRelWithin":return c("within",[S[0].toJSON(),S[1].toJSON()]);case"esriSpatialRelTouches":return c("touches",[S[0].toJSON(),S[1].toJSON()]);case"esriSpatialRelCrosses":return c("crosses",[S[0].toJSON(),S[1].toJSON()])}throw new e(f,t.InvalidParameter,p)}if(o(S[1]))return new u({parentfeatureset:S[1],relation:a,relationGeom:S[0]});if(null===S[1])return!1;throw new e(f,t.InvalidParameter,p)}if(null===S[0]){if(o(S[1]))return new l({parentfeatureset:S[1]});if(i(S[1])||null===S[1])return!1}throw new e(f,t.InvalidParameter,p)}}function p(n){"async"===n.mode&&(n.functions.intersects=function(e,t){return n.standardFunctionAsync(e,t,f("esriSpatialRelIntersects"))},n.functions.envelopeintersects=function(e,t){return n.standardFunctionAsync(e,t,f("esriSpatialRelEnvelopeIntersects"))},n.signatures.push({name:"envelopeintersects",min:2,max:2}),n.functions.contains=function(e,t){return n.standardFunctionAsync(e,t,f("esriSpatialRelContains"))},n.functions.overlaps=function(e,t){return n.standardFunctionAsync(e,t,f("esriSpatialRelOverlaps"))},n.functions.within=function(e,t){return n.standardFunctionAsync(e,t,f("esriSpatialRelWithin"))},n.functions.touches=function(e,t){return n.standardFunctionAsync(e,t,f("esriSpatialRelTouches"))},n.functions.crosses=function(e,t){return n.standardFunctionAsync(e,t,f("esriSpatialRelCrosses"))},n.functions.relate=function(u,f){return n.standardFunctionAsync(u,f,(async(n,p,S)=>{if(S=r(S),s(S,3,3,u,f),i(S[0])&&i(S[1]))return c("relate",[S[0].toJSON(),S[1].toJSON(),a(S[2])]);if(i(S[0])&&null===S[1])return!1;if(i(S[1])&&null===S[0])return!1;if(o(S[0])&&null===S[1])return new l({parentfeatureset:S[0]});if(o(S[1])&&null===S[0])return new l({parentfeatureset:S[1]});if(o(S[0])&&i(S[1]))return S[0].relate(S[1],a(S[2]));if(o(S[1])&&i(S[0]))return S[1].relate(S[0],a(S[2]));if(null===S[0]&&null===S[1])return!1;throw new e(u,t.InvalidParameter,f)}))})}export{p as registerFunctions};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeDate as n}from"../ArcadeDate.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as e}from"../executionError.js";import{
|
|
5
|
+
import{ArcadeDate as n}from"../ArcadeDate.js";import{ArcadeExecutionError as t,ExecutionErrorCodes as e}from"../executionError.js";import{B as a,m as r,j as i,J as o,K as s}from"../../chunks/languageUtils.js";import{calculateStat as c}from"./fieldStats.js";import{SqlTimeStampOffset as u}from"../../core/sql/SqlTimestampOffset.js";import f from"../../core/sql/WhereClause.js";import{isArray as d,isString as m}from"../../support/guards.js";async function l(n,t,e,a){if(1===e.length){if(d(e[0]))return c(n,e[0],o(e[1],-1));if(i(e[0]))return c(n,e[0].toArray(),o(e[1],-1))}else if(2===e.length){if(d(e[0]))return c(n,e[0],o(e[1],-1));if(i(e[0]))return c(n,e[0].toArray(),o(e[1],-1));if(r(e[0])){const r=await e[0].load(),i=await y(f.create(e[1],{fieldsIndex:r.getFieldsIndex(),timeZone:r.dateFieldsTimeZoneDefaultUTC}),a,t);return g(t,await e[0].calculateStatistic(n,i,o(e[2],1e3),t.abortSignal))}}else if(3===e.length&&r(e[0])){const r=await e[0].load(),i=await y(f.create(e[1],{fieldsIndex:r.getFieldsIndex(),timeZone:r.dateFieldsTimeZoneDefaultUTC}),a,t);return g(t,await e[0].calculateStatistic(n,i,o(e[2],1e3),t.abortSignal))}return c(n,e,-1)}function g(t,e){return e instanceof u?n.fromReaderAsTimeStampOffset(e.toStorageFormat()):e instanceof Date?n.dateJSAndZoneToArcadeDate(e,s(t)):e}async function y(n,t,e){const a=n.getVariables();if(a.length>0){const r={};for(const n of a)r[n]=t.evaluateIdentifier(e,{name:n});n.parameters=r}return n}function A(n){"async"===n.mode&&(n.functions.stdev=function(t,e){return n.standardFunctionAsync(t,e,((e,a,r)=>l("stdev",t,r,n)))},n.functions.variance=function(t,e){return n.standardFunctionAsync(t,e,((e,a,r)=>l("variance",t,r,n)))},n.functions.average=function(t,e){return n.standardFunctionAsync(t,e,((e,a,r)=>l("mean",t,r,n)))},n.functions.mean=function(t,e){return n.standardFunctionAsync(t,e,((e,a,r)=>l("mean",t,r,n)))},n.functions.sum=function(t,e){return n.standardFunctionAsync(t,e,((e,a,r)=>l("sum",t,r,n)))},n.functions.min=function(t,e){return n.standardFunctionAsync(t,e,((e,a,r)=>l("min",t,r,n)))},n.functions.max=function(t,e){return n.standardFunctionAsync(t,e,((e,a,r)=>l("max",t,r,n)))},n.functions.count=function(o,s){return n.standardFunctionAsync(o,s,(async(n,c,u)=>{if(a(u,1,1,o,s),r(u[0]))return u[0].count(n.abortSignal);if(d(u[0])||m(u[0]))return u[0].length;if(i(u[0]))return u[0].length();throw new t(o,e.InvalidParameter,s)}))})}export{A as registerFunctions};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import n from"../Dictionary.js";import{ArcadeExecutionError as a,ExecutionErrorCodes as e}from"../executionError.js";import{
|
|
5
|
+
import n from"../Dictionary.js";import{ArcadeExecutionError as a,ExecutionErrorCodes as e}from"../executionError.js";import{B as t,k as r,Q as o,w as i,m as c,a1 as s,V as d,K as u,T as m,a2 as f,S as l,a3 as y,J as v,t as w,U as p}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as h}from"../featureset/support/shared.js";function T(a,e){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:a.domain.name,dataType:h[a.field.type],codedValues:a.domain.codedValues.map((n=>({name:n.name,code:n.code})))},u(e)):n.convertObjectToArcadeDictionary({type:"range",name:a.domain.name,dataType:h[a.field.type],min:a.domain.minValue,max:a.domain.maxValue},u(e)):null}function b(h){"async"===h.mode&&(h.functions.domain=function(n,d){return h.standardFunctionAsync(n,d,(async(u,m,f)=>{if(t(f,2,3,n,d),r(f[0])){return T(o(f[0],i(f[1]),void 0===f[2]?void 0:f[2]),n)}if(c(f[0])){await f[0]._ensureLoaded();return T(s(i(f[1]),f[0],null,void 0===f[2]?void 0:f[2]),n)}throw new a(n,e.InvalidParameter,d)}))},h.functions.subtypes=function(o,i){return h.standardFunctionAsync(o,i,(async(s,m,f)=>{if(t(f,1,1,o,i),r(f[0])){const a=d(f[0]);return a?n.convertObjectToArcadeDictionary(a,u(o)):null}if(c(f[0])){await f[0]._ensureLoaded();const a=f[0].subtypeMetaData();return a?n.convertObjectToArcadeDictionary(a,u(o)):null}throw new a(o,e.InvalidParameter,i)}))},h.functions.domainname=function(n,o){return h.standardFunctionAsync(n,o,(async(d,u,l)=>{if(t(l,2,4,n,o),r(l[0]))return m(l[0],i(l[1]),l[2],void 0===l[3]?void 0:l[3]);if(c(l[0])){await l[0]._ensureLoaded();const n=s(i(l[1]),l[0],null,void 0===l[3]?void 0:l[3]);return f(n,l[2])}throw new a(n,e.InvalidParameter,o)}))},h.signatures.push({name:"domainname",min:2,max:4}),h.functions.domaincode=function(n,o){return h.standardFunctionAsync(n,o,(async(d,u,m)=>{if(t(m,2,4,n,o),r(m[0]))return l(m[0],i(m[1]),m[2],void 0===m[3]?void 0:m[3]);if(c(m[0])){await m[0]._ensureLoaded();const n=s(i(m[1]),m[0],null,void 0===m[3]?void 0:m[3]);return y(n,m[2])}throw new a(n,e.InvalidParameter,o)}))},h.signatures.push({name:"domaincode",min:2,max:4}),h.functions.text=function(n,r){return h.standardFunctionAsync(n,r,(async(o,i,s)=>{if(t(s,1,2,n,r),c(s[0])){const t=v(s[1],"");if(""===t)return s[0].castToText();if("schema"===t.toLowerCase())return s[0].convertToText("schema",o.abortSignal);if("featureset"===t.toLowerCase())return s[0].convertToText("featureset",o.abortSignal);throw new a(n,e.InvalidParameter,r)}return w(s[0],s[1])}))},h.functions.gdbversion=function(n,o){return h.standardFunctionAsync(n,o,(async(i,s,d)=>{if(t(d,1,1,n,o),r(d[0]))return d[0].gdbVersion();if(c(d[0])){return(await d[0].load()).gdbVersion}throw new a(n,e.InvalidParameter,o)}))},h.functions.schema=function(o,i){return h.standardFunctionAsync(o,i,(async(s,d,m)=>{if(t(m,1,1,o,i),c(m[0]))return await m[0].load(),n.convertObjectToArcadeDictionary(m[0].schema(),u(o));if(r(m[0])){const a=p(m[0]);return a?n.convertObjectToArcadeDictionary(a,u(o)):null}throw new a(o,e.InvalidParameter,i)}))})}export{b as registerFunctions};
|