@arcgis/core 4.32.0-next.20250109 → 4.32.0-next.20250111
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/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/geometry/operators.js +1 -1
- package/arcade/geometry/operatorsWorker.js +5 -0
- package/arcade/geometry/operatorsWorkerConnection.js +5 -0
- package/arcade/geometry/unitConversion.js +1 -1
- package/arcade/kernel.js +1 -1
- package/assets/components/assets/autocomplete/t9n/messages.ar.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.bg.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.bs.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.ca.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.cs.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.da.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.de.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.el.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.es.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.et.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.fi.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.fr.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.he.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.hr.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.hu.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.id.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.it.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.ja.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.ko.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.lt.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.lv.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.nl.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.no.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.pl.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.pt-BR.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.pt-PT.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.ro.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.ru.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.sk.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.sl.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.sr.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.sv.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.th.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.tr.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.uk.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.vi.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.zh-CN.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.zh-HK.json +1 -0
- package/assets/components/assets/autocomplete/t9n/messages.zh-TW.json +1 -0
- package/assets/components/assets/carousel/t9n/messages.bg.json +1 -1
- package/assets/components/assets/carousel/t9n/messages.lt.json +1 -1
- package/assets/components/assets/carousel/t9n/messages.ru.json +1 -1
- package/assets/components/assets/carousel/t9n/messages.sk.json +1 -1
- package/assets/components/assets/carousel/t9n/messages.zh-CN.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.ar.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.bg.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.bs.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.ca.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.cs.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.da.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.de.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.el.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.es.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.et.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.fi.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.fr.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.he.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.hr.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.hu.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.id.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.it.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.ja.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.ko.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.lt.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.lv.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.nl.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.no.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.pl.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.pt-BR.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.pt-PT.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.ro.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.ru.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.sk.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.sl.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.sr.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.sv.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.th.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.tr.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.uk.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.vi.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.zh-CN.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.zh-HK.json +1 -1
- package/assets/components/assets/inline-editable/t9n/messages.zh-TW.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.ar.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.bg.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.bs.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.ca.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.cs.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.da.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.de.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.el.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.es.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.et.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.fi.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.fr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.he.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.hr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.hu.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.id.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.it.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.ja.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.ko.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.lt.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.lv.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.nl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.no.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.pl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.pt-BR.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.pt-PT.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.ro.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.ru.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.sk.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.sl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.sr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.sv.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.th.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.tr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.uk.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.vi.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.zh-CN.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.zh-HK.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages.zh-TW.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.ar.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.bg.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.bs.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.ca.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.cs.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.da.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.de.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.el.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.es.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.et.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.fi.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.fr.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.he.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.hr.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.hu.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.id.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.it.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.ja.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.ko.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.lt.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.lv.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.nl.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.no.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.pl.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.pt-BR.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.pt-PT.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.ro.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.ru.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.sk.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.sl.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.sr.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.sv.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.th.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.tr.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.uk.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.vi.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.zh-CN.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.zh-HK.json +1 -1
- package/assets/components/assets/input-time-zone/t9n/messages.zh-TW.json +1 -1
- package/assets/components/assets/list-item/t9n/messages.nl.json +1 -1
- package/assets/components/assets/list-item/t9n/messages.vi.json +1 -1
- package/assets/components/assets/menu/t9n/messages.zh-CN.json +1 -1
- package/assets/components/assets/panel/t9n/messages.nl.json +1 -1
- package/assets/components/assets/sheet/t9n/messages.ar.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.bg.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.bs.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.ca.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.cs.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.da.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.de.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.el.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.es.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.et.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.fi.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.fr.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.he.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.hr.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.hu.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.id.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.it.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.ja.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.ko.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.lt.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.lv.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.nl.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.no.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.pl.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.pt-BR.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.pt-PT.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.ro.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.ru.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.sk.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.sl.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.sr.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.sv.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.th.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.tr.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.uk.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.vi.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.zh-CN.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.zh-HK.json +1 -0
- package/assets/components/assets/sheet/t9n/messages.zh-TW.json +1 -0
- package/assets/components/assets/text-area/t9n/messages.ar.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.bg.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.bs.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.ca.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.cs.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.da.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.de.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.el.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.es.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.et.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.fi.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.fr.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.he.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.hr.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.hu.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.id.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.it.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.ja.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.ko.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.lt.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.lv.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.nl.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.no.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.pl.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.pt-BR.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.pt-PT.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.ro.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.ru.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.sk.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.sl.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.sr.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.sv.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.th.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.tr.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.uk.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.vi.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.zh-CN.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.zh-HK.json +1 -1
- package/assets/components/assets/text-area/t9n/messages.zh-TW.json +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02387486f67a4699111e.js +1 -0
- package/assets/esri/core/workers/chunks/{53e0ea2f7f642e553123.js → 02b2175132c9720bc756.js} +1 -1
- package/assets/esri/core/workers/chunks/0641e8a4e7bc92481173.js +1 -0
- package/assets/esri/core/workers/chunks/08fd7fa6d3f26cda8189.js +1 -0
- package/assets/esri/core/workers/chunks/{e2be5e8e196784f00edc.js → 097d22567edd68be7b61.js} +1 -1
- package/assets/esri/core/workers/chunks/0e1d9dc5794d06883260.js +1 -0
- package/assets/esri/core/workers/chunks/0edf5cd5d004631c3959.js +1 -0
- package/assets/esri/core/workers/chunks/0f904dc3dc08a3fee49d.js +1 -0
- package/assets/esri/core/workers/chunks/11babf8176a109472d27.js +1 -0
- package/assets/esri/core/workers/chunks/12e5821d467c82d74041.js +1 -0
- package/assets/esri/core/workers/chunks/1541480b81cae83158ea.js +1 -0
- package/assets/esri/core/workers/chunks/{19d72185d50ba1ebff50.js → 1541b88f45a0597083d5.js} +1 -1
- package/assets/esri/core/workers/chunks/198bf43bcd45b062ae04.js +1 -0
- package/assets/esri/core/workers/chunks/1ab8b369b51beeb8d714.js +1 -0
- package/assets/esri/core/workers/chunks/1abeba63bf623a746d5c.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/1babd6399c23604e1f64.js +1 -0
- package/assets/esri/core/workers/chunks/{56ca9d525e63c8536bad.js → 1bf472f3ca67b0275667.js} +1 -1
- package/assets/esri/core/workers/chunks/2112c2aaaca9e72d4e9b.js +1 -0
- package/assets/esri/core/workers/chunks/{1a8fcf820ca637e98eb7.js → 211fca24ab80b9be09d8.js} +1 -1
- package/assets/esri/core/workers/chunks/217f8139bea225d1fcc6.js +1 -0
- package/assets/esri/core/workers/chunks/2331bbd1292726fd45ed.js +1 -0
- package/assets/esri/core/workers/chunks/{bdf95bf0c29ef182000d.js → 2427a01678f3d9fbf30b.js} +1 -1
- package/assets/esri/core/workers/chunks/25362882a5c4cf339232.js +1 -0
- package/assets/esri/core/workers/chunks/{9f348706b14d5748f4ba.js → 2824b74fcbf5822cff0b.js} +80 -80
- package/assets/esri/core/workers/chunks/2944057c31dc168a4f05.js +1 -0
- package/assets/esri/core/workers/chunks/2de5fe03e28ca8a72597.js +1 -0
- package/assets/esri/core/workers/chunks/2ea786d2b03aabdf7a1a.js +1 -0
- package/assets/esri/core/workers/chunks/2ead2e9f71fda7db5499.js +1 -0
- package/assets/esri/core/workers/chunks/2f5722844208d0f5d616.js +1 -0
- package/assets/esri/core/workers/chunks/2f9b66a1dc5e21bcf3e6.js +1 -0
- package/assets/esri/core/workers/chunks/33e39b2e5e9a65184fed.js +1 -0
- package/assets/esri/core/workers/chunks/{210e3553bd91311c8dff.js → 33eebe5cb22a03ae90c8.js} +1 -1
- package/assets/esri/core/workers/chunks/{d7a467ccb2bed1ee21f6.js → 34c8016181ec83e2996d.js} +1 -1
- package/assets/esri/core/workers/chunks/3624249432123a85c12a.js +1 -0
- package/assets/esri/core/workers/chunks/3645d3617ac28822b5bc.js +1 -0
- package/assets/esri/core/workers/chunks/39c80007f70be6af4077.js +1 -0
- package/assets/esri/core/workers/chunks/442c427b3ec8daac5de2.js +1 -0
- package/assets/esri/core/workers/chunks/4696278d033907a067c7.js +1 -0
- package/assets/esri/core/workers/chunks/48dfad893d4387806cbe.js +1 -0
- package/assets/esri/core/workers/chunks/4d4a271351fd288277d2.js +1 -0
- package/assets/esri/core/workers/chunks/50beab30e120ba39d212.js +1 -0
- package/assets/esri/core/workers/chunks/{3767defbd9c4b2e86886.js → 514896084106c3160c18.js} +1 -1
- package/assets/esri/core/workers/chunks/5313f4c673bfd1112a0b.js +1 -0
- package/assets/esri/core/workers/chunks/{907a91266e25cc4b9d42.js → 534bd3c9c61091b663bb.js} +1 -1
- package/assets/esri/core/workers/chunks/568fe969e8f914f042ca.js +1 -0
- package/assets/esri/core/workers/chunks/576b7961fe7771dacfd9.js +1 -0
- package/assets/esri/core/workers/chunks/57e9480c33ed67077a1b.js +1 -0
- package/assets/esri/core/workers/chunks/598797e69697e8abb970.js +1 -0
- package/assets/esri/core/workers/chunks/5994e9fe63b2b9a8f364.js +1 -0
- package/assets/esri/core/workers/chunks/5acda045ca6728a19b67.js +1 -0
- package/assets/esri/core/workers/chunks/5c05c899f7e6f764fedd.js +1 -0
- package/assets/esri/core/workers/chunks/5e3ea7291d074b47ea78.js +1 -0
- package/assets/esri/core/workers/chunks/5f1df8d3b14c6695e4b5.js +1 -0
- package/assets/esri/core/workers/chunks/63b8193ad90b2ebe6884.js +1 -0
- package/assets/esri/core/workers/chunks/{8329c85037e8786f46b1.js → 6481768d686e40d0efb2.js} +1 -1
- package/assets/esri/core/workers/chunks/656d50fd7d7218fe1b02.js +1 -0
- package/assets/esri/core/workers/chunks/65f2b22d8fc12e6d4a87.js +1 -0
- package/assets/esri/core/workers/chunks/668f7dd72cf4ae1239e4.js +314 -0
- package/assets/esri/core/workers/chunks/{6869ac20afbaa5e5a2c2.js → 66d40a486aa3caa76106.js} +1 -1
- package/assets/esri/core/workers/chunks/670cd897d023f6592881.js +2 -0
- package/assets/esri/core/workers/chunks/{62f8949a2d9076f3c1ea.js.LICENSE.txt → 670cd897d023f6592881.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/6dad6af739acf505a7aa.js +1 -0
- package/assets/esri/core/workers/chunks/6efb36bc2205203ff44d.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/7047ecb92020ad59d14f.js +1 -0
- package/assets/esri/core/workers/chunks/72314654bf52ce587095.js +1 -0
- package/assets/esri/core/workers/chunks/759618564e68fc09dc36.js +1 -0
- package/assets/esri/core/workers/chunks/75c6c2cfa5c2f43ccf0d.js +1 -0
- package/assets/esri/core/workers/chunks/76a7114a69264f5c07b0.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/795390c2ac4c0fc94c2c.js +1 -0
- package/assets/esri/core/workers/chunks/7a7568432a1f5f88d14f.js +1 -0
- package/assets/esri/core/workers/chunks/7a8df1225abd54ff68ed.js +1 -0
- package/assets/esri/core/workers/chunks/7f4eec5e1f35a7b619bd.js +1 -0
- package/assets/esri/core/workers/chunks/{ad8748f7b6cd3ff954f6.js → 8249351daa45ca82ca0c.js} +1 -1
- package/assets/esri/core/workers/chunks/{8e60de347b209a753c73.js → 82cae473d7a30f57df3b.js} +1 -1
- package/assets/esri/core/workers/chunks/849251b83a40a6c36580.js +1 -0
- package/assets/esri/core/workers/chunks/8bf3c87236114f16ac19.js +1 -0
- package/assets/esri/core/workers/chunks/8f8ddff58317d6123d82.js +1 -0
- package/assets/esri/core/workers/chunks/90016c4173f1da60b0b6.js +1 -0
- package/assets/esri/core/workers/chunks/96befabbf6fdaa7d7e1a.js +1 -0
- package/assets/esri/core/workers/chunks/9812938de7afb7dcd309.js +1 -0
- package/assets/esri/core/workers/chunks/9843424a33104455a612.js +1 -0
- package/assets/esri/core/workers/chunks/{4c096f829f3804804cad.js → 99d0758567180eff2869.js} +2 -2
- package/assets/esri/core/workers/chunks/{4c096f829f3804804cad.js.LICENSE.txt → 99d0758567180eff2869.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/9ce95aa735d6eb1b9740.js +1 -0
- package/assets/esri/core/workers/chunks/a559db8654b4f83fd79b.js +1 -0
- package/assets/esri/core/workers/chunks/a5ee632f5ce503d86c7e.js +1 -0
- package/assets/esri/core/workers/chunks/a6c7aa77b40b49fa5125.js +1 -0
- package/assets/esri/core/workers/chunks/aee0b0e37b18712da1c3.js +1 -0
- package/assets/esri/core/workers/chunks/b1ce435e3850255e0b24.js +1 -0
- package/assets/esri/core/workers/chunks/b3a3675c196335d259f4.js +1 -0
- package/assets/esri/core/workers/chunks/b4f18c5d7d25cb71b6d6.js +1 -0
- package/assets/esri/core/workers/chunks/b9369c5415f5b3bda5cf.js +1 -0
- package/assets/esri/core/workers/chunks/bf9144a5d1fdebec6c4d.js +1 -0
- package/assets/esri/core/workers/chunks/c66379916cf22a0902f3.js +1 -0
- package/assets/esri/core/workers/chunks/{2a8517b43f93b9d7b4a8.js → c81204ae663e58c7b689.js} +1 -1
- package/assets/esri/core/workers/chunks/c9a9bfddd1da32407717.js +1 -0
- package/assets/esri/core/workers/chunks/cac79b64a7dade8bf486.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{ed8aecf2a06368042b63.js → ce17a16c7abc0afdbac6.js} +1 -1
- package/assets/esri/core/workers/chunks/cee8b985b9d5cd9c26b4.js +1 -0
- package/assets/esri/core/workers/chunks/{76c7984cd48cb81bfd41.js → d2499c38e0f1bb3e5cf4.js} +1 -1
- package/assets/esri/core/workers/chunks/d46e963ba27f3c98a6a1.js +1 -0
- package/assets/esri/core/workers/chunks/dab14bffa5791310aa18.js +1 -0
- package/assets/esri/core/workers/chunks/dd0932b754e56267b8b5.js +1 -0
- package/assets/esri/core/workers/chunks/e012b319cc99429fc55e.js +1 -0
- package/assets/esri/core/workers/chunks/e2d987c39a6ef318511c.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/e45dba512ebee97f0af2.js +1 -0
- package/assets/esri/core/workers/chunks/e46ddf6aba8be4088302.js +1 -0
- package/assets/esri/core/workers/chunks/e9f0402fa3ac5a249807.js +1 -0
- package/assets/esri/core/workers/chunks/{11f00218905f0db447ff.js → ea5e1c3b813040f20198.js} +1 -1
- package/assets/esri/core/workers/chunks/ebc0094355504ec09fb8.js +1 -0
- package/assets/esri/core/workers/chunks/ec31110d2fc2bceef05a.js +1 -0
- package/assets/esri/core/workers/chunks/f3cae49720312f493b28.js +1 -0
- package/assets/esri/core/workers/chunks/f606350e4d040ad70f4d.js +1 -0
- package/assets/esri/core/workers/chunks/f6cbf69bdd0c51ea09da.js +1 -0
- package/assets/esri/core/workers/chunks/{cc7c7c0865013f7fbcfb.js → f7658dd79ff61c46103d.js} +1 -1
- package/assets/esri/core/workers/chunks/f8b85c0074d4fe4c158e.js +1 -0
- package/assets/esri/core/workers/chunks/f8e188af5608293d5b2b.js +1 -0
- package/assets/esri/core/workers/chunks/fd2992bc93644bdb6d1f.js +1 -0
- package/assets/esri/core/workers/chunks/{c7faa48b222ddd7d8513.js → fd90fe2f23eec0a136fa.js} +1 -1
- package/assets/esri/core/workers/chunks/ff933eafe9f51c45ef1c.js +1 -0
- package/assets/esri/themes/base/widgets/_Features.scss +12 -5
- package/assets/esri/themes/base/widgets/_Search.scss +11 -186
- 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/Search/t9n/Search.json +1 -1
- package/assets/esri/widgets/Search/t9n/Search_en.json +1 -1
- package/chunks/BloomComposition.glsl.js +31 -18
- package/chunks/Bufferer-BhfWVXPl.js +5 -0
- package/chunks/Centroid-DZi-eb9F.js +1 -1
- package/chunks/Clipper-a9xfvRaw.js +1 -1
- package/chunks/CrackAndCluster-CHWFqqYQ.js +5 -0
- package/chunks/Distance2DCalculator-C9BrfErD.js +5 -0
- package/chunks/Envelope2D.js +5 -0
- package/chunks/GeodeticDistanceCalculator-Cnd3ZMKD.js +5 -0
- package/chunks/Geometry.js +1 -1
- package/chunks/GeometryCleaner-DVgW95-D.js +1 -1
- package/chunks/HUDMaterial.glsl.js +42 -41
- package/chunks/Intersector-K1VmdfQW.js +1 -1
- package/chunks/OITBlend.glsl.js +3 -3
- package/chunks/OperatorClip.js +1 -1
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorDensify.js +1 -1
- package/chunks/OperatorDifference.js +1 -1
- package/chunks/OperatorGeneralize.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticDistance.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorIntersection.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingDensify.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +5 -0
- package/chunks/OperatorSimplify.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorUnion.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/Point2D.js +5 -0
- package/chunks/ProjectionTransformation.js +5 -0
- package/chunks/QuadraticBezier.js +1 -1
- package/chunks/SideCalculator2D-Bf4QCxCR.js +1 -1
- package/chunks/Transformation2D.js +1 -1
- package/chunks/containsOperator.js +1 -1
- package/chunks/disjointOperator.js +1 -1
- package/chunks/distanceOperator.js +1 -1
- package/chunks/equalsOperator.js +1 -1
- package/chunks/labelPointOperator.js +5 -0
- package/chunks/languageUtils.js +1 -1
- package/chunks/relateOperator.js +1 -1
- package/core/deprecate.js +1 -1
- package/core/workers/registry.js +1 -1
- package/geometry/operators/containsOperator.js +1 -1
- package/geometry/operators/disjointOperator.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/gx/operatorAffineTransform.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBoundary.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorConvexHull.js +1 -1
- package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
- package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
- package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
- package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
- package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
- package/geometry/operators/gx/operatorIntegrate.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorLocateBetween.js +1 -1
- package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/geometry/operators/gx/operatorProject.js +1 -1
- package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
- package/geometry/operators/gx/operatorShapePreservingProject.js +5 -0
- package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/labelPointOperator.js +1 -1
- package/geometry/operators/locateBetweenOperator.js +1 -1
- package/geometry/operators/projectOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/shapePreservingProjectOperator.js +5 -0
- package/geometry/operators/support/GeographicTransformation.js +5 -0
- package/geometry/operators/support/GeographicTransformationStep.js +5 -0
- package/geometry/operators/support/Transformation.js +1 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/geographicTransformationUtils.js +5 -0
- package/geometry/operators/support/initNoPeFactory.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/support/curveUtils.js +5 -0
- package/geometry/support/densifyUtils.js +5 -0
- package/interfaces.d.ts +425 -603
- package/layers/BaseDynamicLayer.js +1 -1
- package/layers/BaseElevationLayer.js +1 -1
- package/layers/BaseTileLayer.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/CatalogLayer.js +1 -1
- package/layers/ElevationLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/Layer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/VoxelLayer.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/graphics/dehydratedFeatures.js +1 -1
- package/layers/graphics/sources/WFSSourceWorker.js +1 -1
- package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/DisplayFilteredLayer.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/support/DisplayFilter.js +1 -1
- package/layers/support/RasterStorageInfo.js +1 -1
- package/layers/support/displayFilterUtils.js +1 -1
- package/layers/support/rasterDatasets/RawBlockCache.js +1 -1
- package/networks/RulesTable.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/networks/support/typeUtils.js +1 -1
- package/package.json +2 -2
- package/rest/imageService.js +1 -1
- package/rest/support/ImageVolume.js +5 -0
- package/rest/support/ImageVolumeParameters.js +5 -0
- package/rest/support/ImageVolumeResult.js +5 -0
- package/support/revision.js +1 -1
- package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueDebugLayer.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
- package/views/2d/layers/features/Processor.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/2d/layers/features/schema/SourceSchema.js +1 -1
- package/views/2d/layers/graphics/GraphicStore.js +1 -1
- package/views/2d/layers/graphics/GraphicStoreItem.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/graphics/densificationConstants.js +5 -0
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/support/HighlightCounter.js +1 -1
- package/views/2d/support/highlightGroupUtils.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/LabelDeconflictor.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
- package/views/3d/layers/i3s/Highlights.js +1 -1
- package/views/3d/layers/i3s/PointCloudHighlights.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl/RenderCamera.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentData.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/RenderSubmitSystem.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +6 -6
- package/views/View.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/VisibleElements.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/Features/FeaturesVisibleElements.js +1 -1
- package/widgets/Features/css.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Popup/PopupVisibleElements.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Search/css.js +1 -1
- package/widgets/Search.js +1 -1
- package/assets/esri/core/t9n/Units_nb.json +0 -1
- package/assets/esri/core/workers/chunks/011ccfd3acee83e7dc68.js +0 -1
- package/assets/esri/core/workers/chunks/0837a630e12a21fc2e50.js +0 -1
- package/assets/esri/core/workers/chunks/08e28328385066c519c2.js +0 -1
- package/assets/esri/core/workers/chunks/0d32434841779581991f.js +0 -1
- package/assets/esri/core/workers/chunks/0e0ee4cb722f6e183bf6.js +0 -1
- package/assets/esri/core/workers/chunks/16d7c07e1c11b88dae84.js +0 -1
- package/assets/esri/core/workers/chunks/19a3a03153309ab81100.js +0 -1
- package/assets/esri/core/workers/chunks/1c3dbf5941d5a8515f4e.js +0 -1
- package/assets/esri/core/workers/chunks/1d04fe800cb98e4d6bc4.js +0 -1
- package/assets/esri/core/workers/chunks/1d8609ba413e8a172719.js +0 -1
- package/assets/esri/core/workers/chunks/1e71c962e370de2f0039.js +0 -1
- package/assets/esri/core/workers/chunks/2209278697ed1d9232ea.js +0 -1
- package/assets/esri/core/workers/chunks/24a597ae32a2083a50a5.js +0 -1
- package/assets/esri/core/workers/chunks/2586741c359057b3f626.js +0 -1
- package/assets/esri/core/workers/chunks/348d99b0d64df68a0a9a.js +0 -1
- package/assets/esri/core/workers/chunks/369bfd374dad0b177d79.js +0 -1
- package/assets/esri/core/workers/chunks/3ad4953674d35041ca23.js +0 -1
- package/assets/esri/core/workers/chunks/3d3ba09a4057a00f369b.js +0 -1
- package/assets/esri/core/workers/chunks/4b77c8d994498899631a.js +0 -1
- package/assets/esri/core/workers/chunks/4ff41eebb7d5b70e1e93.js +0 -1
- package/assets/esri/core/workers/chunks/5a1eb0d1e25ff5574c43.js +0 -1
- package/assets/esri/core/workers/chunks/5a904647767bbb665ed6.js +0 -1
- package/assets/esri/core/workers/chunks/5dfc88ac446b836a652a.js +0 -1
- package/assets/esri/core/workers/chunks/5ea6f9fa41485e5bdbba.js +0 -1
- package/assets/esri/core/workers/chunks/62f8949a2d9076f3c1ea.js +0 -2
- package/assets/esri/core/workers/chunks/6ed57d01be6bc054c7cd.js +0 -1
- package/assets/esri/core/workers/chunks/7254956381e823219db0.js +0 -1
- package/assets/esri/core/workers/chunks/73bf65507e9b748c8762.js +0 -1
- package/assets/esri/core/workers/chunks/740e6bdb3b76f2ea6d61.js +0 -1
- package/assets/esri/core/workers/chunks/7a10b6907f432f3b8f4f.js +0 -1
- package/assets/esri/core/workers/chunks/7ce1f952f3a809fafb95.js +0 -1
- package/assets/esri/core/workers/chunks/80bbdcddeebf4e7175f4.js +0 -1
- package/assets/esri/core/workers/chunks/85983548e2d412d99b15.js +0 -1
- package/assets/esri/core/workers/chunks/89d7eec47e5b29935d92.js +0 -1
- package/assets/esri/core/workers/chunks/9a501194edef2fe00913.js +0 -1
- package/assets/esri/core/workers/chunks/9f067dc75c04beaca9ad.js +0 -313
- package/assets/esri/core/workers/chunks/9f7e1a653559fe3edd9a.js +0 -1
- package/assets/esri/core/workers/chunks/a07dde7747f04aee97c2.js +0 -1
- package/assets/esri/core/workers/chunks/a1a698b28d28afabc9f6.js +0 -1
- package/assets/esri/core/workers/chunks/a1edd3f68e691ea39594.js +0 -1
- package/assets/esri/core/workers/chunks/a5b8c85e08ebfd67ff36.js +0 -1
- package/assets/esri/core/workers/chunks/a8ec4189ec3b37d5ff74.js +0 -1
- package/assets/esri/core/workers/chunks/acec58a7f23b2cc938ee.js +0 -1
- package/assets/esri/core/workers/chunks/b611f46835edcd6eefcc.js +0 -1
- package/assets/esri/core/workers/chunks/bff74200a0df0950cf08.js +0 -1
- package/assets/esri/core/workers/chunks/c08cb75c3eef6c45f604.js +0 -1
- package/assets/esri/core/workers/chunks/c52872a50a5989121388.js +0 -1
- package/assets/esri/core/workers/chunks/cb94fc9b0f613ad50b3f.js +0 -1
- package/assets/esri/core/workers/chunks/cdfc73029154a729959e.js +0 -1
- package/assets/esri/core/workers/chunks/d74b5dc60f02892d03e7.js +0 -1
- package/assets/esri/core/workers/chunks/e7e26b71f9eb28421936.js +0 -1
- package/assets/esri/core/workers/chunks/eff8fcb6393cd1193cbc.js +0 -1
- package/assets/esri/core/workers/chunks/f7e50a8284d12da21355.js +0 -1
- package/assets/esri/core/workers/chunks/f81e63f79256f70ad1c0.js +0 -1
- package/assets/esri/core/workers/chunks/f8c960df1dabab120c70.js +0 -1
- package/assets/esri/core/workers/chunks/fd95b19f02d8dfef2baf.js +0 -1
- package/assets/esri/core/workers/chunks/fdfe8e0d942b78f08191.js +0 -1
- package/assets/esri/core/workers/chunks/ff21207f46a354786eed.js +0 -1
- package/assets/esri/identity/t9n/identity_nb.json +0 -1
- package/assets/esri/smartMapping/t9n/smartMapping_nb.json +0 -1
- package/assets/esri/t9n/basemaps_nb.json +0 -1
- package/assets/esri/t9n/common_nb.json +0 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nb.json +0 -1
- package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D_nb.json +0 -1
- package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D_nb.json +0 -1
- package/assets/esri/widgets/Attachments/t9n/Attachments_nb.json +0 -1
- package/assets/esri/widgets/Attribution/t9n/Attribution_nb.json +0 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nb.json +0 -1
- package/assets/esri/widgets/BasemapLayerList/t9n/BasemapLayerList_nb.json +0 -1
- package/assets/esri/widgets/BasemapToggle/t9n/BasemapToggle_nb.json +0 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nb.json +0 -1
- package/assets/esri/widgets/Bookmarks/t9n/Bookmarks_nb.json +0 -1
- package/assets/esri/widgets/BuildingExplorer/t9n/BuildingExplorer_nb.json +0 -1
- package/assets/esri/widgets/CatalogLayerList/t9n/CatalogLayerList_nb.json +0 -1
- package/assets/esri/widgets/Compass/t9n/Compass_nb.json +0 -1
- package/assets/esri/widgets/CoordinateConversion/t9n/CoordinateConversion_nb.json +0 -1
- package/assets/esri/widgets/Daylight/t9n/Daylight_nb.json +0 -1
- package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D_nb.json +0 -1
- package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_nb.json +0 -1
- package/assets/esri/widgets/Directions/t9n/Directions_nb.json +0 -1
- package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D_nb.json +0 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +0 -1
- package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_nb.json +0 -1
- package/assets/esri/widgets/Expand/t9n/Expand_nb.json +0 -1
- package/assets/esri/widgets/Feature/t9n/Feature_nb.json +0 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nb.json +0 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nb.json +0 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +0 -1
- package/assets/esri/widgets/Features/t9n/Features_nb.json +0 -1
- package/assets/esri/widgets/FloorFilter/t9n/FloorFilter_nb.json +0 -1
- package/assets/esri/widgets/Fullscreen/t9n/Fullscreen_nb.json +0 -1
- package/assets/esri/widgets/Histogram/t9n/Histogram_nb.json +0 -1
- package/assets/esri/widgets/HistogramRangeSlider/t9n/HistogramRangeSlider_nb.json +0 -1
- package/assets/esri/widgets/Home/t9n/Home_nb.json +0 -1
- package/assets/esri/widgets/LayerList/t9n/LayerList_nb.json +0 -1
- package/assets/esri/widgets/Legend/t9n/Legend_nb.json +0 -1
- package/assets/esri/widgets/LineOfSight/t9n/LineOfSight_nb.json +0 -1
- package/assets/esri/widgets/Locate/t9n/Locate_nb.json +0 -1
- package/assets/esri/widgets/Measurement/t9n/Measurement_nb.json +0 -1
- package/assets/esri/widgets/NavigationToggle/t9n/NavigationToggle_nb.json +0 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nb.json +0 -1
- package/assets/esri/widgets/Popup/t9n/Popup_nb.json +0 -1
- package/assets/esri/widgets/Print/t9n/Print_nb.json +0 -1
- package/assets/esri/widgets/ScaleBar/t9n/ScaleBar_nb.json +0 -1
- package/assets/esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider_nb.json +0 -1
- package/assets/esri/widgets/Search/t9n/Search_nb.json +0 -1
- package/assets/esri/widgets/ShadowCast/t9n/ShadowCast_nb.json +0 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_nb.json +0 -1
- package/assets/esri/widgets/Slice/t9n/Slice_nb.json +0 -1
- package/assets/esri/widgets/Slider/t9n/Slider_nb.json +0 -1
- package/assets/esri/widgets/Swipe/t9n/Swipe_nb.json +0 -1
- package/assets/esri/widgets/TableList/t9n/TableList_nb.json +0 -1
- package/assets/esri/widgets/TimeSlider/t9n/TimeSlider_nb.json +0 -1
- package/assets/esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel_nb.json +0 -1
- package/assets/esri/widgets/Track/t9n/Track_nb.json +0 -1
- package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_nb.json +0 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +0 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nb.json +0 -1
- package/assets/esri/widgets/ValuePicker/t9n/ValuePicker_nb.json +0 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_nb.json +0 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nb.json +0 -1
- package/assets/esri/widgets/Zoom/t9n/Zoom_nb.json +0 -1
- package/assets/esri/widgets/smartMapping/ClassedColorSlider/t9n/ClassedColorSlider_nb.json +0 -1
- package/assets/esri/widgets/smartMapping/ClassedSizeSlider/t9n/ClassedSizeSlider_nb.json +0 -1
- package/assets/esri/widgets/smartMapping/ColorSizeSlider/t9n/ColorSizeSlider_nb.json +0 -1
- package/assets/esri/widgets/smartMapping/ColorSlider/t9n/ColorSlider_nb.json +0 -1
- package/assets/esri/widgets/smartMapping/HeatmapSlider/t9n/HeatmapSlider_nb.json +0 -1
- package/assets/esri/widgets/smartMapping/OpacitySlider/t9n/OpacitySlider_nb.json +0 -1
- package/assets/esri/widgets/smartMapping/SizeSlider/t9n/SizeSlider_nb.json +0 -1
- package/assets/esri/widgets/support/GridControls/t9n/GridControls_nb.json +0 -1
- package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_nb.json +0 -1
- package/assets/esri/widgets/support/SketchTooltipControls/t9n/SketchTooltipControls_nb.json +0 -1
- package/assets/esri/widgets/support/SnappingControls/t9n/SnappingControls_nb.json +0 -1
- package/assets/esri/widgets/support/t9n/ColorPicker_nb.json +0 -1
- package/assets/esri/widgets/support/t9n/SaveLayer_nb.json +0 -1
- package/assets/esri/widgets/support/t9n/timezone_nb.json +0 -1
- package/assets/esri/widgets/support/t9n/uriUtils_nb.json +0 -1
- package/chunks/Bufferer-BiY2mtjI.js +0 -5
- package/chunks/CrackAndCluster-CfzXpEle.js +0 -5
- package/chunks/Distance2DCalculator-eS0piaux.js +0 -5
- package/chunks/GeodeticDistanceCalculator-bNilDneE.js +0 -5
- package/chunks/OperatorProject.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../sources/Empty.js";import{FeatureSetError as
|
|
5
|
+
import{shapeExtent as e}from"../../kernel.js";import t from"../sources/Empty.js";import{FeatureSetError as i,FeatureSetErrorCodes as r}from"../support/errorsupport.js";import n from"../support/FeatureSet.js";import a from"../support/IdSet.js";import{IdState as s}from"../support/shared.js";import{invokeRemoteGeometryOp as o}from"../../geometry/operatorsWorkerConnection.js";class l extends n{constructor(e){super(e),this._relation="",this._relationString="",this.declaredClass="esri.arcade.featureset.actions.SpatialFilter",this._relationString=e.relationString,this._parent=e.parentfeatureset,this._maxProcessing=40,this._relation=e.relation,this._relationGeom=e.relationGeom}async _getSet(e){if(null===this._wset){await this._ensureLoaded();const t=await this._parent._getFilteredSet("esriSpatialRelRelation"!==this._relation?this._relation:this._relation+":"+this._relationString,this._relationGeom,null,null,e);return this._checkCancelled(e),this._wset=new a(t._candidates.slice(),t._known.slice(),t._ordered,this._clonePageDefinition(t.pagesDefinition)),this._wset}return this._wset}_isInFeatureSet(e){let t=this._parent._isInFeatureSet(e);return t===s.NotInFeatureSet?t:(t=this._idstates[e],void 0===t?s.Unknown:t)}_getFeature(e,t,i){return this._parent._getFeature(e,t,i)}_getFeatures(e,t,i,r){return this._parent._getFeatures(e,t,i,r)}_featureFromCache(e){return this._parent._featureFromCache(e)}async executeSpatialRelationTest(t){if(null==t.geometry)return!1;switch(this._relation){case"esriSpatialRelEnvelopeIntersects":{const i=e(this._relationGeom),r=e(t.geometry);return null!=i&&null!=r&&o("intersects",[i.toJSON(),r.toJSON()])}case"esriSpatialRelIntersects":return o("intersects",[this._relationGeom.toJSON(),t.geometry.toJSON()]);case"esriSpatialRelContains":return o("contains",[this._relationGeom.toJSON(),t.geometry.toJSON()]);case"esriSpatialRelOverlaps":return o("overlaps",[this._relationGeom.toJSON(),t.geometry.toJSON()]);case"esriSpatialRelWithin":return o("within",[this._relationGeom.toJSON(),t.geometry.toJSON()]);case"esriSpatialRelTouches":return o("touches",[this._relationGeom.toJSON(),t.geometry.toJSON()]);case"esriSpatialRelCrosses":return o("crosses",[this._relationGeom.toJSON(),t.geometry.toJSON()]);case"esriSpatialRelRelation":return o("relate",[this._relationGeom.toJSON(),t.geometry.toJSON(),this._relationString??""])}}async _fetchAndRefineFeatures(e,t,i){const r=new a([],e,!1,null),n=Math.min(t,e.length);await(this._parent?._getFeatures(r,-1,n,i)),this._checkCancelled(i);const o=[];for(let a=0;a<n;a++){const t=this._parent._featureFromCache(e[a]);o.push(await this.executeSpatialRelationTest(t))}for(let a=0;a<t;a++)!0===o[a]?this._idstates[e[a]]=s.InFeatureSet:this._idstates[e[a]]=s.NotInFeatureSet;return"success"}async _getFilteredSet(e,t,i,r,n){await this._ensureLoaded();const s=await this._parent._getFilteredSet("esriSpatialRelRelation"!==this._relation?this._relation:this._relation+":"+this._relationString,this._relationGeom,i,r,n);let o;return this._checkCancelled(n),o=null!==t?new a(s._candidates.slice().concat(s._known.slice()),[],s._ordered,this._clonePageDefinition(s.pagesDefinition)):new a(s._candidates.slice(),s._known.slice(),s._ordered,this._clonePageDefinition(s.pagesDefinition)),o}async _stat(e,t,i,r,n,a,s){if(""!==i)return{calculated:!1};const o=await this._parent._stat(e,t,"esriSpatialRelRelation"!==this._relation?this._relation:this._relation+":"+this._relationString,this._relationGeom,n,a,s);return!1===o.calculated?null===n&&""===i&&null===r?this._manualStat(e,t,a,s):{calculated:!1}:o}async _canDoAggregates(e,t,i,r,n){return""===i&&null===r&&(null!==this._parent&&this._parent._canDoAggregates(e,t,"esriSpatialRelRelation"!==this._relation?this._relation:this._relation+":"+this._relationString,this._relationGeom,n))}async _getAggregatePagesDataSourceDefinition(e,t,n,a,s,o,l){if(null===this._parent)throw new i(r.NeverReach);return this._parent._getAggregatePagesDataSourceDefinition(e,t,"esriSpatialRelRelation"!==this._relation?this._relation:this._relation+":"+this._relationString,this._relationGeom,s,o,l)}static registerAction(){n._featuresetFunctions.intersects=function(e){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelIntersects",relationGeom:e})},n._featuresetFunctions.envelopeIntersects=function(e){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelEnvelopeIntersects",relationGeom:e})},n._featuresetFunctions.contains=function(e){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelContains",relationGeom:e})},n._featuresetFunctions.overlaps=function(e){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelOverlaps",relationGeom:e})},n._featuresetFunctions.within=function(e){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelWithin",relationGeom:e})},n._featuresetFunctions.touches=function(e){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelTouches",relationGeom:e})},n._featuresetFunctions.crosses=function(e){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelCrosses",relationGeom:e})},n._featuresetFunctions.relate=function(e,i){return null==e?new t({parentfeatureset:this}):new l({parentfeatureset:this,relation:"esriSpatialRelRelation",relationGeom:e,relationString:i})}}getFieldsIndex(){return this._parent.getFieldsIndex()}}export{l 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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./cache.js";import{FeatureSetError as t,FeatureSetErrorCodes as n}from"./errorsupport.js";import s from"./FeatureSetIterator.js";import i from"./IdSet.js";import{FeatureServiceDatabaseType as a,layerGeometryEsriConstants as r,IdState as l,convertSquareUnitsToCode as u,convertLinearUnitsToCode as h,esriFieldToJson as o,layerGeometryEsriRestConstants as c}from"./shared.js";import{max as d,min as f,sum as _,variance as p,stdev as m,mean as g,distinct as y,count as F}from"./stats.js";import{isPromiseLike as I}from"../../../core/promiseUtils.js";import T from"../../../core/sql/WhereClause.js";import{union as b,geodesicArea as w,planarArea as S,geodesicLength as D,planarLength as x}from"../../../geometry/geometryEngineAsync.js";import P from"../../../geometry/SpatialReference.js";import k from"../../../layers/support/FieldsIndex.js";class C{constructor(e){this.recentlyUsedQueries=null,this.featureSetQueryInterceptor=null,this._idstates=[],this._parent=null,this._wset=null,this._mainSetInUse=null,this._maxProcessing=200,this._maxQuery=500,this._totalCount=-1,this._databaseType=a.NotEvaluated,this._databaseTypeProbed=null,this.declaredRootClass="esri.arcade.featureset.support.FeatureSet",this._featureCache=Object.create(null),this.typeIdField=null,this.types=null,this.subtypeField=null,this.subtypes=null,this.fields=null,this.geometryType="",this.objectIdField="",this.globalIdField="",this.spatialReference=null,this.hasM=!1,this.hasZ=!1,this._transparent=!1,this.loaded=!1,this._loadPromise=null,this._fieldsIndex=null,this.fsetInfo=null,e?.lrucache&&(this.recentlyUsedQueries=e.lrucache),e?.interceptor&&(this.featureSetQueryInterceptor=e.interceptor)}optimisePagingFeatureQueries(e){this._parent&&this._parent.optimisePagingFeatureQueries(e)}_hasMemorySource(){return!0}prop(e,t){return void 0===t?this[e]:(void 0!==this[e]&&(this[e]=t),this)}end(){return null!==this._parent&&!0===this._parent._transparent?this._parent.end():this._parent}_ensureLoaded(){return this.load()}load(){return null===this._loadPromise&&(this._loadPromise=this.loadImpl()),this._loadPromise}async loadImpl(){return!0===this._parent?.loaded?(this._initialiseFeatureSet(),this):(await(this._parent?.load()),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){null!==this._parent?(this.fields=this._parent.fields.slice(),this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types,this.subtypeField=this._parent.subtypeField,this.subtypes=this._parent.subtypes):(this.fields=[],this.typeIdField="",this.subtypeField="",this.objectIdField="",this.globalIdField="",this.spatialReference=new P({wkid:4326}),this.geometryType=r.point)}getField(e,t){let n;return(t=t||this.fields)&&(e=e.toLowerCase(),t.some((t=>(t&&t.name.toLowerCase()===e&&(n=t),!!n)))),n}getFieldsIndex(){return null===this._fieldsIndex&&(this._fieldsIndex=k.fromLayer({timeInfo:this.timeInfo,editFieldsInfo:this.editFieldsInfo,dateFieldsTimeZone:this.dateFieldsTimeZone,datesInUnknownTimezone:this.datesInUnknownTimezone,fields:this.fields})),this._fieldsIndex}_maxProcessingRate(){return null!==this._parent?Math.min(this._maxProcessing,this._parent._maxProcessingRate()):Math.min(this._maxProcessing,this._maxQueryRate())}_maxQueryRate(){return null!==this._parent?Math.max(this._maxQuery,this._parent._maxQueryRate()):this._maxQuery}_checkCancelled(e){if(null!=e&&e.aborted)throw new t(n.Cancelled)}nativeCapabilities(){return this._parent.nativeCapabilities()}async _canDoAggregates(e,t,n,s,i){return null!==this._parent&&this._parent._canDoAggregates(e,t,n,s,i)}async _getAggregatePagesDataSourceDefinition(e,s,i,a,r,l,u){if(null===this._parent)throw new t(n.NeverReach);return this._parent._getAggregatePagesDataSourceDefinition(e,s,i,a,r,l,u)}async _getAgregagtePhysicalPage(e,s,i){if(null===this._parent)throw new t(n.NeverReach);return this._parent._getAgregagtePhysicalPage(e,s,i)}async databaseType(){if(this._databaseType===a.NotEvaluated){if(null!==e.applicationCache){const t=e.applicationCache.getDatabaseType(this._cacheableFeatureSetSourceKey());if(null!==t)return t}if(null!==this._databaseTypeProbed)return this._databaseTypeProbed;try{this._databaseTypeProbed=this._getDatabaseTypeImpl(),null!==e.applicationCache&&e.applicationCache.setDatabaseType(this._cacheableFeatureSetSourceKey(),this._databaseTypeProbed)}catch(t){throw null!==e.applicationCache&&e.applicationCache.clearDatabaseType(this._cacheableFeatureSetSourceKey()),t}return this._databaseTypeProbed}return this._databaseType}async _getDatabaseTypeImpl(){const e=[{thetype:a.SqlServer,testwhere:"(CAST( '2015-01-01' as DATETIME) = CAST( '2015-01-01' as DATETIME)) AND OBJECTID<0"},{thetype:a.Oracle,testwhere:"(TO_DATE('2003-11-18','YYYY-MM-DD') = TO_DATE('2003-11-18','YYYY-MM-DD')) AND OBJECTID<0"},{thetype:a.StandardisedNoInterval,testwhere:"(date '2015-01-01 10:10:10' = date '2015-01-01 10:10:10') AND OBJECTID<0"}];for(const t of e){if(!0===await this._runDatabaseProbe(t.testwhere))return t.thetype}return a.StandardisedNoInterval}_cacheableFeatureSetSourceKey(){return"MUSTBESET"}async _runDatabaseProbe(e){if(null!==this._parent)return this._parent._runDatabaseProbe(e);throw new t(n.NotImplemented)}isTable(){return this._parent?.isTable()??!1}_featureFromCache(e){if(void 0!==this._featureCache[e])return this._featureCache[e]}_isInFeatureSet(e){return l.Unknown}_getSet(e){throw new t(n.NotImplemented)}async _getFeature(e,s,i){if(this._checkCancelled(i),void 0!==this._featureFromCache(s))return this._featureFromCache(s);if(await this._getFeatures(e,s,this._maxProcessingRate(),i),this._checkCancelled(i),void 0!==this._featureFromCache(s))return this._featureFromCache(s);throw new t(n.MissingFeatures)}async _getFeatureBatch(e,t){this._checkCancelled(t);const n=new i([],e,!1,null),s=[];await this._getFeatures(n,-1,e.length,t),this._checkCancelled(t);for(const i of e)void 0!==this._featureFromCache(i)&&s.push(this._featureFromCache(i));return s}async _getFeatures(e,t,n,s){return"success"}_getFilteredSet(e,s,i,a,r){throw new t(n.NotImplemented)}async _refineSetBlock(e,t,n){if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQueryRate()))return await this._expandPagedSet(e,this._maxQueryRate(),0,0,n),this._refineSetBlock(e,t,n);this._checkCancelled(n);const s=e._candidates.length;this._refineKnowns(e,t);let i=s-e._candidates.length;if(0===e._candidates.length)return e;if(i>=t)return e;if(await this._refineIfParentKnown(e,t-i,n),this._checkCancelled(n),this._refineKnowns(e,t-i),i=s-e._candidates.length,i<t&&e._candidates.length>0){const s=t-i,a=this._prepareFetchAndRefineSet(e._candidates);return await this._fetchAndRefineFeatures(a,a.length>s?s:e._candidates.length,n),this._checkCancelled(n),this._refineKnowns(e,t-i),e}return e}_fetchAndRefineFeatures(e,t,n){return null}_prepareFetchAndRefineSet(e){const t=[];for(let n=0;n<e.length;n++)this._isPhysicalFeature(e[n])&&t.push(e[n]);return t}_isPhysicalFeature(e){return null===this._parent||this._parent._isPhysicalFeature(e)}_refineKnowns(e,t){let n=0,s=null;const i=[];t=this._maxQueryRate();for(let a=0;a<e._candidates.length&&"GETPAGES"!==e._candidates[a];a++){let r=!1;const u=this._candidateIdTransform(e._candidates[a]);u!==e._candidates[a]&&(r=!0);const h=this._isInFeatureSet(u);if(h===l.InFeatureSet)!0===r?e._known.includes(u)||(e._known.push(u),n+=1):(e._known.push(e._candidates[a]),n+=1),null===s?s={start:a,end:a}:s.end===a-1?s.end=a:(i.push(s),s={start:a,end:a});else if(h===l.NotInFeatureSet)null===s?s={start:a,end:a}:s.end===a-1?s.end=a:(i.push(s),s={start:a,end:a}),n+=1;else if(h===l.Unknown&&(n+=1,!0===e._ordered))break;if(n>=t)break}null!==s&&i.push(s);for(let a=i.length-1;a>=0;a--)e._candidates.splice(i[a].start,i[a].end-i[a].start+1)}_refineIfParentKnown(e,t,n){const s=new i([],[],e._ordered,null);return s._candidates=e._candidates.slice(),this._parent._refineSetBlock(s,t,n)}_candidateIdTransform(e){return this._parent._candidateIdTransform(e)}_checkIfNeedToExpandKnownPage(e,t){if(null===e.pagesDefinition)return!1;let n=0;for(let s=e._lastFetchedIndex;s<e._known.length;s++){if("GETPAGES"===e._known[s])return!0;if(void 0===this._featureCache[e._known[s]]&&(n+=1,n>=t))break}return!1}_checkIfNeedToExpandCandidatePage(e,t){if(null===e.pagesDefinition)return!1;let n=0;for(let s=0;s<e._candidates.length;s++){if("GETPAGES"===e._candidates[s])return!0;if(n+=1,n>=t)break}return!1}async _expandPagedSet(e,s,i,a,r){if(null===this._parent)throw new t(n.NotImplemented);return this._parent._expandPagedSet(e,s,i,a,r)}async _expandPagedSetFeatureSet(e,t,n,s,i){if(e._known.length>0&&"GETPAGES"===e._known[e._known.length-1]&&(s=1),0===s&&e._candidates.length>0&&"GETPAGES"===e._candidates[e._candidates.length-1]&&(s=2),0===s)return"finished";const a=await this._getPage(e,s,i);return n+a<t?this._expandPagedSet(e,t,n+a,0,i):"success"}async _getPage(e,t,n){const s=1===t?e._known:e._candidates;if(e.pagesDefinition.internal.set.length>e.pagesDefinition.resultOffset||!0===e.pagesDefinition.internal.fullyResolved){s.length=s.length-1;let t=0;for(let i=0;i<e.pagesDefinition.resultRecordCount&&!(e.pagesDefinition.resultOffset+i>=e.pagesDefinition.internal.set.length);i++)s[s.length]=e.pagesDefinition.internal.set[e.pagesDefinition.resultOffset+i],t++;e.pagesDefinition.resultOffset+=t;let n=!1;return!0===e.pagesDefinition.internal.fullyResolved&&e.pagesDefinition.internal.set.length<=e.pagesDefinition.resultOffset&&(n=!0),!1===n&&s.push("GETPAGES"),t}return await this._getPhysicalPage(e,t,n),this._getPage(e,t,n)}_getPhysicalPage(e,t,n){return null}_clonePageDefinition(e){return null===this._parent?null:this._parent._clonePageDefinition(e)}_first(e){return this.iterator(e).next()}first(e){return this._first(e)}async calculateStatistic(e,t,n,s){await this._ensureLoaded();let i=await this._stat(e,t,"",null,null,n,s);return!1===i.calculated&&(i=await this._manualStat(e,t,n,s)),i.result}async _manualStat(e,t,n,s){let i=null;switch(e.toLowerCase()){case"count":return i=await F(this,s),{calculated:!0,result:i};case"distinct":return i=await y(this,t,n,s),{calculated:!0,result:i};case"avg":case"mean":return i=await g(this,t,s),{calculated:!0,result:i};case"stdev":return i=await m(this,t,s),{calculated:!0,result:i};case"variance":return i=await p(this,t,s),{calculated:!0,result:i};case"sum":return i=await _(this,t,s),{calculated:!0,result:i};case"min":return i=await f(this,t,s),{calculated:!0,result:i};case"max":return i=await d(this,t,s),{calculated:!0,result:i};default:return{calculated:!0,result:0}}}async _stat(e,t,n,s,i,a,r){const l=await this._parent._stat(e,t,n,s,i,a,r);return!1===l.calculated?null===i&&""===n&&null===s?this._manualStat(e,t,a,r):{calculated:!1}:l}_unionAllGeomSelf(e){const t=this.iterator(this._defaultTracker(e)),n=[];return new Promise(((e,s)=>{this._unionShapeInBatches(n,t,e,s)}))}_unionAllGeom(e){return new Promise(((t,n)=>{const s=this.iterator(this._defaultTracker(e)),i=[];this._unionShapeInBatches(i,s,t,n)}))}_unionShapeInBatches(e,t,n,s){t.next().then((i=>{try{null!==i&&null!==i.geometry&&e.push(i.geometry),e.length>30||null===i&&e.length>1?b(e).then((a=>{try{null===i?n(a):(e=[a],this._unionShapeInBatches(e,t,n,s))}catch(r){s(r)}}),s):null===i?1===e.length?n(e[0]):n(null):this._unionShapeInBatches(e,t,n,s)}catch(a){s(a)}}),s)}iterator(e){return new s(this,e)}intersection(e,t=!1){return C._featuresetFunctions.intersection.bind(this)(e,t)}difference(e,t=!1,n=!0){return C._featuresetFunctions.difference.bind(this)(e,t,n)}symmetricDifference(e,t=!1,n=!0){return C._featuresetFunctions.symmetricDifference.bind(this)(e,t,n)}morphShape(e,t,n="unknown",s=null){return C._featuresetFunctions.morphShape.bind(this)(e,t,n,s)}morphShapeAndAttributes(e,t,n="unknown"){return C._featuresetFunctions.morphShapeAndAttributes.bind(this)(e,t,n)}union(e,t=!1){return C._featuresetFunctions.union.bind(this)(e,t)}intersects(e){return C._featuresetFunctions.intersects.bind(this)(e)}envelopeIntersects(e){return C._featuresetFunctions.envelopeIntersects.bind(this)(e)}contains(e){return C._featuresetFunctions.contains.bind(this)(e)}overlaps(e){return C._featuresetFunctions.overlaps.bind(this)(e)}relate(e,t){return C._featuresetFunctions.relate.bind(this)(e,t)}within(e){return C._featuresetFunctions.within.bind(this)(e)}touches(e){return C._featuresetFunctions.touches.bind(this)(e)}top(e){return C._featuresetFunctions.top.bind(this)(e)}crosses(e){return C._featuresetFunctions.crosses.bind(this)(e)}buffer(e,t,n,s=!0){return C._featuresetFunctions.buffer.bind(this)(e,t,n,s)}filter(e,t=null){return C._featuresetFunctions.filter.bind(this)(e,t)}orderBy(e){return C._featuresetFunctions.orderBy.bind(this)(e)}dissolve(e,t){return C._featuresetFunctions.dissolve.bind(this)(e,t)}groupby(e,t){return C._featuresetFunctions.groupby.bind(this)(e,t)}reduce(e,t=null,n){return new Promise(((s,i)=>{this._reduceImpl(this.iterator(this._defaultTracker(n)),e,t,0,s,i,0)}))}_reduceImpl(e,t,n,s,i,a,r){try{if(++r>1e3)return void setTimeout((()=>{r=0,this._reduceImpl(e,t,n,s,i,a,r)}));e.next().then((l=>{try{if(null===l)i(n);else{const u=t(n,l,s,this);I(u)?u.then((n=>{this._reduceImpl(e,t,n,s+1,i,a,r)}),a):this._reduceImpl(e,t,u,s+1,i,a,r)}}catch(u){a(u)}}),a)}catch(l){a(l)}}removeField(e){return C._featuresetFunctions.removeField.bind(this)(e)}addField(e,t,n=null){return C._featuresetFunctions.addField.bind(this)(e,t,n)}sumArea(e,t=!1,n){const s=u(e);return this.reduce(((e,n)=>null===n.geometry?0:t?w(n.geometry,s).then((t=>e+t)):S(n.geometry,s).then((t=>e+t))),0,n)}sumLength(e,t=!1,n){const s=h(e);return this.reduce(((e,n)=>null===n.geometry?0:t?D(n.geometry,s).then((t=>e+t)):x(n.geometry,s).then((t=>e+t))),0,n)}async distinct(e,t=1e3,n=null,s){await this.load();const i=T.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return v(i,n),this.calculateStatistic("distinct",i,t,this._defaultTracker(s))}async min(e,t=null,n){await this.load();const s=T.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return v(s,t),this.calculateStatistic("min",s,-1,this._defaultTracker(n))}async max(e,t=null,n){await this.load();const s=T.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return v(s,t),this.calculateStatistic("max",s,-1,this._defaultTracker(n))}async avg(e,t=null,n){await this.load();const s=T.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return v(s,t),this.calculateStatistic("avg",s,-1,this._defaultTracker(n))}async sum(e,t=null,n){await this.load();const s=T.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return v(s,t),this.calculateStatistic("sum",s,-1,this._defaultTracker(n))}async stdev(e,t=null,n){await this.load();const s=T.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return v(s,t),this.calculateStatistic("stdev",s,-1,this._defaultTracker(n))}async variance(e,t=null,n){await this.load();const s=T.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return v(s,t),this.calculateStatistic("variance",s,-1,this._defaultTracker(n))}async count(e){return await this.load(),this.calculateStatistic("count",T.create("1",{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC}),-1,this._defaultTracker(e))}_defaultTracker(e){return e??{aborted:!1}}forEach(e,t){return new Promise(((n,s)=>{this._forEachImpl(this.iterator(this._defaultTracker(t)),e,this,n,s,0)}))}_forEachImpl(e,t,n,s,i,a){try{if(++a>1e3)return void setTimeout((()=>{a=0,this._forEachImpl(e,t,n,s,i,a)}),0);e.next().then((r=>{try{if(null===r)s(n);else{const l=t(r);null==l?this._forEachImpl(e,t,n,s,i,a):I(l)?l.then((()=>{try{this._forEachImpl(e,t,n,s,i,a)}catch(r){i(r)}}),i):this._forEachImpl(e,t,n,s,i,a)}}catch(l){i(l)}}),i)}catch(r){i(r)}}convertToJSON(e){const t={layerDefinition:{geometryType:this.geometryType,fields:[]},featureSet:{features:[],geometryType:this.geometryType}};for(let n=0;n<this.fields.length;n++)t.layerDefinition.fields.push(o(this.fields[n]));return this.reduce(((e,n)=>{const s={geometry:n.geometry?.toJSON(),attributes:{}};for(const t in n.attributes)s.attributes[t]=n.attributes[t];return t.featureSet.features.push(s),1}),0,e).then((()=>t))}castToText(e=!1){return"object, FeatureSet"}queryAttachments(e,t,n,s,i){return this._parent.queryAttachments(e,t,n,s,i)}serviceUrl(){return this._parent.serviceUrl()}subtypeMetaData(){return this.subtypeField&&this.subtypes?{subtypeField:this.subtypeField,subtypes:this.subtypes?this.subtypes.map((e=>({name:e.name,code:e.code}))):[]}:this.typeIdField?{subtypeField:this.typeIdField,subtypes:this.types?this.types.map((e=>({name:e.name,code:e.id}))):[]}:null}relationshipMetaData(){return this._parent.relationshipMetaData()}get gdbVersion(){return this._parent?this._parent.gdbVersion:""}schema(){const e=[];for(const t of this.fields)e.push(o(t));return{objectIdField:this.objectIdField,globalIdField:this.globalIdField,geometryType:void 0===c[this.geometryType]?"esriGeometryNull":c[this.geometryType],fields:e}}async convertToText(e,t){if("schema"===e)return await this._ensureLoaded(),JSON.stringify(this.schema());if("featureset"===e){await this._ensureLoaded();const e=[];await this.reduce(((t,n)=>{const s={geometry:n.geometry?n.geometry.toJSON():null,attributes:n.attributes};return null!==s.geometry&&s.geometry.spatialReference&&delete s.geometry.spatialReference,e.push(s),1}),0,t);const n=this.schema();return n.features=e,n.spatialReference=this.spatialReference.toJSON(),JSON.stringify(n)}return this.castToText()}getFeatureByObjectId(e,t){return this._parent.getFeatureByObjectId(e,t)}getOwningSystemUrl(){return this._parent.getOwningSystemUrl()}getIdentityUser(){return this._parent.getIdentityUser()}getRootFeatureSet(){return null!==this._parent?this._parent.getRootFeatureSet():this}getDataSourceFeatureSet(){return null!==this._parent?this._parent.getDataSourceFeatureSet():this}castAsJson(e=null){return"keeptype"===e?.featureset?this:"none"===e?.featureset?null:{type:"FeatureSet"}}async castAsJsonAsync(e=null,t=null){if("keeptype"===t?.featureset)return this;if("schema"===t?.featureset)return await this._ensureLoaded(),JSON.parse(JSON.stringify(this.schema()));if("none"===t?.featureset)return null;await this._ensureLoaded();const n=[];await this.reduce(((e,s)=>{const i={geometry:s.geometry?!0===t?.keepGeometryType?s.geometry:s.geometry.toJSON():null,attributes:s.attributes};return null!==i.geometry&&i.geometry.spatialReference&&!0!==t?.keepGeometryType&&delete i.geometry.spatialReference,n.push(i),1}),0,e);const s=this.schema();return s.features=n,s.spatialReference=!0===t?.keepGeometryType?this.spatialReference:this.spatialReference?.toJSON(),s}fieldTimeZone(e){return this.getFieldsIndex().getTimeZone(e)}get preferredTimeZone(){return this._parent?.preferredTimeZone??null}get dateFieldsTimeZone(){return this._parent?.dateFieldsTimeZone??null}get dateFieldsTimeZoneDefaultUTC(){if(this.datesInUnknownTimezone)return"unknown";const e=this.dateFieldsTimeZone??"UTC";return""===e?"UTC":e}get datesInUnknownTimezone(){return this._parent.datesInUnknownTimezone}get editFieldsInfo(){return this._parent?.editFieldsInfo??null}get timeInfo(){return this._parent?.timeInfo??null}set featureSetInfo(e){this.fsetInfo=e}async getFeatureSetInfo(){return this.fsetInfo??await(this._parent?.getFeatureSetInfo())??null}}function v(e,t){if(null!==t){const n={};for(const e in t)n[e.toLowerCase()]=t[e];e.parameters=n}}C._featuresetFunctions={};export{C as default};
|
|
5
|
+
import e from"./cache.js";import{FeatureSetError as t,FeatureSetErrorCodes as n}from"./errorsupport.js";import s from"./FeatureSetIterator.js";import i from"./IdSet.js";import{FeatureServiceDatabaseType as a,layerGeometryEsriConstants as r,IdState as l,esriFieldToJson as u,layerGeometryEsriRestConstants as h}from"./shared.js";import{max as o,min as c,sum as d,variance as f,stdev as _,mean as p,distinct as m,count as g}from"./stats.js";import{invokeRemoteGeometryOp as y}from"../../geometry/operatorsWorkerConnection.js";import{isPromiseLike as F}from"../../../core/promiseUtils.js";import I from"../../../core/sql/WhereClause.js";import T from"../../../geometry/SpatialReference.js";import{fromJSON as b}from"../../../geometry/support/jsonUtils.js";import w from"../../../layers/support/FieldsIndex.js";class S{constructor(e){this.recentlyUsedQueries=null,this.featureSetQueryInterceptor=null,this._idstates=[],this._parent=null,this._wset=null,this._mainSetInUse=null,this._maxProcessing=200,this._maxQuery=500,this._totalCount=-1,this._databaseType=a.NotEvaluated,this._databaseTypeProbed=null,this.declaredRootClass="esri.arcade.featureset.support.FeatureSet",this._featureCache=Object.create(null),this.typeIdField=null,this.types=null,this.subtypeField=null,this.subtypes=null,this.fields=null,this.geometryType="",this.objectIdField="",this.globalIdField="",this.spatialReference=null,this.hasM=!1,this.hasZ=!1,this._transparent=!1,this.loaded=!1,this._loadPromise=null,this._fieldsIndex=null,this.fsetInfo=null,e?.lrucache&&(this.recentlyUsedQueries=e.lrucache),e?.interceptor&&(this.featureSetQueryInterceptor=e.interceptor)}optimisePagingFeatureQueries(e){this._parent&&this._parent.optimisePagingFeatureQueries(e)}_hasMemorySource(){return!0}prop(e,t){return void 0===t?this[e]:(void 0!==this[e]&&(this[e]=t),this)}end(){return null!==this._parent&&!0===this._parent._transparent?this._parent.end():this._parent}_ensureLoaded(){return this.load()}load(){return null===this._loadPromise&&(this._loadPromise=this.loadImpl()),this._loadPromise}async loadImpl(){return!0===this._parent?.loaded?(this._initialiseFeatureSet(),this):(await(this._parent?.load()),this._initialiseFeatureSet(),this)}_initialiseFeatureSet(){null!==this._parent?(this.fields=this._parent.fields.slice(),this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types,this.subtypeField=this._parent.subtypeField,this.subtypes=this._parent.subtypes):(this.fields=[],this.typeIdField="",this.subtypeField="",this.objectIdField="",this.globalIdField="",this.spatialReference=new T({wkid:4326}),this.geometryType=r.point)}getField(e,t){let n;return(t=t||this.fields)&&(e=e.toLowerCase(),t.some((t=>(t&&t.name.toLowerCase()===e&&(n=t),!!n)))),n}getFieldsIndex(){return null===this._fieldsIndex&&(this._fieldsIndex=w.fromLayer({timeInfo:this.timeInfo,editFieldsInfo:this.editFieldsInfo,dateFieldsTimeZone:this.dateFieldsTimeZone,datesInUnknownTimezone:this.datesInUnknownTimezone,fields:this.fields})),this._fieldsIndex}_maxProcessingRate(){return null!==this._parent?Math.min(this._maxProcessing,this._parent._maxProcessingRate()):Math.min(this._maxProcessing,this._maxQueryRate())}_maxQueryRate(){return null!==this._parent?Math.max(this._maxQuery,this._parent._maxQueryRate()):this._maxQuery}_checkCancelled(e){if(null!=e&&e.aborted)throw new t(n.Cancelled)}nativeCapabilities(){return this._parent.nativeCapabilities()}async _canDoAggregates(e,t,n,s,i){return null!==this._parent&&this._parent._canDoAggregates(e,t,n,s,i)}async _getAggregatePagesDataSourceDefinition(e,s,i,a,r,l,u){if(null===this._parent)throw new t(n.NeverReach);return this._parent._getAggregatePagesDataSourceDefinition(e,s,i,a,r,l,u)}async _getAgregagtePhysicalPage(e,s,i){if(null===this._parent)throw new t(n.NeverReach);return this._parent._getAgregagtePhysicalPage(e,s,i)}async databaseType(){if(this._databaseType===a.NotEvaluated){if(null!==e.applicationCache){const t=e.applicationCache.getDatabaseType(this._cacheableFeatureSetSourceKey());if(null!==t)return t}if(null!==this._databaseTypeProbed)return this._databaseTypeProbed;try{this._databaseTypeProbed=this._getDatabaseTypeImpl(),null!==e.applicationCache&&e.applicationCache.setDatabaseType(this._cacheableFeatureSetSourceKey(),this._databaseTypeProbed)}catch(t){throw null!==e.applicationCache&&e.applicationCache.clearDatabaseType(this._cacheableFeatureSetSourceKey()),t}return this._databaseTypeProbed}return this._databaseType}async _getDatabaseTypeImpl(){const e=[{thetype:a.SqlServer,testwhere:"(CAST( '2015-01-01' as DATETIME) = CAST( '2015-01-01' as DATETIME)) AND OBJECTID<0"},{thetype:a.Oracle,testwhere:"(TO_DATE('2003-11-18','YYYY-MM-DD') = TO_DATE('2003-11-18','YYYY-MM-DD')) AND OBJECTID<0"},{thetype:a.StandardisedNoInterval,testwhere:"(date '2015-01-01 10:10:10' = date '2015-01-01 10:10:10') AND OBJECTID<0"}];for(const t of e){if(!0===await this._runDatabaseProbe(t.testwhere))return t.thetype}return a.StandardisedNoInterval}_cacheableFeatureSetSourceKey(){return"MUSTBESET"}async _runDatabaseProbe(e){if(null!==this._parent)return this._parent._runDatabaseProbe(e);throw new t(n.NotImplemented)}isTable(){return this._parent?.isTable()??!1}_featureFromCache(e){if(void 0!==this._featureCache[e])return this._featureCache[e]}_isInFeatureSet(e){return l.Unknown}_getSet(e){throw new t(n.NotImplemented)}async _getFeature(e,s,i){if(this._checkCancelled(i),void 0!==this._featureFromCache(s))return this._featureFromCache(s);if(await this._getFeatures(e,s,this._maxProcessingRate(),i),this._checkCancelled(i),void 0!==this._featureFromCache(s))return this._featureFromCache(s);throw new t(n.MissingFeatures)}async _getFeatureBatch(e,t){this._checkCancelled(t);const n=new i([],e,!1,null),s=[];await this._getFeatures(n,-1,e.length,t),this._checkCancelled(t);for(const i of e)void 0!==this._featureFromCache(i)&&s.push(this._featureFromCache(i));return s}async _getFeatures(e,t,n,s){return"success"}_getFilteredSet(e,s,i,a,r){throw new t(n.NotImplemented)}async _refineSetBlock(e,t,n){if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQueryRate()))return await this._expandPagedSet(e,this._maxQueryRate(),0,0,n),this._refineSetBlock(e,t,n);this._checkCancelled(n);const s=e._candidates.length;this._refineKnowns(e,t);let i=s-e._candidates.length;if(0===e._candidates.length)return e;if(i>=t)return e;if(await this._refineIfParentKnown(e,t-i,n),this._checkCancelled(n),this._refineKnowns(e,t-i),i=s-e._candidates.length,i<t&&e._candidates.length>0){const s=t-i,a=this._prepareFetchAndRefineSet(e._candidates);return await this._fetchAndRefineFeatures(a,a.length>s?s:e._candidates.length,n),this._checkCancelled(n),this._refineKnowns(e,t-i),e}return e}_fetchAndRefineFeatures(e,t,n){return null}_prepareFetchAndRefineSet(e){const t=[];for(let n=0;n<e.length;n++)this._isPhysicalFeature(e[n])&&t.push(e[n]);return t}_isPhysicalFeature(e){return null===this._parent||this._parent._isPhysicalFeature(e)}_refineKnowns(e,t){let n=0,s=null;const i=[];t=this._maxQueryRate();for(let a=0;a<e._candidates.length&&"GETPAGES"!==e._candidates[a];a++){let r=!1;const u=this._candidateIdTransform(e._candidates[a]);u!==e._candidates[a]&&(r=!0);const h=this._isInFeatureSet(u);if(h===l.InFeatureSet)!0===r?e._known.includes(u)||(e._known.push(u),n+=1):(e._known.push(e._candidates[a]),n+=1),null===s?s={start:a,end:a}:s.end===a-1?s.end=a:(i.push(s),s={start:a,end:a});else if(h===l.NotInFeatureSet)null===s?s={start:a,end:a}:s.end===a-1?s.end=a:(i.push(s),s={start:a,end:a}),n+=1;else if(h===l.Unknown&&(n+=1,!0===e._ordered))break;if(n>=t)break}null!==s&&i.push(s);for(let a=i.length-1;a>=0;a--)e._candidates.splice(i[a].start,i[a].end-i[a].start+1)}_refineIfParentKnown(e,t,n){const s=new i([],[],e._ordered,null);return s._candidates=e._candidates.slice(),this._parent._refineSetBlock(s,t,n)}_candidateIdTransform(e){return this._parent._candidateIdTransform(e)}_checkIfNeedToExpandKnownPage(e,t){if(null===e.pagesDefinition)return!1;let n=0;for(let s=e._lastFetchedIndex;s<e._known.length;s++){if("GETPAGES"===e._known[s])return!0;if(void 0===this._featureCache[e._known[s]]&&(n+=1,n>=t))break}return!1}_checkIfNeedToExpandCandidatePage(e,t){if(null===e.pagesDefinition)return!1;let n=0;for(let s=0;s<e._candidates.length;s++){if("GETPAGES"===e._candidates[s])return!0;if(n+=1,n>=t)break}return!1}async _expandPagedSet(e,s,i,a,r){if(null===this._parent)throw new t(n.NotImplemented);return this._parent._expandPagedSet(e,s,i,a,r)}async _expandPagedSetFeatureSet(e,t,n,s,i){if(e._known.length>0&&"GETPAGES"===e._known[e._known.length-1]&&(s=1),0===s&&e._candidates.length>0&&"GETPAGES"===e._candidates[e._candidates.length-1]&&(s=2),0===s)return"finished";const a=await this._getPage(e,s,i);return n+a<t?this._expandPagedSet(e,t,n+a,0,i):"success"}async _getPage(e,t,n){const s=1===t?e._known:e._candidates;if(e.pagesDefinition.internal.set.length>e.pagesDefinition.resultOffset||!0===e.pagesDefinition.internal.fullyResolved){s.length=s.length-1;let t=0;for(let i=0;i<e.pagesDefinition.resultRecordCount&&!(e.pagesDefinition.resultOffset+i>=e.pagesDefinition.internal.set.length);i++)s[s.length]=e.pagesDefinition.internal.set[e.pagesDefinition.resultOffset+i],t++;e.pagesDefinition.resultOffset+=t;let n=!1;return!0===e.pagesDefinition.internal.fullyResolved&&e.pagesDefinition.internal.set.length<=e.pagesDefinition.resultOffset&&(n=!0),!1===n&&s.push("GETPAGES"),t}return await this._getPhysicalPage(e,t,n),this._getPage(e,t,n)}_getPhysicalPage(e,t,n){return null}_clonePageDefinition(e){return null===this._parent?null:this._parent._clonePageDefinition(e)}_first(e){return this.iterator(e).next()}first(e){return this._first(e)}async calculateStatistic(e,t,n,s){await this._ensureLoaded();let i=await this._stat(e,t,"",null,null,n,s);return!1===i.calculated&&(i=await this._manualStat(e,t,n,s)),i.result}async _manualStat(e,t,n,s){let i=null;switch(e.toLowerCase()){case"count":return i=await g(this,s),{calculated:!0,result:i};case"distinct":return i=await m(this,t,n,s),{calculated:!0,result:i};case"avg":case"mean":return i=await p(this,t,s),{calculated:!0,result:i};case"stdev":return i=await _(this,t,s),{calculated:!0,result:i};case"variance":return i=await f(this,t,s),{calculated:!0,result:i};case"sum":return i=await d(this,t,s),{calculated:!0,result:i};case"min":return i=await c(this,t,s),{calculated:!0,result:i};case"max":return i=await o(this,t,s),{calculated:!0,result:i};default:return{calculated:!0,result:0}}}async _stat(e,t,n,s,i,a,r){const l=await this._parent._stat(e,t,n,s,i,a,r);return!1===l.calculated?null===i&&""===n&&null===s?this._manualStat(e,t,a,r):{calculated:!1}:l}_unionAllGeomSelf(e){const t=this.iterator(this._defaultTracker(e)),n=[];return new Promise(((e,s)=>{this._unionShapeInBatches(n,t,e,s)}))}_unionAllGeom(e){return new Promise(((t,n)=>{const s=this.iterator(this._defaultTracker(e)),i=[];this._unionShapeInBatches(i,s,t,n)}))}_unionShapeInBatches(e,t,n,s){t.next().then((i=>{try{null!==i&&null!==i.geometry&&e.push(i.geometry),e.length>30||null===i&&e.length>1?y("union",[e.map((e=>e.toJSON()))]).then((a=>{try{null===i?n(a):(e=[b(a)],this._unionShapeInBatches(e,t,n,s))}catch(r){s(r)}}),s):null===i?1===e.length?n(e[0]):n(null):this._unionShapeInBatches(e,t,n,s)}catch(a){s(a)}}),s)}iterator(e){return new s(this,e)}intersection(e,t=!1){return S._featuresetFunctions.intersection.bind(this)(e,t)}difference(e,t=!1,n=!0){return S._featuresetFunctions.difference.bind(this)(e,t,n)}symmetricDifference(e,t=!1,n=!0){return S._featuresetFunctions.symmetricDifference.bind(this)(e,t,n)}morphShape(e,t,n="unknown",s=null){return S._featuresetFunctions.morphShape.bind(this)(e,t,n,s)}morphShapeAndAttributes(e,t,n="unknown"){return S._featuresetFunctions.morphShapeAndAttributes.bind(this)(e,t,n)}union(e,t=!1){return S._featuresetFunctions.union.bind(this)(e,t)}intersects(e){return S._featuresetFunctions.intersects.bind(this)(e)}envelopeIntersects(e){return S._featuresetFunctions.envelopeIntersects.bind(this)(e)}contains(e){return S._featuresetFunctions.contains.bind(this)(e)}overlaps(e){return S._featuresetFunctions.overlaps.bind(this)(e)}relate(e,t){return S._featuresetFunctions.relate.bind(this)(e,t)}within(e){return S._featuresetFunctions.within.bind(this)(e)}touches(e){return S._featuresetFunctions.touches.bind(this)(e)}top(e){return S._featuresetFunctions.top.bind(this)(e)}crosses(e){return S._featuresetFunctions.crosses.bind(this)(e)}buffer(e,t,n,s=!0){return S._featuresetFunctions.buffer.bind(this)(e,t,n,s)}filter(e,t=null){return S._featuresetFunctions.filter.bind(this)(e,t)}orderBy(e){return S._featuresetFunctions.orderBy.bind(this)(e)}dissolve(e,t){return S._featuresetFunctions.dissolve.bind(this)(e,t)}groupby(e,t){return S._featuresetFunctions.groupby.bind(this)(e,t)}reduce(e,t=null,n){return new Promise(((s,i)=>{this._reduceImpl(this.iterator(this._defaultTracker(n)),e,t,0,s,i,0)}))}_reduceImpl(e,t,n,s,i,a,r){try{if(++r>1e3)return void setTimeout((()=>{r=0,this._reduceImpl(e,t,n,s,i,a,r)}));e.next().then((l=>{try{if(null===l)i(n);else{const u=t(n,l,s,this);F(u)?u.then((n=>{this._reduceImpl(e,t,n,s+1,i,a,r)}),a):this._reduceImpl(e,t,u,s+1,i,a,r)}}catch(u){a(u)}}),a)}catch(l){a(l)}}removeField(e){return S._featuresetFunctions.removeField.bind(this)(e)}addField(e,t,n=null){return S._featuresetFunctions.addField.bind(this)(e,t,n)}async sumArea(e,t=!1,n){const s=this.iterator(n);let i,a=0;for(;null!=(i=await s.next());)null!=i.geometry&&(a+=t?await y("geodeticArea",[i.geometry.toJSON(),e]):await y("area",[i.geometry.toJSON(),e]));return a}async sumLength(e,t=!1,n){const s=this.iterator(n);let i,a=0;for(;null!=(i=await s.next());)null!=i.geometry&&(a+=t?await y("geodeticLength",[i.geometry.toJSON(),e]):await y("length",[i.geometry.toJSON(),e]));return a}async distinct(e,t=1e3,n=null,s){await this.load();const i=I.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return D(i,n),this.calculateStatistic("distinct",i,t,this._defaultTracker(s))}async min(e,t=null,n){await this.load();const s=I.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return D(s,t),this.calculateStatistic("min",s,-1,this._defaultTracker(n))}async max(e,t=null,n){await this.load();const s=I.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return D(s,t),this.calculateStatistic("max",s,-1,this._defaultTracker(n))}async avg(e,t=null,n){await this.load();const s=I.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return D(s,t),this.calculateStatistic("avg",s,-1,this._defaultTracker(n))}async sum(e,t=null,n){await this.load();const s=I.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return D(s,t),this.calculateStatistic("sum",s,-1,this._defaultTracker(n))}async stdev(e,t=null,n){await this.load();const s=I.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return D(s,t),this.calculateStatistic("stdev",s,-1,this._defaultTracker(n))}async variance(e,t=null,n){await this.load();const s=I.create(e,{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC});return D(s,t),this.calculateStatistic("variance",s,-1,this._defaultTracker(n))}async count(e){return await this.load(),this.calculateStatistic("count",I.create("1",{fieldsIndex:this.getFieldsIndex(),timeZone:this.dateFieldsTimeZoneDefaultUTC}),-1,this._defaultTracker(e))}_defaultTracker(e){return e??{aborted:!1}}forEach(e,t){return new Promise(((n,s)=>{this._forEachImpl(this.iterator(this._defaultTracker(t)),e,this,n,s,0)}))}_forEachImpl(e,t,n,s,i,a){try{if(++a>1e3)return void setTimeout((()=>{a=0,this._forEachImpl(e,t,n,s,i,a)}),0);e.next().then((r=>{try{if(null===r)s(n);else{const l=t(r);null==l?this._forEachImpl(e,t,n,s,i,a):F(l)?l.then((()=>{try{this._forEachImpl(e,t,n,s,i,a)}catch(r){i(r)}}),i):this._forEachImpl(e,t,n,s,i,a)}}catch(l){i(l)}}),i)}catch(r){i(r)}}convertToJSON(e){const t={layerDefinition:{geometryType:this.geometryType,fields:[]},featureSet:{features:[],geometryType:this.geometryType}};for(let n=0;n<this.fields.length;n++)t.layerDefinition.fields.push(u(this.fields[n]));return this.reduce(((e,n)=>{const s={geometry:n.geometry?.toJSON(),attributes:{}};for(const t in n.attributes)s.attributes[t]=n.attributes[t];return t.featureSet.features.push(s),1}),0,e).then((()=>t))}castToText(e=!1){return"object, FeatureSet"}queryAttachments(e,t,n,s,i){return this._parent.queryAttachments(e,t,n,s,i)}serviceUrl(){return this._parent.serviceUrl()}subtypeMetaData(){return this.subtypeField&&this.subtypes?{subtypeField:this.subtypeField,subtypes:this.subtypes?this.subtypes.map((e=>({name:e.name,code:e.code}))):[]}:this.typeIdField?{subtypeField:this.typeIdField,subtypes:this.types?this.types.map((e=>({name:e.name,code:e.id}))):[]}:null}relationshipMetaData(){return this._parent.relationshipMetaData()}get gdbVersion(){return this._parent?this._parent.gdbVersion:""}schema(){const e=[];for(const t of this.fields)e.push(u(t));return{objectIdField:this.objectIdField,globalIdField:this.globalIdField,geometryType:void 0===h[this.geometryType]?"esriGeometryNull":h[this.geometryType],fields:e}}async convertToText(e,t){if("schema"===e)return await this._ensureLoaded(),JSON.stringify(this.schema());if("featureset"===e){await this._ensureLoaded();const e=[];await this.reduce(((t,n)=>{const s={geometry:n.geometry?n.geometry.toJSON():null,attributes:n.attributes};return null!==s.geometry&&s.geometry.spatialReference&&delete s.geometry.spatialReference,e.push(s),1}),0,t);const n=this.schema();return n.features=e,n.spatialReference=this.spatialReference.toJSON(),JSON.stringify(n)}return this.castToText()}getFeatureByObjectId(e,t){return this._parent.getFeatureByObjectId(e,t)}getOwningSystemUrl(){return this._parent.getOwningSystemUrl()}getIdentityUser(){return this._parent.getIdentityUser()}getRootFeatureSet(){return null!==this._parent?this._parent.getRootFeatureSet():this}getDataSourceFeatureSet(){return null!==this._parent?this._parent.getDataSourceFeatureSet():this}castAsJson(e=null){return"keeptype"===e?.featureset?this:"none"===e?.featureset?null:{type:"FeatureSet"}}async castAsJsonAsync(e=null,t=null){if("keeptype"===t?.featureset)return this;if("schema"===t?.featureset)return await this._ensureLoaded(),JSON.parse(JSON.stringify(this.schema()));if("none"===t?.featureset)return null;await this._ensureLoaded();const n=[];await this.reduce(((e,s)=>{const i={geometry:s.geometry?!0===t?.keepGeometryType?s.geometry:s.geometry.toJSON():null,attributes:s.attributes};return null!==i.geometry&&i.geometry.spatialReference&&!0!==t?.keepGeometryType&&delete i.geometry.spatialReference,n.push(i),1}),0,e);const s=this.schema();return s.features=n,s.spatialReference=!0===t?.keepGeometryType?this.spatialReference:this.spatialReference?.toJSON(),s}fieldTimeZone(e){return this.getFieldsIndex().getTimeZone(e)}get preferredTimeZone(){return this._parent?.preferredTimeZone??null}get dateFieldsTimeZone(){return this._parent?.dateFieldsTimeZone??null}get dateFieldsTimeZoneDefaultUTC(){if(this.datesInUnknownTimezone)return"unknown";const e=this.dateFieldsTimeZone??"UTC";return""===e?"UTC":e}get datesInUnknownTimezone(){return this._parent.datesInUnknownTimezone}get editFieldsInfo(){return this._parent?.editFieldsInfo??null}get timeInfo(){return this._parent?.timeInfo??null}set featureSetInfo(e){this.fsetInfo=e}async getFeatureSetInfo(){return this.fsetInfo??await(this._parent?.getFeatureSetInfo())??null}}function D(e,t){if(null!==t){const n={};for(const e in t)n[e.toLowerCase()]=t[e];e.parameters=n}}S._featuresetFunctions={};export{S 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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeDate as e}from"../../ArcadeDate.js";import{DateOnly as r}from"../../../core/sql/DateOnly.js";import{TimeOnly as t}from"../../../core/sql/TimeOnly.js";import i from"../../../
|
|
5
|
+
import{ArcadeDate as e}from"../../ArcadeDate.js";import{DateOnly as r}from"../../../core/sql/DateOnly.js";import{TimeOnly as t}from"../../../core/sql/TimeOnly.js";import i from"../../../layers/support/Field.js";import{DateTime as n}from"luxon";var o,l;function s(e){return i.fromJSON(e.toJSON())}function y(e){return e.toJSON?e.toJSON():e}function p(e){return"string"==typeof e||e instanceof String}function u(e){return"boolean"==typeof e}function a(e){return"number"==typeof e}function c(e){return Array.isArray(e)}function m(e){return e instanceof Date}function f(e){return e instanceof n}function d(r){return r instanceof e}function T(e){return e instanceof r}function F(e){return e instanceof t}function g(e,r){return e===r||!(!m(e)&&!d(e)||!m(r)&&!d(r))&&e.getTime()===r.getTime()}function G(e){const r={};for(const t in e)r[t]=e[t];return r}function S(e){if(null==e)return null;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 109404;case"miles":case"mile":return 109439;case"kilometers":case"kilometer":case"km":return 109414}return null}function O(e){if(null==e)return null;if("number"==typeof e)return e;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 9001;case"miles":case"mile":return 9093;case"kilometers":case"kilometer":case"km":return 9036}return null}function v(e,r){return e===r||("point"===e&&"esriGeometryPoint"===r||("polyline"===e&&"esriGeometryPolyline"===r||("polygon"===e&&"esriGeometryPolygon"===r||("extent"===e&&"esriGeometryEnvelope"===r||("multipoint"===e&&"esriGeometryMultipoint"===r||("point"===r&&"esriGeometryPoint"===e||("polyline"===r&&"esriGeometryPolyline"===e||("polygon"===r&&"esriGeometryPolygon"===e||("extent"===r&&"esriGeometryEnvelope"===e||"multipoint"===r&&"esriGeometryMultipoint"===e)))))))))}!function(e){e[e.Standardised=0]="Standardised",e[e.StandardisedNoInterval=1]="StandardisedNoInterval",e[e.SqlServer=2]="SqlServer",e[e.Oracle=3]="Oracle",e[e.Postgres=4]="Postgres",e[e.PGDB=5]="PGDB",e[e.FILEGDB=6]="FILEGDB",e[e.NotEvaluated=7]="NotEvaluated"}(o||(o={})),function(e){e[e.InFeatureSet=0]="InFeatureSet",e[e.NotInFeatureSet=1]="NotInFeatureSet",e[e.Unknown=2]="Unknown"}(l||(l={}));const b=1e3;function I(e){return function(r){e.reject(r)}}function D(e,r){return function(){try{e.apply(null,arguments)}catch(t){r.reject(t)}}}const P={point:"point",polygon:"polygon",polyline:"polyline",multipoint:"multipoint",extent:"extent",esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint",esriGeometryEnvelope:"extent",envelope:"extent"},N={point:"esriGeometryPoint",polygon:"esriGeometryPolygon",polyline:"esriGeometryPolyline",multipoint:"esriGeometryMultipoint",extent:"esriGeometryEnvelope",esriGeometryPoint:"esriGeometryPoint",esriGeometryPolygon:"esriGeometryPolygon",esriGeometryPolyline:"esriGeometryPolyline",esriGeometryMultipoint:"esriGeometryMultipoint",esriGeometryEnvelope:"esriGeometryEnvelope",envelope:"esriGeometryEnvelope"},w={"small-integer":"esriFieldTypeSmallInteger",integer:"esriFieldTypeInteger",long:"esriFieldTypeLong",single:"esriFieldTypeSingle",double:"esriFieldTypeDouble",string:"esriFieldTypeString",date:"esriFieldTypeDate","date-only":"esriFieldTypeDateOnly","time-only":"esriFieldTypeTimeOnly","timestamp-offset":"esriFieldTypeTimestampOffset",oid:"esriFieldTypeOID",geometry:"esriFieldTypeGeometry",blob:"esriFieldTypeBlob",raster:"esriFieldTypeRaster",guid:"esriFieldTypeGUID","global-id":"esriFieldTypeGlobalID",xml:"esriFieldTypeXML","big-integer":"esriFieldTypeBigInteger",esriFieldTypeSmallInteger:"esriFieldTypeSmallInteger",esriFieldTypeInteger:"esriFieldTypeInteger",esriFieldTypeLong:"esriFieldTypeLong",esriFieldTypeSingle:"esriFieldTypeSingle",esriFieldTypeDouble:"esriFieldTypeDouble",esriFieldTypeString:"esriFieldTypeString",esriFieldTypeDate:"esriFieldTypeDate",esriFieldTypeDateOnly:"esriFieldTypeDateOnly",esriFieldTypeTimeOnly:"esriFieldTypeTimeOnly",esriFieldTypeTimestampOffset:"esriFieldTypeTimestampOffset",esriFieldTypeOID:"esriFieldTypeOID",esriFieldTypeGeometry:"esriFieldTypeGeometry",esriFieldTypeBlob:"esriFieldTypeBlob",esriFieldTypeRaster:"esriFieldTypeRaster",esriFieldTypeGUID:"esriFieldTypeGUID",esriFieldTypeGlobalID:"esriFieldTypeGlobalID",esriFieldTypeXML:"esriFieldTypeXML",esriFieldTypeBigInteger:"esriFieldTypeBigInteger"};function E(e){switch(e){case"point":default:return"esriGeometryPoint";case"polygon":return"esriGeometryPolygon";case"multipoint":return"esriGeometryMultipoint";case"polyline":return"esriGeometryPolyline"}}function k(e){return void 0===e?"":e=(e=(e=e.replace(/\/featureserver\/[0-9]*/i,"/FeatureServer")).replace(/\/mapserver\/[0-9]*/i,"/MapServer")).split("?")[0]}function J(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});const t="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(n=r.cmp,function(e){return function(r,t){const i={key:r,value:e[r]},o={key:t,value:e[t]};return n(i,o)}});var n;const o=[];return function e(r){if(r?.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);let n,l;if(Array.isArray(r)){for(l="[",n=0;n<r.length;n++)n&&(l+=","),l+=e(r[n])||"null";return l+"]"}if(null===r)return"null";if(o.includes(r)){if(t)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}const s=o.push(r)-1,y=Object.keys(r).sort(i?.(r));for(l="",n=0;n<y.length;n++){const t=y[n],i=e(r[t]);i&&(l&&(l+=","),l+=JSON.stringify(t)+":"+i)}return o.splice(s,1),"{"+l+"}"}(e)}function M(e){switch(e.type){case"catalog":case"csv":case"feature":case"geojson":case"oriented-imagery":case"subtype-group":case"wfs":return!0;default:return!1}}function h(e){switch(e.type){case"catalog-footprint":case"subtype-sublayer":return!0;default:return M(e)}}export{o as FeatureServiceDatabaseType,l as IdState,D as callback,G as cloneAttributes,s as cloneField,O as convertLinearUnitsToCode,S as convertSquareUnitsToCode,b as defaultMaxRecords,g as equalityTest,I as errback,y as esriFieldToJson,k as extractServiceUrl,d as isArcadeDate,T as isArcadeDateOnly,F as isArcadeTime,c as isArray,u as isBoolean,m as isDate,f as isLuxonDate,a as isNumber,p as isString,h as isSupportedLayer,M as isSupportedSourceLayer,w as layerFieldEsriConstants,P as layerGeometryEsriConstants,N as layerGeometryEsriRestConstants,v as sameGeomType,J as stableStringify,E as toEsriGeometryType};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeDate as e}from"../ArcadeDate.js";import t from"../ArcadePortal.js";import n from"../Dictionary.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as a}from"../executionError.js";import r from"../Feature.js";import{convertToFeatureSet as s,constructFeatureSetFromPortalItem as o,constructFeatureSet as l,constructFeatureSetFromRelationship as f,constructFeatureSetFromUrl as d,constructAssociationMetaDataFeatureSetFromUrl as u}from"../featureSetUtils.js";import c from"../ImmutableArray.js";import{D as m,k as p,j as y,p as w,f as h,h as I,K as g,g as F,o as D,J as T,e as x,n as b,m as E,i as A,t as N,$ as L,Q as S}from"../../chunks/languageUtils.js";import{getPortal as C}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as $,FieldRename as v,AdaptedFeatureSet as P,OriginalField as j}from"../featureset/actions/Adapted.js";import U from"../featureset/actions/AttributeFilter.js";import M from"../featureset/actions/OrderBy.js";import R from"../featureset/actions/Top.js";import k from"../featureset/sources/Empty.js";import O from"../featureset/sources/FeatureLayerMemory.js";import z from"../featureset/support/OrderbyClause.js";import{cloneField as W}from"../featureset/support/shared.js";import{isSingleField as H}from"../featureset/support/sqlUtils.js";import{calculateStat as G}from"./fieldStats.js";import{isPromiseLike as _}from"../../core/promiseUtils.js";import K from"../../core/sql/WhereClause.js";import B from"../../layers/FeatureLayer.js";import q from"../../layers/support/Field.js";import Q from"../../portal/Portal.js";import{isString as V,isArray as J,isInteger as Y}from"../../support/guards.js";function X(e){if(1===e.length){if(J(e[0]))return G("distinct",e[0],-1);if(E(e[0]))return G("distinct",e[0].toArray(),-1)}return G("distinct",e,-1)}function ee(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 te(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function ne(e){if(null===e)return null;const t={type:te(e,"type",""),name:te(e,"name","")};if("range"===t.type)t.range=te(e,"range",[]);else{t.codedValues=[];for(const n of te(e,"codedValues",[]))t.codedValues.push({name:te(n,"name",""),code:te(n,"code",null)})}return t}function ie(e){if(null===e)return null;const t={},n=te(e,"wkt");null!==n&&(t.wkt=n);const i=te(e,"wkid");return null!==i&&(t.wkid=i),t}function ae(e){if(null===e)return null;const t={hasZ:te(e,"hasz",!1),hasM:te(e,"hasm",!1)},n=te(e,"spatialreference");null!=n&&(t.spatialReference=ie(n));const i=te(e,"x",null);if(null!==i)return t.x=i,t.y=te(e,"y",null),t.hasZ&&(t.z=te(e,"z",null)),t.hasM&&(t.m=te(e,"m",null)),t;const a=te(e,"rings",null);if(null!==a)return t.rings=a,t;const r=te(e,"paths",null);if(null!==r)return t.paths=r,t;const s=te(e,"points",null);if(null!==s)return t.points=s,t;for(const o of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=te(e,o,null);null!==n&&(t[o]=n)}return t}function re(e,t){for(const n of t)if(n===e)return!0;return!1}function se(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==re(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==J(e.layerDefinition.fields)&&!1!==J(e.featureSet.features))))}function oe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}function le(G){"async"===G.mode&&(G.functions.timezone=function(t,r){return G.standardFunctionAsync(t,r,(async(s,o,l)=>{if(m(l,1,2,t,r),p(l[0]))return"Unknown";if(y(l[0]))return"Unknown";if(w(l[0])){if(await l[0].load(),1===l.length||null===l[1])return l[0].datesInUnknownTimezone?oe("unknown"):oe(l[0].dateFieldsTimeZone);if(!(l[1]instanceof n)||!1===l[1].hasField("type"))throw new i(t,a.InvalidParameter,r);const e=l[1].field("type");if(!1===V(e))throw new i(t,a.InvalidParameter,r);switch(h(e).toLowerCase()){case"preferredtimezone":return oe(l[0].preferredTimeZone);case"editfieldsinfo":return oe(l[0].editFieldsInfo?.timeZone??null);case"timeinfo":return oe(l[0].timeInfo?.timeZone??null);case"field":if(l[1].hasField("fieldname")&&V(l[1].field("fieldname")))return oe(l[0].fieldTimeZone(h(l[1].field("fieldname"))))}throw new i(t,a.InvalidParameter,r)}const f=I(l[0],g(t));if(null===f)return null;const d=f.timeZone;return"system"===d?e.systemTimeZoneCanonicalName:"utc"===d.toLowerCase()?"UTC":"unknown"===d.toLowerCase()?"Unknown":d}))},G.functions.sqltimestamp=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{m(s,1,3,e,t);const o=s[0];if(F(o)){if(1===s.length)return o.toSQLWithKeyword();if(2===s.length)return o.changeTimeZone(h(s[1])).toSQLWithKeyword();throw new i(e,a.InvalidParameter,t)}if(y(o))return o.toSQLWithKeyword();if(w(o)){if(3!==s.length)throw new i(e,a.InvalidParameter,t);await o.load();const n=h(s[1]);if(y(s[2]))return s[2].toSQLWithKeyword();if(!1===F(s[2]))throw new i(e,a.InvalidParameter,t);const r=o.fieldTimeZone(n);return null===r?s[2].toSQLWithKeyword():s[2].changeTimeZone(r).toSQLWithKeyword()}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"sqltimestamp",min:2,max:4}),G.functions.featuresetbyid=function(e,t){return G.standardFunctionAsync(e,t,((n,r,s)=>{if(m(s,2,4,e,t),D(s[0])){const n=h(s[1]);let r=T(s[2],null);const o=x(T(s[3],!0));if(null===r&&(r=["*"]),!1===J(r))throw new i(e,a.InvalidParameter,t);return s[0].featureSetById(n,o,r)}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"featuresetbyid",min:2,max:4}),G.functions.getfeatureset=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,o)=>{if(m(o,1,2,e,t),b(o[0])){let t=T(o[1],"datasource");return null===t&&(t="datasource"),t=h(t).toLowerCase(),s(o[0].fullSchema(),t,e.lrucache,e.interceptor,e.spatialReference??null)}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"getfeatureset",min:1,max:2}),G.functions.featuresetbyportalitem=function(e,n){return G.standardFunctionAsync(e,n,((r,s,l)=>{if(m(l,2,5,e,n),null===l[0])throw new i(e,a.PortalRequired,n);if(l[0]instanceof t){const t=h(l[1]),r=h(l[2]);let s=T(l[3],null);const f=x(T(l[4],!0));if(null===s&&(s=["*"]),!1===J(s))throw new i(e,a.InvalidParameter,n);let d;return d=e.services?.portal?e.services.portal:Q.getDefault(),d=C(l[0],d),o(t,r,e.spatialReference??null,s,f,d,e.lrucache,e.interceptor)}if(!1===V(l[0]))throw new i(e,a.PortalRequired,n);const f=h(l[0]),d=h(l[1]);let u=T(l[2],null);const c=x(T(l[3],!0));if(null===u&&(u=["*"]),!1===J(u))throw new i(e,a.InvalidParameter,n);return o(f,d,e.spatialReference??null,u,c,e.services?.portal??Q.getDefault(),e.lrucache,e.interceptor)}))},G.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),G.functions.featuresetbyname=function(e,t){return G.standardFunctionAsync(e,t,((n,r,s)=>{if(m(s,2,4,e,t),D(s[0])){const n=h(s[1]);let r=T(s[2],null);const o=x(T(s[3],!0));if(null===r&&(r=["*"]),!1===J(r))throw new i(e,a.InvalidParameter,t);return s[0].featureSetByName(n,o,r)}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"featuresetbyname",min:2,max:4}),G.functions.featureset=function(e,t){return G.standardFunction(e,t,((r,s,o)=>{m(o,1,1,e,t);const l={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(V(o[0])){const e=JSON.parse(o[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(!(o[0]instanceof n))throw new i(e,a.InvalidParameter,t);{const n=JSON.parse(o[0].castToText(!0)),r=te(n,"layerdefinition");if(null!==r){l.layerDefinition.geometryType=te(r,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.globalIdField=te(r,"globalidfield",""),l.layerDefinition.objectIdField=te(r,"objectidfield",""),l.layerDefinition.typeIdField=te(r,"typeidfield",""),l.layerDefinition.hasZ=!0===te(r,"hasz",!1),l.layerDefinition.hasM=!0===te(r,"hasm",!1);const e=te(r,"spatialreference");e&&(l.layerDefinition.spatialReference=ie(e));const t=[];for(const n of te(r,"fields",[])){const e={name:te(n,"name",""),alias:te(n,"alias",""),type:te(n,"type",""),nullable:te(n,"nullable",!0),editable:te(n,"editable",!0),length:te(n,"length",null),domain:ne(te(n,"domain"))};t.push(e)}l.layerDefinition.fields=t;const i=te(n,"featureset");if(i){const e={};for(const n of t)e[n.name.toLowerCase()]=n.name;for(const t of te(i,"features",[])){const n={},i=te(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];l.featureSet.features.push({attributes:n,geometry:ae(te(t,"geometry"))})}}}else{l.layerDefinition.hasZ=!0===te(n,"hasz",!1),l.layerDefinition.hasM=!0===te(n,"hasm",!1),l.layerDefinition.geometryType=te(n,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.objectIdField=te(n,"objectidfieldname",""),l.layerDefinition.typeIdField=te(n,"typeidfieldname","");const r=te(n,"spatialreference");r&&(l.layerDefinition.spatialReference=ie(r));const s=[],o=te(n,"fields",null);if(!J(o))throw new i(e,a.InvalidParameter,t);for(const e of o){const t={name:te(e,"name",""),alias:te(e,"alias",""),type:te(e,"type",""),nullable:te(e,"nullable",!0),editable:te(e,"editable",!0),length:te(e,"length",null),domain:ne(te(e,"domain"))};s.push(t)}l.layerDefinition.fields=s;const f={};for(const e of s)f[e.name.toLowerCase()]=e.name;let d=te(n,"features",null);if(J(d))for(const e of d){const t={},n=te(e,"attributes",{});for(const e in n)t[f[e.toLowerCase()]]=n[e];l.featureSet.features.push({attributes:t,geometry:ae(te(e,"geometry",null))})}else d=null,l.featureSet.features=d}}}if(!1===se(l))throw new i(e,a.InvalidParameter,t);return l.layerDefinition.geometryType||(l.layerDefinition.geometryType="esriGeometryNull"),O.create(l,e.spatialReference)}))},G.signatures.push({name:"featureset",min:1,max:1}),G.functions.filter=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),J(s[0])||E(s[0])){const n=[];let r,o=s[0];if(o instanceof c&&(o=o.toArray()),!A(s[1]))throw new i(e,a.InvalidParameter,t);r=s[1].createFunction(e);for(const e of o){const t=r(e);_(t)?!0===await t&&n.push(e):!0===t&&n.push(e)}return n}if(w(s[0])){const t=await s[0].load(),n=K.create(s[1],{fieldsIndex:t.getFieldsIndex(),timeZone:t.dateFieldsTimeZoneDefaultUTC}),i=n.getVariables();if(i.length>0){const t={};for(const n of i)t[n]=G.evaluateIdentifier(e,{name:n});n.parameters=t}return new U({parentfeatureset:s[0],whereclause:n})}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"filter",min:2,max:2}),G.functions.orderby=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),w(s[0])){const e=new z(s[1]);return new M({parentfeatureset:s[0],orderbyclause:e})}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"orderby",min:2,max:2}),G.functions.top=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),w(s[0]))return new R({parentfeatureset:s[0],topnum:s[1]});if(J(s[0]))return N(s[1])>=s[0].length?s[0].slice():s[0].slice(0,N(s[1]));if(E(s[0]))return N(s[1])>=s[0].length()?s[0].slice():s[0].slice(0,N(s[1]));throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"top",min:2,max:2}),G.functions.first=function(e,t){return G.standardFunctionAsync(e,t,(async(n,i,a)=>{if(m(a,1,1,e,t),w(a[0])){const t=await a[0].first(n.abortSignal);if(null!==t){const n=r.createFromGraphicLikeObject(t.geometry,t.attributes,a[0],e.timeZone);return n._underlyingGraphic=t,n}return t}return J(a[0])?0===a[0].length?null:a[0][0]:E(a[0])?0===a[0].length()?null:a[0].get(0):null}))},G.signatures.push({name:"first",min:1,max:1}),G.functions.attachments=function(e,t){return G.standardFunctionAsync(e,t,(async(r,s,o)=>{m(o,1,2,e,t);const f={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(o.length>1)if(o[1]instanceof n){if(o[1].hasField("minsize")&&(f.minsize=N(o[1].field("minsize"))),o[1].hasField("metadata")&&(f.returnMetadata=x(o[1].field("metadata"))),o[1].hasField("maxsize")&&(f.maxsize=N(o[1].field("maxsize"))),o[1].hasField("types")){const e=L(o[1].field("types"),!1);e.length>0&&(f.types=e)}}else if(null!==o[1])throw new i(e,a.InvalidParameter,t);if(b(o[0])){let t=o[0]._layer;return t instanceof B&&(t=l(t,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===t?[]:!1===w(t)?[]:(await t.load(),t.queryAttachments(o[0].field(t.objectIdField),f.minsize,f.maxsize,f.types,f.returnMetadata))}if(null===o[0])return[];throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"attachments",min:1,max:2}),G.functions.featuresetbyrelationshipname=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{m(s,2,4,e,t);const o=s[0],u=h(s[1]);let c=T(s[2],null);const p=x(T(s[3],!0));if(null===c&&(c=["*"]),!1===J(c))throw new i(e,a.InvalidParameter,t);if(null===s[0])return null;if(!b(s[0]))throw new i(e,a.InvalidParameter,t);let y=o._layer;if(y instanceof B&&(y=l(y,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===y)return null;if(!1===w(y))return null;y=await y.load();const I=y.relationshipMetaData().filter((e=>e.name===u));if(0===I.length)return null;if(void 0!==I[0].relationshipTableId&&null!==I[0].relationshipTableId&&I[0].relationshipTableId>-1)return f(y,I[0],o.field(y.objectIdField),y.spatialReference,c,p,e.lrucache,e.interceptor);let g=y.serviceUrl();if(!g)return null;g="/"===g.charAt(g.length-1)?g+I[0].relatedTableId.toString():g+"/"+I[0].relatedTableId.toString();const F=await d(g,y.spatialReference,c,p,e.lrucache,e.interceptor);await F.load();let D=F.relationshipMetaData();if(D=D.filter((e=>e.id===I[0].id)),!1===o.hasField(I[0].keyField)||null===o.field(I[0].keyField)){const e=await y.getFeatureByObjectId(o.field(y.objectIdField),[I[0].keyField]);if(e){const t=K.create(D[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[I[0].keyField]},F.filter(t)}return new k({parentfeatureset:F})}const E=K.create(D[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return E.parameters={id:o.field(I[0].keyField)},F.filter(E)}))},G.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),G.functions.featuresetbyassociation=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{m(s,2,3,e,t);const o=s[0],f=h(T(s[1],"")).toLowerCase(),d=V(s[2])?h(s[2]):null;if(null===s[0])return null;if(!b(s[0]))throw new i(e,a.InvalidParameter,t);let c=o._layer;if(c instanceof B&&(c=l(c,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===c)return null;if(!1===w(c))return null;await c.load();const p=c.serviceUrl(),y=await u(p,e.spatialReference);let I=null,g=null,F=!1;if(null!==d&&""!==d&&void 0!==d){for(const e of y.terminals)e.terminalName===d&&(g=e.terminalId);null===g&&(F=!0)}const D=y.associations.getFieldsIndex(),x=D.get("TOGLOBALID").name,E=D.get("FROMGLOBALID").name,A=D.get("TOTERMINALID").name,N=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,U=D.get("ASSOCIATIONTYPE").name,M=D.get("ISCONTENTVISIBLE").name,R=D.get("OBJECTID").name;for(const e of c.fields)if("global-id"===e.type){I=o.field(e.name);break}let k=null,O=new Z(new q({name:"percentalong",alias:"percentalong",type:"double"}),K.create("0",{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC})),z=new Z(new q({name:"side",alias:"side",type:"string"}),K.create("''",{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));const H="globalid",G="globalId",_={};for(const e in y.lkp)_[e]=y.lkp[e].sourceId;const Q=new $(new q({name:"classname",alias:"classname",type:"string"}),null,_);let J="";switch(f){case"midspan":{J=`((${x}='${I}') OR ( ${E}='${I}')) AND (${U} IN (5))`,Q.codefield=K.create(`CASE WHEN (${x}='${I}') THEN ${L} ELSE ${C} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC});const e=W(P.findField(y.associations.fields,E));e.name=H,e.alias=H,k=new Z(e,K.create(`CASE WHEN (${E}='${I}') THEN ${x} ELSE ${E} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC})),O=y.unVersion>=4?new j(P.findField(y.associations.fields,D.get("PERCENTALONG").name)):new Z(new q({name:"percentalong",alias:"percentalong",type:"double"}),K.create("0",{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{J=`((${x}='${I}') OR ( ${E}='${I}')) AND (${U} IN (4,6))`,Q.codefield=K.create(`CASE WHEN (${x}='${I}') THEN ${L} ELSE ${C} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC});const e=W(P.findField(y.associations.fields,E));e.name=H,e.alias=H,k=new Z(e,K.create(`CASE WHEN (${E}='${I}') THEN ${x} ELSE ${E} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC})),z=new Z(new q({name:"side",alias:"side",type:"string"}),K.create(`CASE WHEN (${U}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${x}='@T'`,t=`${E}='@T'`;null!==g&&(e+=` AND ${A}=@A`,t+=` AND ${N}=@A`),J="(("+e+") OR ("+t+"))",J=S(J,"@T",I??""),e=S(e,"@T",I??""),null!==g&&(e=S(e,"@A",g.toString()),J=S(J,"@A",g.toString())),Q.codefield=K.create("CASE WHEN "+e+` THEN ${L} ELSE ${C} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC});const n=W(P.findField(y.associations.fields,E));n.name=H,n.alias=H,k=new Z(n,K.create("CASE WHEN "+e+` THEN ${E} ELSE ${x} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));break}case"container":J=`${x}='${I}' AND ${U} = 2`,null!==g&&(J+=` AND ${A} = `+g.toString()),Q.codefield=L,J="( "+J+" )",k=new v(P.findField(y.associations.fields,E),H,H);break;case"content":J=`(${E}='${I}' AND ${U} = 2)`,null!==g&&(J+=` AND ${N} = `+g.toString()),Q.codefield=C,J="( "+J+" )",k=new v(P.findField(y.associations.fields,x),H,H);break;case"structure":J=`(${x}='${I}' AND ${U} = 3)`,null!==g&&(J+=` AND ${A} = `+g.toString()),Q.codefield=L,J="( "+J+" )",k=new v(P.findField(y.associations.fields,E),H,G);break;case"attached":J=`(${E}='${I}' AND ${U} = 3)`,null!==g&&(J+=` AND ${N} = `+g.toString()),Q.codefield=C,J="( "+J+" )",k=new v(P.findField(y.associations.fields,x),H,G);break;default:throw new i(e,a.InvalidParameter,t)}F&&(J="1 <> 1");return new P({parentfeatureset:y.associations,adaptedFields:[new j(P.findField(y.associations.fields,R)),new j(P.findField(y.associations.fields,M)),k,z,Q,O],extraFilter:J?K.create(J,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}):null})}))},G.signatures.push({name:"featuresetbyassociation",min:2,max:6}),G.functions.groupby=function(e,t){return G.standardFunctionAsync(e,t,(async(r,s,o)=>{if(m(o,3,3,e,t),!w(o[0]))throw new i(e,a.InvalidParameter,t);const l=await o[0].load(),f=[],d=[];let u=!1,c=[];if(V(o[1]))c.push(o[1]);else if(o[1]instanceof n)c.push(o[1]);else if(J(o[1]))c=o[1];else{if(!E(o[1]))throw new i(e,a.InvalidParameter,t);c=o[1].toArray()}for(const m of c)if(V(m)){const e=K.create(h(m),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),t=!0===H(e)?h(m):"%%%%FIELDNAME";f.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(u=!0)}else{if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"%%%%FIELDNAME",r=m.hasField("expression")?m.field("expression"):"";if("%%%%FIELDNAME"===n&&(u=!0),!n)throw new i(e,a.InvalidParameter,t);f.push({name:n,expression:K.create(r||n,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],V(o[2]))c.push(o[2]);else if(J(o[2]))c=o[2];else if(E(o[2]))c=o[2].toArray();else{if(!(o[2]instanceof n))throw new i(e,a.InvalidParameter,t);c.push(o[2])}for(const m of c){if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"",r=m.hasField("statistic")?m.field("statistic"):"",s=m.hasField("expression")?m.field("expression"):"";if(!n||!r||!s)throw new i(e,a.InvalidParameter,t);d.push({name:n,statistic:r.toLowerCase(),expression:K.create(s,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of f)ee(t.expression,G,e);for(const t of d)ee(t.expression,G,e);return o[0].groupby(f,d)}))},G.signatures.push({name:"groupby",min:3,max:3}),G.functions.distinct=function(e,t){return G.standardFunctionAsync(e,t,(async(r,s,o)=>{if(w(o[0])){m(o,2,2,e,t);const r=await o[0].load(),s=[];let l=[];if(V(o[1]))l.push(o[1]);else if(o[1]instanceof n)l.push(o[1]);else if(J(o[1]))l=o[1];else{if(!E(o[1]))throw new i(e,a.InvalidParameter,t);l=o[1].toArray()}let f=!1;for(const o of l)if(V(o)){const e=K.create(h(o),{fieldsIndex:r.getFieldsIndex(),timeZone:r.dateFieldsTimeZoneDefaultUTC}),t=!0===H(e)?h(o):"%%%%FIELDNAME";s.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(f=!0)}else{if(!(o instanceof n))throw new i(e,a.InvalidParameter,t);{const n=o.hasField("name")?o.field("name"):"%%%%FIELDNAME",l=o.hasField("expression")?o.field("expression"):"";if("%%%%FIELDNAME"===n&&(f=!0),!n)throw new i(e,a.InvalidParameter,t);s.push({name:n,expression:K.create(l||n,{fieldsIndex:r.getFieldsIndex(),timeZone:r.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of r.fields)e[n.name.toLowerCase()]=1;for(const n of s)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of s)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of s)ee(t.expression,G,e);return o[0].groupby(s,[])}return X(o)}))},G.functions.getfeaturesetinfo=function(e,t){return G.standardFunctionAsync(e,t,(async(i,a,r)=>{if(m(r,1,1,e,t),!w(r[0]))return null;const s=await r[0].getFeatureSetInfo();return s?n.convertObjectToArcadeDictionary({layerId:s.layerId,layerName:s.layerName,itemId:s.itemId,serviceLayerUrl:s.serviceLayerUrl,webMapLayerId:s.webMapLayerId??null,webMapLayerTitle:s.webMapLayerTitle??null,className:null,objectClassId:null},g(e),!1,!1):null}))},G.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),G.functions.filterbysubtypecode=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),w(s[0])){const n=await s[0].load(),r=s[1];if(!Y(r))throw new i(e,a.InvalidParameter,t);if(n.subtypeField){const e=K.create(`${n.subtypeField}= ${s[1]}`,{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC});return new U({parentfeatureset:s[0],whereclause:e})}if(null===n.typeIdField||""===n.typeIdField)throw new i(e,a.FeatureSetDoesNotHaveSubtypes,t);const o=K.create(`${n.typeIdField}= ${s[1]}`,{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC});return new U({parentfeatureset:s[0],whereclause:o})}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"filterbysubtypecode",min:2,max:2}))}export{le as registerFunctions};
|
|
5
|
+
import{ArcadeDate as e}from"../ArcadeDate.js";import t from"../ArcadePortal.js";import n from"../Dictionary.js";import{ArcadeExecutionError as i,ExecutionErrorCodes as a}from"../executionError.js";import r from"../Feature.js";import{convertToFeatureSet as s,constructFeatureSetFromPortalItem as o,constructFeatureSet as l,constructFeatureSetFromRelationship as f,constructFeatureSetFromUrl as d,constructAssociationMetaDataFeatureSetFromUrl as u}from"../featureSetUtils.js";import c from"../ImmutableArray.js";import{D as m,k as p,j as y,p as w,f as h,h as I,K as g,g as F,o as D,J as T,e as x,n as b,m as E,i as A,t as N,$ as L,Q as S}from"../../chunks/languageUtils.js";import{getPortal as C}from"../portalUtils.js";import{SqlExpressionAdapted as Z,StringToCodeAdapted as $,FieldRename as v,AdaptedFeatureSet as P,OriginalField as j}from"../featureset/actions/Adapted.js";import U from"../featureset/actions/AttributeFilter.js";import M from"../featureset/actions/OrderBy.js";import R from"../featureset/actions/Top.js";import k from"../featureset/sources/Empty.js";import O from"../featureset/sources/FeatureLayerMemory.js";import z from"../featureset/support/OrderbyClause.js";import{cloneField as W}from"../featureset/support/shared.js";import{isSingleField as H}from"../featureset/support/sqlUtils.js";import{calculateStat as G}from"./fieldStats.js";import{isPromiseLike as _}from"../../core/promiseUtils.js";import K from"../../core/sql/WhereClause.js";import B from"../../layers/FeatureLayer.js";import q from"../../layers/support/Field.js";import Q from"../../portal/Portal.js";import{isString as V,isArray as J,isInteger as Y}from"../../support/guards.js";function X(e){if(1===e.length){if(J(e[0]))return G("distinct",e[0],-1);if(E(e[0]))return G("distinct",e[0].toArray(),-1)}return G("distinct",e,-1)}function ee(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 te(e,t,n=null){for(const i in e)if(i.toLowerCase()===t.toLowerCase())return e[i];return n}function ne(e){if(null===e)return null;const t={type:te(e,"type",""),name:te(e,"name","")};if("range"===t.type)t.range=te(e,"range",[]);else{t.codedValues=[];for(const n of te(e,"codedValues",[]))t.codedValues.push({name:te(n,"name",""),code:te(n,"code",null)})}return t}function ie(e){if(null===e)return null;const t={},n=te(e,"wkt");null!==n&&(t.wkt=n);const i=te(e,"wkid");return null!==i&&(t.wkid=i),t}function ae(e){if(null===e)return null;const t={hasZ:te(e,"hasz",!1),hasM:te(e,"hasm",!1)},n=te(e,"spatialreference");null!=n&&(t.spatialReference=ie(n));const i=te(e,"x",null);if(null!==i)return t.x=i,t.y=te(e,"y",null),t.hasZ&&(t.z=te(e,"z",null)),t.hasM&&(t.m=te(e,"m",null)),t;const a=te(e,"rings",null);if(null!==a)return t.rings=a,t;const r=te(e,"paths",null);if(null!==r)return t.paths=r,t;const s=te(e,"points",null);if(null!==s)return t.points=s,t;for(const o of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const n=te(e,o,null);null!==n&&(t[o]=n)}return t}function re(e,t){for(const n of t)if(n===e)return!0;return!1}function se(e){return!!e.layerDefinition&&(!!e.featureSet&&(!1!==re(e.layerDefinition.geometryType,["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])&&(!1!==J(e.layerDefinition.fields)&&!1!==J(e.featureSet.features))))}function oe(e){return"utc"===e?.toLowerCase()?"UTC":"unknown"===e?.toLowerCase()?"Unknown":e}function le(G){"async"===G.mode&&(G.functions.timezone=function(t,r){return G.standardFunctionAsync(t,r,(async(s,o,l)=>{if(m(l,1,2,t,r),p(l[0]))return"Unknown";if(y(l[0]))return"Unknown";if(w(l[0])){if(await l[0].load(),1===l.length||null===l[1])return l[0].datesInUnknownTimezone?oe("unknown"):oe(l[0].dateFieldsTimeZone);if(!(l[1]instanceof n)||!1===l[1].hasField("type"))throw new i(t,a.InvalidParameter,r);const e=l[1].field("type");if(!1===V(e))throw new i(t,a.InvalidParameter,r);switch(h(e).toLowerCase()){case"preferredtimezone":return oe(l[0].preferredTimeZone);case"editfieldsinfo":return oe(l[0].editFieldsInfo?.timeZone??null);case"timeinfo":return oe(l[0].timeInfo?.timeZone??null);case"field":if(l[1].hasField("fieldname")&&V(l[1].field("fieldname")))return oe(l[0].fieldTimeZone(h(l[1].field("fieldname"))))}throw new i(t,a.InvalidParameter,r)}const f=I(l[0],g(t));if(null===f)return null;const d=f.timeZone;return"system"===d?e.systemTimeZoneCanonicalName:"utc"===d.toLowerCase()?"UTC":"unknown"===d.toLowerCase()?"Unknown":d}))},G.functions.sqltimestamp=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{m(s,1,3,e,t);const o=s[0];if(F(o)){if(1===s.length)return o.toSQLWithKeyword();if(2===s.length)return o.changeTimeZone(h(s[1])).toSQLWithKeyword();throw new i(e,a.InvalidParameter,t)}if(y(o))return o.toSQLWithKeyword();if(w(o)){if(3!==s.length)throw new i(e,a.InvalidParameter,t);await o.load();const n=h(s[1]);if(y(s[2]))return s[2].toSQLWithKeyword();if(!1===F(s[2]))throw new i(e,a.InvalidParameter,t);const r=o.fieldTimeZone(n);return null==r?s[2].toSQLWithKeyword():s[2].changeTimeZone(r).toSQLWithKeyword()}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"sqltimestamp",min:2,max:4}),G.functions.featuresetbyid=function(e,t){return G.standardFunctionAsync(e,t,((n,r,s)=>{if(m(s,2,4,e,t),D(s[0])){const n=h(s[1]);let r=T(s[2],null);const o=x(T(s[3],!0));if(null===r&&(r=["*"]),!1===J(r))throw new i(e,a.InvalidParameter,t);return s[0].featureSetById(n,o,r)}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"featuresetbyid",min:2,max:4}),G.functions.getfeatureset=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,o)=>{if(m(o,1,2,e,t),b(o[0])){let t=T(o[1],"datasource");return null===t&&(t="datasource"),t=h(t).toLowerCase(),s(o[0].fullSchema(),t,e.lrucache,e.interceptor,e.spatialReference??null)}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"getfeatureset",min:1,max:2}),G.functions.featuresetbyportalitem=function(e,n){return G.standardFunctionAsync(e,n,((r,s,l)=>{if(m(l,2,5,e,n),null===l[0])throw new i(e,a.PortalRequired,n);if(l[0]instanceof t){const t=h(l[1]),r=h(l[2]);let s=T(l[3],null);const f=x(T(l[4],!0));if(null===s&&(s=["*"]),!1===J(s))throw new i(e,a.InvalidParameter,n);let d;return d=e.services?.portal?e.services.portal:Q.getDefault(),d=C(l[0],d),o(t,r,e.spatialReference??null,s,f,d,e.lrucache,e.interceptor)}if(!1===V(l[0]))throw new i(e,a.PortalRequired,n);const f=h(l[0]),d=h(l[1]);let u=T(l[2],null);const c=x(T(l[3],!0));if(null===u&&(u=["*"]),!1===J(u))throw new i(e,a.InvalidParameter,n);return o(f,d,e.spatialReference??null,u,c,e.services?.portal??Q.getDefault(),e.lrucache,e.interceptor)}))},G.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),G.functions.featuresetbyname=function(e,t){return G.standardFunctionAsync(e,t,((n,r,s)=>{if(m(s,2,4,e,t),D(s[0])){const n=h(s[1]);let r=T(s[2],null);const o=x(T(s[3],!0));if(null===r&&(r=["*"]),!1===J(r))throw new i(e,a.InvalidParameter,t);return s[0].featureSetByName(n,o,r)}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"featuresetbyname",min:2,max:4}),G.functions.featureset=function(e,t){return G.standardFunction(e,t,((r,s,o)=>{m(o,1,1,e,t);const l={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(V(o[0])){const e=JSON.parse(o[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(!(o[0]instanceof n))throw new i(e,a.InvalidParameter,t);{const n=JSON.parse(o[0].castToText(!0)),r=te(n,"layerdefinition");if(null!==r){l.layerDefinition.geometryType=te(r,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.globalIdField=te(r,"globalidfield",""),l.layerDefinition.objectIdField=te(r,"objectidfield",""),l.layerDefinition.typeIdField=te(r,"typeidfield",""),l.layerDefinition.hasZ=!0===te(r,"hasz",!1),l.layerDefinition.hasM=!0===te(r,"hasm",!1);const e=te(r,"spatialreference");e&&(l.layerDefinition.spatialReference=ie(e));const t=[];for(const n of te(r,"fields",[])){const e={name:te(n,"name",""),alias:te(n,"alias",""),type:te(n,"type",""),nullable:te(n,"nullable",!0),editable:te(n,"editable",!0),length:te(n,"length",null),domain:ne(te(n,"domain"))};t.push(e)}l.layerDefinition.fields=t;const i=te(n,"featureset");if(i){const e={};for(const n of t)e[n.name.toLowerCase()]=n.name;for(const t of te(i,"features",[])){const n={},i=te(t,"attributes",{});for(const t in i)n[e[t.toLowerCase()]]=i[t];l.featureSet.features.push({attributes:n,geometry:ae(te(t,"geometry"))})}}}else{l.layerDefinition.hasZ=!0===te(n,"hasz",!1),l.layerDefinition.hasM=!0===te(n,"hasm",!1),l.layerDefinition.geometryType=te(n,"geometrytype",""),l.featureSet.geometryType=l.layerDefinition.geometryType,l.layerDefinition.objectIdField=te(n,"objectidfieldname",""),l.layerDefinition.typeIdField=te(n,"typeidfieldname","");const r=te(n,"spatialreference");r&&(l.layerDefinition.spatialReference=ie(r));const s=[],o=te(n,"fields",null);if(!J(o))throw new i(e,a.InvalidParameter,t);for(const e of o){const t={name:te(e,"name",""),alias:te(e,"alias",""),type:te(e,"type",""),nullable:te(e,"nullable",!0),editable:te(e,"editable",!0),length:te(e,"length",null),domain:ne(te(e,"domain"))};s.push(t)}l.layerDefinition.fields=s;const f={};for(const e of s)f[e.name.toLowerCase()]=e.name;let d=te(n,"features",null);if(J(d))for(const e of d){const t={},n=te(e,"attributes",{});for(const e in n)t[f[e.toLowerCase()]]=n[e];l.featureSet.features.push({attributes:t,geometry:ae(te(e,"geometry",null))})}else d=null,l.featureSet.features=d}}}if(!1===se(l))throw new i(e,a.InvalidParameter,t);return l.layerDefinition.geometryType||(l.layerDefinition.geometryType="esriGeometryNull"),O.create(l,e.spatialReference)}))},G.signatures.push({name:"featureset",min:1,max:1}),G.functions.filter=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),J(s[0])||E(s[0])){const n=[];let r,o=s[0];if(o instanceof c&&(o=o.toArray()),!A(s[1]))throw new i(e,a.InvalidParameter,t);r=s[1].createFunction(e);for(const e of o){const t=r(e);_(t)?!0===await t&&n.push(e):!0===t&&n.push(e)}return n}if(w(s[0])){const t=await s[0].load(),n=K.create(s[1],{fieldsIndex:t.getFieldsIndex(),timeZone:t.dateFieldsTimeZoneDefaultUTC}),i=n.getVariables();if(i.length>0){const t={};for(const n of i)t[n]=G.evaluateIdentifier(e,{name:n});n.parameters=t}return new U({parentfeatureset:s[0],whereclause:n})}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"filter",min:2,max:2}),G.functions.orderby=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),w(s[0])){const e=new z(s[1]);return new M({parentfeatureset:s[0],orderbyclause:e})}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"orderby",min:2,max:2}),G.functions.top=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),w(s[0]))return new R({parentfeatureset:s[0],topnum:s[1]});if(J(s[0]))return N(s[1])>=s[0].length?s[0].slice():s[0].slice(0,N(s[1]));if(E(s[0]))return N(s[1])>=s[0].length()?s[0].slice():s[0].slice(0,N(s[1]));throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"top",min:2,max:2}),G.functions.first=function(e,t){return G.standardFunctionAsync(e,t,(async(n,i,a)=>{if(m(a,1,1,e,t),w(a[0])){const t=await a[0].first(n.abortSignal);if(null!==t){const n=r.createFromGraphicLikeObject(t.geometry,t.attributes,a[0],e.timeZone);return n._underlyingGraphic=t,n}return t}return J(a[0])?0===a[0].length?null:a[0][0]:E(a[0])?0===a[0].length()?null:a[0].get(0):null}))},G.signatures.push({name:"first",min:1,max:1}),G.functions.attachments=function(e,t){return G.standardFunctionAsync(e,t,(async(r,s,o)=>{m(o,1,2,e,t);const f={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(o.length>1)if(o[1]instanceof n){if(o[1].hasField("minsize")&&(f.minsize=N(o[1].field("minsize"))),o[1].hasField("metadata")&&(f.returnMetadata=x(o[1].field("metadata"))),o[1].hasField("maxsize")&&(f.maxsize=N(o[1].field("maxsize"))),o[1].hasField("types")){const e=L(o[1].field("types"),!1);e.length>0&&(f.types=e)}}else if(null!==o[1])throw new i(e,a.InvalidParameter,t);if(b(o[0])){let t=o[0]._layer;return t instanceof B&&(t=l(t,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===t?[]:!1===w(t)?[]:(await t.load(),t.queryAttachments(o[0].field(t.objectIdField),f.minsize,f.maxsize,f.types,f.returnMetadata))}if(null===o[0])return[];throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"attachments",min:1,max:2}),G.functions.featuresetbyrelationshipname=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{m(s,2,4,e,t);const o=s[0],u=h(s[1]);let c=T(s[2],null);const p=x(T(s[3],!0));if(null===c&&(c=["*"]),!1===J(c))throw new i(e,a.InvalidParameter,t);if(null===s[0])return null;if(!b(s[0]))throw new i(e,a.InvalidParameter,t);let y=o._layer;if(y instanceof B&&(y=l(y,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===y)return null;if(!1===w(y))return null;y=await y.load();const I=y.relationshipMetaData().filter((e=>e.name===u));if(0===I.length)return null;if(void 0!==I[0].relationshipTableId&&null!==I[0].relationshipTableId&&I[0].relationshipTableId>-1)return f(y,I[0],o.field(y.objectIdField),y.spatialReference,c,p,e.lrucache,e.interceptor);let g=y.serviceUrl();if(!g)return null;g="/"===g.charAt(g.length-1)?g+I[0].relatedTableId.toString():g+"/"+I[0].relatedTableId.toString();const F=await d(g,y.spatialReference,c,p,e.lrucache,e.interceptor);await F.load();let D=F.relationshipMetaData();if(D=D.filter((e=>e.id===I[0].id)),!1===o.hasField(I[0].keyField)||null===o.field(I[0].keyField)){const e=await y.getFeatureByObjectId(o.field(y.objectIdField),[I[0].keyField]);if(e){const t=K.create(D[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return t.parameters={id:e.attributes[I[0].keyField]},F.filter(t)}return new k({parentfeatureset:F})}const E=K.create(D[0].keyField+"= @id",{fieldsIndex:F.getFieldsIndex(),timeZone:F.dateFieldsTimeZoneDefaultUTC});return E.parameters={id:o.field(I[0].keyField)},F.filter(E)}))},G.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),G.functions.featuresetbyassociation=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{m(s,2,3,e,t);const o=s[0],f=h(T(s[1],"")).toLowerCase(),d=V(s[2])?h(s[2]):null;if(null===s[0])return null;if(!b(s[0]))throw new i(e,a.InvalidParameter,t);let c=o._layer;if(c instanceof B&&(c=l(c,e.spatialReference,["*"],!0,e.lrucache,e.interceptor)),null===c)return null;if(!1===w(c))return null;await c.load();const p=c.serviceUrl(),y=await u(p,e.spatialReference);let I=null,g=null,F=!1;if(null!==d&&""!==d&&void 0!==d){for(const e of y.terminals)e.terminalName===d&&(g=e.terminalId);null===g&&(F=!0)}const D=y.associations.getFieldsIndex(),x=D.get("TOGLOBALID").name,E=D.get("FROMGLOBALID").name,A=D.get("TOTERMINALID").name,N=D.get("FROMTERMINALID").name,L=D.get("FROMNETWORKSOURCEID").name,C=D.get("TONETWORKSOURCEID").name,U=D.get("ASSOCIATIONTYPE").name,M=D.get("ISCONTENTVISIBLE").name,R=D.get("OBJECTID").name;for(const e of c.fields)if("global-id"===e.type){I=o.field(e.name);break}let k=null,O=new Z(new q({name:"percentalong",alias:"percentalong",type:"double"}),K.create("0",{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC})),z=new Z(new q({name:"side",alias:"side",type:"string"}),K.create("''",{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));const H="globalid",G="globalId",_={};for(const e in y.lkp)_[e]=y.lkp[e].sourceId;const Q=new $(new q({name:"classname",alias:"classname",type:"string"}),null,_);let J="";switch(f){case"midspan":{J=`((${x}='${I}') OR ( ${E}='${I}')) AND (${U} IN (5))`,Q.codefield=K.create(`CASE WHEN (${x}='${I}') THEN ${L} ELSE ${C} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC});const e=W(P.findField(y.associations.fields,E));e.name=H,e.alias=H,k=new Z(e,K.create(`CASE WHEN (${E}='${I}') THEN ${x} ELSE ${E} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC})),O=y.unVersion>=4?new j(P.findField(y.associations.fields,D.get("PERCENTALONG").name)):new Z(new q({name:"percentalong",alias:"percentalong",type:"double"}),K.create("0",{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));break}case"junctionedge":{J=`((${x}='${I}') OR ( ${E}='${I}')) AND (${U} IN (4,6))`,Q.codefield=K.create(`CASE WHEN (${x}='${I}') THEN ${L} ELSE ${C} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC});const e=W(P.findField(y.associations.fields,E));e.name=H,e.alias=H,k=new Z(e,K.create(`CASE WHEN (${E}='${I}') THEN ${x} ELSE ${E} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC})),z=new Z(new q({name:"side",alias:"side",type:"string"}),K.create(`CASE WHEN (${U}=4) THEN 'from' ELSE 'to' END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));break}case"connected":{let e=`${x}='@T'`,t=`${E}='@T'`;null!==g&&(e+=` AND ${A}=@A`,t+=` AND ${N}=@A`),J="(("+e+") OR ("+t+"))",J=S(J,"@T",I??""),e=S(e,"@T",I??""),null!==g&&(e=S(e,"@A",g.toString()),J=S(J,"@A",g.toString())),Q.codefield=K.create("CASE WHEN "+e+` THEN ${L} ELSE ${C} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC});const n=W(P.findField(y.associations.fields,E));n.name=H,n.alias=H,k=new Z(n,K.create("CASE WHEN "+e+` THEN ${E} ELSE ${x} END`,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}));break}case"container":J=`${x}='${I}' AND ${U} = 2`,null!==g&&(J+=` AND ${A} = `+g.toString()),Q.codefield=L,J="( "+J+" )",k=new v(P.findField(y.associations.fields,E),H,H);break;case"content":J=`(${E}='${I}' AND ${U} = 2)`,null!==g&&(J+=` AND ${N} = `+g.toString()),Q.codefield=C,J="( "+J+" )",k=new v(P.findField(y.associations.fields,x),H,H);break;case"structure":J=`(${x}='${I}' AND ${U} = 3)`,null!==g&&(J+=` AND ${A} = `+g.toString()),Q.codefield=L,J="( "+J+" )",k=new v(P.findField(y.associations.fields,E),H,G);break;case"attached":J=`(${E}='${I}' AND ${U} = 3)`,null!==g&&(J+=` AND ${N} = `+g.toString()),Q.codefield=C,J="( "+J+" )",k=new v(P.findField(y.associations.fields,x),H,G);break;default:throw new i(e,a.InvalidParameter,t)}F&&(J="1 <> 1");return new P({parentfeatureset:y.associations,adaptedFields:[new j(P.findField(y.associations.fields,R)),new j(P.findField(y.associations.fields,M)),k,z,Q,O],extraFilter:J?K.create(J,{fieldsIndex:y.associations.getFieldsIndex(),timeZone:y.associations.dateFieldsTimeZoneDefaultUTC}):null})}))},G.signatures.push({name:"featuresetbyassociation",min:2,max:6}),G.functions.groupby=function(e,t){return G.standardFunctionAsync(e,t,(async(r,s,o)=>{if(m(o,3,3,e,t),!w(o[0]))throw new i(e,a.InvalidParameter,t);const l=await o[0].load(),f=[],d=[];let u=!1,c=[];if(V(o[1]))c.push(o[1]);else if(o[1]instanceof n)c.push(o[1]);else if(J(o[1]))c=o[1];else{if(!E(o[1]))throw new i(e,a.InvalidParameter,t);c=o[1].toArray()}for(const m of c)if(V(m)){const e=K.create(h(m),{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC}),t=!0===H(e)?h(m):"%%%%FIELDNAME";f.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(u=!0)}else{if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"%%%%FIELDNAME",r=m.hasField("expression")?m.field("expression"):"";if("%%%%FIELDNAME"===n&&(u=!0),!n)throw new i(e,a.InvalidParameter,t);f.push({name:n,expression:K.create(r||n,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(c=[],V(o[2]))c.push(o[2]);else if(J(o[2]))c=o[2];else if(E(o[2]))c=o[2].toArray();else{if(!(o[2]instanceof n))throw new i(e,a.InvalidParameter,t);c.push(o[2])}for(const m of c){if(!(m instanceof n))throw new i(e,a.InvalidParameter,t);{const n=m.hasField("name")?m.field("name"):"",r=m.hasField("statistic")?m.field("statistic"):"",s=m.hasField("expression")?m.field("expression"):"";if(!n||!r||!s)throw new i(e,a.InvalidParameter,t);d.push({name:n,statistic:r.toLowerCase(),expression:K.create(s,{fieldsIndex:l.getFieldsIndex(),timeZone:l.dateFieldsTimeZoneDefaultUTC})})}}if(u){const e={};for(const n of l.fields)e[n.name.toLowerCase()]=1;for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of d)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of f)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of f)ee(t.expression,G,e);for(const t of d)ee(t.expression,G,e);return o[0].groupby(f,d)}))},G.signatures.push({name:"groupby",min:3,max:3}),G.functions.distinct=function(e,t){return G.standardFunctionAsync(e,t,(async(r,s,o)=>{if(w(o[0])){m(o,2,2,e,t);const r=await o[0].load(),s=[];let l=[];if(V(o[1]))l.push(o[1]);else if(o[1]instanceof n)l.push(o[1]);else if(J(o[1]))l=o[1];else{if(!E(o[1]))throw new i(e,a.InvalidParameter,t);l=o[1].toArray()}let f=!1;for(const o of l)if(V(o)){const e=K.create(h(o),{fieldsIndex:r.getFieldsIndex(),timeZone:r.dateFieldsTimeZoneDefaultUTC}),t=!0===H(e)?h(o):"%%%%FIELDNAME";s.push({name:t,expression:e}),"%%%%FIELDNAME"===t&&(f=!0)}else{if(!(o instanceof n))throw new i(e,a.InvalidParameter,t);{const n=o.hasField("name")?o.field("name"):"%%%%FIELDNAME",l=o.hasField("expression")?o.field("expression"):"";if("%%%%FIELDNAME"===n&&(f=!0),!n)throw new i(e,a.InvalidParameter,t);s.push({name:n,expression:K.create(l||n,{fieldsIndex:r.getFieldsIndex(),timeZone:r.dateFieldsTimeZoneDefaultUTC})})}}if(f){const e={};for(const n of r.fields)e[n.name.toLowerCase()]=1;for(const n of s)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let t=0;for(const n of s)if("%%%%FIELDNAME"===n.name){for(;1===e["field_"+t.toString()];)t++;e["field_"+t.toString()]=1,n.name="FIELD_"+t.toString()}}for(const t of s)ee(t.expression,G,e);return o[0].groupby(s,[])}return X(o)}))},G.functions.getfeaturesetinfo=function(e,t){return G.standardFunctionAsync(e,t,(async(i,a,r)=>{if(m(r,1,1,e,t),!w(r[0]))return null;const s=await r[0].getFeatureSetInfo();return s?n.convertObjectToArcadeDictionary({layerId:s.layerId,layerName:s.layerName,itemId:s.itemId,serviceLayerUrl:s.serviceLayerUrl,webMapLayerId:s.webMapLayerId??null,webMapLayerTitle:s.webMapLayerTitle??null,className:null,objectClassId:null},g(e),!1,!1):null}))},G.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),G.functions.filterbysubtypecode=function(e,t){return G.standardFunctionAsync(e,t,(async(n,r,s)=>{if(m(s,2,2,e,t),w(s[0])){const n=await s[0].load(),r=s[1];if(!Y(r))throw new i(e,a.InvalidParameter,t);if(n.subtypeField){const e=K.create(`${n.subtypeField}= ${s[1]}`,{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC});return new U({parentfeatureset:s[0],whereclause:e})}if(null===n.typeIdField||""===n.typeIdField)throw new i(e,a.FeatureSetDoesNotHaveSubtypes,t);const o=K.create(`${n.typeIdField}= ${s[1]}`,{fieldsIndex:n.getFieldsIndex(),timeZone:n.dateFieldsTimeZoneDefaultUTC});return new U({parentfeatureset:s[0],whereclause:o})}throw new i(e,a.InvalidParameter,t)}))},G.signatures.push({name:"filterbysubtypecode",min:2,max:2}))}export{le 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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ArcadeExecutionError as e,ExecutionErrorCodes as
|
|
5
|
+
import{ArcadeExecutionError as e,ExecutionErrorCodes as t}from"../executionError.js";import{shapeExtent as n}from"../kernel.js";import{E as r,D as s,l as i,f as a,p 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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import n from"../ArcadePortal.js";import t from"../Dictionary.js";import{ArcadeExecutionError as e,ExecutionErrorCodes as r}from"../executionError.js";import{cloneGeometry as i,convertSquareUnitsToCode as a,convertLinearUnitsToCode as o}from"../kernel.js";import{E as l,D as s,g as u,k as c,j as f,f as d,m as w,u as m,p as h,J as p,F as y,G as g,H as v,t as P,e as I,K as A}from"../../chunks/languageUtils.js";import{getPortal as F}from"../portalUtils.js";import{centroidPolyline as j,centroidMultiPoint as R,getMetersPerVerticalUnitForSR as b,segmentLength3d as N}from"./centroid.js";import{measureToCoordinate as O,pointToCoordinate as x,distanceToCoordinate as S}from"./measures.js";import{getMetersPerUnitForSR as D}from"../../core/unitUtils.js";import T from"../../geometry/Extent.js";import k from"../../geometry/Geometry.js";import{disjoint as E,intersects as J,touches as L,crosses as M,within as Z,contains as C,overlaps as U,equals as z,relate as W,intersect as q,union as G,difference as H,symmetricDifference as K,clip as V,cut as B,planarArea as Q,geodesicArea as X,planarLength as Y,geodesicLength as $,distance as _,densify as nn,geodesicDensify as tn,generalize as en,buffer as rn,geodesicBuffer as an,offset as on,rotate as ln,simplify as sn,isSimple as un,convexHull as cn,nearestCoordinate as fn,nearestVertex as dn}from"../../geometry/geometryEngineAsync.js";import wn from"../../geometry/Multipoint.js";import mn from"../../geometry/Point.js";import hn from"../../geometry/Polygon.js";import pn from"../../geometry/Polyline.js";import{fromJSON as yn}from"../../geometry/support/jsonUtils.js";import gn from"../../portal/Portal.js";import{lookupUser as vn}from"../../portal/support/utils.js";import{isArray as Pn,isNumber as In}from"../../support/guards.js";function An(n,t,i){if(s(n,2,2,t,i),n[0]instanceof k&&n[1]instanceof k);else if(n[0]instanceof k&&null===n[1]);else if(n[1]instanceof k&&null===n[0]);else if(null!==n[0]||null!==n[1])throw new e(t,r.InvalidParameter,i)}async function Fn(n,t){if("polygon"!==n.type&&"polyline"!==n.type&&"extent"!==n.type)return 0;let e=1;if(n.spatialReference.vcsWkid||n.spatialReference.latestVcsWkid){e=b(n.spatialReference)/D(n.spatialReference)}let r=0;if("polyline"===n.type)for(const a of n.paths)for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],e);else if("polygon"===n.type)for(const a of n.rings){for(let n=1;n<a.length;n++)r+=N(a[n],a[n-1],e);(a[0][0]!==a[a.length-1][0]||a[0][1]!==a[a.length-1][1]||void 0!==a[0][2]&&a[0][2]!==a[a.length-1][2])&&(r+=N(a[0],a[a.length-1],e))}else"extent"===n.type&&(r+=2*N([n.xmin,n.ymin,0],[n.xmax,n.ymin,0],e),r+=2*N([n.xmin,n.ymin,0],[n.xmin,n.ymax,0],e),r*=2,r+=4*Math.abs(p(n.zmax,0)*e-p(n.zmin,0)*e));const i=new pn({hasZ:!1,hasM:!1,spatialReference:n.spatialReference,paths:[[[0,0],[0,r]]]});return Y(i,t)}function jn(b){"async"===b.mode&&(b.functions.disjoint=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null===i[0]||null===i[1]||E(i[0],i[1]))))},b.functions.intersects=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null!==i[0]&&null!==i[1]&&J(i[0],i[1]))))},b.functions.touches=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null!==i[0]&&null!==i[1]&&L(i[0],i[1]))))},b.functions.crosses=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null!==i[0]&&null!==i[1]&&M(i[0],i[1]))))},b.functions.within=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null!==i[0]&&null!==i[1]&&Z(i[0],i[1]))))},b.functions.contains=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null!==i[0]&&null!==i[1]&&C(i[0],i[1]))))},b.functions.overlaps=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null!==i[0]&&null!==i[1]&&U(i[0],i[1]))))},b.functions.equals=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(s(i,2,2,n,t),i[0]===i[1]||(i[0]instanceof k&&i[1]instanceof k?z(i[0],i[1]):(u(i[0])&&u(i[1])||!!(c(i[0])&&c(i[1])||f(i[0])&&f(i[1])))&&i[0].equals(i[1])))))},b.functions.relate=function(n,t){return b.standardFunctionAsync(n,t,((i,a,o)=>{if(o=l(o),s(o,3,3,n,t),o[0]instanceof k&&o[1]instanceof k)return W(o[0],o[1],d(o[2]));if(o[0]instanceof k&&null===o[1])return!1;if(o[1]instanceof k&&null===o[0])return!1;if(null===o[0]&&null===o[1])return!1;throw new e(n,r.InvalidParameter,t)}))},b.functions.intersection=function(n,t){return b.standardFunctionAsync(n,t,((e,r,i)=>(An(i=l(i),n,t),null===i[0]||null===i[1]?null:q(i[0],i[1]))))},b.functions.union=function(n,t){return b.standardFunctionAsync(n,t,((a,o,s)=>{const u=[];if(0===(s=l(s)).length)throw new e(n,r.WrongNumberOfParameters,t);if(1===s.length)if(Pn(s[0])){const i=l(s[0]);for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof k))throw new e(n,r.InvalidParameter,t);u.push(i[a])}}else{if(!w(s[0])){if(s[0]instanceof k)return m(i(s[0]),n.spatialReference);if(null===s[0])return null;throw new e(n,r.InvalidParameter,t)}{const i=l(s[0].toArray());for(let a=0;a<i.length;a++)if(null!==i[a]){if(!(i[a]instanceof k))throw new e(n,r.InvalidParameter,t);u.push(i[a])}}}else for(let i=0;i<s.length;i++)if(null!==s[i]){if(!(s[i]instanceof k))throw new e(n,r.InvalidParameter,t);u.push(s[i])}return 0===u.length?null:G(u)}))},b.functions.difference=function(n,t){return b.standardFunctionAsync(n,t,((e,r,a)=>(An(a=l(a),n,t),null===a[0]?null:null===a[1]?i(a[0]):H(a[0],a[1]))))},b.functions.symmetricdifference=function(n,t){return b.standardFunctionAsync(n,t,((e,r,a)=>(An(a=l(a),n,t),null===a[0]&&null===a[1]?null:null===a[0]?i(a[1]):null===a[1]?i(a[0]):K(a[0],a[1]))))},b.functions.clip=function(n,t){return b.standardFunctionAsync(n,t,((i,a,o)=>{if(o=l(o),s(o,2,2,n,t),!(o[1]instanceof T)&&null!==o[1])throw new e(n,r.InvalidParameter,t);if(null===o[0])return null;if(!(o[0]instanceof k))throw new e(n,r.InvalidParameter,t);return null===o[1]?null:V(o[0],o[1])}))},b.functions.cut=function(n,t){return b.standardFunctionAsync(n,t,((a,o,u)=>{if(u=l(u),s(u,2,2,n,t),!(u[1]instanceof pn)&&null!==u[1])throw new e(n,r.InvalidParameter,t);if(null===u[0])return[];if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);return null===u[1]?[i(u[0])]:B(u[0],u[1])}))},b.functions.area=function(n,t){return b.standardFunctionAsync(n,t,(async(i,o,u)=>{if(s(u,1,2,n,t),null===(u=l(u))[0])return 0;if(h(u[0])){const i=await u[0].sumArea(a(p(u[1],-1)),!1,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return i}if(Pn(u[0])||w(u[0])){const t=y(u[0],n.spatialReference);return null===t?0:Q(t,a(p(u[1],-1)))}if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);return Q(u[0],a(p(u[1],-1)))}))},b.functions.areageodetic=function(n,t){return b.standardFunctionAsync(n,t,(async(i,o,u)=>{if(s(u,1,2,n,t),null===(u=l(u))[0])return 0;if(h(u[0])){const i=await u[0].sumArea(a(p(u[1],-1)),!0,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return i}if(Pn(u[0])||w(u[0])){const t=y(u[0],n.spatialReference);return null===t?0:X(t,a(p(u[1],-1)))}if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);return X(u[0],a(p(u[1],-1)))}))},b.functions.length=function(n,t){return b.standardFunctionAsync(n,t,(async(i,a,u)=>{if(s(u,1,2,n,t),null===(u=l(u))[0])return 0;if(h(u[0])){const i=await u[0].sumLength(o(p(u[1],-1)),!1,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return i}if(Pn(u[0])||w(u[0])){const t=g(u[0],n.spatialReference);return null===t?0:Y(t,o(p(u[1],-1)))}if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);return Y(u[0],o(p(u[1],-1)))}))},b.functions.length3d=function(n,t){return b.standardFunctionAsync(n,t,((i,a,u)=>{if(s(u,1,2,n,t),null===(u=l(u))[0])return 0;if(Pn(u[0])||w(u[0])){const t=g(u[0],n.spatialReference);return null===t?0:!0===t.hasZ?Fn(t,o(p(u[1],-1))):Y(t,o(p(u[1],-1)))}if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);return!0===u[0].hasZ?Fn(u[0],o(p(u[1],-1))):Y(u[0],o(p(u[1],-1)))}))},b.functions.lengthgeodetic=function(n,t){return b.standardFunctionAsync(n,t,(async(i,a,u)=>{if(s(u,1,2,n,t),null===(u=l(u))[0])return 0;if(h(u[0])){const i=await u[0].sumLength(o(p(u[1],-1)),!0,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return i}if(Pn(u[0])||w(u[0])){const t=g(u[0],n.spatialReference);return null===t?0:$(t,o(p(u[1],-1)))}if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);return $(u[0],o(p(u[1],-1)))}))},b.functions.distance=function(n,t){return b.standardFunctionAsync(n,t,((i,a,u)=>{u=l(u),s(u,2,3,n,t);let c=u[0];(Pn(u[0])||w(u[0]))&&(c=v(u[0],n.spatialReference));let f=u[1];if((Pn(u[1])||w(u[1]))&&(f=v(u[1],n.spatialReference)),!(c instanceof k))throw new e(n,r.InvalidParameter,t);if(!(f instanceof k))throw new e(n,r.InvalidParameter,t);return _(c,f,o(p(u[2],-1)))}))},b.functions.distancegeodetic=function(n,t){return b.standardFunctionAsync(n,t,((i,a,u)=>{u=l(u),s(u,2,3,n,t);const c=u[0],f=u[1];if(!(c instanceof mn))throw new e(n,r.InvalidParameter,t);if(!(f instanceof mn))throw new e(n,r.InvalidParameter,t);const d=new pn({paths:[],spatialReference:c.spatialReference});return d.addPath([c,f]),$(d,o(p(u[2],-1)))}))},b.functions.densify=function(n,t){return b.standardFunctionAsync(n,t,((i,a,u)=>{if(u=l(u),s(u,2,3,n,t),null===u[0])return null;if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);const c=P(u[1]);if(isNaN(c))throw new e(n,r.InvalidParameter,t);if(c<=0)throw new e(n,r.InvalidParameter,t);return u[0]instanceof hn||u[0]instanceof pn?nn(u[0],c,o(p(u[2],-1))):u[0]instanceof T?nn(hn.fromExtent(u[0]),c,o(p(u[2],-1))):u[0]}))},b.functions.densifygeodetic=function(n,t){return b.standardFunctionAsync(n,t,((i,a,u)=>{if(u=l(u),s(u,2,3,n,t),null===u[0])return null;if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);const c=P(u[1]);if(isNaN(c))throw new e(n,r.InvalidParameter,t);if(c<=0)throw new e(n,r.InvalidParameter,t);return u[0]instanceof hn||u[0]instanceof pn?tn(u[0],c,o(p(u[2],-1))):u[0]instanceof T?tn(hn.fromExtent(u[0]),c,o(p(u[2],-1))):u[0]}))},b.functions.generalize=function(n,t){return b.standardFunctionAsync(n,t,((i,a,u)=>{if(u=l(u),s(u,2,4,n,t),null===u[0])return null;if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);const c=P(u[1]);if(isNaN(c))throw new e(n,r.InvalidParameter,t);return en(u[0],c,I(p(u[2],!0)),o(p(u[3],-1)))}))},b.functions.buffer=function(n,t){return b.standardFunctionAsync(n,t,((a,u,c)=>{if(c=l(c),s(c,2,3,n,t),null===c[0])return null;if(!(c[0]instanceof k))throw new e(n,r.InvalidParameter,t);const f=P(c[1]);if(isNaN(f))throw new e(n,r.InvalidParameter,t);return 0===f?i(c[0]):rn(c[0],f,o(p(c[2],-1)))}))},b.functions.buffergeodetic=function(n,t){return b.standardFunctionAsync(n,t,((a,u,c)=>{if(c=l(c),s(c,2,3,n,t),null===c[0])return null;if(!(c[0]instanceof k))throw new e(n,r.InvalidParameter,t);const f=P(c[1]);if(isNaN(f))throw new e(n,r.InvalidParameter,t);return 0===f?i(c[0]):an(c[0],f,o(p(c[2],-1)))}))},b.functions.offset=function(n,t){return b.standardFunctionAsync(n,t,((i,a,u)=>{if(u=l(u),s(u,2,6,n,t),null===u[0])return null;if(!(u[0]instanceof hn||u[0]instanceof pn))throw new e(n,r.InvalidParameter,t);const c=P(u[1]);if(isNaN(c))throw new e(n,r.InvalidParameter,t);const f=P(p(u[4],10));if(isNaN(f))throw new e(n,r.InvalidParameter,t);const w=P(p(u[5],0));if(isNaN(w))throw new e(n,r.InvalidParameter,t);return on(u[0],c,o(p(u[2],-1)),d(p(u[3],"round")).toLowerCase(),f,w)}))},b.functions.rotate=function(n,t){return b.standardFunctionAsync(n,t,((i,a,o)=>{if(o=l(o),s(o,2,3,n,t),null===o[0])return null;if(!(o[0]instanceof k))throw new e(n,r.InvalidParameter,t);const u=o[0]instanceof T?hn.fromExtent(o[0]):o[0],c=P(o[1]);if(isNaN(c))throw new e(n,r.InvalidParameter,t);const f=p(o[2],null);if(null===f)return ln(u,c);if(f instanceof mn)return ln(u,c,f);throw new e(n,r.InvalidParameter,t)}))},b.functions.centroid=function(n,t){return b.standardFunctionAsync(n,t,((a,o,u)=>{if(u=l(u),s(u,1,1,n,t),null===u[0])return null;let c=u[0];if((Pn(u[0])||w(u[0]))&&(c=v(u[0],n.spatialReference)),null===c)return null;if(!(c instanceof k))throw new e(n,r.InvalidParameter,t);return c instanceof mn?m(i(c),n.spatialReference):c instanceof hn?c.centroid:c instanceof pn?j(c):c instanceof wn?R(c):c instanceof T?c.center:null}))},b.functions.measuretocoordinate=function(n,i){return b.standardFunctionAsync(n,i,((a,o,u)=>{if(u=l(u),s(u,2,2,n,i),null===u[0])return null;let c=u[0];if((Pn(u[0])||w(u[0]))&&(c=g(u[0],n.spatialReference)),null===c)return null;if(!(c instanceof k))throw new e(n,r.InvalidParameter,i);if(!(c instanceof pn))throw new e(n,r.InvalidParameter,i);if(In(!1===u[1]))throw new e(n,r.InvalidParameter,i);const f=O(c,u[1]);return f?t.convertObjectToArcadeDictionary(f,A(n),!1,!0):null}))},b.functions.pointtocoordinate=function(n,i){return b.standardFunctionAsync(n,i,((a,o,u)=>{if(u=l(u),s(u,2,2,n,i),null===u[0])return null;let c=u[0];if((Pn(u[0])||w(u[0]))&&(c=g(u[0],n.spatialReference)),null===c)return null;if(!(c instanceof k))throw new e(n,r.InvalidParameter,i);if(!(c instanceof pn))throw new e(n,r.InvalidParameter,i);const f=u[1];if(null===f)return null;if(!(f instanceof mn))throw new e(n,r.InvalidParameter,i);if(In(!1===u[1]))throw new e(n,r.InvalidParameter,i);const d=x(c,f);return d?t.convertObjectToArcadeDictionary(d,A(n),!1,!0):null}))},b.functions.distancetocoordinate=function(n,i){return b.standardFunctionAsync(n,i,((a,o,u)=>{if(u=l(u),s(u,2,2,n,i),null===u[0])return null;let c=u[0];if((Pn(u[0])||w(u[0]))&&(c=g(u[0],n.spatialReference)),null===c)return null;if(!(c instanceof k))throw new e(n,r.InvalidParameter,i);if(!(c instanceof pn))throw new e(n,r.InvalidParameter,i);if(In(!1===u[1]))throw new e(n,r.InvalidParameter,i);const f=S(c,u[1]);return f?t.convertObjectToArcadeDictionary(f,A(n),!1,!0):null}))},b.functions.multiparttosinglepart=function(n,t){return b.standardFunctionAsync(n,t,(async(a,o,u)=>{if(u=l(u),s(u,1,1,n,t),null===u[0])return null;if(!(u[0]instanceof k))throw new e(n,r.InvalidParameter,t);if(u[0]instanceof mn)return[m(i(u[0]),n.spatialReference)];if(u[0]instanceof T)return[m(i(u[0]),n.spatialReference)];const c=await sn(u[0]);if(c instanceof hn){const n=[],t=[];for(let e=0;e<c.rings.length;e++)if(c.isClockwise(c.rings[e])){const t=yn({rings:[c.rings[e]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(t)}else t.push({ring:c.rings[e],pt:c.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(c instanceof pn){const n=[];for(let t=0;t<c.paths.length;t++){const e=yn({paths:[c.paths[t]],hasZ:!0===c.hasZ,hasM:!0===c.hasM,spatialReference:c.spatialReference.toJSON()});n.push(e)}return n}if(u[0]instanceof wn){const t=[],e=m(i(u[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)t.push(e.getPoint(n));return t}return null}))},b.functions.issimple=function(n,t){return b.standardFunctionAsync(n,t,((i,a,o)=>{if(o=l(o),s(o,1,1,n,t),null===o[0])return!0;if(!(o[0]instanceof k))throw new e(n,r.InvalidParameter,t);return un(o[0])}))},b.functions.simplify=function(n,t){return b.standardFunctionAsync(n,t,((i,a,o)=>{if(o=l(o),s(o,1,1,n,t),null===o[0])return null;if(!(o[0]instanceof k))throw new e(n,r.InvalidParameter,t);return sn(o[0])}))},b.functions.convexhull=function(n,t){return b.standardFunctionAsync(n,t,((i,a,o)=>{if(o=l(o),s(o,1,1,n,t),null===o[0])return null;if(!(o[0]instanceof k))throw new e(n,r.InvalidParameter,t);return cn(o[0])}))},b.functions.getuser=function(i,a){return b.standardFunctionAsync(i,a,(async(o,l,u)=>{s(u,0,2,i,a);let c=p(u[1],""),f=!0===c;if(c=!0===c||!1===c?"":d(c),0===u.length||u[0]instanceof n){let n;n=i.services?.portal?i.services.portal:gn.getDefault(),u.length>0&&(n=F(u[0],n));const e=await vn(n,c,f);if(e){const n=JSON.parse(JSON.stringify(e));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,A(i))}return null}let w=null;if(h(u[0])&&(w=u[0]),w){if(f=!1,c)return null;await w.load();const e=await w.getOwningSystemUrl();if(!e){if(!c){const n=await w.getIdentityUser();return n?t.convertObjectToArcadeDictionary({username:n},A(i)):null}return null}let r;r=i.services?.portal?i.services.portal:gn.getDefault(),r=F(new n(e),r);const a=await vn(r,c,f);if(a){const n=JSON.parse(JSON.stringify(a));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,A(i))}return null}throw new e(i,r.InvalidParameter,a)}))},b.functions.nearestcoordinate=function(n,i){return b.standardFunctionAsync(n,i,(async(a,o,u)=>{if(u=l(u),s(u,2,2,n,i),!(u[0]instanceof k||null===u[0]))throw new e(n,r.InvalidParameter,i);if(!(u[1]instanceof mn||null===u[1]))throw new e(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const c=await fn(u[0],u[1]);return null===c?null:t.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance,sideOfLine:0===c.distance?"straddle":c.isRightSide?"right":"left"},A(n),!1,!0)}))},b.functions.nearestvertex=function(n,i){return b.standardFunctionAsync(n,i,(async(a,o,u)=>{if(u=l(u),s(u,2,2,n,i),!(u[0]instanceof k||null===u[0]))throw new e(n,r.InvalidParameter,i);if(!(u[1]instanceof mn||null===u[1]))throw new e(n,r.InvalidParameter,i);if(null===u[0]||null===u[1])return null;const c=await dn(u[0],u[1]);return null===c?null:t.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance,sideOfLine:0===c.distance?"straddle":c.isRightSide?"right":"left"},A(n),!1,!0)}))})}export{jn as registerFunctions};
|
|
5
|
+
import n from"../ArcadePortal.js";import t from"../Dictionary.js";import{ArcadeExecutionError as e,ExecutionErrorCodes as r}from"../executionError.js";import{cloneGeometry as a}from"../kernel.js";import{E as i,D as o,g as s,k as c,j as l,f as u,m as f,u as d,p as w,F as m,G as y,H as h,t as p,e as g,J as N,K as S}from"../../chunks/languageUtils.js";import{getPortal as O}from"../portalUtils.js";import{commonRelationsCheck as v,planarLength3D as J,measureToCoordinateFunc as P,pointToCoordinateFunc as A,distanceToCoordinateFunc as I}from"../geometry/functions.js";import{invokeRemoteGeometryOp as F}from"../geometry/operatorsWorkerConnection.js";import j from"../../geometry/Extent.js";import b from"../../geometry/Geometry.js";import R from"../../geometry/Multipoint.js";import x from"../../geometry/Point.js";import D from"../../geometry/Polygon.js";import L from"../../geometry/Polyline.js";import{fromJSON as C}from"../../geometry/support/jsonUtils.js";import k from"../../portal/Portal.js";import{lookupUser as E}from"../../portal/support/utils.js";import{isArray as U}from"../../support/guards.js";function M(n){if(null==n)return n;switch(typeof n){case"string":case"number":return n;default:throw new e(null,r.InvalidParameter,null)}}function T(T){"async"===T.mode&&(T.functions.disjoint=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(a=i(a),v(a,n,t),null===a[0]||null===a[1]||F("disjoint",[a[0].toJSON(),a[1].toJSON()]))))},T.functions.intersects=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(a=i(a),v(a,n,t),null!==a[0]&&null!==a[1]&&F("intersects",[a[0].toJSON(),a[1].toJSON()]))))},T.functions.touches=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(a=i(a),v(a,n,t),null!==a[0]&&null!==a[1]&&F("touches",[a[0].toJSON(),a[1].toJSON()]))))},T.functions.crosses=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(a=i(a),v(a,n,t),null!==a[0]&&null!==a[1]&&F("crosses",[a[0].toJSON(),a[1].toJSON()]))))},T.functions.within=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(a=i(a),v(a,n,t),null!==a[0]&&null!==a[1]&&F("within",[a[0].toJSON(),a[1].toJSON()]))))},T.functions.contains=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(a=i(a),v(a,n,t),null!==a[0]&&null!==a[1]&&F("contains",[a[0].toJSON(),a[1].toJSON()]))))},T.functions.overlaps=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(a=i(a),v(a,n,t),null!==a[0]&&null!==a[1]&&F("overlaps",[a[0].toJSON(),a[1].toJSON()]))))},T.functions.equals=function(n,t){return T.standardFunctionAsync(n,t,((e,r,a)=>(o(a,2,2,n,t),a[0]===a[1]||(a[0]instanceof b&&a[1]instanceof b?F("equals",[a[0].toJSON(),a[1].toJSON()]):(s(a[0])&&s(a[1])||!!(c(a[0])&&c(a[1])||l(a[0])&&l(a[1])))&&a[0].equals(a[1])))))},T.functions.relate=function(n,t){return T.standardFunctionAsync(n,t,((a,s,c)=>{if(c=i(c),o(c,3,3,n,t),c[0]instanceof b&&c[1]instanceof b)return F("relate",[c[0].toJSON(),c[1].toJSON(),u(c[2])]);if(c[0]instanceof b&&null===c[1])return!1;if(c[1]instanceof b&&null===c[0])return!1;if(null===c[0]&&null===c[1])return!1;throw new e(n,r.InvalidParameter,t)}))},T.functions.intersection=function(n,t){return T.standardFunctionAsync(n,t,(async(e,r,a)=>(a=i(a),v(a,n,t),null===a[0]||null===a[1]?null:C(await F("intersection",[a[0].toJSON(),a[1].toJSON()])))))},T.functions.union=function(n,t){return T.standardFunctionAsync(n,t,(async(o,s,c)=>{if(0===(c=i(c)).length)throw new e(n,r.WrongNumberOfParameters,t);const l=[];if(1===c.length)if(U(c[0])){for(const a of i(c[0]))if(null!==a){if(!(a instanceof b))throw new e(n,r.InvalidParameter,t);l.push(a.toJSON())}}else{if(!f(c[0])){if(c[0]instanceof b)return d(a(c[0]),n.spatialReference);if(null===c[0])return null;throw new e(n,r.InvalidParameter,t)}for(const a of i(c[0].toArray()))if(null!==a){if(!(a instanceof b))throw new e(n,r.InvalidParameter,t);l.push(a.toJSON())}}else for(const a of c)if(null!==a){if(!(a instanceof b))throw new e(n,r.InvalidParameter,t);l.push(a.toJSON())}return 0===l.length?null:C(await F("union",[l]))}))},T.functions.difference=function(n,t){return T.standardFunctionAsync(n,t,(async(e,r,o)=>(o=i(o),v(o,n,t),null===o[0]?null:null===o[1]?a(o[0]):C(await F("difference",[o[0].toJSON(),o[1].toJSON()])))))},T.functions.symmetricdifference=function(n,t){return T.standardFunctionAsync(n,t,(async(e,r,o)=>(o=i(o),v(o,n,t),null===o[0]&&null===o[1]?null:null===o[0]?a(o[1]):null===o[1]?a(o[0]):C(await F("symmetricDifference",[o[0].toJSON(),o[1].toJSON()])))))},T.functions.clip=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,2,2,n,t),!(c[1]instanceof j)&&null!==c[1])throw new e(n,r.InvalidParameter,t);if(null===c[0])return null;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);return null===c[1]?null:C(await F("clip",[c[0].toJSON(),c[1].toJSON()]))}))},T.functions.cut=function(n,t){return T.standardFunctionAsync(n,t,(async(s,c,l)=>{if(l=i(l),o(l,2,2,n,t),!(l[1]instanceof L)&&null!==l[1])throw new e(n,r.InvalidParameter,t);if(null===l[0])return[];if(!(l[0]instanceof b))throw new e(n,r.InvalidParameter,t);return null===l[1]?[a(l[0])]:(await F("cut",[l[0].toJSON(),l[1].toJSON()])).map((n=>C(n)))}))},T.functions.area=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(o(c,1,2,n,t),c=i(c),w(c[0])){const a=await c[0].sumArea(M(c[1]),!1,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return a}let l=c[0];if((U(l)||f(l))&&(l=m(c[0],n.spatialReference)),null===l)return 0;if(!(l instanceof b))throw new e(n,r.InvalidParameter,t);return F("area",[l.toJSON(),M(c[1])])}))},T.functions.areageodetic=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(o(c,1,2,n,t),c=i(c),w(c[0])){const a=await c[0].sumArea(M(c[1]),!0,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return a}let l=c[0];if((U(c[0])||f(c[0]))&&(l=m(c[0],n.spatialReference)),null===l)return 0;if(!(l instanceof b))throw new e(n,r.InvalidParameter,t);return F("geodeticArea",[l.toJSON(),M(c[1])])}))},T.functions.length=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(o(c,1,2,n,t),c=i(c),w(c[0])){const a=await c[0].sumLength(M(c[1]),!1,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return a}let l=c[0];if((U(c[0])||f(c[0]))&&(l=y(c[0],n.spatialReference)),null===l)return 0;if(!(l instanceof b))throw new e(n,r.InvalidParameter,t);return F("length",[l.toJSON(),M(c[1])])}))},T.functions.length3d=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(o(c,1,2,n,t),null===(c=i(c))[0])return 0;let l=c[0];if((U(c[0])||f(c[0]))&&(l=y(c[0],n.spatialReference)),null===l)return 0;if(!(l instanceof b))throw new e(n,r.InvalidParameter,t);if(!0===l.hasZ){const{convertFromSpatialReferenceUnit:n,toLengthUnit:t}=await import("../geometry/unitConversion.js"),e=J(l);return n(l.spatialReference,t(c[1]),e)}return F("length",[l.toJSON(),M(c[1])])}))},T.functions.lengthgeodetic=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(o(c,1,2,n,t),c=i(c),w(c[0])){const a=await c[0].sumLength(M(c[1]),!0,n.abortSignal);if(n.abortSignal.aborted)throw new e(n,r.Cancelled,t);return a}let l=c[0];if((U(c[0])||f(c[0]))&&(l=y(c[0],n.spatialReference)),null===l)return 0;if(!(l instanceof b))throw new e(n,r.InvalidParameter,t);return F("geodeticLength",[l.toJSON(),M(c[1])])}))},T.functions.distance=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{c=i(c),o(c,2,3,n,t);let l=c[0];if((U(c[0])||f(c[0]))&&(l=h(c[0],n.spatialReference)),!(l instanceof b))throw new e(n,r.InvalidParameter,t);let u=c[1];if((U(c[1])||f(c[1]))&&(u=h(c[1],n.spatialReference)),!(u instanceof b))throw new e(n,r.InvalidParameter,t);return F("distance",[l.toJSON(),u.toJSON(),M(c[2])])}))},T.functions.distancegeodetic=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{c=i(c),o(c,2,3,n,t);const l=c[0];if(!(l instanceof x))throw new e(n,r.InvalidParameter,t);const u=c[1];if(!(u instanceof x))throw new e(n,r.InvalidParameter,t);const f=new L({paths:[],spatialReference:l.spatialReference});return f.addPath([l,u]),F("geodeticLength",[f.toJSON(),M(c[2])])}))},T.functions.densify=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,2,3,n,t),null===c[0])return null;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);const l=p(c[1]);if(isNaN(l))throw new e(n,r.InvalidParameter,t);if(l<=0)throw new e(n,r.InvalidParameter,t);switch(c[0].type){case"polygon":case"polyline":case"extent":return C(await F("densify",[c[0].toJSON(),l,M(c[2])]));default:return c[0]}}))},T.functions.densifygeodetic=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,2,3,n,t),null===c[0])return null;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);const l=p(c[1]);if(isNaN(l))throw new e(n,r.InvalidParameter,t);if(l<=0)throw new e(n,r.InvalidParameter,t);switch(c[0].type){case"polygon":case"polyline":case"extent":return C(await F("geodeticDensify",[c[0].toJSON(),l,M(c[2])]));default:return c[0]}}))},T.functions.generalize=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,2,4,n,t),null===c[0])return null;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);const l=p(c[1]);if(isNaN(l))throw new e(n,r.InvalidParameter,t);const u=g(N(c[2],!0));return C(await F("generalize",[c[0].toJSON(),l,M(c[3]),{removeDegenerateParts:u}]))}))},T.functions.buffer=function(n,t){return T.standardFunctionAsync(n,t,(async(s,c,l)=>{if(l=i(l),o(l,2,3,n,t),null===l[0])return null;if(!(l[0]instanceof b))throw new e(n,r.InvalidParameter,t);const u=p(l[1]);if(isNaN(u))throw new e(n,r.InvalidParameter,t);return 0===u?a(l[0]):C(await F("buffer",[l[0].toJSON(),u,M(l[2])]))}))},T.functions.buffergeodetic=function(n,t){return T.standardFunctionAsync(n,t,(async(s,c,l)=>{if(l=i(l),o(l,2,3,n,t),null===l[0])return null;if(!(l[0]instanceof b))throw new e(n,r.InvalidParameter,t);const u=p(l[1]);if(isNaN(u))throw new e(n,r.InvalidParameter,t);return 0===u?a(l[0]):C(await F("geodesicBuffer",[l[0].toJSON(),u,M(l[2])]))}))},T.functions.offset=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,2,6,n,t),null===c[0])return null;if(!(c[0]instanceof D||c[0]instanceof L))throw new e(n,r.InvalidParameter,t);const l=p(c[1]);if(isNaN(l))throw new e(n,r.InvalidParameter,t);const f=u(c[3]??"round").toLowerCase();let d;switch(f){case"round":case"bevel":case"miter":case"square":d=f;break;default:d="round"}const w=p(N(c[4],10));if(isNaN(w))throw new e(n,r.InvalidParameter,t);const m=p(N(c[5],0));if(isNaN(m))throw new e(n,r.InvalidParameter,t);return C(await F("offset",[c[0].toJSON(),l,M(c[2]),{joins:d,miterLimit:w,flattenError:m}]))}))},T.functions.rotate=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,2,3,n,t),null===c[0])return null;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);const l=c[0]instanceof j?D.fromExtent(c[0]):c[0],u=p(c[1]);if(isNaN(u))throw new e(n,r.InvalidParameter,t);const f=N(c[2],null);if(null===f){const n="point"===l.type?l:l.extent?.center;return C(await F("rotate",[l.toJSON(),u,n?.x,n?.y]))}if(f instanceof x)return C(await F("rotate",[l.toJSON(),u,f.x,f.y]));throw new e(n,r.InvalidParameter,t)}))},T.functions.centroid=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,1,2,n,t),null===c[0])return null;const l=u(c[1]??"geometric").toLowerCase();if("geometric"!==l&&"labelpoint"!==l)throw new e(n,r.InvalidParameter,t);let d=c[0];if((U(c[0])||f(c[0]))&&(d="geometric"===l?h(c[0],n.spatialReference):m(c[0],n.spatialReference),null===d))return null;if(!(d instanceof b))throw new e(n,r.InvalidParameter,t);return C("geometric"===l?await F("centroid",[d.toJSON()]):await F("labelPoint",[d.toJSON()]))}))},T.functions.measuretocoordinate=function(n,t){return T.standardFunctionAsync(n,t,P)},T.functions.pointtocoordinate=function(n,t){return T.standardFunctionAsync(n,t,A)},T.functions.distancetocoordinate=function(n,t){return T.standardFunctionAsync(n,t,I)},T.functions.multiparttosinglepart=function(n,t){return T.standardFunctionAsync(n,t,(async(s,c,l)=>{if(l=i(l),o(l,1,1,n,t),null===l[0])return null;if(!(l[0]instanceof b))throw new e(n,r.InvalidParameter,t);if(l[0]instanceof x)return[d(a(l[0]),n.spatialReference)];if(l[0]instanceof j)return[d(a(l[0]),n.spatialReference)];const u=C(await F("simplify",[l[0].toJSON()]));if(u instanceof D){const n=[],t=[];for(let e=0;e<u.rings.length;e++)if(u.isClockwise(u.rings[e])){const t=C({rings:[u.rings[e]],hasZ:!0===u.hasZ,hasM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(t)}else t.push({ring:u.rings[e],pt:u.getPoint(e,0)});for(let e=0;e<t.length;e++)for(let r=0;r<n.length;r++)if(n[r].contains(t[e].pt)){n[r].addRing(t[e].ring);break}return n}if(u instanceof L){const n=[];for(let t=0;t<u.paths.length;t++){const e=C({paths:[u.paths[t]],hasZ:!0===u.hasZ,hasM:!0===u.hasM,spatialReference:u.spatialReference.toJSON()});n.push(e)}return n}if(l[0]instanceof R){const t=[],e=d(a(l[0]),n.spatialReference);for(let n=0;n<e.points.length;n++)t.push(e.getPoint(n));return t}return null}))},T.functions.issimple=function(n,t){return T.standardFunctionAsync(n,t,((a,s,c)=>{if(c=i(c),o(c,1,1,n,t),null===c[0])return!0;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);return F("isSimple",[c[0].toJSON()])}))},T.functions.simplify=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,1,1,n,t),null===c[0])return null;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);return C(await F("simplify",[c[0].toJSON()]))}))},T.functions.convexhull=function(n,t){return T.standardFunctionAsync(n,t,(async(a,s,c)=>{if(c=i(c),o(c,1,1,n,t),null===c[0])return null;if(!(c[0]instanceof b))throw new e(n,r.InvalidParameter,t);return C(await F("convexHull",[c[0].toJSON()]))}))},T.functions.getuser=function(a,i){return T.standardFunctionAsync(a,i,(async(s,c,l)=>{o(l,0,2,a,i);let f=N(l[1],""),d=!0===f;if(f=!0===f||!1===f?"":u(f),0===l.length||l[0]instanceof n){let n;n=a.services?.portal?a.services.portal:k.getDefault(),l.length>0&&(n=O(l[0],n));const e=await E(n,f,d);if(e){const n=JSON.parse(JSON.stringify(e));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,S(a))}return null}let m=null;if(w(l[0])&&(m=l[0]),m){if(d=!1,f)return null;await m.load();const e=await m.getOwningSystemUrl();if(!e){if(!f){const n=await m.getIdentityUser();return n?t.convertObjectToArcadeDictionary({username:n},S(a)):null}return null}let r;r=a.services?.portal?a.services.portal:k.getDefault(),r=O(new n(e),r);const i=await E(r,f,d);if(i){const n=JSON.parse(JSON.stringify(i));for(const t of["lastLogin","created","modified"])void 0!==n[t]&&null!==n[t]&&(n[t]=new Date(n[t]));return t.convertObjectToArcadeDictionary(n,S(a))}return null}throw new e(a,r.InvalidParameter,i)}))},T.functions.nearestcoordinate=function(n,a){return T.standardFunctionAsync(n,a,(async(s,c,l)=>{if(l=i(l),o(l,2,2,n,a),!(l[0]instanceof b||null===l[0]))throw new e(n,r.InvalidParameter,a);if(!(l[1]instanceof x||null===l[1]))throw new e(n,r.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const u=l[0]instanceof j?D.fromExtent(l[0]):l[0],f=await F("getNearestCoordinate",[u.toJSON(),l[1].toJSON(),{calculateLeftRightSide:!0}]);return null===f?null:t.convertObjectToArcadeDictionary({coordinate:C(f.coordinate),distance:f.distance,sideOfLine:0===f.distance?"straddle":f.rightSide?"right":"left"},S(n),!1,!0)}))},T.functions.nearestvertex=function(n,a){return T.standardFunctionAsync(n,a,(async(s,c,l)=>{if(l=i(l),o(l,2,2,n,a),!(l[0]instanceof b||null===l[0]))throw new e(n,r.InvalidParameter,a);if(!(l[1]instanceof x||null===l[1]))throw new e(n,r.InvalidParameter,a);if(null===l[0]||null===l[1])return null;const u=l[0]instanceof j?D.fromExtent(l[0]):l[0],f=await F("getNearestVertex",[u.toJSON(),l[1].toJSON()]);return null===f?null:t.convertObjectToArcadeDictionary({coordinate:C(f.coordinate),distance:f.distance,sideOfLine:0===f.distance?"straddle":f.rightSide?"right":"left"},S(n),!1,!0)}))})}export{T as registerFunctions};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import{cloneGeometry as r}from"../kernel.js";import{E as i,D as a,g as l,k as o,j as u,f,m as s,u as c,F as m,G as d,H as w,t as h,e as p,J as g,K as v}from"../../chunks/languageUtils.js";import{commonRelationsCheck as P,planarLength3D as x,measureToCoordinateFunc as I,pointToCoordinateFunc as y,distanceToCoordinateFunc as R}from"../geometry/functions.js";import{convertFromSpatialReferenceUnit as j,toAreaUnit as N,convert as b,toLengthUnit as E,convertToSpatialReferenceUnit as D}from"../geometry/unitConversion.js";import L from"../../geometry/Extent.js";import O from"../../geometry/Geometry.js";import k from"../../geometry/Multipoint.js";import M from"../../geometry/Point.js";import S from"../../geometry/Polygon.js";import A from"../../geometry/Polyline.js";import{fromJSON as Z}from"../../geometry/support/jsonUtils.js";import{squareMeters as q,meters as C}from"../geometry/extendedUnitData.js";import{isArray as J}from"../../support/guards.js";let U;async function z(){null==U&&(U=await import("../geometry/operators.js"),await U.loadAll())}function G(z,G){z.disjoint=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null===a[0]||null===a[1]||U.disjoint.execute(a[0],a[1]))))},z.intersects=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.intersects.execute(a[0],a[1]))))},z.touches=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.touches.execute(a[0],a[1]))))},z.crosses=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.crosses.execute(a[0],a[1]))))},z.within=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.within.execute(a[0],a[1]))))},z.contains=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.contains.execute(a[0],a[1]))))},z.overlaps=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.overlaps.execute(a[0],a[1]))))},z.equals=function(e,n){return G(e,n,((t,r,i)=>(a(i,2,2,e,n),i[0]===i[1]||(i[0]instanceof O&&i[1]instanceof O?U.equals.execute(i[0],i[1]):(l(i[0])&&l(i[1])||o(i[0])&&o(i[1])||!(!u(i[0])||!u(i[1])))&&i[0].equals(i[1])))))},z.relate=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,3,3,e,r),u[0]instanceof O&&u[1]instanceof O)return U.relate.execute(u[0],u[1],f(u[2]));if(u[0]instanceof O&&null===u[1])return!1;if(u[1]instanceof O&&null===u[0])return!1;if(null===u[0]&&null===u[1])return!1;throw new n(e,t.InvalidParameter,r)}))},z.intersection=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null===a[0]||null===a[1]?null:U.intersection.execute(a[0],a[1]))))},z.union=function(e,a){return G(e,a,((l,o,u)=>{const f=[];if(0===(u=i(u)).length)throw new n(e,t.WrongNumberOfParameters,a);if(1===u.length)if(J(u[0])){const r=i(u[0]);for(let i=0;i<r.length;i++)if(null!==r[i]){if(!(r[i]instanceof O))throw new n(e,t.InvalidParameter,a);f.push(r[i])}}else{if(!s(u[0])){if(u[0]instanceof O)return c(r(u[0]),e.spatialReference);if(null===u[0])return null;throw new n(e,t.InvalidParameter,a)}{const r=i(u[0].toArray());for(let i=0;i<r.length;i++)if(null!==r[i]){if(!(r[i]instanceof O))throw new n(e,t.InvalidParameter,a);f.push(r[i])}}}else for(let r=0;r<u.length;r++)if(null!==u[r]){if(!(u[r]instanceof O))throw new n(e,t.InvalidParameter,a);f.push(u[r])}return 0===f.length?null:U.union.executeMany(f)}))},z.difference=function(e,n){return G(e,n,((t,a,l)=>(l=i(l),P(l,e,n),null===l[0]?null:null===l[1]?r(l[0]):U.difference.execute(l[0],l[1]))))},z.symmetricdifference=function(e,n){return G(e,n,((t,a,l)=>(l=i(l),P(l,e,n),null===l[0]&&null===l[1]?null:null===l[0]?r(l[1]):null===l[1]?r(l[0]):U.symmetricDifference.execute(l[0],l[1]))))},z.clip=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,2,e,r),!(u[1]instanceof L)&&null!==u[1])throw new n(e,t.InvalidParameter,r);if(null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return null===u[1]?null:U.clip.execute(u[0],u[1])}))},z.cut=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,2,2,e,l),!(f[1]instanceof A)&&null!==f[1])throw new n(e,t.InvalidParameter,l);if(null===f[0])return[];if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);return null===f[1]?[r(f[0])]:U.cut.execute(f[0],f[1])}))},z.area=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=m(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return j(f.spatialReference,N(u[1]),U.area.execute(f))}))},z.areageodetic=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=m(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return b(q,N(u[1]),U.geodeticArea.execute(f))}))},z.length=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=d(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return j(f.spatialReference,E(u[1]),U.length.execute(f))}))},z.length3d=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=d(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return!0===f.hasZ?j(f.spatialReference,E(u[1]),x(f)):j(f.spatialReference,E(u[1]),U.length.execute(f))}))},z.lengthgeodetic=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=d(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return b(C,E(u[1]),U.geodeticLength.execute(f))}))},z.distance=function(e,r){return G(e,r,((l,o,u)=>{u=i(u),a(u,2,3,e,r);let f=u[0];if((J(u[0])||s(u[0]))&&(f=w(u[0],e.spatialReference)),!(f instanceof O))throw new n(e,t.InvalidParameter,r);let c=u[1];if((J(u[1])||s(u[1]))&&(c=w(u[1],e.spatialReference)),!(c instanceof O))throw new n(e,t.InvalidParameter,r);return j(f.spatialReference,E(u[2]),U.distance.execute(f,c))}))},z.distancegeodetic=function(e,r){return G(e,r,((l,o,u)=>{u=i(u),a(u,2,3,e,r);const f=u[0];if(!(f instanceof M))throw new n(e,t.InvalidParameter,r);const s=u[1];if(!(s instanceof M))throw new n(e,t.InvalidParameter,r);const c=new A({paths:[],spatialReference:f.spatialReference});return c.addPath([f,s]),b(C,E(u[2]),U.geodeticLength.execute(c))}))},z.densify=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,3,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=h(u[1]);if(isNaN(f))throw new n(e,t.InvalidParameter,r);if(f<=0)throw new n(e,t.InvalidParameter,r);const s=D(E(u[2]),u[0].spatialReference,f);switch(u[0].type){case"polygon":case"polyline":case"extent":return U.densify.execute(u[0],s);default:return u[0]}}))},z.densifygeodetic=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,3,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=h(u[1]);if(isNaN(f))throw new n(e,t.InvalidParameter,r);if(f<=0)throw new n(e,t.InvalidParameter,r);const s=b(E(u[2]),C,f);switch(u[0].type){case"polygon":case"polyline":case"extent":return U.geodeticDensify.execute(u[0],s);default:return u[0]}}))},z.generalize=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,4,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=h(u[1]);if(isNaN(f))throw new n(e,t.InvalidParameter,r);const s=D(E(u[3]),u[0].spatialReference,f);return U.generalize.execute(u[0],s,{removeDegenerateParts:p(g(u[2],!0))})}))},z.buffer=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,2,3,e,l),null===f[0])return null;if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);const s=h(f[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,l);return 0===s?r(f[0]):U.buffer.execute(f[0],D(E(f[2]),f[0].spatialReference,s))}))},z.buffergeodetic=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,2,3,e,l),null===f[0])return null;if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);const s=h(f[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,l);return 0===s?r(f[0]):U.geodesicBuffer.execute(f[0],b(E(f[2]),C,s))}))},z.offset=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,6,e,r),null===u[0])return null;if(!(u[0]instanceof S||u[0]instanceof A))throw new n(e,t.InvalidParameter,r);const s=h(u[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,r);const c=D(E(u[2]),u[0].spatialReference,s),m=f(u[3]??"round").toLowerCase();let d;switch(m){case"round":case"bevel":case"miter":case"square":d=m;break;default:d="round"}const w=h(g(u[4],10));if(isNaN(w))throw new n(e,t.InvalidParameter,r);const p=h(g(u[5],0));if(isNaN(p))throw new n(e,t.InvalidParameter,r);return U.offset.execute(u[0],c,{joins:d,miterLimit:w,flattenError:p})}))},z.rotate=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,3,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=u[0]instanceof L?S.fromExtent(u[0]):u[0],s=h(u[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,r);const c=g(u[2],null);if(null===c){const e="point"===f.type?f:f.extent?.center;return U.rotate(f,s,e?.x,e?.y)}if(c instanceof M)return U.rotate(f,s,c.x,c.y);throw new n(e,t.InvalidParameter,r)}))},z.centroid=function(e,r){return G(e,r,((e,r,l)=>{if(l=i(l),a(l,1,1,e,r),null===l[0])return null;let o=l[0];if((J(l[0])||s(l[0]))&&(o=w(l[0],e.spatialReference)),null===o)return null;if(!(o instanceof O))throw new n(e,t.InvalidParameter,r);return U.centroid.execute(o)}))},z.measuretocoordinate=function(e,n){return G(e,n,I)},z.pointtocoordinate=function(e,n){return G(e,n,y)},z.distancetocoordinate=function(e,n){return G(e,n,R)},z.multiparttosinglepart=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,1,1,e,l),null===f[0])return null;if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);if(f[0]instanceof M)return[c(r(f[0]),e.spatialReference)];if(f[0]instanceof L)return[c(r(f[0]),e.spatialReference)];const s=U.simplify.execute(f[0]);if(s instanceof S){const e=[],n=[];for(let t=0;t<s.rings.length;t++)if(s.isClockwise(s.rings[t])){const n=Z({rings:[s.rings[t]],hasZ:!0===s.hasZ,hasM:!0===s.hasM,spatialReference:s.spatialReference.toJSON()});e.push(n)}else n.push({ring:s.rings[t],pt:s.getPoint(t,0)});for(let t=0;t<n.length;t++)for(let r=0;r<e.length;r++)if(e[r].contains(n[t].pt)){e[r].addRing(n[t].ring);break}return e}if(s instanceof A){const e=[];for(let n=0;n<s.paths.length;n++){const t=Z({paths:[s.paths[n]],hasZ:!0===s.hasZ,hasM:!0===s.hasM,spatialReference:s.spatialReference.toJSON()});e.push(t)}return e}if(f[0]instanceof k){const n=[],t=c(r(f[0]),e.spatialReference);for(let e=0;e<t.points.length;e++)n.push(t.getPoint(e));return n}return null}))},z.issimple=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,1,1,e,r),null===u[0])return!0;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return U.simplify.isSimple(u[0])}))},z.simplify=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,1,1,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return U.simplify.execute(u[0])}))},z.convexhull=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,1,1,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return U.convexHull.execute(u[0])}))},z.nearestcoordinate=function(r,l){return G(r,l,((o,u,f)=>{if(f=i(f),a(f,2,2,r,l),!(f[0]instanceof O||null===f[0]))throw new n(r,t.InvalidParameter,l);if(!(f[1]instanceof M||null===f[1]))throw new n(r,t.InvalidParameter,l);if(null===f[0]||null===f[1])return null;const s=f[0]instanceof L?S.fromExtent(f[0]):f[0],c=U.proximity.getNearestCoordinate(s,f[1],{calculateLeftRightSide:!0});return null===c||c.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance,sideOfLine:0===c.distance?"straddle":c.rightSide?"right":"left"},v(r),!1,!0)}))},z.nearestvertex=function(r,l){return G(r,l,((o,u,f)=>{if(f=i(f),a(f,2,2,r,l),!(f[0]instanceof O||null===f[0]))throw new n(r,t.InvalidParameter,l);if(!(f[1]instanceof M||null===f[1]))throw new n(r,t.InvalidParameter,l);if(null===f[0]||null===f[1])return null;const s=f[0]instanceof L?S.fromExtent(f[0]):f[0],c=U.proximity.getNearestVertex(s,f[1]);return null===c||c.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance,sideOfLine:0===c.distance?"straddle":c.rightSide?"right":"left"},v(r),!1,!0)}))}}export{z as loadOperators,G as registerFunctions};
|
|
5
|
+
import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import{cloneGeometry as r}from"../kernel.js";import{E as i,D as a,g as l,k as o,j as u,f,m as s,u as c,F as m,G as d,H as w,t as h,e as p,J as g,K as v}from"../../chunks/languageUtils.js";import{commonRelationsCheck as P,planarLength3D as x,measureToCoordinateFunc as I,pointToCoordinateFunc as y,distanceToCoordinateFunc as R}from"../geometry/functions.js";import{convertFromSpatialReferenceUnit as j,toAreaUnit as N,convert as b,toLengthUnit as E,convertToSpatialReferenceUnit as D}from"../geometry/unitConversion.js";import L from"../../geometry/Extent.js";import O from"../../geometry/Geometry.js";import k from"../../geometry/Multipoint.js";import M from"../../geometry/Point.js";import S from"../../geometry/Polygon.js";import A from"../../geometry/Polyline.js";import{fromJSON as C}from"../../geometry/support/jsonUtils.js";import{squareMeters as Z,meters as q}from"../geometry/extendedUnitData.js";import{isArray as J}from"../../support/guards.js";let U;async function z(){null==U&&(U=await import("../geometry/operators.js"),await U.loadAll())}function G(z,G){z.disjoint=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null===a[0]||null===a[1]||U.disjoint.execute(a[0],a[1]))))},z.intersects=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.intersects.execute(a[0],a[1]))))},z.touches=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.touches.execute(a[0],a[1]))))},z.crosses=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.crosses.execute(a[0],a[1]))))},z.within=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.within.execute(a[0],a[1]))))},z.contains=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.contains.execute(a[0],a[1]))))},z.overlaps=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null!==a[0]&&null!==a[1]&&U.overlaps.execute(a[0],a[1]))))},z.equals=function(e,n){return G(e,n,((t,r,i)=>(a(i,2,2,e,n),i[0]===i[1]||(i[0]instanceof O&&i[1]instanceof O?U.equals.execute(i[0],i[1]):(l(i[0])&&l(i[1])||o(i[0])&&o(i[1])||!(!u(i[0])||!u(i[1])))&&i[0].equals(i[1])))))},z.relate=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,3,3,e,r),u[0]instanceof O&&u[1]instanceof O)return U.relate.execute(u[0],u[1],f(u[2]));if(u[0]instanceof O&&null===u[1])return!1;if(u[1]instanceof O&&null===u[0])return!1;if(null===u[0]&&null===u[1])return!1;throw new n(e,t.InvalidParameter,r)}))},z.intersection=function(e,n){return G(e,n,((t,r,a)=>(a=i(a),P(a,e,n),null===a[0]||null===a[1]?null:U.intersection.execute(a[0],a[1]))))},z.union=function(e,a){return G(e,a,((l,o,u)=>{if(0===(u=i(u)).length)throw new n(e,t.WrongNumberOfParameters,a);const f=[];if(1===u.length)if(J(u[0])){for(const r of i(u[0]))if(null!==r){if(!(r instanceof O))throw new n(e,t.InvalidParameter,a);f.push(r)}}else{if(!s(u[0])){if(u[0]instanceof O)return c(r(u[0]),e.spatialReference);if(null===u[0])return null;throw new n(e,t.InvalidParameter,a)}for(const r of i(u[0].toArray()))if(null!==r){if(!(r instanceof O))throw new n(e,t.InvalidParameter,a);f.push(r)}}else for(const r of u)if(null!==r){if(!(r instanceof O))throw new n(e,t.InvalidParameter,a);f.push(r)}return 0===f.length?null:U.union.executeMany(f)}))},z.difference=function(e,n){return G(e,n,((t,a,l)=>(l=i(l),P(l,e,n),null===l[0]?null:null===l[1]?r(l[0]):U.difference.execute(l[0],l[1]))))},z.symmetricdifference=function(e,n){return G(e,n,((t,a,l)=>(l=i(l),P(l,e,n),null===l[0]&&null===l[1]?null:null===l[0]?r(l[1]):null===l[1]?r(l[0]):U.symmetricDifference.execute(l[0],l[1]))))},z.clip=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,2,e,r),!(u[1]instanceof L)&&null!==u[1])throw new n(e,t.InvalidParameter,r);if(null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return null===u[1]?null:U.clip.execute(u[0],u[1])}))},z.cut=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,2,2,e,l),!(f[1]instanceof A)&&null!==f[1])throw new n(e,t.InvalidParameter,l);if(null===f[0])return[];if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);return null===f[1]?[r(f[0])]:U.cut.execute(f[0],f[1])}))},z.area=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=m(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return j(f.spatialReference,N(u[1]),U.area.execute(f))}))},z.areageodetic=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=m(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return b(Z,N(u[1]),U.geodeticArea.execute(f))}))},z.length=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=d(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return j(f.spatialReference,E(u[1]),U.length.execute(f))}))},z.length3d=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=d(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return!0===f.hasZ?j(f.spatialReference,E(u[1]),x(f)):j(f.spatialReference,E(u[1]),U.length.execute(f))}))},z.lengthgeodetic=function(e,r){return G(e,r,((l,o,u)=>{a(u,1,2,e,r);let f=(u=i(u))[0];if((J(u[0])||s(u[0]))&&(f=d(u[0],e.spatialReference)),null===f)return 0;if(!(f instanceof O))throw new n(e,t.InvalidParameter,r);return b(q,E(u[1]),U.geodeticLength.execute(f))}))},z.distance=function(e,r){return G(e,r,((l,o,u)=>{u=i(u),a(u,2,3,e,r);let f=u[0];if((J(u[0])||s(u[0]))&&(f=w(u[0],e.spatialReference)),!(f instanceof O))throw new n(e,t.InvalidParameter,r);let c=u[1];if((J(u[1])||s(u[1]))&&(c=w(u[1],e.spatialReference)),!(c instanceof O))throw new n(e,t.InvalidParameter,r);return j(f.spatialReference,E(u[2]),U.distance.execute(f,c))}))},z.distancegeodetic=function(e,r){return G(e,r,((l,o,u)=>{u=i(u),a(u,2,3,e,r);const f=u[0];if(!(f instanceof M))throw new n(e,t.InvalidParameter,r);const s=u[1];if(!(s instanceof M))throw new n(e,t.InvalidParameter,r);const c=new A({paths:[],spatialReference:f.spatialReference});return c.addPath([f,s]),b(q,E(u[2]),U.geodeticLength.execute(c))}))},z.densify=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,3,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=h(u[1]);if(isNaN(f))throw new n(e,t.InvalidParameter,r);if(f<=0)throw new n(e,t.InvalidParameter,r);const s=D(E(u[2]),u[0].spatialReference,f);switch(u[0].type){case"polygon":case"polyline":case"extent":return U.densify.execute(u[0],s);default:return u[0]}}))},z.densifygeodetic=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,3,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=h(u[1]);if(isNaN(f))throw new n(e,t.InvalidParameter,r);if(f<=0)throw new n(e,t.InvalidParameter,r);const s=b(E(u[2]),q,f);switch(u[0].type){case"polygon":case"polyline":case"extent":return U.geodeticDensify.execute(u[0],s);default:return u[0]}}))},z.generalize=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,4,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=h(u[1]);if(isNaN(f))throw new n(e,t.InvalidParameter,r);const s=D(E(u[3]),u[0].spatialReference,f);return U.generalize.execute(u[0],s,{removeDegenerateParts:p(g(u[2],!0))})}))},z.buffer=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,2,3,e,l),null===f[0])return null;if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);const s=h(f[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,l);return 0===s?r(f[0]):U.buffer.execute(f[0],D(E(f[2]),f[0].spatialReference,s))}))},z.buffergeodetic=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,2,3,e,l),null===f[0])return null;if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);const s=h(f[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,l);return 0===s?r(f[0]):U.geodesicBuffer.execute(f[0],b(E(f[2]),q,s))}))},z.offset=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,6,e,r),null===u[0])return null;if(!(u[0]instanceof S||u[0]instanceof A))throw new n(e,t.InvalidParameter,r);const s=h(u[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,r);const c=D(E(u[2]),u[0].spatialReference,s),m=f(u[3]??"round").toLowerCase();let d;switch(m){case"round":case"bevel":case"miter":case"square":d=m;break;default:d="round"}const w=h(g(u[4],10));if(isNaN(w))throw new n(e,t.InvalidParameter,r);const p=h(g(u[5],0));if(isNaN(p))throw new n(e,t.InvalidParameter,r);return U.offset.execute(u[0],c,{joins:d,miterLimit:w,flattenError:p})}))},z.rotate=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,2,3,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);const f=u[0]instanceof L?S.fromExtent(u[0]):u[0],s=h(u[1]);if(isNaN(s))throw new n(e,t.InvalidParameter,r);const c=g(u[2],null);if(null===c){const e="point"===f.type?f:f.extent?.center;return U.rotate(f,s,e?.x,e?.y)}if(c instanceof M)return U.rotate(f,s,c.x,c.y);throw new n(e,t.InvalidParameter,r)}))},z.centroid=function(e,r){return G(e,r,((e,r,l)=>{if(l=i(l),a(l,1,2,e,r),null===l[0])return null;const o=f(l[1]??"geometric").toLowerCase();if("geometric"!==o&&"labelpoint"!==o)throw new n(e,t.InvalidParameter,r);let u=l[0];if((J(l[0])||s(l[0]))&&(u="geometric"===o?w(l[0],e.spatialReference):m(l[0],e.spatialReference),null===u))return null;if(!(u instanceof O))throw new n(e,t.InvalidParameter,r);return"geometric"===o?U.centroid.execute(u):U.labelPoint.execute(u)}))},z.measuretocoordinate=function(e,n){return G(e,n,I)},z.pointtocoordinate=function(e,n){return G(e,n,y)},z.distancetocoordinate=function(e,n){return G(e,n,R)},z.multiparttosinglepart=function(e,l){return G(e,l,((o,u,f)=>{if(f=i(f),a(f,1,1,e,l),null===f[0])return null;if(!(f[0]instanceof O))throw new n(e,t.InvalidParameter,l);if(f[0]instanceof M)return[c(r(f[0]),e.spatialReference)];if(f[0]instanceof L)return[c(r(f[0]),e.spatialReference)];const s=U.simplify.execute(f[0]);if(s instanceof S){const e=[],n=[];for(let t=0;t<s.rings.length;t++)if(s.isClockwise(s.rings[t])){const n=C({rings:[s.rings[t]],hasZ:!0===s.hasZ,hasM:!0===s.hasM,spatialReference:s.spatialReference.toJSON()});e.push(n)}else n.push({ring:s.rings[t],pt:s.getPoint(t,0)});for(let t=0;t<n.length;t++)for(let r=0;r<e.length;r++)if(e[r].contains(n[t].pt)){e[r].addRing(n[t].ring);break}return e}if(s instanceof A){const e=[];for(let n=0;n<s.paths.length;n++){const t=C({paths:[s.paths[n]],hasZ:!0===s.hasZ,hasM:!0===s.hasM,spatialReference:s.spatialReference.toJSON()});e.push(t)}return e}if(f[0]instanceof k){const n=[],t=c(r(f[0]),e.spatialReference);for(let e=0;e<t.points.length;e++)n.push(t.getPoint(e));return n}return null}))},z.issimple=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,1,1,e,r),null===u[0])return!0;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return U.simplify.isSimple(u[0])}))},z.simplify=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,1,1,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return U.simplify.execute(u[0])}))},z.convexhull=function(e,r){return G(e,r,((l,o,u)=>{if(u=i(u),a(u,1,1,e,r),null===u[0])return null;if(!(u[0]instanceof O))throw new n(e,t.InvalidParameter,r);return U.convexHull.execute(u[0])}))},z.nearestcoordinate=function(r,l){return G(r,l,((o,u,f)=>{if(f=i(f),a(f,2,2,r,l),!(f[0]instanceof O||null===f[0]))throw new n(r,t.InvalidParameter,l);if(!(f[1]instanceof M||null===f[1]))throw new n(r,t.InvalidParameter,l);if(null===f[0]||null===f[1])return null;const s=f[0]instanceof L?S.fromExtent(f[0]):f[0],c=U.proximity.getNearestCoordinate(s,f[1],{calculateLeftRightSide:!0});return null===c||c.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance,sideOfLine:0===c.distance?"straddle":c.rightSide?"right":"left"},v(r),!1,!0)}))},z.nearestvertex=function(r,l){return G(r,l,((o,u,f)=>{if(f=i(f),a(f,2,2,r,l),!(f[0]instanceof O||null===f[0]))throw new n(r,t.InvalidParameter,l);if(!(f[1]instanceof M||null===f[1]))throw new n(r,t.InvalidParameter,l);if(null===f[0]||null===f[1])return null;const s=f[0]instanceof L?S.fromExtent(f[0]):f[0],c=U.proximity.getNearestVertex(s,f[1]);return null===c||c.isEmpty?null:e.convertObjectToArcadeDictionary({coordinate:c.coordinate,distance:c.distance,sideOfLine:0===c.distance?"straddle":c.rightSide?"right":"left"},v(r),!1,!0)}))}}export{z as loadOperators,G 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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{execute as n}from"../../geometry/operators/affineTransformOperator.js";import{l as f}from"../../chunks/geodesicBufferOperator.js";export{g as geodesicBuffer}from"../../chunks/geodesicBufferOperator.js";import{l as m}from"../../chunks/geodeticAreaOperator.js";export{g as geodeticArea}from"../../chunks/geodeticAreaOperator.js";import{l as h}from"../../chunks/geodeticDensifyOperator.js";export{g as geodeticDensify}from"../../chunks/geodeticDensifyOperator.js";import{l as j}from"../../chunks/geodeticLengthOperator.js";export{g as geodeticLength}from"../../chunks/geodeticLengthOperator.js";import x from"../../geometry/operators/support/Transformation.js";export{a as area}from"../../chunks/areaOperator.js";export{b as buffer}from"../../chunks/bufferOperator.js";export{c as centroid}from"../../chunks/centroidOperator.js";export{c as clip}from"../../chunks/clipOperator.js";export{c as contains}from"../../chunks/containsOperator.js";export{c as convexHull}from"../../chunks/convexHullOperator.js";export{c as crosses}from"../../chunks/crossesOperator.js";export{c as cut}from"../../chunks/cutOperator.js";export{d as densify}from"../../chunks/densifyOperator.js";export{d as difference}from"../../chunks/differenceOperator.js";export{d as disjoint}from"../../chunks/disjointOperator.js";export{d as distance}from"../../chunks/distanceOperator.js";export{e as equals}from"../../chunks/equalsOperator.js";export{g as generalize}from"../../chunks/generalizeOperator.js";export{i as intersection}from"../../chunks/intersectionOperator.js";export{i as intersects}from"../../chunks/intersectsOperator.js";export{l as length}from"../../chunks/lengthOperator.js";export{o as offset}from"../../chunks/offsetOperator.js";export{o as overlaps}from"../../chunks/overlapsOperator.js";export{p as proximity}from"../../chunks/proximityOperator.js";export{r as relate}from"../../chunks/relateOperator.js";export{s as simplify}from"../../chunks/simplifyOperator.js";export{s as symmetricDifference}from"../../chunks/symmetricDifferenceOperator.js";export{t as touches}from"../../chunks/touchesOperator.js";export{u as union}from"../../chunks/unionOperator.js";export{w as within}from"../../chunks/withinOperator.js";function O(r,e,o,s){const t=(new x).rotate(e,o,s);return n(r,t)}async function k(){await Promise.all([m(),f(),h(),j()])}export{k as loadAll,O as rotate};
|
|
5
|
+
import{execute as n}from"../../geometry/operators/affineTransformOperator.js";import{l as f}from"../../chunks/geodesicBufferOperator.js";export{g as geodesicBuffer}from"../../chunks/geodesicBufferOperator.js";import{l as m}from"../../chunks/geodeticAreaOperator.js";export{g as geodeticArea}from"../../chunks/geodeticAreaOperator.js";import{l as h}from"../../chunks/geodeticDensifyOperator.js";export{g as geodeticDensify}from"../../chunks/geodeticDensifyOperator.js";import{l as j}from"../../chunks/geodeticLengthOperator.js";export{g as geodeticLength}from"../../chunks/geodeticLengthOperator.js";import x from"../../geometry/operators/support/Transformation.js";export{a as area}from"../../chunks/areaOperator.js";export{b as buffer}from"../../chunks/bufferOperator.js";export{c as centroid}from"../../chunks/centroidOperator.js";export{c as clip}from"../../chunks/clipOperator.js";export{c as contains}from"../../chunks/containsOperator.js";export{c as convexHull}from"../../chunks/convexHullOperator.js";export{c as crosses}from"../../chunks/crossesOperator.js";export{c as cut}from"../../chunks/cutOperator.js";export{d as densify}from"../../chunks/densifyOperator.js";export{d as difference}from"../../chunks/differenceOperator.js";export{d as disjoint}from"../../chunks/disjointOperator.js";export{d as distance}from"../../chunks/distanceOperator.js";export{e as equals}from"../../chunks/equalsOperator.js";export{g as generalize}from"../../chunks/generalizeOperator.js";export{i as intersection}from"../../chunks/intersectionOperator.js";export{i as intersects}from"../../chunks/intersectsOperator.js";export{l as labelPoint}from"../../chunks/labelPointOperator.js";export{l as length}from"../../chunks/lengthOperator.js";export{o as offset}from"../../chunks/offsetOperator.js";export{o as overlaps}from"../../chunks/overlapsOperator.js";export{p as proximity}from"../../chunks/proximityOperator.js";export{r as relate}from"../../chunks/relateOperator.js";export{s as simplify}from"../../chunks/simplifyOperator.js";export{s as symmetricDifference}from"../../chunks/symmetricDifferenceOperator.js";export{t as touches}from"../../chunks/touchesOperator.js";export{u as union}from"../../chunks/unionOperator.js";export{w as within}from"../../chunks/withinOperator.js";function O(r,e,o,s){const t=(new x).rotate(e,o,s);return n(r,t)}async function k(){await Promise.all([m(),f(),h(),j()])}export{k as loadAll,O as rotate};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{fromJSON as e}from"../../geometry/support/jsonUtils.js";function t(e,t){let r;return{loaded:!1,load:()=>r??=t().then((t=>{o[e]={loaded:!0,execute:t}}))}}function r(e){return null==e?null:e.toJSON()}const o={disjoint:t("disjoint",(()=>import("../../geometry/operators/json/disjointOperator.js").then((e=>e.execute)))),intersects:t("intersects",(()=>import("../../geometry/operators/json/intersectsOperator.js").then((e=>e.execute)))),touches:t("touches",(()=>import("../../geometry/operators/json/touchesOperator.js").then((e=>e.execute)))),crosses:t("crosses",(()=>import("../../geometry/operators/json/crossesOperator.js").then((e=>e.execute)))),within:t("within",(()=>import("../../geometry/operators/json/withinOperator.js").then((e=>e.execute)))),contains:t("contains",(()=>import("../../geometry/operators/json/containsOperator.js").then((e=>e.execute)))),overlaps:t("overlaps",(()=>import("../../geometry/operators/json/overlapsOperator.js").then((e=>e.execute)))),equals:t("equals",(async()=>{const t=await import("../../geometry/operators/equalsOperator.js");return(r,o)=>t.execute(e(r),e(o))})),relate:t("relate",(async()=>{const t=await import("../../geometry/operators/relateOperator.js");return(r,o,n)=>t.execute(e(r),e(o),n)})),intersection:t("intersection",(()=>import("../../geometry/operators/json/intersectionOperator.js").then((e=>e.execute)))),union:t("union",(()=>import("../../geometry/operators/json/unionOperator.js").then((e=>e.executeMany)))),difference:t("difference",(async()=>{const t=await import("../../geometry/operators/differenceOperator.js");return(o,n)=>r(t.execute(e(o),e(n)))})),symmetricDifference:t("symmetricDifference",(async()=>{const t=await import("../../geometry/operators/symmetricDifferenceOperator.js");return(o,n)=>r(t.execute(e(o),e(n)))})),clip:t("clip",(async()=>{const t=await import("../../geometry/operators/clipOperator.js");return(o,n)=>r(t.execute(e(o),e(n)))})),cut:t("cut",(async()=>{const t=await import("../../geometry/operators/cutOperator.js");return(o,n)=>t.execute(e(o),e(n)).map((e=>r(e)))})),area:t("area",(async()=>{const t=await import("../../geometry/operators/areaOperator.js"),{convertFromSpatialReferenceUnit:r,toAreaUnit:o}=await import("./unitConversion.js");return(n,a)=>{const s=t.execute(e(n));return r(n.spatialReference,o(a),s)}})),geodeticArea:t("geodeticArea",(async()=>{const t=await import("../../geometry/operators/geodeticAreaOperator.js"),{convert:r,squareMeters:o,toAreaUnit:n}=await import("./unitConversion.js");return await t.load(),(a,s)=>{const i=t.execute(e(a));return r(o,n(s),i)}})),length:t("length",(async()=>{const e=await import("../../geometry/operators/json/lengthOperator.js"),{convertFromSpatialReferenceUnit:t,toLengthUnit:r}=await import("./unitConversion.js");return(o,n)=>{const a=e.execute(o);return t(o.spatialReference,r(n),a)}})),geodeticLength:t("geodeticLength",(async()=>{const t=await import("../../geometry/operators/geodeticLengthOperator.js"),{convert:r,meters:o,toLengthUnit:n}=await import("./unitConversion.js");return await t.load(),(a,s)=>{const i=t.execute(e(a));return r(o,n(s),i)}})),distance:t("distance",(async()=>{const t=await import("../../geometry/operators/distanceOperator.js"),{convertFromSpatialReferenceUnit:r,toLengthUnit:o}=await import("./unitConversion.js");return(n,a,s)=>{const i=t.execute(e(n),e(a));return r(n.spatialReference,o(s),i)}})),densify:t("densify",(async()=>{const t=await import("../../geometry/operators/densifyOperator.js"),{convertToSpatialReferenceUnit:o,toLengthUnit:n}=await import("./unitConversion.js");return(a,s,i)=>(s=o(n(i),a.spatialReference,s),r(t.execute(e(a),s)))})),geodeticDensify:t("geodeticDensify",(async()=>{const t=await import("../../geometry/operators/geodeticDensifyOperator.js"),{convert:o,meters:n,toLengthUnit:a}=await import("./unitConversion.js");return await t.load(),(s,i,c)=>(i=o(a(c),n,i),r(t.execute(e(s),i)))})),generalize:t("generalize",(async()=>{const t=await import("../../geometry/operators/generalizeOperator.js"),{convertToSpatialReferenceUnit:o,toLengthUnit:n}=await import("./unitConversion.js");return(a,s,i,c)=>(s=o(n(i),a.spatialReference,s),r(t.execute(e(a),s,c)))})),buffer:t("buffer",(async()=>{const e=await import("../../geometry/operators/json/bufferOperator.js"),{convertToSpatialReferenceUnit:t,toLengthUnit:r}=await import("./unitConversion.js");return(o,n,a)=>(n=t(r(a),o.spatialReference,n),e.execute(o,n))})),geodesicBuffer:t("geodesicBuffer",(async()=>{const e=await import("../../geometry/operators/json/geodesicBufferOperator.js"),{convert:t,meters:r,toLengthUnit:o}=await import("./unitConversion.js");return await e.load(),(n,a,s)=>(a=t(o(s),r,a),e.execute(n,a))})),offset:t("offset",(async()=>{const e=await import("../../geometry/operators/json/offsetOperator.js"),{convertToSpatialReferenceUnit:t,toLengthUnit:r}=await import("./unitConversion.js");return(o,n,a,s)=>(n=t(r(a),o.spatialReference,n),e.execute(o,n,s))})),rotate:t("rotate",(async()=>{const t=await import("../../geometry/operators/affineTransformOperator.js"),{default:o}=await import("../../geometry/operators/support/Transformation.js");return(n,a,s,i)=>{const c=(new o).rotate(a,s,i);return r(t.execute(e(n),c))}})),centroid:t("centroid",(async()=>{const t=await import("../../geometry/operators/centroidOperator.js");return o=>r(t.execute(e(o)))})),labelPoint:t("labelPoint",(async()=>{const t=await import("../../geometry/operators/labelPointOperator.js");return o=>r(t.execute(e(o)))})),simplify:t("simplify",(()=>import("../../geometry/operators/json/simplifyOperator.js").then((e=>e.execute)))),isSimple:t("isSimple",(()=>import("../../geometry/operators/json/simplifyOperator.js").then((e=>e.isSimple)))),convexHull:t("convexHull",(()=>import("../../geometry/operators/json/convexHullOperator.js").then((e=>e.execute)))),getNearestCoordinate:t("getNearestCoordinate",(async()=>{const t=await import("../../geometry/operators/proximityOperator.js");return(o,n,a)=>{const s=t.getNearestCoordinate(e(o),e(n),a);return{...s,coordinate:r(s.coordinate)}}})),getNearestVertex:t("getNearestVertex",(async()=>{const t=await import("../../geometry/operators/proximityOperator.js");return(o,n)=>{const a=t.getNearestVertex(e(o),e(n));return{...a,coordinate:r(a.coordinate)}}}))};function n(e,t){const r=o[e];return r.loaded?r.execute.apply(void 0,t):r.load().then((()=>n(e,t)))}export{n as invokeGeometryOp};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{open as r}from"../../core/workers/workers.js";let e,o,t=!1;function n(){return e??=r("arcadeGeometryOperatorsWorker").then((r=>{o=r,t=!0,e=void 0}))}async function a(r,e){return t?o.apply("invokeGeometryOp",[r,e]):(await n(),a(r,e))}export{a as invokeRemoteGeometryOp};
|