@arcgis/core 4.25.0-next.20220907 → 4.25.0-next.20220911
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/ArcadeModule.js +5 -0
- package/arcade/ArcadeModuleLoader.js +5 -0
- package/arcade/ArcadeModuleResolver.js +5 -0
- package/arcade/ArcadePortal.js +1 -1
- package/arcade/Attachment.js +1 -1
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/FunctionWrapper.js +1 -1
- package/arcade/arcade.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/executionError.js +5 -0
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/actions/AttributeFilter.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/actions/Top.js +1 -1
- package/arcade/featureset/sources/Empty.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/StatsField.js +1 -1
- package/arcade/featureset/support/errorsupport.js +5 -0
- package/arcade/featureset/support/sqlUtils.js +1 -1
- package/arcade/featureset/support/stats.js +1 -1
- package/arcade/functions/array.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade/lib/arcade-parser.js +1 -1
- package/arcade/lib/comment-handler.js +1 -1
- package/arcade/lib/error-handler.js +1 -1
- package/arcade/lib/parser.js +1 -1
- package/arcade/lib/scanner.js +1 -1
- package/arcade/lib/tokenizer.js +1 -1
- package/arcade/lib/types.js +5 -0
- package/arcade/parser.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/arcade/validation/arcadeValidator.js +5 -0
- package/arcade/validation/diagnosticMessages.js +5 -0
- package/arcade/validation/types.js +5 -0
- package/assets/components/assets/date-picker/nls/ar.json +45 -45
- package/assets/components/assets/date-picker/nls/bg.json +31 -31
- package/assets/components/assets/date-picker/nls/bs.json +32 -32
- package/assets/components/assets/date-picker/nls/ca.json +32 -32
- package/assets/components/assets/date-picker/nls/cs.json +32 -32
- package/assets/components/assets/date-picker/nls/da.json +32 -32
- package/assets/components/assets/date-picker/nls/de-CH.json +29 -29
- package/assets/components/assets/date-picker/nls/de.json +32 -32
- package/assets/components/assets/date-picker/nls/el.json +32 -32
- package/assets/components/assets/date-picker/nls/en-AU.json +30 -30
- package/assets/components/assets/date-picker/nls/en-CA.json +14 -14
- package/assets/components/assets/date-picker/nls/en-GB.json +29 -29
- package/assets/components/assets/date-picker/nls/en.json +31 -31
- package/assets/components/assets/date-picker/nls/es-MX.json +29 -29
- package/assets/components/assets/date-picker/nls/es.json +32 -32
- package/assets/components/assets/date-picker/nls/et.json +32 -32
- package/assets/components/assets/date-picker/nls/fi.json +45 -45
- package/assets/components/assets/date-picker/nls/fr-CH.json +32 -32
- package/assets/components/assets/date-picker/nls/fr.json +32 -32
- package/assets/components/assets/date-picker/nls/he.json +19 -19
- package/assets/components/assets/date-picker/nls/hi.json +32 -32
- package/assets/components/assets/date-picker/nls/hr.json +32 -32
- package/assets/components/assets/date-picker/nls/hu.json +32 -32
- package/assets/components/assets/date-picker/nls/id.json +32 -32
- package/assets/components/assets/date-picker/nls/it-CH.json +32 -32
- package/assets/components/assets/date-picker/nls/it.json +32 -32
- package/assets/components/assets/date-picker/nls/ja.json +22 -22
- package/assets/components/assets/date-picker/nls/ko.json +22 -22
- package/assets/components/assets/date-picker/nls/lt.json +53 -53
- package/assets/components/assets/date-picker/nls/lv.json +45 -45
- package/assets/components/assets/date-picker/nls/mk.json +32 -32
- package/assets/components/assets/date-picker/nls/nb.json +32 -32
- package/assets/components/assets/date-picker/nls/nl.json +32 -32
- package/assets/components/assets/date-picker/nls/pl.json +32 -32
- package/assets/components/assets/date-picker/nls/pt-BR.json +31 -31
- package/assets/components/assets/date-picker/nls/pt-PT.json +32 -31
- package/assets/components/assets/date-picker/nls/pt.json +31 -31
- package/assets/components/assets/date-picker/nls/ro.json +32 -32
- package/assets/components/assets/date-picker/nls/ru.json +32 -32
- package/assets/components/assets/date-picker/nls/sk.json +32 -32
- package/assets/components/assets/date-picker/nls/sl.json +32 -32
- package/assets/components/assets/date-picker/nls/sr.json +32 -32
- package/assets/components/assets/date-picker/nls/sv.json +32 -32
- package/assets/components/assets/date-picker/nls/th.json +32 -32
- package/assets/components/assets/date-picker/nls/tr.json +32 -32
- package/assets/components/assets/date-picker/nls/uk.json +32 -32
- package/assets/components/assets/date-picker/nls/vi.json +45 -45
- package/assets/components/assets/date-picker/nls/zh-CN.json +22 -22
- package/assets/components/assets/date-picker/nls/zh-HK.json +22 -22
- package/assets/components/assets/date-picker/nls/zh-TW.json +22 -22
- package/assets/components/assets/icon/changeDetection16.json +1 -1
- package/assets/components/assets/icon/changeDetection24.json +1 -1
- package/assets/components/assets/icon/changeDetection32.json +1 -1
- package/assets/components/assets/icon/chartMagnifyingGlass16.json +1 -0
- package/assets/components/assets/icon/chartMagnifyingGlass24.json +1 -0
- package/assets/components/assets/icon/chartMagnifyingGlass32.json +1 -0
- package/assets/components/assets/icon/collaboration16.json +1 -0
- package/assets/components/assets/icon/collaboration24.json +1 -0
- package/assets/components/assets/icon/collaboration32.json +1 -0
- package/assets/components/assets/icon/collaborationDistributed16.json +1 -0
- package/assets/components/assets/icon/collaborationDistributed24.json +1 -0
- package/assets/components/assets/icon/collaborationDistributed32.json +1 -0
- package/assets/components/assets/icon/flip16.json +1 -0
- package/assets/components/assets/icon/flip24.json +1 -0
- package/assets/components/assets/icon/flip32.json +1 -0
- package/assets/components/assets/icon/security16.json +1 -1
- package/assets/components/assets/icon/security24.json +1 -1
- package/assets/components/assets/icon/security32.json +1 -1
- package/assets/components/assets/icon/sheildCoin16.json +1 -0
- package/assets/components/assets/icon/sheildCoin24.json +1 -0
- package/assets/components/assets/icon/sheildCoin32.json +1 -0
- package/assets/components/assets/icon/shieldCoin16.json +1 -0
- package/assets/components/assets/icon/shieldCoin24.json +1 -0
- package/assets/components/assets/icon/shieldCoin32.json +1 -0
- package/assets/components/assets/icon/unpin16.json +1 -0
- package/assets/components/assets/icon/unpin24.json +1 -0
- package/assets/components/assets/icon/unpin32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/021ff024cdde143c66c7.js +1 -0
- package/assets/esri/core/workers/chunks/07b082211215c167c835.js +1 -0
- package/assets/esri/core/workers/chunks/0bdd6470856f859562f8.js +1 -0
- package/assets/esri/core/workers/chunks/113eb11d866ffff1da37.js +1 -0
- package/assets/esri/core/workers/chunks/1457b1346e7587f5c57f.js +1 -0
- package/assets/esri/core/workers/chunks/1596b8a7b9c6533684d3.js +1 -0
- package/assets/esri/core/workers/chunks/1b0fd77a2dde60ec9d2f.js +1 -0
- package/assets/esri/core/workers/chunks/1b5bdd80db9a1a410ff8.js +1 -0
- package/assets/esri/core/workers/chunks/1dcdde67304e8fe11fc0.js +1 -0
- package/assets/esri/core/workers/chunks/2d30dbf61bccf2aedbc3.js +1 -0
- package/assets/esri/core/workers/chunks/2d70499eacbd1d2a33a7.js +1 -0
- package/assets/esri/core/workers/chunks/3049349b143850ae3ee1.js +1 -0
- package/assets/esri/core/workers/chunks/321f244464b403c465b9.js +1 -0
- package/assets/esri/core/workers/chunks/3248c8e2a523d23b7277.js +1 -0
- package/assets/esri/core/workers/chunks/36c468c5ccc4ea71ed78.js +1 -0
- package/assets/esri/core/workers/chunks/393cb7ab48468158269c.js +1 -0
- package/assets/esri/core/workers/chunks/3991035dcf3523c6232a.js +1 -0
- package/assets/esri/core/workers/chunks/3f30a39565b929863a60.js +1 -0
- package/assets/esri/core/workers/chunks/414e2756b65a70b8be5a.js +1 -0
- package/assets/esri/core/workers/chunks/4253b4601cc449ad0594.js +1 -0
- package/assets/esri/core/workers/chunks/426af64371bc3d0e7261.js +1 -0
- package/assets/esri/core/workers/chunks/4577d03ca2bb6fffcb49.js +1 -0
- package/assets/esri/core/workers/chunks/469ba1b24cdeea0758ec.js +1 -0
- package/assets/esri/core/workers/chunks/471238134f41747cd1af.js +1 -0
- package/assets/esri/core/workers/chunks/4999ea62751ee79bdd0a.js +1 -0
- package/assets/esri/core/workers/chunks/4a38075c222024cf746d.js +1 -0
- package/assets/esri/core/workers/chunks/4c3bf9eb76fd6834fa83.js +1 -0
- package/assets/esri/core/workers/chunks/4d7d6cfa3e1ef97a3acd.js +1 -0
- package/assets/esri/core/workers/chunks/{35a1230999f4cda68c6e.js → 4e4cfd13ad3401f14183.js} +1 -1
- package/assets/esri/core/workers/chunks/4ec401e73d1518f1594b.js +1 -0
- package/assets/esri/core/workers/chunks/505a79b67bbb515b5fd2.js +1 -0
- package/assets/esri/core/workers/chunks/528c32f8ef8b770269a4.js +1 -0
- package/assets/esri/core/workers/chunks/{bb6d5163a12d924750b5.js → 53485c6bc70852bc023d.js} +1 -1
- package/assets/esri/core/workers/chunks/{985b0528f5a31fa82c6c.js → 5bb1c25df56c8f40f89c.js} +122 -122
- package/assets/esri/core/workers/chunks/5bb7da0cd9ef5e34287d.js +1 -0
- package/assets/esri/core/workers/chunks/{fad33b542548148329e1.js → 62d41820793b3108b0b3.js} +1 -1
- package/assets/esri/core/workers/chunks/68dd38542fc514ef3948.js +1 -0
- package/assets/esri/core/workers/chunks/6acf002723098bfa90c1.js +1 -0
- package/assets/esri/core/workers/chunks/6c076fb126d2363c903b.js +1 -0
- package/assets/esri/core/workers/chunks/6dcdb3c0e1c303a9d2e7.js +1 -0
- package/assets/esri/core/workers/chunks/72cb60f688aa1f7348a0.js +1 -0
- package/assets/esri/core/workers/chunks/76367318b857ea9254d3.js +1 -0
- package/assets/esri/core/workers/chunks/77d52ec851c330b516bb.js +1 -0
- package/assets/esri/core/workers/chunks/78c3e911ed7715f1a7eb.js +1 -0
- package/assets/esri/core/workers/chunks/78fac5c9be32161d9c5a.js +1 -0
- package/assets/esri/core/workers/chunks/7b20dc11666af63326f3.js +1 -0
- package/assets/esri/core/workers/chunks/7d0929d327070e00fbc7.js +1 -0
- package/assets/esri/core/workers/chunks/7d8bebbd36e7e1148a67.js +1 -0
- package/assets/esri/core/workers/chunks/82b04846512f4001de3d.js +1 -0
- package/assets/esri/core/workers/chunks/83dbee21380fa043f86b.js +1 -0
- package/assets/esri/core/workers/chunks/87c78e7b6a107081bc7a.js +1 -0
- package/assets/esri/core/workers/chunks/88a01bec361948e87331.js +1 -0
- package/assets/esri/core/workers/chunks/8904d7bdce5d170feb3f.js +1 -0
- package/assets/esri/core/workers/chunks/898004d1eec310e69d70.js +1 -0
- package/assets/esri/core/workers/chunks/8a1ff12dcc52979eca00.js +1 -0
- package/assets/esri/core/workers/chunks/8ba45b7d7a10bb842616.js +1 -0
- package/assets/esri/core/workers/chunks/8c9253fc271b370a3e92.js +1 -0
- package/assets/esri/core/workers/chunks/8e1c804c74d461df60f7.js +1 -0
- package/assets/esri/core/workers/chunks/8ed2ee1f1be4f92a6f93.js +1 -0
- package/assets/esri/core/workers/chunks/929688a0d9d3364d7833.js +1 -0
- package/assets/esri/core/workers/chunks/9890c214e98cdf1eeb5d.js +1 -0
- package/assets/esri/core/workers/chunks/98d1215cbce71f0e9420.js +1 -0
- package/assets/esri/core/workers/chunks/9a179b6be53af1dff70c.js +1 -0
- package/assets/esri/core/workers/chunks/9a7c08c3464f7e0f72b9.js +1 -0
- package/assets/esri/core/workers/chunks/9c8e28dcf5cf0dd6350b.js +1 -0
- package/assets/esri/core/workers/chunks/9d0362b82f06705b298f.js +1 -0
- package/assets/esri/core/workers/chunks/a17914dcee7d7d49bf71.js +1 -0
- package/assets/esri/core/workers/chunks/a302a6c18b9701edba81.js +1 -0
- package/assets/esri/core/workers/chunks/a618a52ccaf08e30b82d.js +1 -0
- package/assets/esri/core/workers/chunks/a6bca595116302fc142a.js +2 -0
- package/assets/esri/core/workers/chunks/{45397532008f955faf6f.js.LICENSE.txt → a6bca595116302fc142a.js.LICENSE.txt} +6 -0
- package/assets/esri/core/workers/chunks/a8b66d0a3418896f6581.js +1 -0
- package/assets/esri/core/workers/chunks/af36f9cf4e8e261d739d.js +1 -0
- package/assets/esri/core/workers/chunks/af9ff31ba1a32f114605.js +1 -0
- package/assets/esri/core/workers/chunks/b532f9aef9a9f3ec1696.js +1 -0
- package/assets/esri/core/workers/chunks/b539468c8baf83741291.js +1 -0
- package/assets/esri/core/workers/chunks/b8985db9bfb7a59638ef.js +1 -0
- package/assets/esri/core/workers/chunks/ba202a0fa5f1c7b99029.js +1 -0
- package/assets/esri/core/workers/chunks/bd2fd077a3ef8952940f.js +1 -0
- package/assets/esri/core/workers/chunks/bee19483591ff9994495.js +1 -0
- package/assets/esri/core/workers/chunks/c0142d207900d8b40b46.js +1 -0
- package/assets/esri/core/workers/chunks/c3e6d2a6fa72504b09df.js +1 -0
- package/assets/esri/core/workers/chunks/c68957f6be4772abb6a1.js +1 -0
- package/assets/esri/core/workers/chunks/{0047de430866d6e859f8.js → d23f2b797c3ad0d83352.js} +1 -1
- package/assets/esri/core/workers/chunks/d440b5dd8c7cd17809b6.js +1 -0
- package/assets/esri/core/workers/chunks/d65cc4a7c84af604ccf5.js +1 -0
- package/assets/esri/core/workers/chunks/d6c4aad353e04988cb66.js +1 -0
- package/assets/esri/core/workers/chunks/db5a6720bcf06f4d5af2.js +1 -0
- package/assets/esri/core/workers/chunks/dc947cebe9a634b3cab1.js +1 -0
- package/assets/esri/core/workers/chunks/e51b2768527e1aee1379.js +1 -0
- package/assets/esri/core/workers/chunks/{874b43491451bd3dc9d9.js → e561113f08d5a30c6f55.js} +1 -1
- package/assets/esri/core/workers/chunks/e6c66a61b7b5ac4aef54.js +1 -0
- package/assets/esri/core/workers/chunks/e80cd966d0be8de58b26.js +1 -0
- package/assets/esri/core/workers/chunks/f01284acdc4e135e14d1.js +1 -0
- package/assets/esri/core/workers/chunks/{e081cdf99295001fc351.js → f2d65c54a65f3f2d30d9.js} +1 -1
- package/assets/esri/core/workers/chunks/{4cb64ccb5fba126f9a66.js → f3be17d37b3d1aa90505.js} +1 -1
- package/assets/esri/core/workers/chunks/f41805ad8d874e05fbfa.js +1 -0
- package/assets/esri/core/workers/chunks/f44e4219dff47e6ec0b1.js +1 -0
- package/assets/esri/core/workers/chunks/f6084a716570836b6920.js +1 -0
- package/assets/esri/core/workers/chunks/fac4fb73478a0734340c.js +1 -0
- package/assets/esri/core/workers/chunks/{f290b23d014c4e5c22e1.js → fc5d624d13263e56c81f.js} +1 -1
- package/assets/esri/themes/base/_color.scss +1 -1
- package/assets/esri/themes/base/widgets/_BasemapGallery.scss +9 -4
- package/assets/esri/themes/base/widgets/_Feature.scss +24 -0
- package/assets/esri/themes/base/widgets/_Popup.scss +9 -6
- package/assets/esri/themes/base/widgets/_Widget.scss +4 -1
- 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/Feature/t9n/Feature.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ar.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_bs.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ca.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_cs.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_da.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_de.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_el.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_en.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_es.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_et.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_fi.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_fr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_he.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_hr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_hu.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_id.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_it.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ja.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ko.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_lt.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_lv.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_nb.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_nl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pt-BR.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pt-PT.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ro.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ru.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sk.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sv.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_th.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_tr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_uk.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_vi.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-CN.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-HK.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-TW.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ar.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_bs.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ca.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_cs.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_da.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_de.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_el.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_en.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_es.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_et.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_fi.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_fr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_he.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_hr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_hu.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_id.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_it.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ja.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ko.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_lt.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_lv.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_nb.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_nl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pt-BR.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pt-PT.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ro.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ru.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sk.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sv.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_th.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_tr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_uk.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_vi.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-CN.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-HK.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-TW.json +1 -1
- package/chunks/ColorMaterial.glsl.js +14 -12
- package/chunks/arcade.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/core/sql/WhereClause.js +1 -1
- package/interfaces.d.ts +40 -301
- package/intl/duration.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/MultidimensionalSubset.js +1 -1
- package/layers/support/rasterDatasets/multidimensionalUtils.js +1 -1
- package/layers/support/rasterFunctions/ColormapFunction.js +1 -1
- package/layers/support/rasterFunctions/ColormapFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/CompositeBandFunction.js +5 -0
- package/layers/support/rasterFunctions/CompositeBandFunctionArguments.js +5 -0
- package/layers/support/rasterFunctions/ExtractBandFunction.js +5 -0
- package/layers/support/rasterFunctions/ExtractBandFunctionArguments.js +5 -0
- package/layers/support/rasterFunctions/MaskFunction.js +5 -0
- package/layers/support/rasterFunctions/MaskFunctionArguments.js +5 -0
- package/layers/support/rasterFunctions/NDVIFunction.js +5 -0
- package/layers/support/rasterFunctions/NDVIFunctionArguments.js +5 -0
- package/layers/support/rasterFunctions/RemapFunction.js +5 -0
- package/layers/support/rasterFunctions/RemapFunctionArguments.js +5 -0
- package/layers/support/rasterFunctions/StatisticsHistogramsFunction.js +5 -0
- package/layers/support/rasterFunctions/StatisticsHistogramsFunctionArguments.js +5 -0
- package/layers/support/rasterFunctions/bandIndexUtils.js +1 -1
- package/layers/support/rasterFunctions/pixelUtils.js +1 -1
- package/layers/support/rasterFunctions/rasterFunctionHelper.js +1 -1
- package/package.json +3 -3
- package/portal/PortalItem.js +1 -1
- package/renderers/RasterShadedReliefRenderer.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/smartMapping/raster/renderers/shadedRelief.js +1 -1
- package/smartMapping/raster/support/utils.js +1 -1
- package/support/arcadeOnDemand.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MarkerVisualElement.js +5 -0
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/constants.js +1 -1
- package/views/3d/layers/graphics/lineUtils.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/support/markerUtils.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/engineGeometry/line.js +5 -0
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +5 -0
- package/widgets/Feature/FeatureRelationship.js +5 -0
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/TableList.js +1 -1
- package/arcade/lib/messages.js +0 -5
- package/arcade/lib/nodes.js +0 -5
- package/arcade/lib/syntax.js +0 -5
- package/arcade/lib/token.js +0 -5
- package/assets/esri/core/workers/chunks/00492f06627a6ef8ac95.js +0 -1
- package/assets/esri/core/workers/chunks/016b54572465ad54c08a.js +0 -1
- package/assets/esri/core/workers/chunks/02b0a9f1530209090291.js +0 -1
- package/assets/esri/core/workers/chunks/035bc2f983f96c749e1d.js +0 -1
- package/assets/esri/core/workers/chunks/0455c2cc352743827b6f.js +0 -1
- package/assets/esri/core/workers/chunks/06d6c6ea3e26502f8913.js +0 -1
- package/assets/esri/core/workers/chunks/09359c86db1b17f648ad.js +0 -1
- package/assets/esri/core/workers/chunks/0bf0bdf1117e284f2846.js +0 -1
- package/assets/esri/core/workers/chunks/0c0e429caa3845df39da.js +0 -1
- package/assets/esri/core/workers/chunks/13788daaade91a6f95b5.js +0 -1
- package/assets/esri/core/workers/chunks/1537b8744b2dab81b601.js +0 -1
- package/assets/esri/core/workers/chunks/1b3733100b9fa41905d0.js +0 -1
- package/assets/esri/core/workers/chunks/1eee2743ceb1cf12b036.js +0 -1
- package/assets/esri/core/workers/chunks/237217dc252423be80e7.js +0 -1
- package/assets/esri/core/workers/chunks/2909c5e28c05ddb007a0.js +0 -1
- package/assets/esri/core/workers/chunks/351e35b9f0f46f069ff2.js +0 -1
- package/assets/esri/core/workers/chunks/3d446ee088e138ac069c.js +0 -1
- package/assets/esri/core/workers/chunks/3e108ee81b5684f81cea.js +0 -1
- package/assets/esri/core/workers/chunks/3e7189a8de9f45220980.js +0 -1
- package/assets/esri/core/workers/chunks/3ed107db12b6edf26f7c.js +0 -1
- package/assets/esri/core/workers/chunks/401d8e3dd85d6dfb48e4.js +0 -1
- package/assets/esri/core/workers/chunks/43996ef97ad7dcd5ad2e.js +0 -1
- package/assets/esri/core/workers/chunks/45397532008f955faf6f.js +0 -2
- package/assets/esri/core/workers/chunks/45ccfad5cf16137ecb2f.js +0 -1
- package/assets/esri/core/workers/chunks/4637bfd3deff50b03f2e.js +0 -1
- package/assets/esri/core/workers/chunks/4e4b0fe40242983ea2be.js +0 -1
- package/assets/esri/core/workers/chunks/515a5ffad8a9546df068.js +0 -1
- package/assets/esri/core/workers/chunks/529a87291269268f92b9.js +0 -1
- package/assets/esri/core/workers/chunks/53916d4a55b73b0ab55d.js +0 -1
- package/assets/esri/core/workers/chunks/5636a3da635dace29531.js +0 -1
- package/assets/esri/core/workers/chunks/59e0c0c2d7a6177d7729.js +0 -1
- package/assets/esri/core/workers/chunks/5bd8bb2c4a01d10f44e1.js +0 -1
- package/assets/esri/core/workers/chunks/5d1fddc9d8fdd91db350.js +0 -1
- package/assets/esri/core/workers/chunks/5d3fc70114ca4c7770a8.js +0 -1
- package/assets/esri/core/workers/chunks/6394e946851902e80f11.js +0 -1
- package/assets/esri/core/workers/chunks/6513022dc2d3909abf70.js +0 -1
- package/assets/esri/core/workers/chunks/6c7253d578d4108eb582.js +0 -1
- package/assets/esri/core/workers/chunks/6eefbb75693133fc0a6f.js +0 -1
- package/assets/esri/core/workers/chunks/70179a003b5e52a99e10.js +0 -1
- package/assets/esri/core/workers/chunks/7916fa9d3a7e6b569ebf.js +0 -1
- package/assets/esri/core/workers/chunks/80d9acfa590a50d8324b.js +0 -1
- package/assets/esri/core/workers/chunks/8125ce63da8b2f32b14a.js +0 -1
- package/assets/esri/core/workers/chunks/82158f35049d7c9044d1.js +0 -1
- package/assets/esri/core/workers/chunks/897df1e209a334dd2e94.js +0 -1
- package/assets/esri/core/workers/chunks/92ee599bf1bcccf78dee.js +0 -1
- package/assets/esri/core/workers/chunks/9480f870574d3a9d4053.js +0 -1
- package/assets/esri/core/workers/chunks/989d413f6a8990dfeab2.js +0 -1
- package/assets/esri/core/workers/chunks/9a3b3f13d7ebf0020565.js +0 -1
- package/assets/esri/core/workers/chunks/9b0e1b96b897dcc910e3.js +0 -1
- package/assets/esri/core/workers/chunks/9bcdc61d450616b36bc8.js +0 -1
- package/assets/esri/core/workers/chunks/9f9418e4b1c39fe4571d.js +0 -1
- package/assets/esri/core/workers/chunks/a67c5ba0906a0358a684.js +0 -1
- package/assets/esri/core/workers/chunks/a7dc37eaabf07a545ed4.js +0 -1
- package/assets/esri/core/workers/chunks/b0afc51c778d752488c6.js +0 -1
- package/assets/esri/core/workers/chunks/b2732434830860c5927f.js +0 -1
- package/assets/esri/core/workers/chunks/b62dcd8fa6190ec20fc2.js +0 -1
- package/assets/esri/core/workers/chunks/bddf948df232f13a1582.js +0 -1
- package/assets/esri/core/workers/chunks/c0dbe89e2c90e3f8b2fa.js +0 -1
- package/assets/esri/core/workers/chunks/c10dc46853eb0394720e.js +0 -1
- package/assets/esri/core/workers/chunks/c3c05fd41d88d6ab013b.js +0 -1
- package/assets/esri/core/workers/chunks/c44460ed3794dae8f984.js +0 -1
- package/assets/esri/core/workers/chunks/c4a5b96b0da77962dd9d.js +0 -1
- package/assets/esri/core/workers/chunks/c912ae9afa1997a6e1bb.js +0 -1
- package/assets/esri/core/workers/chunks/cb3e0cb0862b78e2e89d.js +0 -1
- package/assets/esri/core/workers/chunks/cd5ce1205fff7de60671.js +0 -1
- package/assets/esri/core/workers/chunks/ce546851aa7f48585494.js +0 -1
- package/assets/esri/core/workers/chunks/cf14187631ab8bf2645b.js +0 -1
- package/assets/esri/core/workers/chunks/dbc6e966bc1095d989c8.js +0 -1
- package/assets/esri/core/workers/chunks/dfb4ce4c7cf2464d789f.js +0 -1
- package/assets/esri/core/workers/chunks/e035aea399c4bdd59631.js +0 -1
- package/assets/esri/core/workers/chunks/e25ef90abed30e2690b8.js +0 -1
- package/assets/esri/core/workers/chunks/e34e5ed71f21115d9e06.js +0 -1
- package/assets/esri/core/workers/chunks/e656e25ccee2a834f140.js +0 -1
- package/assets/esri/core/workers/chunks/e8d0dbb6b6b241138fcf.js +0 -1
- package/assets/esri/core/workers/chunks/ecbc53ca303a6d0f23d4.js +0 -1
- package/assets/esri/core/workers/chunks/f2cca221d9bea32f7594.js +0 -1
- package/assets/esri/core/workers/chunks/f3f3cddb738a125a3d41.js +0 -1
- package/assets/esri/core/workers/chunks/f6f44022482fcd13dcb5.js +0 -1
- package/assets/esri/core/workers/chunks/f762486f63464378dc0d.js +0 -1
- package/assets/esri/core/workers/chunks/f85104cb39fc61b60435.js +0 -1
- package/assets/esri/core/workers/chunks/fcebf23a60398225f588.js +0 -1
- package/assets/esri/core/workers/chunks/fd1a71b91772402c0239.js +0 -1
- package/views/layers/support/FeatureEffect.d.ts +0 -4
- package/views/layers/support/FeatureEffect.js +0 -5
- package/views/layers/support/FeatureFilter.d.ts +0 -4
- package/views/layers/support/FeatureFilter.js +0 -5
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
class s{constructor(s,t){this._moduleSingletons=s,this._syntaxModules=t}loadLibrary(s){if(null===this._syntaxModules)return null;const t=this._syntaxModules[s.toLowerCase()];return t?{syntax:t.script,uri:t.uri}:null}}export{s as ArcadeModuleLoader};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import e from"../request.js";import t from"../portal/Portal.js";import{parseScript as r}from"./parser.js";import o from"./featureset/support/RecentlyUsedCache.js";import{ModuleError as s,ModuleErrorCodes as i}from"./executionError.js";class l{constructor(e){this.portalUri=e}normalizeModuleUri(e){const r=/^[a-z0-9A-Z]+(@[0-9]+\.[0-9]+\.[0-9]+)?([\?|\/].*)?$/gi,o=/(?<portalurl>.+)\/home\/item\.html\?id\=(?<itemid>.+)$/gi,u=/(?<portalurl>.+)\/sharing\/rest\/content\/users\/[a-zA-Z0-9]+\/items\/(?<itemid>.+)$/gi,c=/(?<portalurl>.+)\/sharing\/rest\/content\/items\/(?<itemid>.+)$/gi,n=/(?<itemid>.*)@(?<versionstring>[0-9]+\.[0-9]+\.[0-9]+)([\?|\/].*)?$/gi;if(e.startsWith("portal+")){let l=e.substring(7),a="",m=l,d=!1;for(const e of[o,c,u]){const t=e.exec(l);if(null!==t){m=t.groups.itemid,a=t.groups.portalurl,d=!0;break}}if(!1===d){if(!r.test(l))throw new s(i.UnsupportedUriProtocol,{uri:e});m=l,a=this.portalUri}m.includes("/")&&(m=m.split("/")[0]),m.includes("?")&&(m=m.split("?")[0]);let h="current";const p=n.exec(m);null!==p&&(m=p.groups.itemid,h=p.groups.versionstring);return l=new t({url:a}).restUrl+"/content/items/"+m+"/resources/"+h+".txt",{url:l,scheme:"portal",uri:"PO:"+l}}if(e.startsWith("mock")){if("mock"===e){return{url:"",scheme:"mock",data:'\n export var hello = 1;\n export function helloWorld() {\n return "Hello World " + hello;\n }\n ',uri:"mock"}}const t=e.replace("mock:","");if(void 0!==l.mocks[t])return{url:"",scheme:"mock",data:l.mocks[t],uri:e}}throw new s(i.UnrecognisedUri,{uri:e})}async fetchModule(e){const t=l.cachedModules.getFromCache(e.uri);if(t)return t;const r=this.fetchSource(e);l.cachedModules.addToCache(e.uri,r);let o=null;try{o=await r}catch(s){throw l.cachedModules.removeFromCache(e.uri),s}return o}async fetchSource(t){if("portal"===t.scheme){const o=await e(t.url,{responseType:"text",query:{}});if(o.data)return r(o.data,[])}if("mock"===t.scheme)return r(t.data,[]);throw new s(i.UnsupportedUriProtocol)}static create(e){return new l(e)}static getDefault(){return this._default||(l._default=l._moduleResolverFactory()),this._default}static set moduleResolverClass(e){this._moduleResolverFactory=e,this._default=null}}l.mocks={},l.cachedModules=new o(30),l._default=null,l._moduleResolverFactory=()=>{const e=t.getDefault();return new l(e.url)};export{l as ArcadeModuleResolver};
|
package/arcade/ArcadePortal.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import s from"./Dictionary.js";class t extends s{constructor(s){super(),this.declaredClass="esri.arcade.Portal",this.immutable=!1,this.setField("url",s),this.immutable=!0}}export{t as default};
|
package/arcade/Attachment.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"./Dictionary.js";class e extends t{constructor(t,e,i,
|
|
5
|
+
import t from"./Dictionary.js";class e extends t{constructor(t,e,s,i,a,l){super(),this.attachmentUrl=a,this.declaredClass="esri.arcade.Attachment",this.immutable=!1,this.setField("id",t),this.setField("name",e),this.setField("contenttype",s),this.setField("size",i),this.setField("exifinfo",l),this.immutable=!0}}export{e as default};
|
package/arcade/Dictionary.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"./ImmutableArray.js";import{i as
|
|
5
|
+
import{ArcadeExecutionError as t,ExecutionErrorCodes as s}from"./executionError.js";import i from"./ImmutableArray.js";import{i as e,a as n,b as r,c as o,t as a,d as u,e as l,f as c,g as f,h,j as b,k as y,l as m,m as d}from"../chunks/languageUtils.js";import w from"../geometry/Geometry.js";function g(t,s=!1){if(null==t)return null;if(r(t))return f(t);if(n(t))return h(t);if(o(t))return b(t);if(y(t))return m(t);if(d(t)){const i=[];for(const e of t)i.push(g(e,s));return i}const i=new J;i.immutable=!1;for(const e of Object.keys(t)){const n=t[e];void 0!==n&&i.setField(e,g(n,s))}return i.immutable=s,i}class J{constructor(t){this.declaredClass="esri.arcade.Dictionary",this.attributes=null,this.plain=!1,this.immutable=!0,this.attributes=t instanceof J?t.attributes:t??{}}field(i){const e=i.toLowerCase(),n=this.attributes[i];if(void 0!==n)return n;for(const t in this.attributes)if(t.toLowerCase()===e)return this.attributes[t];throw new t(null,s.FieldNotFound,null,{key:i})}setField(i,n){if(this.immutable)throw new t(null,s.Immutable,null);if(e(n))throw new t(null,s.NoFunctionInDictionary,null);const r=i.toLowerCase();if(void 0===this.attributes[i]){for(const t in this.attributes)if(t.toLowerCase()===r)return void(this.attributes[t]=n);this.attributes[i]=n}else this.attributes[i]=n}hasField(t){const s=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===s)return!0;return!1}keys(){let t=[];for(const s in this.attributes)t.push(s);return t=t.sort(),t}castToText(){let t="";for(const s in this.attributes){""!==t&&(t+=",");const e=this.attributes[s];null==e?t+=JSON.stringify(s)+":null":n(e)||r(e)||o(e)?t+=JSON.stringify(s)+":"+JSON.stringify(e):e instanceof w||e instanceof i||e instanceof Array?t+=JSON.stringify(s)+":"+a(e):e instanceof Date?t+=JSON.stringify(s)+":"+JSON.stringify(e):null!==e&&"object"==typeof e&&void 0!==e.castToText&&(t+=JSON.stringify(s)+":"+e.castToText())}return"{"+t+"}"}static convertObjectToArcadeDictionary(t,s=!0){const i=new J;i.immutable=!1;for(const e in t){const s=t[e];void 0!==s&&i.setField(e.toString(),g(s))}return i.immutable=s,i}static convertJsonToArcade(t,s=!1){return g(t,s)}castAsJson(t=null){const s={};for(let i in this.attributes){const e=this.attributes[i];void 0!==e&&(t?.keyTranslate&&(i=t.keyTranslate(i)),s[i]=u(e,t))}return s}async castDictionaryValueAsJsonAsync(t,s,i,e=null,n){const r=await l(i,e,n);return t[s]=r,r}async castAsJsonAsync(t=null,s=null){const i={},e=[];for(let n in this.attributes){const r=this.attributes[n];s?.keyTranslate&&(n=s.keyTranslate(n)),void 0!==r&&(c(r)||r instanceof w||r instanceof Date?i[n]=u(r,s):e.push(this.castDictionaryValueAsJsonAsync(i,n,r,t,s)))}return e.length>0&&await Promise.all(e),i}}export{J as default};
|
package/arcade/Feature.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"./Dictionary.js";import e from"./ImmutableArray.js";import{i,
|
|
5
|
+
import t from"./Dictionary.js";import e from"./ImmutableArray.js";import{a as i,b as s,c as r,t as a,f as o,k as n,d as l}from"../chunks/languageUtils.js";import u from"../geometry/Geometry.js";import h from"../geometry/Point.js";import{fromJSON as f}from"../geometry/support/jsonUtils.js";import{convertToGeometry as y}from"../layers/graphics/featureConversionUtils.js";import{isSome as c,unwrap as m}from"../core/maybe.js";import{ArcadeExecutionError as d,ExecutionErrorCodes as _}from"./executionError.js";class b{constructor(){this.arcadeDeclaredClass="esri.arcade.Feature",this._optimizedGeomDefinition=null,this._geometry=null,this.attributes=null,this._layer=null,this._datesfixed=!0,this.immutable=!0,this._datefields=null,this.immutable=!0}static createFromGraphic(t){const e=new b;return e._geometry=c(t.geometry)?t.geometry:null,void 0===t.attributes||null===t.attributes?e.attributes={}:e.attributes=t.attributes,t._sourceLayer?(e._layer=t._sourceLayer,e._datesfixed=!1):t._layer?(e._layer=t._layer,e._datesfixed=!1):t.layer&&"fields"in t.layer?(e._layer=t.layer,e._datesfixed=!1):t.sourceLayer&&"fields"in t.sourceLayer&&(e._layer=t.sourceLayer,e._datesfixed=!1),e}static createFromArcadeFeature(t){const e=new b;return e._datesfixed=t._datesfixed,e.attributes=t.attributes,e._geometry=t._geometry,e._optimizedGeomDefinition=t._optimizedGeomDefinition,t._layer&&(e._layer=t._layer),e}static createFromOptimisedFeature(t,e,i){const s=new b;return s._geometry=t.geometry?{geometry:t.geometry}:null,s._optimizedGeomDefinition=i,s.attributes=t.attributes||{},s._layer=e,s._datesfixed=!1,s}static createFromArcadeDictionary(e){const i=new b;return i.attributes=e.field("attributes"),null!==i.attributes&&i.attributes instanceof t?(i.attributes=i.attributes.attributes,null===i.attributes&&(i.attributes={})):i.attributes={},i._geometry=e.field("geometry"),null!==i._geometry&&(i._geometry instanceof t?i._geometry=b.parseGeometryFromDictionary(i._geometry):i._geometry instanceof u||(i._geometry=null)),i}static createFromGraphicLikeObject(t,e,i=null){const s=new b;return null===e&&(e={}),s.attributes=e,s._geometry=c(t)?t:null,s._layer=i,s._layer&&(s._datesfixed=!1),s}repurposeFromGraphicLikeObject(t,e,i=null){null===e&&(e={}),this.attributes=e,this._geometry=t||null,this._layer=i,this._layer?this._datesfixed=!1:this._datesfixed=!0}castToText(){let t="";!1===this._datesfixed&&this._fixDates();for(const o in this.attributes){""!==t&&(t+=",");const n=this.attributes[o];null==n?t+=JSON.stringify(o)+":null":i(n)||s(n)||r(n)?t+=JSON.stringify(o)+":"+JSON.stringify(n):n instanceof u||n instanceof e||n instanceof Array?t+=JSON.stringify(o)+":"+a(n):n instanceof Date?t+=JSON.stringify(o)+":"+JSON.stringify(n):null!==n&&"object"==typeof n&&void 0!==n.castToText&&(t+=JSON.stringify(o)+":"+n.castToText())}return'{"geometry":'+(null===this.geometry()?"null":a(this.geometry()))+',"attributes":{'+t+"}}"}_fixDates(){if(null!==this._datefields)return this._datefields.length>0&&this._fixDateFields(this._datefields),void(this._datesfixed=!0);const t=[],e=this._layer.fields;for(let i=0;i<e.length;i++){const s=e[i],r=s.type;"date"!==r&&"esriFieldTypeDate"!==r||t.push(s.name)}this._datefields=t,t.length>0&&this._fixDateFields(t),this._datesfixed=!0}_fixDateFields(t){this.attributes={...this.attributes};for(let e=0;e<t.length;e++){let i=this.attributes[t[e]];if(null===i);else if(void 0===i){for(const s in this.attributes)if(s.toLowerCase()===t[e].toLowerCase()){i=this.attributes[s],null!==i&&(i instanceof Date||(this.attributes[s]=new Date(i)));break}}else i instanceof Date||(this.attributes[t[e]]=new Date(i))}}geometry(){return null===this._geometry||this._geometry instanceof u||(this._optimizedGeomDefinition?(this._geometry=m(f(y(this._geometry,this._optimizedGeomDefinition.geometryType,this._optimizedGeomDefinition.hasZ,this._optimizedGeomDefinition.hasM))),this._geometry.spatialReference=this._optimizedGeomDefinition.spatialReference):this._geometry=m(f(this._geometry))),this._geometry}field(t){!1===this._datesfixed&&this._fixDates();const e=this.attributes[t];if(void 0!==e)return e;const i=t.toLowerCase();for(const s in this.attributes)if(s.toLowerCase()===i)return this.attributes[s];if(this._hasFieldDefinition(i))return null;throw new d(null,_.FieldNotFound,null,{key:t})}_hasFieldDefinition(t){if(null===this._layer)return!1;for(let e=0;e<this._layer.fields.length;e++){if(this._layer.fields[e].name.toLowerCase()===t)return!0}return!1}setField(t,e){if(this.immutable)throw new d(null,_.Immutable,null);if(!1===o(e))throw new d(null,_.TypeNotAllowedInFeature,null);const i=t.toLowerCase();if(void 0===this.attributes[t]){for(const t in this.attributes)if(t.toLowerCase()===i)return void(this.attributes[t]=e);this.attributes[t]=e}else this.attributes[t]=e}hasField(t){const e=t.toLowerCase();if(void 0!==this.attributes[t])return!0;for(const i in this.attributes)if(i.toLowerCase()===e)return!0;return!!this._hasFieldDefinition(e)}keys(){let t=[];const e={};for(const i in this.attributes)t.push(i),e[i.toLowerCase()]=1;if(null!==this._layer)for(let i=0;i<this._layer.fields.length;i++){const s=this._layer.fields[i];1!==e[s.name.toLowerCase()]&&t.push(s.name)}return t=t.sort(),t}static parseGeometryFromDictionary(t){const e=b._convertDictionaryToJson(t,!0);return void 0!==e.hasm&&(e.hasM=e.hasm,delete e.hasm),void 0!==e.hasz&&(e.hasZ=e.hasz,delete e.hasz),void 0!==e.spatialreference&&(e.spatialReference=e.spatialreference,delete e.spatialreference),void 0!==e.rings&&(e.rings=this._fixPathArrays(e.rings,!0===e.hasZ,!0===e.hasZ)),void 0!==e.paths&&(e.paths=this._fixPathArrays(e.paths,!0===e.hasZ,!0===e.hasM)),void 0!==e.points&&(e.points=this._fixPointArrays(e.points,!0===e.hasZ,!0===e.hasM)),f(e)}static _fixPathArrays(t,i,s){const r=[];if(t instanceof Array)for(let e=0;e<t.length;e++)r.push(this._fixPointArrays(t[e],i,s));else if(t instanceof e)for(let e=0;e<t.length();e++)r.push(this._fixPointArrays(t.get(e),i,s));return r}static _fixPointArrays(t,i,s){const r=[];if(t instanceof Array)for(let a=0;a<t.length;a++){const o=t[a];o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}else if(t instanceof e)for(let a=0;a<t.length();a++){const o=t.get(a);o instanceof h?i&&s?r.push([o.x,o.y,o.z,o.m]):i?r.push([o.x,o.y,o.z]):s?r.push([o.x,o.y,o.m]):r.push([o.x,o.y]):o instanceof e?r.push(o.toArray()):r.push(o)}return r}static _convertDictionaryToJson(e,i=!1){const s={};for(const r in e.attributes){let a=e.attributes[r];a instanceof t&&(a=b._convertDictionaryToJson(a)),i?s[r.toLowerCase()]=a:s[r]=a}return s}static parseAttributesFromDictionary(t){const e={};for(const i in t.attributes){const s=t.attributes[i];if(!o(s))throw new d(null,_.InvalidParameter,null);e[i]=s}return e}static fromJson(t){let e=null;null!==t.geometry&&void 0!==t.geometry&&(e=f(t.geometry));const a={};if(null!==t.attributes&&void 0!==t.attributes)for(const o in t.attributes){const e=t.attributes[o];if(null===e)a[o]=e;else{if(!(r(e)||s(e)||i(e)||n(e)))throw new d(null,_.InvalidParameter,null);a[o]=e}}return b.createFromGraphicLikeObject(e,a,null)}fullSchema(){return this._layer}gdbVersion(){if(null===this._layer)return"";const t=this._layer.gdbVersion;return void 0===t?"":""===t&&this._layer.capabilities&&this._layer.capabilities.isVersioned?"SDE.DEFAULT":t}castAsJson(t){const e={attributes:{},geometry:!0===t?.keepGeometryType?this.geometry():this.geometry().toJSON()};for(const i in this.attributes){const s=this.attributes[i];void 0!==s&&(e.attributes[i]=l(s,t))}return e}async castAsJsonAsync(t=null,e){return this.castAsJson(e)}}export{b 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.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
class t{constructor(t,i){this.
|
|
5
|
+
import{isPromiseLike as t}from"../core/promiseUtils.js";class r{constructor(){}}function n(t,n,e){if(t instanceof r&&!(t instanceof s)){const r=new s;return r.fn=t,r.parameterEvaluator=e,r.context=n,r}return t}class e extends r{constructor(t){super(),this.fn=t}createFunction(t){return(...r)=>this.fn(t,{preparsed:!0,arguments:r})}call(t,r){return this.fn(t,r)}marshalledCall(e,a,l,c){return c(e,a,((a,o,i)=>{i=i.map((t=>t instanceof r&&!(t instanceof s)?n(t,e,c):t));const u=this.call(l,{args:i});return t(u)?u.then((t=>n(t,l,c))):u}))}}class s extends r{constructor(){super(...arguments),this.fn=null,this.context=null}createFunction(t){return this.fn.createFunction(this.context)}call(t,r){return this.fn.marshalledCall(t,r,this.context,this.parameterEvaluator)}marshalledCall(t,r,n){return this.fn.marshalledCall(t,r,this.context,this.parameterEvaluator)}}export{r as ArcadeFunction,e as NativeFunction,s as ScopeMarshalledFunction,n as wrapModuleScopedResponse};
|
package/arcade/arcade.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"./arcadeCompiler.js";import"./arcadeRuntime.js";import"./parser.js";import"./treeAnalysis.js";import"../core/has.js";export{c as compileScript,
|
|
5
|
+
import"./arcadeCompiler.js";import"./ArcadeModuleResolver.js";import"./arcadeRuntime.js";import"./executionError.js";import"./parser.js";import"./treeAnalysis.js";import"../core/has.js";export{_ as _loadScriptDependenciesImpl,c as compileScript,o as enableAsyncSupport,q as enableAsyncSupportImpl,d as enableFeatureSetSupport,w as enableFeatureSetSupportImpl,b as enableGeometrySupport,n as enableGeometrySupportImpl,e as executeScript,i as extend,a as extractExpectedFieldLiterals,m as extractFieldLiterals,f as featureSetUtils,u as isAsyncEnabled,t as isFeatureSetSupportEnabled,v as isGeometryEnabled,A as loadDependentModules,l as loadScriptDependencies,j as parseAndExecuteScript,p as parseScript,k as referencesFunction,r as referencesMember,y as scriptIsAsync,s as scriptTouchesGeometry,x as scriptUsesFeatureSet,g as scriptUsesGeometryEngine,z as scriptUsesModules}from"../chunks/arcade.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as c,m as l,N as u,x as f,v as p,w,o as h,b as d,l as m,n as g,s as E,y,a as N,f as v,I,R as T,h as S,q as b,r as R,j as O,z as A,A as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as F,findFieldLiterals as x,validateScript as M,referencesMember as P,referencesFunction as D,findFunctionCalls as j}from"./treeAnalysis.js";import{A as L}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as _}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as B}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import z from"../geometry/Extent.js";import q from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import Z from"../geometry/Point.js";import W from"../geometry/Polygon.js";import K from"../geometry/Polyline.js";import X from"../geometry/SpatialReference.js";function J(e){return e&&"function"==typeof e.then}const Q=100;async function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(await re(e,t.arguments[n]));return r}async function ee(e,t,r){if(!0===t.preparsed)return r(e,null,t.arguments);return r(e,t,await $(e,t))}async function te(e,t,r){if(!0===t.preparsed){const n=r(e,null,t.arguments);return J(n),n}const n=r(e,t,await $(e,t));return J(n),n}async function re(e,t,r){if(t.breakpoint&&!0!==r){const r=t.breakpoint();return await r,re(e,t,!0)}switch(t.type){case"VariableDeclarator":return Re(e,t);case"VariableDeclaration":return be(e,t,0);case"BlockStatement":return ve(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return Te(e,t);case"IfStatement":return Ne(e,t);case"ExpressionStatement":return ye(e,t);case"UpdateExpression":return me(e,t);case"AssignmentExpression":return Ee(e,t);case"ForStatement":return ce(e,t);case"ForInStatement":return de(e,t);case"BreakStatement":return w;case"EmptyStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return je(e,t);case"TemplateLiteral":return Le(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Ue(e,t);case"Literal":return t.value;case"CallExpression":return De(e,t);case"UnaryExpression":return Ce(e,t);case"BinaryExpression":return xe(e,t);case"LogicalExpression":return Me(e,t);case"ArrayExpression":return Fe(e,t);case"ObjectExpression":return ne(e,t);case"Property":return oe(e,t);default:throw new Error(C(t,"RUNTIME","UNREOGNISED"))}}async function ne(e,t){const n=[];for(let r=0;r<t.properties.length;r++)n[r]=await re(e,t.properties[r]);const o={};for(let r=0;r<n.length;r++){const e=n[r];if(h(e.value))throw new Error("Illegal Argument");if(!1===d(e.key))throw new Error("Illegal Argument");e.value===p?o[e.key.toString()]=null:o[e.key.toString()]=e.value}const a=new r(o);return a.immutable=!1,a}async function oe(e,t){const r=await re(e,t.value);if("Identifier"===t.key.type)return{key:t.key.name,value:r};return{key:await re(e,t.key),value:r}}async function ae(e,t,r){const n=await re(e,t.body);return r.lastAction=n,r.lastAction===w||r.lastAction instanceof T?(r.testResult=!1,r):null!==t.update?(await re(e,t.update),r):r}async function ie(e,t,r){if(null!==t.test){const n=await re(e,t.test);if(!0===e.abortSignal.aborted)throw new Error("Cancelled");if(r.testResult=n,!1===r.testResult)return r;if(!0!==r.testResult)throw new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"));return ae(e,t,r)}return ae(e,t,r)}function se(e,t,r,n,o,a){try{ie(e,t,r).then((()=>{try{!0===r.testResult?++a>Q?(a=0,setTimeout((()=>{se(e,t,r,n,o,a)}),0)):se(e,t,r,n,o,a):r.lastAction instanceof T?n(r.lastAction):n(p)}catch(i){o(i)}}),(e=>{o(e)}))}catch(i){o(i)}}function ce(e,t){try{return null!==t.init?re(e,t.init).then((()=>new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Promise.reject(r)}}function le(e,t,r,n,o,a,i,s,c,l){try{if(n<=a)return void s(p);o.value="k"===i?r[a]:a,re(e,t.body).then((u=>{try{u instanceof T?s(u):u===w?s(p):++l>Q?(l=0,setTimeout((()=>{le(e,t,r,n,o,a+1,i,s,c,l)}),0)):le(e,t,r,n,o,a+1,i,s,c,l)}catch(f){c(f)}}),(e=>{c(e)}))}catch(u){c(u)}}function ue(e,t,r,n,o,a,i,s,c){try{if(r.length()<=o)return void i(p);n.value="k"===a?r.get(o):o,re(e,t.body).then((l=>{l instanceof T?i(l):l===w?i(p):++c>Q?(c=0,setTimeout((()=>{ue(e,t,r,n,o+1,a,i,s,c)}),0)):ue(e,t,r,n,o+1,a,i,s,c)}),(e=>{s(e)}))}catch(l){s(l)}}function fe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);le(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function pe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ue(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function we(e,t,r,n,o){try{fe(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function he(e,t,r,o,a,i,s,c){try{e.next().then((l=>{try{if(null===l)i(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;re(t,r.body).then((n=>{try{n===w?i(p):n instanceof T?i(n):++c>Q?(c=0,setTimeout((()=>{he(e,t,r,o,a,i,s,c)}),0)):he(e,t,r,o,a,i,s,c)}catch(l){s(l)}}),(e=>{s(e)}))}}catch(u){s(u)}}),(e=>{s(e)}))}catch(l){s(l)}}async function de(e,t){return new Promise(((n,o)=>{re(e,t.right).then((a=>{try{let i=null;i="VariableDeclaration"===t.left.type?re(e,t.left):Promise.resolve(),i.then((()=>{try{let i="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(i=e.name)}else"Identifier"===t.left.type&&(i=t.left.name);if(!i)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));i=i.toLowerCase();let s=null;if(null!==e.localScope&&void 0!==e.localScope[i]&&(s=e.localScope[i]),null===s&&void 0!==e.globalScope[i]&&(s=e.globalScope[i]),null===s)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||d(a)?fe(e,t,a,{reject:o,resolve:n},s):g(a)?pe(e,t,a,{reject:o,resolve:n},s):a instanceof r||E(a)?we(e,t,a,{reject:o,resolve:n},s):y(a)?he(a.iterator(e.abortSignal),e,t,a,s,(e=>{n(e)}),(e=>{o(e)}),0):fe(e,t,[],{reject:o,resolve:n},s)}catch(i){o(i)}}),o)}catch(i){o(i)}}),o)}))}async function me(e,t){const n=t.argument;if("MemberExpression"===n.type){const o={t:null},a=await re(e,n.object);let i=null;o.t=a,!0===n.computed?i=await re(e,n.property):"Identifier"===n.property.type&&(i=n.property.name);const s=o.t;let c;if(m(s)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=s.length+i),i<0||i>=s.length)throw new Error("Assignment outside of array bounds");c=v(s[i]),s[i]="++"===t.operator?c+1:c-1}else if(s instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}else{if(!E(s))throw g(s)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}return!1===t.prefix?c:"++"===t.operator?c+1:c-1}const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;if(null!==e.localScope&&void 0!==e.localScope[o])return a=v(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;if(void 0!==e.globalScope[o])return a=v(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;throw new Error("Variable not recognised")}function ge(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return v(r)/v(e);case"*=":return v(r)*v(e);case"-=":return v(r)-v(e);case"+=":return d(r)||d(e)?S(r)+S(e):v(r)+v(e);case"%=":return v(r)%v(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const o=await re(e,t.right),a=await re(e,n.object);let i=null;if(!0===n.computed)i=await re(e,n.property);else{if("Identifier"!==n.property.type)throw new Error("Expected computed or identifier for assignemnt target");i=n.property.name}if(m(a)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=a.length+i),i<0||i>a.length)throw new Error("Assignment outside of array bounds");if(i===a.length){if("="!==t.operator)throw new Error("Invalid Parameter");a[i]=ge(o,t.operator,a[i],t)}else a[i]=ge(o,t.operator,a[i],t)}else if(a instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}else{if(!E(a))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}return p}const o=n.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[o]){const r=await re(e,t.right);return e.localScope[o]={value:ge(r,t.operator,e.localScope[o].value,t),valueset:!0,node:t.right},p}if(void 0!==e.globalScope[o]){const r=await re(e,t.right);return e.globalScope[o]={value:ge(r,t.operator,e.globalScope[o].value,t),valueset:!0,node:t.right},p}throw new Error("Cannot assign undeclared variable")}async function ye(e,t){if("AssignmentExpression"===t.expression.type)return re(e,t.expression);if("CallExpression"===t.expression.type){const r=await re(e,t.expression);return r===p?p:new I(r)}const r=await re(e,t.expression);return r===p?p:new I(r)}async function Ne(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.test);if(!0===r)return re(e,t.consequent);if(!1===r)return null!==t.alternate?re(e,t.alternate):p;throw new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}async function ve(e,t){return Ie(e,t,0)}async function Ie(e,t,r){if(r>=t.body.length)return p;const n=await re(e,t.body[r]);return n instanceof T||n===w||n===f||r===t.body.length-1?n:Ie(e,t,r+1)}async function Te(e,t){if(null===t.argument)return new T(p);const r=await re(e,t.argument);return new T(r)}async function Se(e,t){const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},p}async function be(e,t,r){return r>=t.declarations.length?p:(await re(e,t.declarations[r]),r===t.declarations.length-1||await be(e,t,r+1),p)}async function Re(e,t){let r=null;if(r=null===t.init?null:await re(e,t.init),null!==e.localScope){if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return e.localScope[n]={value:r,valueset:!0,node:t.init},p}if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return r===p&&(r=null),e.globalScope[n]={value:r,valueset:!0,node:t.init},p}let Oe=0;function Ae(e,t,n,o){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(Oe++,e.spatialReference._arcadeCacheId=Oe,t=Oe)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}async function Ue(e,t){const n=await re(e,t.object);if(null===n)throw new Error(C(t,"RUNTIME","NOTFOUND"));if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof r||E(n))return n.field(t.property.name);if(n instanceof q)return Ae(n,t.property.name,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}let o=await re(e,t.property);if(n instanceof r||E(n)){if(d(o))return n.field(o);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(n instanceof q){if(d(o))return Ae(n,o,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(d(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}async function Ce(e,t){const r=await re(e,t.argument);if(c(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}async function Fe(e,t){const r=[];for(let n=0;n<t.elements.length;n++)r.push(await re(e,t.elements[n]));for(let n=0;n<r.length;n++){if(h(r[n]))throw new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));r[n]===p&&(r[n]=null)}return r}async function xe(e,t){const r=[];r[0]=await re(e,t.left),r[1]=await re(e,t.right);const n=r[0],o=r[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(v(n),v(o),t.operator);case"==":return l(n,o);case"!=":return!l(n,o);case"<":case">":case"<=":case">=":return b(n,o,t.operator);case"+":return d(n)||d(o)?S(n)+S(o):v(n)+v(o);case"-":return v(n)-v(o);case"*":return v(n)*v(o);case"/":return v(n)/v(o);case"%":return v(n)%v(o);default:throw new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Me(e,t){if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.left);let n=null;if(!c(r))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":if(!0===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));case"&&":if(!1===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}async function Pe(e,t){const r=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}throw new Error(C(t,"RUNTIME","VARIABLENOTFOUND"))}async function De(e,t){if("Identifier"!==t.callee.type)throw new Error(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(t,"RUNTIME","NOTFOUND"))}async function je(e,t){return t.value?t.value.cooked:""}async function Le(e,t){const r=[];for(let a=0;a<t.expressions.length;a++){const n=await re(e,t.expressions[a]);r[a]=S(n)}let n="",o=0;for(const a of t.quasis)if(n+=a.value?a.value.cooked:"",!1===a.tail){n+=r[o]?r[o]:"",o++}return n}const ke={};function _e(n){return null===n?"":m(n)||g(n)?"Array":O(n)?"Date":d(n)?"String":c(n)?"Boolean":N(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Z?"Point":n instanceof W?"Polygon":n instanceof K?"Polyline":n instanceof H?"Multipoint":n instanceof z?"Extent":h(n)?"Function":y(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}async function Ve(e,t,r,n){const o=await re(e,t.arguments[r]);if(l(o,n))return re(e,t.arguments[r+1]);const a=t.arguments.length-r;return 1===a?re(e,t.arguments[r]):2===a?null:3===a?re(e,t.arguments[r+2]):Ve(e,t,r+2,n)}async function Ye(e,t,r,n){if(!0===n)return re(e,t.arguments[r+1]);if(3===t.arguments.length-r)return re(e,t.arguments[r+2]);const o=await re(e,t.arguments[r+2]);if(!1===c(o))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,r+2,o)}async function Be(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[Be(e.slice(0,n),t),Be(e.slice(n,r),t)],a=await Promise.all(o);return Ge(a[0],a[1],t,[])}async function Ge(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ge(e,t,r,n)}return e.length>0?(o.push(e[0]),Ge(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ge(e,t=t.slice(1),r,n)):void 0}function ze(e,t){const r=e.length,n=Math.floor(r/2);return t||(t=function(e,t){return e<t?-1:e===t?0:1}),0===r?[]:1===r?[e[0]]:qe(ze(e.slice(0,n),t),ze(e.slice(n,r),t),t)}function qe(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=1),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function He(e,t,r){const n=e.body;if(r.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<r.length;a++){const n=e.params[a];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[a],valueset:!0,node:null})}const o=await re(t,n);if(o instanceof T)return o.value;if(o===w)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof I?o.value:o}function Ze(e,t,r){return te(e,t,((t,n,o)=>{const a={spatialReference:e.spatialReference,services:e.services,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:e.depthCounter+1};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(r,a,o)}))}function We(e){const t=function(){const t={abortSignal:e.context.abortSignal,spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,services:e.context.services,localScope:{},globalScope:e.context.globalScope,depthCounter:e.context.depthCounter+1};if(t.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(e.definition,t,arguments)};return t}k(ke,ee),G(ke,ee),Y(ke,ee),V(ke,ee),B(ke,ee),_({functions:ke,compiled:!1,signatures:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ee,standardFunctionAsync:te}),ke.typeof=function(e,t){return ee(e,t,((e,t,r)=>{s(r,1,1);const n=_e(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},ke.iif=async function(e,t){s(null===t.arguments?[]:t.arguments,3,3);const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("IF Function must have a boolean test condition");const n=[];return n[0]=await re(e,t.arguments[1]),n[1]=await re(e,t.arguments[2]),r?n[0]:n[1]},ke.decode=async function(e,t){if(t.arguments.length<2)throw new Error("Missing Parameters");if(2===t.arguments.length)return re(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new Error("Must have a default value result.");return Ve(e,t,1,await re(e,t.arguments[0]))},ke.when=async function(e,t){if(t.arguments.length<3)throw new Error("Missing Parameters");if(t.arguments.length%2==0)throw new Error("Must have a default value result.");const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,0,r)},ke.sort=function(e,t){return te(e,t,(async(e,t,r)=>{s(r,1,2);let n=r[0];if(g(n)&&(n=n.toArray()),!1===m(n))throw new Error("Illegal Argument");if(r.length>1){if(!1===h(r[1]))throw new Error("Illegal Argument");return Be(n,We(r[1]))}let o=n;if(0===o.length)return[];const a={};for(let s=0;s<o.length;s++){const e=_e(o[s]);""!==e&&(a[e]=!0)}if(!0===a.Array||!0===a.Dictionary||!0===a.Feature||!0===a.Point||!0===a.Polygon||!0===a.Polyline||!0===a.Multipoint||!0===a.Extent||!0===a.Function)return o.slice(0);let i=0,c="";for(const s in a)i++,c=s;return i>1||"String"===c?o=ze(o,((e,t)=>{if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=S(e),n=S(t);return r<n?-1:r===n?0:1})):"Number"===c?o=ze(o,((e,t)=>e-t)):"Boolean"===c?o=ze(o,((e,t)=>e===t?0:t?-1:1)):"Date"===c&&(o=ze(o,((e,t)=>t-e))),o}))};const Ke={fixSpatialReference:U,parseArguments:$,standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunction:We};for(const st in ke)ke[st]={value:new u(ke[st]),valueset:!0,node:null};const Xe=function(){};function Je(e,t){const o=new Xe;null==e&&(e={}),null==t&&(t={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const r in t)o[r]={value:new u(t[r]),native:!0,valueset:!0,node:null};for(const r in e)e[r]&&"esri.Graphic"===e[r].declaredClass?o[r]={value:n.createFromGraphic(e[r]),valueset:!0,node:null}:o[r]={value:e[r],valueset:!0,node:null};return o}function Qe(e){console.log(e)}Xe.prototype=ke,Xe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Xe.prototype.pi={value:Math.PI,valueset:!0,node:null};const $e=Ke;function et(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunctionHandler:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)ke[r]={value:new u(t.functions[r]),valueset:!0,node:null},Xe.prototype[r]=ke[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}async function tt(e,t){let r=t.spatialReference;null==r&&(r=new X({wkid:102100}));const n=Je(t.vars,t.customfunctions),a={spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1};let i=await re(a,e.body[0].body);if(i instanceof T&&(i=i.value),i instanceof I&&(i=i.value),i===p&&(i=null),i===w)throw new Error("Cannot return BREAK");if(i===f)throw new Error("Cannot return CONTINUE");if(i instanceof u)throw new Error("Cannot return FUNCTION");if(i instanceof o)throw new Error("Cannot return FUNCTION");return i}function rt(e,t){return x(e)}function nt(e,t){return M(e,t,"full")}function ot(e,t){return P(e,t)}function at(e,t){return D(e,t)}function it(e){return j(e)}et([L]);export{tt as executeScript,et as extend,rt as extractFieldLiterals,it as findFunctionCalls,$e as functionHelper,at as referencesFunction,ot as referencesMember,nt as validateScript};
|
|
5
|
+
import{ArcadeModule as e}from"./ArcadeModule.js";import{ArcadeModuleLoader as t}from"./ArcadeModuleLoader.js";import n from"./Dictionary.js";import{ArcadeExecutionError as r,ExecutionErrorCodes as a,ensureArcadeExecutionError as o}from"./executionError.js";import i from"./Feature.js";import{NativeFunction as s,ArcadeFunction as l,ScopeMarshalledFunction as c,wrapModuleScopedResponse as u}from"./FunctionWrapper.js";import f from"./ImmutablePathArray.js";import p from"./ImmutablePointArray.js";import{y as w,a as d,s as h,p as m,v as g,o as y,i as v,c as b,R as x,m as S,x as I,w as C,T as F,b as R,g as A,I as M,j,r as k,u as L,q as O}from"../chunks/languageUtils.js";import{addFunctionDeclaration as E}from"./treeAnalysis.js";import{A as N}from"../chunks/array.js";import{registerFunctions as B}from"./functions/date.js";import{registerFunctions as P}from"./functions/geomasync.js";import{registerFunctions as K}from"./functions/geometry.js";import{registerFunctions as _}from"./functions/maths.js";import{registerFunctions as D}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import T from"../geometry/Geometry.js";import U from"../geometry/SpatialReference.js";function q(e){return e&&"function"==typeof e.then}const W=100;async function z(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await J(e,t.arguments[r]));return n}async function V(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await z(e,t))}class Z extends l{constructor(e,t){super(),this.definition=null,this.context=null,this.definition=e,this.context=t}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,localScope:{},depthCounter:{depth:e.depthCounter+1},globalScope:this.context.globalScope};if(n.depthCounter.depth>64)throw new r(e,a.MaximumCallDepth,null);return De(this.definition,n,t,null)}}call(e,t){return H(e,t,((n,o,i)=>{const s={spatialReference:e.spatialReference,services:e.services,console:e.console,libraryResolver:e.libraryResolver,exports:e.exports,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1}};if(s.depthCounter.depth>64)throw new r(e,a.MaximumCallDepth,t);return De(this.definition,s,i,t)}))}marshalledCall(e,t,n,r){return r(e,t,(async(a,o,i)=>{const s={spatialReference:e.spatialReference,globalScope:n.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};return i=i.map((t=>!v(t)||t instanceof c?t:u(t,e,r))),u(await De(this.definition,s,i,t),n,r)}))}}class Y extends e{constructor(e){super(e)}async global(e){const t=this.executingContext.globalScope[e.toLowerCase()];if(t.valueset||(t.value=await J(this.executingContext,t.node),t.valueset=!0),v(t.value)&&!(t.value instanceof c)){const e=new c;e.fn=t.value,e.parameterEvaluator=H,e.context=this.executingContext,t.value=e}return t.value}setGlobal(e,t){if(v(t))throw new r(null,a.AssignModuleFunction,null);this.executingContext.globalScope[e.toLowerCase()]={value:t,valueset:!0,node:null}}hasGlobal(e){return void 0===this.executingContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.executingContext.exports[e]}async loadModule(e){let n=e.spatialReference;null==n&&(n=new U({wkid:102100})),this.moduleScope=Ue({},e.customfunctions),this.executingContext={spatialReference:n,services:e.services,libraryResolver:new t(e.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,globalScope:this.moduleScope,console:e.console?e.console:qe,lrucache:e.lrucache,interceptor:e.interceptor,localScope:null,depthCounter:{depth:1}},await J(this.executingContext,this.source.syntax)}}async function H(e,t,n){if(!0===t.preparsed){const r=n(e,null,t.arguments);return q(r),r}const r=n(e,t,await z(e,t));return q(r),r}async function J(e,t,n){if(t.breakpoint&&!0!==n){const n=t.breakpoint();return await n,J(e,t,!0)}try{switch(t.type){case"VariableDeclarator":return await Ie(e,t);case"ImportDeclaration":return await be(e,t);case"ExportNamedDeclaration":return await xe(e,t);case"VariableDeclaration":return await Se(e,t,0);case"BlockStatement":case"Program":return await me(e,t);case"FunctionDeclaration":return await ve(e,t);case"ReturnStatement":return await ye(e,t);case"IfStatement":return await he(e,t);case"ExpressionStatement":return await de(e,t);case"UpdateExpression":return await fe(e,t);case"AssignmentExpression":return await we(e,t);case"ForStatement":return await re(e,t);case"WhileStatement":return await $(e,t);case"ForInStatement":return await ue(e,t);case"BreakStatement":return y;case"EmptyStatement":return g;case"ContinueStatement":return m;case"TemplateElement":return await Ee(e,t);case"TemplateLiteral":return await Be(e,t);case"Identifier":return await Le(e,t);case"MemberExpression":return await Re(e,t);case"Literal":return t.value;case"CallExpression":return await Oe(e,t);case"UnaryExpression":return await Ae(e,t);case"BinaryExpression":return await je(e,t);case"LogicalExpression":return await ke(e,t);case"ArrayExpression":return await Me(e,t);case"ObjectExpression":return await Q(e,t);case"Property":return await X(e,t);default:throw new r(e,a.Unrecognised,t)}}catch(i){throw o(e,t,i)}}async function Q(e,t){const o=[];for(let n=0;n<t.properties.length;n++)o[n]=await J(e,t.properties[n]);const i={},s=new Map;for(let n=0;n<o.length;n++){const l=o[n];if(v(l.value))throw new r(e,a.NoFunctionInDictionary,t);if(!1===b(l.key))throw new r(e,a.KeyMustBeString,t);let c=l.key.toString();const u=c.toLowerCase();s.has(u)?c=s.get(u):s.set(u,c),l.value===g?i[c]=null:i[c]=l.value}const l=new n(i);return l.immutable=!1,l}async function X(e,t){const n=await J(e,t.value);if("Identifier"===t.key.type)return{key:t.key.name,value:n};return{key:await J(e,t.key),value:n}}async function $(e,t){const n={testResult:!0,lastAction:g};if(n.testResult=await J(e,t.test),!1===n.testResult)return g;if(!0!==n.testResult)throw new r(e,a.BooleanConditionRequired,t);for(;!0===n.testResult&&(n.lastAction=await J(e,t.body),n.lastAction!==y)&&!(n.lastAction instanceof x);)if(n.testResult=await J(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new r(e,a.BooleanConditionRequired,t);return n.lastAction instanceof x?n.lastAction:g}async function ee(e,t,n){const r=await J(e,t.body);return n.lastAction=r,n.lastAction===y||n.lastAction instanceof x?(n.testResult=!1,n):null!==t.update?(await J(e,t.update),n):n}async function te(e,t,n){if(null!==t.test){const o=await J(e,t.test);if(!0===e.abortSignal.aborted)throw new r(e,a.Cancelled,t);if(n.testResult=o,!1===n.testResult)return n;if(!0!==n.testResult)throw new r(e,a.BooleanConditionRequired,t);return ee(e,t,n)}return ee(e,t,n)}function ne(e,t,n,r,a,o){try{te(e,t,n).then((()=>{try{!0===n.testResult?++o>W?(o=0,setTimeout((()=>{ne(e,t,n,r,a,o)}),0)):ne(e,t,n,r,a,o):n.lastAction instanceof x?r(n.lastAction):r(g)}catch(i){a(i)}}),(e=>{a(e)}))}catch(i){a(i)}}function re(e,t){try{return null!==t.init?J(e,t.init).then((()=>new Promise(((n,r)=>{ne(e,t,{testResult:!0,lastAction:g},(e=>{n(e)}),(e=>{r(e)}),0)})))):new Promise(((n,r)=>{ne(e,t,{testResult:!0,lastAction:g},(e=>{n(e)}),(e=>{r(e)}),0)}))}catch(n){return Promise.reject(n)}}function ae(e,t,n,r,a,o,i,s,l,c){try{if(r<=o)return void s(g);a.value="k"===i?n[o]:o,J(e,t.body).then((u=>{try{u instanceof x?s(u):u===y?s(g):++c>W?(c=0,setTimeout((()=>{ae(e,t,n,r,a,o+1,i,s,l,c)}),0)):ae(e,t,n,r,a,o+1,i,s,l,c)}catch(f){l(f)}}),(e=>{l(e)}))}catch(u){l(u)}}function oe(e,t,n,r,a,o,i,s,l){try{if(n.length()<=a)return void i(g);r.value="k"===o?n.get(a):a,J(e,t.body).then((c=>{c instanceof x?i(c):c===y?i(g):++l>W?(l=0,setTimeout((()=>{oe(e,t,n,r,a+1,o,i,s,l)}),0)):oe(e,t,n,r,a+1,o,i,s,l)}),(e=>{s(e)}))}catch(c){s(c)}}function ie(e,t,n,r,a,o){try{if(void 0===o&&(o="i"),0===n.length)return void r.resolve(g);ae(e,t,n,n.length,a,0,o,(e=>{r.resolve(e)}),(e=>{r.reject(e)}),0)}catch(i){r.reject(i)}}function se(e,t,n,r,a,o){try{if(void 0===o&&(o="i"),0===n.length)return void r.resolve(g);oe(e,t,n,a,0,o,(e=>{r.resolve(e)}),(e=>{r.reject(e)}),0)}catch(i){r.reject(i)}}function le(e,t,n,r,a){try{ie(e,t,n.keys(),r,a,"k")}catch(o){r.reject(o)}}function ce(e,t,n,r,a,o,s,l){try{e.next().then((c=>{try{if(null===c)o(g);else{const u=i.createFromGraphicLikeObject(c.geometry,c.attributes,r);u._underlyingGraphic=c,a.value=u;J(t,n.body).then((i=>{try{i===y?o(g):i instanceof x?o(i):++l>W?(l=0,setTimeout((()=>{ce(e,t,n,r,a,o,s,l)}),0)):ce(e,t,n,r,a,o,s,l)}catch(c){s(c)}}),(e=>{s(e)}))}}catch(u){s(u)}}),(e=>{s(e)}))}catch(c){s(c)}}async function ue(e,t){return new Promise(((o,i)=>{J(e,t.right).then((s=>{try{let l=null;l="VariableDeclaration"===t.left.type?J(e,t.left):Promise.resolve(),l.then((()=>{try{let l="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(l=e.name)}else"Identifier"===t.left.type&&(l=t.left.name);if(!l)throw new r(e,a.InvalidIdentifier,t);l=l.toLowerCase();let c=null;if(null!==e.localScope&&void 0!==e.localScope[l]&&(c=e.localScope[l]),null===c&&void 0!==e.globalScope[l]&&(c=e.globalScope[l]),null===c)return void i(new r(e,a.InvalidIdentifier,t));S(s)||b(s)?ie(e,t,s,{reject:i,resolve:o},c):I(s)?se(e,t,s,{reject:i,resolve:o},c):s instanceof n||C(s)?le(e,t,s,{reject:i,resolve:o},c):F(s)?ce(s.iterator(e.abortSignal),e,t,s,c,(e=>{o(e)}),(e=>{i(e)}),0):ie(e,t,[],{reject:i,resolve:o},c)}catch(l){i(l)}}),i)}catch(l){i(l)}}),i)}))}async function fe(e,t){const o=t.argument;if("MemberExpression"===o.type){const i={t:null},s=await J(e,o.object);let l=null;i.t=s,!0===o.computed?l=await J(e,o.property):"Identifier"===o.property.type&&(l=o.property.name);const c=i.t;let u;if(S(c)){if(!R(l))throw new r(e,a.ArrayAccessorMustBeNumber,t);if(l<0&&(l=c.length+l),l<0||l>=c.length)throw new r(e,a.OutOfBounds,t);u=A(c[l]),c[l]="++"===t.operator?u+1:u-1}else if(c instanceof n){if(!1===b(l))throw new r(e,a.KeyAccessorMustBeString,t);if(!0!==c.hasField(l))throw new r(e,a.FieldNotFound,t,{key:l});u=A(c.field(l)),c.setField(l,"++"===t.operator?u+1:u-1)}else if(c instanceof Y){if(!1===b(l))throw new r(e,a.ModuleAccessorMustBeString,t);if(!0!==c.hasGlobal(l))throw new r(e,a.ModuleExportNotFound,t);u=A(await c.global(l)),c.setGlobal(l,"++"===t.operator?u+1:u-1)}else{if(!C(c))throw I(c)?new r(e,a.Immutable,t):new r(e,a.InvalidParameter,t);if(!1===b(l))throw new r(e,a.KeyAccessorMustBeString,t);if(!0!==c.hasField(l))throw new r(e,a.FieldNotFound,t,{key:l});u=A(c.field(l)),c.setField(l,"++"===t.operator?u+1:u-1)}return!1===t.prefix?u:"++"===t.operator?u+1:u-1}const i="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!i)throw new r(e,a.InvalidIdentifier,t);let s;if(null!==e.localScope&&void 0!==e.localScope[i])return s=A(e.localScope[i].value),e.localScope[i]={value:"++"===t.operator?s+1:s-1,valueset:!0,node:t},!1===t.prefix?s:"++"===t.operator?s+1:s-1;if(void 0!==e.globalScope[i])return s=A(e.globalScope[i].value),e.globalScope[i]={value:"++"===t.operator?s+1:s-1,valueset:!0,node:t},!1===t.prefix?s:"++"===t.operator?s+1:s-1;throw new r(e,a.InvalidIdentifier,t)}function pe(e,t,n,o,i){switch(t){case"=":return e===g?null:e;case"/=":return A(n)/A(e);case"*=":return A(n)*A(e);case"-=":return A(n)-A(e);case"+=":return b(n)||b(e)?j(n)+j(e):A(n)+A(e);case"%=":return A(n)%A(e);default:throw new r(i,a.UnsupportedOperator,o)}}async function we(e,t){const o=t.left;if("MemberExpression"===o.type){const i=await J(e,t.right),s=await J(e,o.object);let l=null;if(!0===o.computed)l=await J(e,o.property);else{if("Identifier"!==o.property.type)throw new r(e,a.InvalidIdentifier,t);l=o.property.name}if(S(s)){if(!R(l))throw new r(e,a.ArrayAccessorMustBeNumber,t);if(l<0&&(l=s.length+l),l<0||l>s.length)throw new r(e,a.OutOfBounds,t);if(l===s.length){if("="!==t.operator)throw new r(e,a.OutOfBounds,t);s[l]=pe(i,t.operator,s[l],t,e)}else s[l]=pe(i,t.operator,s[l],t,e)}else if(s instanceof n){if(!1===b(l))throw new r(e,a.KeyAccessorMustBeString,t);if(!0===s.hasField(l))s.setField(l,pe(i,t.operator,s.field(l),t,e));else{if("="!==t.operator)throw new r(e,a.FieldNotFound,t,{key:l});s.setField(l,pe(i,t.operator,null,t,e))}}else if(s instanceof Y){if(!1===b(l))throw new r(e,a.KeyAccessorMustBeString,t);if(!0!==s.hasGlobal(l))throw new r(e,a.ModuleExportNotFound,t);s.setGlobal(l,pe(i,t.operator,await s.global(l),t,e))}else{if(!C(s))throw I(s)?new r(e,a.Immutable,t):new r(e,a.InvalidParameter,t);if(!1===b(l))throw new r(e,a.KeyAccessorMustBeString,t);if(!0===s.hasField(l))s.setField(l,pe(i,t.operator,s.field(l),t,e));else{if("="!==t.operator)throw new r(e,a.FieldNotFound,t,{key:l});s.setField(l,pe(i,t.operator,null,t,e))}}return g}const i=o.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[i]){const n=await J(e,t.right);return e.localScope[i]={value:pe(n,t.operator,e.localScope[i].value,t,e),valueset:!0,node:t.right},g}if(void 0!==e.globalScope[i]){const n=await J(e,t.right);return e.globalScope[i]={value:pe(n,t.operator,e.globalScope[i].value,t,e),valueset:!0,node:t.right},g}throw new r(e,a.InvalidIdentifier,t)}async function de(e,t){if("AssignmentExpression"===t.expression.type)return J(e,t.expression);if("CallExpression"===t.expression.type){const n=await J(e,t.expression);return n===g?g:new M(n)}const n=await J(e,t.expression);return n===g?g:new M(n)}async function he(e,t){const n=await J(e,t.test);if(!0===n)return J(e,t.consequent);if(!1===n)return null!==t.alternate?J(e,t.alternate):g;throw new r(e,a.BooleanConditionRequired,t)}async function me(e,t){return ge(e,t,0)}async function ge(e,t,n){if(n>=t.body.length)return g;const r=await J(e,t.body[n]);return r instanceof x||r===y||r===m||n===t.body.length-1?r:ge(e,t,n+1)}async function ye(e,t){if(null===t.argument)return new x(g);const n=await J(e,t.argument);return new x(n)}async function ve(e,t){const n=t.id.name.toLowerCase();return e.globalScope[n]={valueset:!0,node:null,value:new Z(t,e)},g}async function be(e,t){const n=t.specifiers[0].local.name.toLowerCase(),r=e.libraryResolver.loadLibrary(n);let a=null;return e.libraryResolver._moduleSingletons.has(r.uri)?a=e.libraryResolver._moduleSingletons.get(r.uri):(a=new Y(r),await a.loadModule(e),e.libraryResolver._moduleSingletons.set(r.uri,a)),e.globalScope[n]={value:a,valueset:!0,node:t},g}async function xe(e,t){if(await J(e,t.declaration),"FunctionDeclaration"===t.declaration.type)e.exports[t.declaration.id.name.toLowerCase()]="function";else if("VariableDeclaration"===t.declaration.type)for(const n of t.declaration.declarations)e.exports[n.id.name.toLowerCase()]="variable";return g}async function Se(e,t,n){return n>=t.declarations.length?g:(await J(e,t.declarations[n]),n===t.declarations.length-1||await Se(e,t,n+1),g)}async function Ie(e,t){let n=null;if(n=null===t.init?null:await J(e,t.init),null!==e.localScope){if(n===g&&(n=null),"Identifier"!==t.id.type)throw new r(e,a.InvalidIdentifier,t);const o=t.id.name.toLowerCase();return e.localScope[o]={value:n,valueset:!0,node:t.init},g}if("Identifier"!==t.id.type)throw new r(e,a.InvalidIdentifier,t);const o=t.id.name.toLowerCase();return n===g&&(n=null),e.globalScope[o]={value:n,valueset:!0,node:t.init},g}let Ce=0;function Fe(e,t,o,i){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let n=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(n=!1),n&&(Ce++,e.spatialReference._arcadeCacheId=Ce,t=Ce)}const r=new n({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(r._arcadeCacheId="SPREF"+t.toString()),r}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const n=e[t];return void 0!==n?n:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(Ce++,s=Ce,e.cache._arcadeCacheId=s);return new f(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(Ce++,s=Ce,e.cache._arcadeCacheId=s);return new f(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(Ce++,s=Ce,e.cache._arcadeCacheId=s);return new p(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new r(o,a.InvalidIdentifier,i)}async function Re(e,t){const o=await J(e,t.object);if(null===o)throw new r(e,a.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(o instanceof n||C(o))return o.field(t.property.name);if(o instanceof T)return Fe(o,t.property.name,e,t);if(o instanceof Y){if(!o.hasGlobal(t.property.name))throw new r(e,a.InvalidIdentifier,t);return o.global(t.property.name)}throw new r(e,a.InvalidMemberAccessKey,t)}throw new r(e,a.InvalidMemberAccessKey,t)}let i=await J(e,t.property);if(o instanceof n||C(o)){if(b(i))return o.field(i);throw new r(e,a.InvalidMemberAccessKey,t)}if(o instanceof Y){if(b(i))return o.global(i);throw new r(e,a.InvalidMemberAccessKey,t)}if(o instanceof T){if(b(i))return Fe(o,i,e,t);throw new r(e,a.InvalidMemberAccessKey,t)}if(S(o)){if(R(i)&&isFinite(i)&&Math.floor(i)===i){if(i<0&&(i=o.length+i),i>=o.length||i<0)throw new r(e,a.OutOfBounds,t);return o[i]}throw new r(e,a.InvalidMemberAccessKey,t)}if(I(o)){if(R(i)&&isFinite(i)&&Math.floor(i)===i){if(i<0&&(i=o.length()+i),i>=o.length()||i<0)throw new r(e,a.OutOfBounds,t);return o.get(i)}throw new r(e,a.InvalidMemberAccessKey,t)}if(b(o)){if(R(i)&&isFinite(i)&&Math.floor(i)===i){if(i<0&&(i=o.length+i),i>=o.length||i<0)throw new r(e,a.OutOfBounds,t);return o[i]}throw new r(e,a.InvalidMemberAccessKey,t)}throw new r(e,a.InvalidMemberAccessKey,t)}async function Ae(e,t){const n=await J(e,t.argument);if(d(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*A(n);if("+"===t.operator)return 1*A(n);if("~"===t.operator)return~A(n);throw new r(e,a.UnsupportedUnaryOperator,t)}if("-"===t.operator)return-1*A(n);if("+"===t.operator)return 1*A(n);if("~"===t.operator)return~A(n);throw new r(e,a.UnsupportedUnaryOperator,t)}async function Me(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await J(e,t.elements[r]));for(let o=0;o<n.length;o++){if(v(n[o]))throw new r(e,a.NoFunctionInArray,t);n[o]===g&&(n[o]=null)}return n}async function je(e,t){const n=[];n[0]=await J(e,t.left),n[1]=await J(e,t.right);const o=n[0],i=n[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return L(A(o),A(i),t.operator);case"==":return h(o,i);case"!=":return!h(o,i);case"<":case">":case"<=":case">=":return k(o,i,t.operator);case"+":return b(o)||b(i)?j(o)+j(i):A(o)+A(i);case"-":return A(o)-A(i);case"*":return A(o)*A(i);case"/":return A(o)/A(i);case"%":return A(o)%A(i);default:throw new r(e,a.UnsupportedOperator,t)}}async function ke(e,t){const n=await J(e,t.left);let o=null;if(!d(n))throw new r(e,a.LogicalExpressionOnlyBoolean,t);switch(t.operator){case"||":if(!0===n)return n;if(o=await J(e,t.right),d(o))return o;throw new r(e,a.LogicExpressionOrAnd,t);case"&&":if(!1===n)return n;if(o=await J(e,t.right),d(o))return o;throw new r(e,a.LogicExpressionOrAnd,t);default:throw new r(e,a.LogicExpressionOrAnd,t)}}async function Le(e,t){const n=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[n]){const t=e.localScope[n];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=J(e,t.node);const r=await t.d;return t.value=r,t.valueset=!0,r}if(void 0!==e.globalScope[n]){const t=e.globalScope[n];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=J(e,t.node);const r=await t.d;return t.value=r,t.valueset=!0,r}throw new r(e,a.InvalidIdentifier,t)}async function Oe(e,t){if("MemberExpression"===t.callee.type){const n=await J(e,t.callee.object);if(!(n instanceof Y))throw new r(e,a.FuncionNotFound,t);const o=!1===t.callee.computed?t.callee.property.name:await J(e,t.callee.property);if(!n.hasGlobal(o))throw new r(e,a.FuncionNotFound,t);const i=await n.global(o);if(!v(i))throw new r(e,a.CallNonFunction,t);return i.call(e,t)}if("Identifier"!==t.callee.type)throw new r(e,a.FuncionNotFound,t);if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const n=e.localScope[t.callee.name.toLowerCase()];if(v(n.value))return n.value.call(e,t);throw new r(e,a.CallNonFunction,t)}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const n=e.globalScope[t.callee.name.toLowerCase()];if(v(n.value))return n.value.call(e,t);throw new r(e,a.CallNonFunction,t)}throw new r(e,a.FuncionNotFound,t)}async function Ee(e,t){return t.value?t.value.cooked:""}function Ne(e,t,n){if(v(e))throw new r(t,a.NoFunctionInTemplateLiteral,n);return e}async function Be(e,t){const n=[];for(let o=0;o<t.expressions.length;o++){const r=await J(e,t.expressions[o]);n[o]=j(r)}let r="",a=0;for(const o of t.quasis)if(r+=o.value?o.value.cooked:"",!1===o.tail){r+=n[a]?Ne(n[a],e,t):"",a++}return r}const Pe={};async function Ke(e,t,n,r){const a=await J(e,t.arguments[n]);if(h(a,r))return J(e,t.arguments[n+1]);const o=t.arguments.length-n;return 1===o?J(e,t.arguments[n]):2===o?null:3===o?J(e,t.arguments[n+2]):Ke(e,t,n+2,r)}async function _e(e,t,n,o){if(!0===o)return J(e,t.arguments[n+1]);if(3===t.arguments.length-n)return J(e,t.arguments[n+2]);const i=await J(e,t.arguments[n+2]);if(!1===d(i))throw new r(e,a.ModuleExportNotFound,t.arguments[n+2]);return _e(e,t,n+2,i)}async function De(e,t,n,o){const i=e.body;if(n.length!==e.params.length)throw new r(t,a.WrongNumberOfParameters,null);for(let r=0;r<n.length;r++){const a=e.params[r];"Identifier"===a.type&&(t.localScope[a.name.toLowerCase()]={d:null,value:n[r],valueset:!0,node:null})}const s=await J(t,i);if(s instanceof x)return s.value;if(s===y)throw new r(t,a.UnexpectedToken,o);if(s===m)throw new r(t,a.UnexpectedToken,o);return s instanceof M?s.value:s}B(Pe,V),G(Pe,V),_(Pe,V),K(Pe,V),D(Pe,V),P({functions:Pe,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:V,standardFunctionAsync:H}),Pe.iif=async function(e,t){w(null===t.arguments?[]:t.arguments,3,3,e,t);const n=await J(e,t.arguments[0]);if(!1===d(n))throw new r(e,a.BooleanConditionRequired,t);return J(e,n?t.arguments[1]:t.arguments[2])},Pe.decode=async function(e,t){if(t.arguments.length<2)throw new r(e,a.WrongNumberOfParameters,t);if(2===t.arguments.length)return J(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new r(e,a.WrongNumberOfParameters,t);return Ke(e,t,1,await J(e,t.arguments[0]))},Pe.when=async function(e,t){if(t.arguments.length<3)throw new r(e,a.WrongNumberOfParameters,t);if(t.arguments.length%2==0)throw new r(e,a.WrongNumberOfParameters,t);const n=await J(e,t.arguments[0]);if(!1===d(n))throw new r(e,a.BooleanConditionRequired,t.arguments[0]);return _e(e,t,0,n)};const Ge={fixSpatialReference:O,parseArguments:z,standardFunction:V,standardFunctionAsync:H,evaluateIdentifier:Le};for(const Ze in Pe)Pe[Ze]={value:new s(Pe[Ze]),valueset:!0,node:null};const Te=function(){};function Ue(e,t){const r=new Te;null==e&&(e={}),null==t&&(t={});const a=new n({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,r.textformatting={value:a,valueset:!0,node:null};for(const n in t)r[n]={value:new s(t[n]),native:!0,valueset:!0,node:null};for(const n in e)e[n]&&"esri.Graphic"===e[n].declaredClass?r[n]={value:i.createFromGraphic(e[n]),valueset:!0,node:null}:r[n]={value:e[n],valueset:!0,node:null};return r}function qe(e){console.log(e)}Te.prototype=Pe,Te.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Te.prototype.pi={value:Math.PI,valueset:!0,node:null};const We=Ge;function ze(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:V,standardFunctionAsync:H,evaluateIdentifier:Le};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)Pe[n]={value:new s(t.functions[n]),valueset:!0,node:null},Te.prototype[n]=Pe[n];for(let n=0;n<t.signatures.length;n++)E(t.signatures[n],"async")}async function Ve(e,n){let o=n.spatialReference;null==o&&(o=new U({wkid:102100}));let i=null;e.usesModules&&(i=new t(new Map,e.loadedModules));const s=Ue(n.vars,n.customfunctions),l={spatialReference:o,services:n.services,exports:{},libraryResolver:i,abortSignal:void 0===n.abortSignal||null===n.abortSignal?{aborted:!1}:n.abortSignal,globalScope:s,console:n.console?n.console:qe,lrucache:n.lrucache,interceptor:n.interceptor,localScope:null,depthCounter:{depth:1}};let c=await J(l,e);if(c instanceof x&&(c=c.value),c instanceof M&&(c=c.value),c===g&&(c=null),c===y)throw new r(l,a.IllegalResult,null);if(c===m)throw new r(l,a.IllegalResult,null);if(v(c))throw new r(l,a.IllegalResult,null);return c}ze([N]);export{Ve as executeScript,ze as extend,We as functionHelper};
|
package/arcade/arcadeCompiler.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{p as l,i as s,m as i,N as c,l as u,f as p,n as f,o as m,v as h,h as g,b as y,q as d,r as S,a as w,s as b,S as E,u as v,R as N,I as M,w as I,x as O,j as x,y as T,z as _,A as C}from"../chunks/languageUtils.js";import{addFunctionDeclaration as R,findFieldLiterals as A,findExpectedFieldLiterals as U,validateScript as F,referencesMember as P,referencesFunction as k,nodeErrorMessage as j}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/geomsync.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{isPromiseLike as q}from"../core/promiseUtils.js";import J from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import W from"../geometry/Multipoint.js";import H from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import Q from"../geometry/SpatialReference.js";function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(te(e,t.arguments[n]));return r}function ee(e,t,r){try{return r(e,null,t.arguments)}catch(n){throw n}}function te(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return ge(e,t);case"VariableDeclaration":return he(e,t);case"BlockStatement":return pe(e,t);case"FunctionDeclaration":return me(e,t);case"ReturnStatement":return fe(e,t);case"IfStatement":return ue(e,t);case"ExpressionStatement":return ie(e,t);case"AssignmentExpression":return se(e,t);case"UpdateExpression":return le(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Ee(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ae(e,t);case"ForInStatement":return oe(e,t);case"Identifier":return Me(e,t);case"MemberExpression":return Se(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"ThisExpression":case"ConditionalExpression":case"Array":throw new Error(j(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return Ie(e,t);case"UnaryExpression":return we(e,t);case"BinaryExpression":return ve(e,t);case"LogicalExpression":return Ne(e,t);case"ArrayExpression":return be(e,t);case"ObjectExpression":return re(e,t);case"Property":return ne(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(r){throw r}}function re(e,t){let r="lang.dictionary([";for(let n=0;n<t.properties.length;n++){const o=t.properties[n];n>0&&(r+=","),r+="lang.strCheck("+("Identifier"===o.key.type?"'"+o.key.name+"'":te(e,o.key))+",'ObjectExpression'),lang.aCheck("+te(e,o.value)+", 'ObjectExpression')"}return r+="])",r}function ne(e,t){throw new Error("Should not get here")}function oe(e,t){const r=Pe(e),n=Pe(e),o=Pe(e);let a="var "+r+" = "+te(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=te(e,t.left));let l="VariableDeclaration"===t.left.type?t.left.declarations[0].id.name:t.left.name;l=l.toLowerCase();let s="";return null!==e.localScope&&(void 0!==e.localScope[l]?s="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(s="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===s&&(void 0!==e.globalScope[l]?s="gscope['"+l+"']":void 0!==e.globalScope._SymbolsMap[l]&&(s="gscope['"+e.globalScope._SymbolsMap[l]+"']")),a+="if ("+r+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+r+") || lc.isString("+r+")) {",a+="var "+n+"="+r+".length; \n",a+="for(var "+o+"=0; "+o+"<"+n+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+r+")) {",a+="var "+n+"="+r+".length(); \n",a+="for(var "+o+"=0; "+o+"<"+n+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+r+" instanceof lang.Dictionary) || ( "+r+" instanceof lang.Feature)) {",a+="var "+n+"="+r+".keys(); \n",a+="for(var "+o+"=0; "+o+"<"+n+".length; "+o+"++) {\n",a+=s+"="+n+"["+o+"];\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+r+")) {",a+="var "+n+"="+r+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+o+"=lang. graphicToFeature( yield "+n+".next(),"+r+"); "+o+"!=null; "+o+"=lang. graphicToFeature( yield "+n+".next(),"+r+")) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ae(e,t){let r="lastStatement = lc.voidOperation; \n";null!==t.init&&(r+=te(e,t.init)+"; ");const n=Pe(e),o=Pe(e);return r+="var "+n+" = true; ",r+="\n do { ",null!==t.update&&(r+=" if ("+n+"===false) {\n "+te(e,t.update)+" \n}\n "+n+"=false; \n"),null!==t.test&&(r+="var "+o+" = "+te(e,t.test)+"; ",r+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); }\n"),r+=te(e,t.body),null!==t.update&&(r+="\n "+te(e,t.update)),r+="\n"+n+" = true; \n} while(true); lastStatement = lc.voidOperation; ",r}function le(e,t){let r=null,n="";if("MemberExpression"===t.argument.type)return r=te(e,t.argument.object),n=!0===t.argument.computed?te(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+r+","+n+",'"+t.operator+"',"+t.prefix+")";if(r=t.argument.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[r])return"lang.update(lscope, '"+r+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[r])return"lang.update(lscope, '"+e.localScope._SymbolsMap[r]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[r])return"lang.update(gscope, '"+r+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[r])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[r]+"','"+t.operator+"',"+t.prefix+")";throw new Error("Variable not recognised")}function se(e,t){const r=te(e,t.right);let n=null,o="";if("MemberExpression"===t.left.type)return n=te(e,t.left.object),o=!0===t.left.computed?te(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+n+","+o+",'"+t.operator+"',"+r+")";if(n=t.left.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']=lang.assign("+r+",'"+t.operator+"', lscope['"+n+"'])";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']=lang.assign("+r+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[n]+"'])"}if(void 0!==e.globalScope[n])return"gscope['"+n+"']=lang.assign("+r+",'"+t.operator+"', gscope['"+n+"'])";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']=lang.assign("+r+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[n]+"'])";throw new Error("Variable not recognised")}function ie(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+te(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+te(e,t.expression)+"; ")}function ce(e,t){return"BlockStatement"===t.type?te(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?te(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+te(e,t)+"; ":"ExpressionStatement"===t.type?te(e,t):"ObjectExpression"===t.type?"lastStatement = "+te(e,t)+"; ":te(e,t)+"; "}function ue(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(j(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=te(e,t.test),n=Pe(e);let o="var "+n+" = "+r+";\n if ("+n+" === true) {\n"+ce(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+n+"===false) { \n"+ce(e,t.alternate)+"}\n":o+="else if ("+n+"===false) { \n lastStatement = lc.voidOperation;\n }\n",o+="else { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); \n}\n",o}function pe(e,t){let r="";for(let n=0;n<t.body.length;n++)"ReturnStatement"===t.body[n].type||"BreakStatement"===t.body[n].type||"ContinueStatement"===t.body[n].type?r+=te(e,t.body[n])+"; \n":"UpdateExpression"===t.body[n].type||"ObjectExpression"===t.body[n].type?r+="lastStatement = "+te(e,t.body[n])+"; \n":r+=te(e,t.body[n])+" \n";return r}function fe(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+te(e,t.argument)}function me(e,t){const r=t.id.name.toLowerCase(),n={isAsync:e.isAsync,spatialReference:e.spatialReference,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter+1,globalScope:e.globalScope};if(n.depthCounter>64)throw new Error("Exceeded maximum function depth");let o="new lc.SizzleFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let a=0;a<t.params.length;a++){const r=t.params[a].name.toLowerCase(),l=Fe(e);n.localScope._SymbolsMap[r]=l,n.mangleMap[r]=l,o+="lscope['"+l+"']=arguments["+a.toString()+"];\n"}if(!0===e.isAsync?(o+="return lang.__awaiter(this, void 0, void 0, function* () {\n",o+=pe(n,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=pe(n,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"),void 0!==e.globalScope[r])return"gscope['"+r+"']="+o;if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']="+o;{const t=Fe(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+o}}function he(e,t){const r=[];for(let n=0;n<t.declarations.length;n++)r.push(te(e,t.declarations[n]));return r.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function ge(e,t){let r=null===t.init?null:te(e,t.init);r===h&&(r=null);const n=t.id.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']="+r+"; ";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']="+r+"; ";{const t=Fe(e);return e.localScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"lscope['"+t+"']="+r+"; "}}if(void 0!==e.globalScope[n])return"gscope['"+n+"']="+r+"; ";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']="+r+"; ";{const t=Fe(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+r+"; "}}let ye=0;function de(e,t,n){let l;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(ye++,e.spatialReference._arcadeCacheId=ye,t=ye)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new a(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,l,1);case"type":return"Multipoint"}}throw new Error(j(n,"RUNTIME","PROPERTYNOTFOUND"))}function Se(e,t){try{let r;return r=!0===t.computed?te(e,t.property):"'"+t.property.name+"'","lang.member("+te(e,t.object)+","+r+")"}catch(r){throw r}}function we(e,t){try{return"lang.unary("+te(e,t.argument)+",'"+t.operator+"')"}catch(r){throw r}}function be(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++)"Literal"===t.elements[n].type?r.push(te(e,t.elements[n])):r.push("lang.aCheck("+te(e,t.elements[n])+",'ArrayExpression')");return"["+r.join(",")+"]"}catch(r){throw r}}function Ee(e,t){try{const r=[];let n=0;for(const o of t.quasis)r.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(r.push(t.expressions[n]?"lang.castString(lang.aCheck("+te(e,t.expressions[n])+", 'TemplateLiteral'))":""),n++);return"(["+r.join(",")+"]).join('')"}catch(r){throw r}}function ve(e,t){try{return"lang.binary("+te(e,t.left)+","+te(e,t.right)+",'"+t.operator+"')"}catch(r){throw r}}function Ne(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(j(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(j(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+te(e,t.left)+") "+t.operator+" lang.logicalCheck("+te(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(r){throw r}}function Me(e,t){try{const r=t.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']"}if(void 0!==e.globalScope[r])return"gscope['"+r+"']";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']";throw new Error(j(t,"RUNTIME","VARIABLENOTFOUND"))}catch(r){throw r}}function Ie(e,t){try{if("Identifier"!==t.callee.type)throw new Error(j(t,"RUNTIME","ONLYNODESSUPPORTED"));const r=t.callee.name.toLowerCase();let n="";if(null!==e.localScope&&(void 0!==e.localScope[r]?n="lscope['"+r+"']":void 0!==e.localScope._SymbolsMap[r]&&(n="lscope['"+e.localScope._SymbolsMap[r]+"']")),""===n&&(void 0!==e.globalScope[r]?n="gscope['"+r+"']":void 0!==e.globalScope._SymbolsMap[r]&&(n="gscope['"+e.globalScope._SymbolsMap[r]+"']")),""!==n){let r="[";for(let n=0;n<t.arguments.length;n++)n>0&&(r+=", "),r+=te(e,t.arguments[n]);return r+="]",e.isAsync?"(yield lang.callfunc("+n+","+r+",runtimeCtx) )":"lang.callfunc("+n+","+r+",runtimeCtx)"}throw new Error(j(t,"RUNTIME","NOTFOUND"))}catch(r){throw r}}const Oe={};function xe(n){return null===n?"":u(n)||f(n)?"Array":x(n)?"Date":y(n)?"String":s(n)?"Boolean":w(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":b(n)?"Feature":n instanceof H?"Point":n instanceof K?"Polygon":n instanceof X?"Polyline":n instanceof W?"Multipoint":n instanceof J?"Extent":m(n)?"Function":T(n)?"FeatureSet":_(n)?"FeatureSetCollection":n===h?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Te(e,t,r,n){try{const o=t[r];if(i(o,n))return t[r+1];{const o=t.length-r;return 1===o?t[r]:2===o?null:3===o?t[r+2]:Te(e,t,r+2,n)}}catch(o){throw o}}function _e(e,t,r,n){try{if(!0===n)return t[r+1];if(3===t.length-r)return t[r+2];{const n=t[r+2];if(!1===s(n))throw new Error("WHEN needs boolean test conditions");return _e(e,t,r+2,n)}}catch(o){throw o}}function Ce(e,t){const r=e.length,n=Math.floor(r/2);return 0===r?[]:1===r?[e[0]]:Re(Ce(e.slice(0,n),t),Ce(e.slice(n,r),t),t)}function Re(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=0),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function Ae(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[await Ae(e.slice(0,n),t),await Ae(e.slice(n,r),t)];return Ue(o[0],o[1],t,[])}async function Ue(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ue(e,t,r,n)}return e.length>0?(o.push(e[0]),Ue(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ue(e,t=t.slice(1),r,n)):void 0}function Fe(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Pe(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Oe,ee),z(Oe,ee),V(Oe,ee),B(Oe,ee),G(Oe,ee),Oe.typeof=function(e,t){return ee(e,t,((e,t,r)=>{l(r,1,1);const n=xe(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},Oe.iif=function(e,t){try{return ee(e,t,((e,t,r)=>{if(l(r,3,3),!1===s(r[0]))throw new Error("IF Function must have a boolean test condition");return r[0]?r[1]:r[2]}))}catch(r){throw r}},Oe.decode=function(e,t){try{return ee(e,t,((t,r,n)=>{if(n.length<2)throw new Error("Missing Parameters");if(2===n.length)return n[1];{if((n.length-1)%2==0)throw new Error("Must have a default value result.");const t=n[0];return Te(e,n,1,t)}}))}catch(r){throw r}},Oe.when=function(e,t){try{return ee(e,t,((t,r,n)=>{if(n.length<3)throw new Error("Missing Parameters");if(n.length%2==0)throw new Error("Must have a default value result.");const o=n[0];if(!1===s(o))throw new Error("WHEN needs boolean test conditions");return _e(e,n,0,o)}))}catch(r){throw r}},Oe.top=function(e,t){return ee(e,t,((e,t,r)=>{if(l(r,2,2),u(r[0]))return p(r[1])>=r[0].length?r[0].slice(0):r[0].slice(0,p(r[1]));if(f(r[0]))return p(r[1])>=r[0].length()?r[0].slice(0):r[0].slice(0,p(r[1]));throw new Error("Top cannot accept this parameter type")}))},Oe.first=function(e,t){return ee(e,t,((e,t,r)=>(l(r,1,1),u(r[0])?0===r[0].length?null:r[0][0]:f(r[0])?0===r[0].length()?null:r[0].get(0):null)))},Oe.sort=function(e,t){return ee(e,t,((t,r,n)=>{l(n,1,2);let o=n[0];if(f(o)&&(o=o.toArray()),!1===u(o))throw new Error("Illegal Argument");if(n.length>1){if(!1===m(n[1]))throw new Error("Illegal Argument");let r=o;const a=function(e,r){return Xe.callfunc(n[1],[e,r],t)};return e.isAsync?Ae(r,a):(r=Ce(r,((e,t)=>a(e,t))),r)}{let e=o;if(0===e.length)return[];const t={};for(let o=0;o<e.length;o++){const r=xe(e[o]);""!==r&&(t[r]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return e.slice(0);let r=0,n="";for(const o in t)r++,n=o;return e=r>1||"String"===n?Ce(e,((e,t)=>{if(null==e||e===h)return null==t||t===h?0:1;if(null==t||t===h)return-1;const r=g(e),n=g(t);return r<n?-1:r===n?0:1})):"Number"===n?Ce(e,((e,t)=>e-t)):"Boolean"===n?Ce(e,((e,t)=>e===t?0:t?-1:1)):"Date"===n?Ce(e,((e,t)=>t-e)):e.slice(0),e}}))};const ke={};for(const tt in Oe)ke[tt]=new c(Oe[tt]);Y(Oe,ee);for(const tt in Oe)Oe[tt]=new c(Oe[tt]);const je=function(){};je.prototype=Oe;const De=function(){};function Le(e,t,r){const n={};e||(e={}),r||(r={}),n._SymbolsMap={},n.textformatting=1,n.infinity=1,n.pi=1;for(const o in t)n[o]=1;for(const o in r)n[o]=1;for(const o in e)n[o]=1;return n}function Be(e,t,o){const a=o?new De:new je;e||(e={}),t||(t={});const l=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});l.immutable=!1,a._SymbolsMap={textformatting:1,infinity:1,pi:1},a.textformatting=l,a.infinity=Number.POSITIVE_INFINITY,a.pi=Math.PI;for(const r in t)a[r]=t[r],a._SymbolsMap[r]=1;for(const r in e)a._SymbolsMap[r]=1,e[r]&&"esri.Graphic"===e[r].declaredClass?a[r]=n.createFromGraphic(e[r]):a[r]=e[r];return a}De.prototype=ke;const Ye={fixSpatialReference:C,parseArguments:$,standardFunction:ee};function Ve(e,t){const r={mode:t,compiled:!0,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:ee,evaluateIdentifier:He};for(let n=0;n<e.length;n++)e[n].registerFunctions(r);if("sync"===t){for(const e in r.functions)Oe[e]=new c(r.functions[e]),je.prototype[e]=Oe[e];for(let e=0;e<r.signatures.length;e++)R(r.signatures[e],"sync")}else{for(const e in r.functions)ke[e]=new c(r.functions[e]),De.prototype[e]=ke[e];for(let e=0;e<r.signatures.length;e++)R(r.signatures[e],"async")}}function Ge(e,t){return e(t)}function ze(e,t){return A(e)}function qe(e){return U(e)}function Je(e,t){return F(e,t,"sync")}function Ze(e,t){return P(e,t)}function We(e,t){return k(e,t)}function He(e,t){const r=t.name;if("_SymbolsMap"===r)throw new Error("Illegal");if(e.localStack.length>0){if("_t"!==r.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][r])return e.localStack[e.localStack.length-1][r];const t=e.mangleMap[r];if(void 0!==t&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t]}if("_t"!==r.substr(0,2).toLowerCase()&&void 0!==e.globalScope[r])return e.globalScope[r];if(1===e.globalScope._SymbolsMap[r])return e.globalScope[r];const n=e.mangleMap[r];return void 0!==n?e.globalScope[n]:void 0}Ve([D],"sync"),Ve([D],"async");let Ke=0;const Xe={error(e,t,r){throw new Error(j(e,t,r))},__awaiter:(e,t,r,n)=>new Promise(((r,o)=>{function a(e){try{s(n.next(e))}catch(t){o(t)}}function l(e){try{s(n.throw(e))}catch(t){o(t)}}function s(e){e.done?r(e.value):e.value&&e.value.then?e.value.then(a,l):(Ke++,Ke%100==0?setTimeout((()=>{Ke=0,a(e.value)}),0):a(e.value))}s((n=n.apply(e,t||[])).next())})),functionDepthchecker:(e,t)=>function(){if(t.depthCounter++,t.localStack.push([]),t.depthCounter>64)throw new Error("Exceeded maximum function depth");const r=e.apply(this,arguments);return q(r)?r.then((e=>(t.depthCounter--,t.localStack.length=t.localStack.length-1,e))):(t.depthCounter--,t.localStack.length=t.localStack.length-1,r)},castString:e=>g(e),aCheck(e,t){if(m(e))throw new Error(j({type:t},"RUNTIME","FUNCTIONCONTEXTILLEGAL"));return e===h?null:e},Dictionary:r,Feature:n,dictionary(e){const t={};for(let r=0;r<e.length;r+=2){if(m(e[r+1]))throw new Error("Illegal Argument");if(!1===y(e[r]))throw new Error("Illegal Argument");e[r+1]===h?t[e[r].toString()]=null:t[e[r].toString()]=e[r+1]}const n=new r(t);return n.immutable=!1,n},strCheck(e){if(!1===y(e))throw new Error("Illegal Argument");return e},unary(e,t){if(s(e)){if("!"===t)return!e;if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}return e},logical(e,t,r){if(s(e)&&s(t))switch(r){case"||":return e||t;case"&&":return e&&t;default:throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))},binary(e,t,r){switch(r){case"|":case"<<":case">>":case">>>":case"^":case"&":return S(p(e),p(t),r);case"==":case"=":return i(e,t);case"!=":return!i(e,t);case"<":case">":case"<=":case">=":return d(e,t,r);case"+":return y(e)||y(t)?g(e)+g(t):p(e)+p(t);case"-":return p(e)-p(t);case"*":return p(e)*p(t);case"/":return p(e)/p(t);case"%":return p(e)%p(t);default:throw new Error(j({type:"BinaryExpression",operator:r,left:e,right:t},"RUNTIME","OPERATORNOTRECOGNISED"))}},assign(e,t,r){switch(t){case"=":return e===h?null:e;case"/=":return p(r)/p(e);case"*=":return p(r)*p(e);case"-=":return p(r)-p(e);case"+=":return y(r)||y(e)?g(r)+g(e):p(r)+p(e);case"%=":return p(r)%p(e);default:throw new Error(j({type:"AssignmentExpression",operator:t,left:null,right:null},"RUNTIME","OPERATORNOTRECOGNISED"))}},update(e,t,r,n){const o=p(e[t]);return e[t]="++"===r?o+1:o-1,!1===n?o:"++"===r?o+1:o-1},graphicToFeature:(e,t)=>null===e?null:n.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(e,t,n,o){let a;if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new Error("Assignment outside of array bounds");a=p(e[t]),e[t]="++"===n?a+1:a-1}else if(e instanceof r){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===n?a+1:a-1)}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===n?a+1:a-1)}return!1===o?a:"++"===n?a+1:a-1},assignmember(e,t,n,o){if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>e.length)throw new Error("Assignment outside of array bounds");if(t===e.length){if("="!==n)throw new Error("Invalid Parameter");e[t]=this.assign(o,n,e[t])}else e[t]=this.assign(o,n,e[t])}else if(e instanceof r){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,n,e.field(t)));else{if("="!==n)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,n,null))}}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,n,e.field(t)));else{if("="!==n)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,n,null))}}},member(e,t){if(null===e){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof r||b(e)){if(y(t))return e.field(t);throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof Z){if(y(t))return de(e,t,"MemberExpression");throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(u(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(y(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(f(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length()+t),t>=e.length()||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))},callfunc(e,t,r){return e instanceof c?e.fn(r,{arguments:t,preparsed:!0}):e instanceof E?e.fn.apply(this,t):e.apply(this,t)}};function Qe(e){console.log(e)}function $e(e,t=null,r=!1){null===t&&(t={vars:{},customfunctions:{}});const n={isAsync:r,globalScope:Le(t.vars,r?ke:Oe,t.customfunctions),localScope:null,mangleMap:{},console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=te(n,e.body[0].body);""===o&&(o="lc.voidOperation; ");let a="";a=r?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+o+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+o+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const l={lc:v,lang:Xe,mangles:n.mangleMap,postProcess(e){if(e instanceof N&&(e=e.value),e instanceof M&&(e=e.value),e===h&&(e=null),e===I)throw new Error("Cannot return BREAK");if(e===O)throw new Error("Cannot return CONTINUE");if(m(e))throw new Error("Cannot return FUNCTION");return e},prepare(e,t){let r=e.spatialReference;null==r&&(r=Q.WebMercator);const n=Be(e.vars,e.customfunctions,t);return{localStack:[],isAsync:t,mangleMap:this.mangles,spatialReference:r,globalScope:n,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Qe,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}async function et(){return Ve([await import("./functions/geomasync.js")],"async"),!0}export{$e as compileScript,et as enableAsyncSupport,Ge as executeScript,Ve as extend,qe as extractExpectedFieldLiterals,ze as extractFieldLiterals,Ye as functionHelper,We as referencesFunction,Ze as referencesMember,Je as validateScript};
|
|
5
|
+
import e from"./Dictionary.js";import n from"./Feature.js";import t from"./ImmutablePathArray.js";import o from"./ImmutablePointArray.js";import{i as r,n as l,R as a,I as s,v as i,o as c,p as u,q as p,j as m,c as d,a as g,g as f,r as h,s as y,u as b,m as w,b as S,w as v,x}from"../chunks/languageUtils.js";import{addFunctionDeclaration as M}from"./treeAnalysis.js";import{A as F}from"../chunks/array.js";import{registerFunctions as C}from"./functions/date.js";import{registerFunctions as I}from"./functions/geometry.js";import{registerFunctions as A}from"./functions/geomsync.js";import{registerFunctions as _}from"./functions/maths.js";import{registerFunctions as k}from"./functions/stats.js";import{registerFunctions as O}from"./functions/string.js";import{isPromiseLike as E}from"../core/promiseUtils.js";import G from"../geometry/Geometry.js";import j from"../geometry/SpatialReference.js";import{ArcadeModuleLoader as B}from"./ArcadeModuleLoader.js";import{ArcadeModule as R}from"./ArcadeModule.js";import{NativeFunction as $,ArcadeFunction as L,ScopeMarshalledFunction as N,wrapModuleScopedResponse as U}from"./FunctionWrapper.js";import{ArcadeExecutionError as P,ExecutionErrorCodes as D,ArcadeCompilationError as K,ArcadeUncompilableError as T}from"./executionError.js";class q extends L{constructor(e,n){super(),this.paramCount=n,this.fn=e}createFunction(e){return(...n)=>{if(n.length!==this.paramCount)throw new P(e,D.WrongNumberOfParameters,null);return this.fn(...n)}}call(e,n){return this.fn(...n.arguments)}marshalledCall(e,n,t,o){return o(e,n,((n,l,a)=>{a=a.map((n=>!r(n)||n instanceof N?n:U(n,e,o)));const s=this.call(t,{arguments:a});return E(s)?s.then((e=>U(e,t,o))):s}))}}function W(e,n){const t=[];for(let o=0;o<n.arguments.length;o++)t.push(V(e,n.arguments[o]));return t}function z(e,n,t){try{return t(e,null,n.arguments)}catch(o){throw o}}function V(e,n){try{switch(n.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return pe(e,n);case"VariableDeclaration":return ue(e,n);case"BlockStatement":case"Program":return re(e,n);case"FunctionDeclaration":return ce(e,n);case"ImportDeclaration":return ae(e,n);case"ExportNamedDeclaration":return se(e,n);case"ReturnStatement":return le(e,n);case"IfStatement":return oe(e,n);case"ExpressionStatement":return ne(e,n);case"AssignmentExpression":return ee(e,n);case"UpdateExpression":return Q(e,n);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return ye(e,n);case"TemplateElement":return JSON.stringify(n.value?n.value.cooked:"");case"ForStatement":return H(e,n);case"ForInStatement":return Y(e,n);case"WhileStatement":return X(e,n);case"Identifier":return Se(e,n);case"MemberExpression":return ge(e,n);case"Literal":return null===n.value||void 0===n.value?"null":JSON.stringify(n.value);case"CallExpression":return ve(e,n);case"UnaryExpression":return fe(e,n);case"BinaryExpression":return be(e,n);case"LogicalExpression":return we(e,n);case"ArrayExpression":return he(e,n);case"ObjectExpression":return J(e,n);case"Property":return Z(e,n);case"Array":throw new K(e,D.NeverReach,n);default:throw new K(e,D.Unrecognised,n)}}catch(t){throw t}}function J(e,n){let t="lang.dictionary([";for(let o=0;o<n.properties.length;o++){const r=n.properties[o];ie(r.key.name);o>0&&(t+=","),t+="lang.strCheck("+("Identifier"===r.key.type?"'"+r.key.name+"'":V(e,r.key))+",'ObjectExpression'),lang.aCheck("+V(e,r.value)+", 'ObjectExpression')"}return t+="])",t}function Z(e,n){throw new K(e,D.NeverReach,n)}function Y(e,n){const t=Ae(e),o=Ae(e),r=Ae(e);let l="var "+t+" = "+V(e,n.right)+";\n";"VariableDeclaration"===n.left.type&&(l+=V(e,n.left));let a="VariableDeclaration"===n.left.type?n.left.declarations[0].id.name:n.left.name;a=a.toLowerCase(),ie(a);let s="";null!==e.localScope&&(void 0!==e.localScope[a]?s="lscope['"+a+"']":void 0!==e.localScope._SymbolsMap[a]&&(s="lscope['"+e.localScope._SymbolsMap[a]+"']"));let i="";if(""===s)if(void 0!==e.globalScope[a])s="gscope['"+a+"']";else if(void 0!==e.globalScope._SymbolsMap[a])s="gscope['"+e.globalScope._SymbolsMap[a]+"']";else if(null!==e.localScope)if(e.undeclaredGlobalsInFunctions.has(a))s="gscope['"+e.undeclaredGlobalsInFunctions.get(a).manglename+"']",i=e.undeclaredGlobalsInFunctions.get(a).manglename;else{const t={manglename:Ie(e),node:n.left};e.undeclaredGlobalsInFunctions.set(a,t),s="gscope['"+t.manglename+"']",i=t.manglename}return i&&(l+="lang.chkAssig('"+i+"',runtimeCtx); \n"),l+="if ("+t+"===null) { lastStatement = lc.voidOperation; }\n ",l+="else if (lc.isArray("+t+") || lc.isString("+t+")) {",l+="var "+o+"="+t+".length; \n",l+="for(var "+r+"=0; "+r+"<"+o+"; "+r+"++) {\n",l+=s+"="+r+";\n",l+=V(e,n.body),l+="\n}\n",l+=" lastStatement = lc.voidOperation; \n",l+=" \n}\n",l+="else if (lc.isImmutableArray("+t+")) {",l+="var "+o+"="+t+".length(); \n",l+="for(var "+r+"=0; "+r+"<"+o+"; "+r+"++) {\n",l+=s+"="+r+";\n",l+=V(e,n.body),l+="\n}\n",l+=" lastStatement = lc.voidOperation; \n",l+=" \n}\n",l+="else if (( "+t+" instanceof lang.Dictionary) || ( "+t+" instanceof lang.Feature)) {",l+="var "+o+"="+t+".keys(); \n",l+="for(var "+r+"=0; "+r+"<"+o+".length; "+r+"++) {\n",l+=s+"="+o+"["+r+"];\n",l+=V(e,n.body),l+="\n}\n",l+=" lastStatement = lc.voidOperation; \n",l+=" \n}\n",e.isAsync&&(l+="else if (lc.isFeatureSet("+t+")) {",l+="var "+o+"="+t+".iterator(runtimeCtx.abortSignal); \n",l+="for(var "+r+"=lang. graphicToFeature( yield "+o+".next(),"+t+"); "+r+"!=null; "+r+"=lang. graphicToFeature( yield "+o+".next(),"+t+")) {\n",l+=s+"="+r+";\n",l+=V(e,n.body),l+="\n}\n",l+=" lastStatement = lc.voidOperation; \n",l+=" \n}\n"),l+="else { lastStatement = lc.voidOperation; } \n",l}function H(e,n){let t="lastStatement = lc.voidOperation; \n";null!==n.init&&(t+=V(e,n.init)+"; ");const o=Ae(e),r=Ae(e);return t+="var "+o+" = true; ",t+="\n do { ",null!==n.update&&(t+=" if ("+o+"===false) {\n "+V(e,n.update)+" \n}\n "+o+"=false; \n"),null!==n.test&&(t+="var "+r+" = "+V(e,n.test)+"; ",t+="if ("+r+"===false) { break; } else if ("+r+"!==true) { lang.error('"+D.BooleanConditionRequired+"'); }\n"),t+=V(e,n.body),null!==n.update&&(t+="\n "+V(e,n.update)),t+="\n"+o+" = true; \n} while(true); lastStatement = lc.voidOperation; ",t}function Q(e,n){let t=null,o="";if("MemberExpression"===n.argument.type)return t=V(e,n.argument.object),!0===n.argument.computed?o=V(e,n.argument.property):(o="'"+n.argument.property.name+"'",ie(n.argument.property.name)),"lang.memberupdate("+t+","+o+",'"+n.operator+"',"+n.prefix+")";if(t=n.argument.name.toLowerCase(),ie(t),null!==e.localScope){if(void 0!==e.localScope[t])return"lang.update(lscope, '"+t+"','"+n.operator+"',"+n.prefix+")";if(void 0!==e.localScope._SymbolsMap[t])return"lang.update(lscope, '"+e.localScope._SymbolsMap[t]+"','"+n.operator+"',"+n.prefix+")"}if(void 0!==e.globalScope[t])return"lang.update(gscope, '"+t+"','"+n.operator+"',"+n.prefix+")";if(void 0!==e.globalScope._SymbolsMap[t])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[t]+"','"+n.operator+"',"+n.prefix+")";if(null!==e.localScope){if(e.undeclaredGlobalsInFunctions.has(t))return"lang.update(gscope,lang.chkAssig( '"+e.undeclaredGlobalsInFunctions.get(t).manglename+"',runtimeCtx),'"+n.operator+"',"+n.prefix+")";const o={manglename:Ie(e),node:n.argument};return e.undeclaredGlobalsInFunctions.set(t,o),"lang.update(gscope, lang.chkAssig('"+o.manglename+"',runtimeCtx),'"+n.operator+"',"+n.prefix+")"}throw new P(e,D.InvalidIdentifier,n)}function X(e,n){let t="lastStatement = lc.voidOperation; \n";const o=Ae(e);return t+=`\n var ${o} = true;\n do {\n ${o} = ${V(e,n.test)};\n if (${o}==false) {\n break;\n }\n if (${o}!==true) {\n lang.error('${D.BooleanConditionRequired}');\n }\n ${V(e,n.body)}\n }\n while (${o} !== false);\n lastStatement = lc.voidOperation;\n `,t}function ee(e,n){const t=V(e,n.right);let o=null,r="";if("MemberExpression"===n.left.type)return o=V(e,n.left.object),!0===n.left.computed?r=V(e,n.left.property):(r="'"+n.left.property.name+"'",ie(n.left.property.name)),"lang.assignmember("+o+","+r+",'"+n.operator+"',"+t+")";if(o=n.left.name.toLowerCase(),ie(o),null!==e.localScope){if(void 0!==e.localScope[o])return"lscope['"+o+"']=lang.assign("+t+",'"+n.operator+"', lscope['"+o+"'])";if(void 0!==e.localScope._SymbolsMap[o])return"lscope['"+e.localScope._SymbolsMap[o]+"']=lang.assign("+t+",'"+n.operator+"', lscope['"+e.localScope._SymbolsMap[o]+"'])"}if(void 0!==e.globalScope[o])return"gscope['"+o+"']=lang.assign("+t+",'"+n.operator+"', gscope['"+o+"'])";if(void 0!==e.globalScope._SymbolsMap[o])return"gscope['"+e.globalScope._SymbolsMap[o]+"']=lang.assign("+t+",'"+n.operator+"', gscope['"+e.globalScope._SymbolsMap[o]+"'])";if(null!==e.localScope){if(e.undeclaredGlobalsInFunctions.has(o))return"gscope[lang.chkAssig('"+e.undeclaredGlobalsInFunctions.get(o).manglename+"',runtimeCtx)]=lang.assign("+t+",'"+n.operator+"', gscope['"+e.undeclaredGlobalsInFunctions.get(o).manglename+"'])";const r={manglename:Ie(e),node:n.argument};return e.undeclaredGlobalsInFunctions.set(o,r),"gscope[lang.chkAssig('"+r.manglename+"',runtimeCtx)]=lang.assign("+t+",'"+n.operator+"', gscope['"+r.manglename+"'])"}throw new P(e,D.InvalidIdentifier,n)}function ne(e,n){return"AssignmentExpression"===n.expression.type?"lastStatement = lc.voidOperation; "+V(e,n.expression)+"; \n ":(n.expression.type,"lastStatement = "+V(e,n.expression)+"; ")}function te(e,n){return"BlockStatement"===n.type?V(e,n):"ReturnStatement"===n.type||"BreakStatement"===n.type||"ContinueStatement"===n.type?V(e,n)+"; ":"UpdateExpression"===n.type?"lastStatement = "+V(e,n)+"; ":"ExpressionStatement"===n.type?V(e,n):"ObjectExpression"===n.type?"lastStatement = "+V(e,n)+"; ":V(e,n)+"; "}function oe(e,n){if("AssignmentExpression"===n.test.type||"UpdateExpression"===n.test.type)throw new K(e,D.BooleanConditionRequired,n);return`if (lang.mustBoolean(${V(e,n.test)}, runtimeCtx) === true) {\n ${te(e,n.consequent)}\n } `+(null!==n.alternate?"IfStatement"===n.alternate.type?" else "+oe(e,n.alternate):` else {\n ${te(e,n.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function re(e,n){let t="";for(let o=0;o<n.body.length;o++)"EmptyStatement"!==n.body[o].type&&("ReturnStatement"===n.body[o].type||"BreakStatement"===n.body[o].type||"ContinueStatement"===n.body[o].type?t+=V(e,n.body[o])+"; \n":"UpdateExpression"===n.body[o].type||"ObjectExpression"===n.body[o].type?t+="lastStatement = "+V(e,n.body[o])+"; \n":t+=V(e,n.body[o])+" \n");return t}function le(e,n){if(null===n.argument)return"return lc.voidOperation";return"return "+V(e,n.argument)}function ae(e,n){const t=n.specifiers[0].local.name.toLowerCase();ie(t);const o=e.libraryResolver.loadLibrary(t),r=Ie(e);void 0===e.moduleFactory[o.uri]&&(e.moduleFactory[o.uri]=Te(o.syntax,{interceptor:e.interceptor,services:e.services,moduleFactory:e.moduleFactory,lrucache:e.lrucache,libraryResolver:e.libraryResolver,customfunctions:e.customfunctions,vars:{}},e.isAsync)),e.moduleFactoryMap[r]=o.uri;let l="";if(l=e.isAsync?"(yield lang.loadModule('"+r+"', runtimeCtx) ); ":"lang.loadModule('"+r+"', runtimeCtx); ",void 0!==e.globalScope[t])return"gscope['"+t+"']="+l;if(void 0!==e.globalScope._SymbolsMap[t])return"gscope['"+e.globalScope._SymbolsMap[t]+"']="+l;let a="";return e.undeclaredGlobalsInFunctions.has(t)?(a=e.undeclaredGlobalsInFunctions.get(t).manglename,e.undeclaredGlobalsInFunctions.delete(t)):a=Ie(e),e.globalScope._SymbolsMap[t]=a,e.mangleMap[t]=a,"gscope[lang.setAssig('"+a+"', runtimeCtx)]="+l}function se(e,n){const t=V(e,n.declaration);if("FunctionDeclaration"===n.declaration.type)e.exports[n.declaration.id.name.toLowerCase()]="function";else if("VariableDeclaration"===n.declaration.type)for(const o of n.declaration.declarations)e.exports[o.id.name.toLowerCase()]="variable";return t}function ie(e){if("iif"===e)throw new T;if("decode"===e)throw new T;if("when"===e)throw new T}function ce(e,n){const t=n.id.name.toLowerCase();ie(t);let o="",r=!1;void 0!==e.globalScope[t]?o=t:void 0!==e.globalScope._SymbolsMap[t]?o=e.globalScope._SymbolsMap[t]:e.undeclaredGlobalsInFunctions.has(t)?(o=e.undeclaredGlobalsInFunctions.get(t).manglename,e.globalScope._SymbolsMap[t]=o,e.mangleMap[t]=o,e.undeclaredGlobalsInFunctions.delete(t),r=!0):(o=Ie(e),e.globalScope._SymbolsMap[t]=o,e.mangleMap[t]=o);const l={isAsync:e.isAsync,console:e.console,exports:e.exports,undeclaredGlobalsInFunctions:e.undeclaredGlobalsInFunctions,customfunctions:e.customfunctions,moduleFactory:e.moduleFactory,moduleFactoryMap:e.moduleFactoryMap,libraryResolver:e.libraryResolver,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter,globalScope:e.globalScope};let a="new lang.UserDefinedCompiledFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let s=0;s<n.params.length;s++){const t=n.params[s].name.toLowerCase();ie(t);const o=Ie(e);l.localScope._SymbolsMap[t]=o,l.mangleMap[t]=o,a+="lscope['"+o+"']=arguments["+s.toString()+"];\n"}return!0===e.isAsync?(a+="return lang.__awaiter(this, void 0, void 0, function* () {\n",a+=re(l,n.body)+"\n return lastStatement; ",a+="}); }",a+=", runtimeCtx),"+n.params.length+")",a+="\n lastStatement = lc.voidOperation; \n"):(a+=re(l,n.body)+"\n return lastStatement; }, runtimeCtx),"+n.params.length+")",a+="\n lastStatement = lc.voidOperation; \n"),r?"gscope[lang.setAssig('"+o+"', runtimeCtx)]="+a:"gscope['"+o+"']="+a}function ue(e,n){const t=[];for(let o=0;o<n.declarations.length;o++)t.push(V(e,n.declarations[o]));return t.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function pe(e,n){let t=null===n.init?null:V(e,n.init);t===i&&(t=null);const o=n.id.name.toLowerCase();if(ie(o),null!==e.localScope){if(void 0!==e.localScope[o])return"lscope['"+o+"']="+t+"; ";if(void 0!==e.localScope._SymbolsMap[o])return"lscope['"+e.localScope._SymbolsMap[o]+"']="+t+"; ";{const n=Ie(e);return e.localScope._SymbolsMap[o]=n,e.mangleMap[o]=n,"lscope['"+n+"']="+t+"; "}}if(void 0!==e.globalScope[o])return"gscope['"+o+"']="+t+"; ";if(void 0!==e.globalScope._SymbolsMap[o])return"gscope['"+e.globalScope._SymbolsMap[o]+"']="+t+"; ";if(e.undeclaredGlobalsInFunctions.has(o)){const n=e.undeclaredGlobalsInFunctions.get(o).manglename;return e.globalScope._SymbolsMap[o]=n,e.mangleMap[o]=n,e.undeclaredGlobalsInFunctions.delete(o),"gscope[lang.setAssig('"+n+"', runtimeCtx)]="+t+"; "}const r=Ie(e);return e.globalScope._SymbolsMap[o]=r,e.mangleMap[o]=r,"gscope['"+r+"']="+t+"; "}let me=0;function de(n,r,l){let a;switch(r=r.toLowerCase()){case"hasz":{const e=n.hasZ;return void 0!==e&&e}case"hasm":{const e=n.hasM;return void 0!==e&&e}case"spatialreference":{let t=n.spatialReference._arcadeCacheId;if(void 0===t){let e=!0;Object.freeze&&Object.isFrozen(n.spatialReference)&&(e=!1),e&&(me++,n.spatialReference._arcadeCacheId=me,t=me)}const o=new e({wkt:n.spatialReference.wkt,wkid:n.spatialReference.wkid});return void 0!==t&&(o._arcadeCacheId="SPREF"+t.toString()),o}}switch(n.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const e=n[r];return void 0!==e?e:null}case"type":return"Extent"}break;case"polygon":switch(r){case"rings":a=n.cache._arcadeCacheId,void 0===a&&(me++,a=me,n.cache._arcadeCacheId=a);return new t(n.rings,n.spatialReference,!0===n.hasZ,!0===n.hasM,a);case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return void 0!==n[r]?n[r]:null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":a=n.cache._arcadeCacheId,void 0===a&&(me++,a=me,n.cache._arcadeCacheId=a);return new t(n.paths,n.spatialReference,!0===n.hasZ,!0===n.hasM,a);case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":a=n.cache._arcadeCacheId,void 0===a&&(me++,a=me,n.cache._arcadeCacheId=a);return new o(n.points,n.spatialReference,!0===n.hasZ,!0===n.hasM,a,1);case"type":return"Multipoint"}}throw new P(null,D.InvalidIdentifier,null)}function ge(e,n){try{let t;return!0===n.computed?t=V(e,n.property):(t="'"+n.property.name+"'",ie(n.property.name)),"lang.member("+V(e,n.object)+","+t+")"}catch(t){throw t}}function fe(e,n){try{return"lang.unary("+V(e,n.argument)+",'"+n.operator+"')"}catch(t){throw t}}function he(e,n){try{const t=[];for(let o=0;o<n.elements.length;o++)"Literal"===n.elements[o].type?t.push(V(e,n.elements[o])):t.push("lang.aCheck("+V(e,n.elements[o])+",'ArrayExpression')");return"["+t.join(",")+"]"}catch(t){throw t}}function ye(e,n){try{const t=[];let o=0;for(const r of n.quasis)t.push(r.value?JSON.stringify(r.value.cooked):JSON.stringify("")),!1===r.tail&&(t.push(n.expressions[o]?"lang.castString(lang.aCheck("+V(e,n.expressions[o])+", 'TemplateLiteral'))":""),o++);return"(["+t.join(",")+"]).join('')"}catch(t){throw t}}function be(e,n){try{return"lang.binary("+V(e,n.left)+","+V(e,n.right)+",'"+n.operator+"')"}catch(t){throw t}}function we(e,n){try{if("AssignmentExpression"===n.left.type||"UpdateExpression"===n.left.type)throw new K(e,D.LogicalExpressionOnlyBoolean,n);if("AssignmentExpression"===n.right.type||"UpdateExpression"===n.right.type)throw new K(e,D.LogicalExpressionOnlyBoolean,n);if("&&"===n.operator||"||"===n.operator)return"(lang.logicalCheck("+V(e,n.left)+") "+n.operator+" lang.logicalCheck("+V(e,n.right)+"))";throw new K(null,D.LogicExpressionOrAnd,null)}catch(t){throw t}}function Se(e,n){try{const t=n.name.toLowerCase();if(ie(t),null!==e.localScope){if(void 0!==e.localScope[t])return"lscope['"+t+"']";if(void 0!==e.localScope._SymbolsMap[t])return"lscope['"+e.localScope._SymbolsMap[t]+"']"}if(void 0!==e.globalScope[t])return"gscope['"+t+"']";if(void 0!==e.globalScope._SymbolsMap[t])return"gscope['"+e.globalScope._SymbolsMap[t]+"']";if(null!==e.localScope){if(e.undeclaredGlobalsInFunctions.has(t))return"gscope[lang.chkAssig('"+e.undeclaredGlobalsInFunctions.get(t).manglename+"',runtimeCtx)]";const o={manglename:Ie(e),node:n.argument};return e.undeclaredGlobalsInFunctions.set(t,o),"gscope[lang.chkAssig('"+o.manglename+"',runtimeCtx)]"}throw new K(e,D.InvalidIdentifier,n)}catch(t){throw t}}function ve(e,n){try{if("MemberExpression"===n.callee.type){let t;!0===n.callee.computed?t=V(e,n.callee.property):(t="'"+n.callee.property.name+"'",ie(n.callee.property.name));let o="[";for(let r=0;r<n.arguments.length;r++)r>0&&(o+=", "),o+=V(e,n.arguments[r]);return o+="]",e.isAsync?"(yield lang.callModuleFunction("+V(e,n.callee.object)+","+o+","+t+",runtimeCtx))":"lang.callModuleFunction("+V(e,n.callee.object)+","+o+","+t+",runtimeCtx)"}if("Identifier"!==n.callee.type)throw new K(e,D.FuncionNotFound,n);const t=n.callee.name.toLowerCase();if("iif"===t)return xe(e,n);if("when"===t)return Me(e,n);if("decode"===t)return Fe(e,n);let o="";if(null!==e.localScope&&(void 0!==e.localScope[t]?o="lscope['"+t+"']":void 0!==e.localScope._SymbolsMap[t]&&(o="lscope['"+e.localScope._SymbolsMap[t]+"']")),""===o)if(void 0!==e.globalScope[t])o="gscope['"+t+"']";else if(void 0!==e.globalScope._SymbolsMap[t])o="gscope['"+e.globalScope._SymbolsMap[t]+"']";else if(null!==e.localScope)if(e.undeclaredGlobalsInFunctions.has(t))o="gscope[lang.chkAssig('"+e.undeclaredGlobalsInFunctions.get(t).manglename+"',runtimeCtx)]";else{const r={manglename:Ie(e),node:n.argument};e.undeclaredGlobalsInFunctions.set(t,r),o="gscope[lang.chkAssig('"+r.manglename+"',runtimeCtx)]"}if(""!==o){let t="[";for(let o=0;o<n.arguments.length;o++)o>0&&(t+=", "),t+=V(e,n.arguments[o]);return t+="]",e.isAsync?"(yield lang.callfunc("+o+","+t+",runtimeCtx) )":"lang.callfunc("+o+","+t+",runtimeCtx)"}throw new K(e,D.FuncionNotFound,n)}catch(t){throw t}}function xe(e,n){try{if(3!==n.arguments.length)throw new K(e,D.WrongNumberOfParameters,n);const t=Ae(e);return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${V(e,n.arguments[0])};\n \n if (${t} === true) {\n return ${V(e,n.arguments[1])};\n }\n else if (${t} === false) {\n return ${V(e,n.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()));":"}()"}`}catch(t){throw t}}function Me(e,n){try{if(n.arguments.length<3)throw new K(e,D.WrongNumberOfParameters,n);if(n.arguments.length%2==0)throw new K(e,D.WrongNumberOfParameters,n);const t=Ae(e);let o="var ";for(let r=0;r<n.arguments.length-1;r+=2)o+=`${t} = lang.mustBoolean(${V(e,n.arguments[r])}, runtimeCtx);\n if (${t} === true ) {\n return ${V(e,n.arguments[r+1])} \n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${o}\n return ${V(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()));":"}()"}`}catch(t){throw t}}function Fe(e,n){try{if(n.arguments.length<2)throw new K(e,D.WrongNumberOfParameters,n);if(2===n.arguments.length)return`(${V(e,n.arguments[1])})`;if((n.arguments.length-1)%2==0)throw new K(e,D.WrongNumberOfParameters,n);const t=Ae(e),o=Ae(e);let r="var ";for(let l=1;l<n.arguments.length-1;l+=2)r+=`${o} = ${V(e,n.arguments[l])};\n if (lang.binary(${o}, ${t}, "==") === true ) {\n return ${V(e,n.arguments[l+1])} \n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${t} = ${V(e,n.arguments[0])};\n ${r}\n return ${V(e,n.arguments[n.arguments.length-1])}\n ${e.isAsync?"})}()));":"}()"}`}catch(t){throw t}}const Ce={};function Ie(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Ae(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}C(Ce,z),O(Ce,z),_(Ce,z),I(Ce,z),k(Ce,z),Ce.iif=function(e,n){try{return z(e,n,((t,o,r)=>{throw new P(e,D.Unrecognised,n)}))}catch(t){throw t}},Ce.decode=function(e,n){try{return z(e,n,((t,o,r)=>{throw new P(e,D.Unrecognised,n)}))}catch(t){throw t}},Ce.when=function(e,n){try{return z(e,n,((t,o,r)=>{throw new P(e,D.Unrecognised,n)}))}catch(t){throw t}};const _e={};for(const qe in Ce)_e[qe]=new $(Ce[qe]);A(Ce,z);for(const qe in Ce)Ce[qe]=new $(Ce[qe]);const ke=function(){};ke.prototype=Ce;const Oe=function(){};function Ee(e,n,t){const o={};e||(e={}),t||(t={}),o._SymbolsMap={},o.textformatting=1,o.infinity=1,o.pi=1;for(const r in n)o[r]=1;for(const r in t)o[r]=1;for(const r in e)o[r]=1;return o}function Ge(t,o,r){const l=r?new Oe:new ke;t||(t={}),o||(o={});const a=new e({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,l._SymbolsMap={textformatting:1,infinity:1,pi:1},l.textformatting=a,l.infinity=Number.POSITIVE_INFINITY,l.pi=Math.PI;for(const e in o)l[e]=o[e],l._SymbolsMap[e]=1;for(const e in t)l._SymbolsMap[e]=1,t[e]&&"esri.Graphic"===t[e].declaredClass?l[e]=n.createFromGraphic(t[e]):l[e]=t[e];return l}Oe.prototype=_e;const je={fixSpatialReference:p,parseArguments:W,standardFunction:z};function Be(e,n){const t={mode:n,compiled:!0,functions:{},signatures:[],standardFunction:z,standardFunctionAsync:z,evaluateIdentifier:$e};for(let o=0;o<e.length;o++)e[o].registerFunctions(t);if("sync"===n){for(const e in t.functions)Ce[e]=new $(t.functions[e]),ke.prototype[e]=Ce[e];for(let e=0;e<t.signatures.length;e++)M(t.signatures[e],"sync")}else{for(const e in t.functions)_e[e]=new $(t.functions[e]),Oe.prototype[e]=_e[e];for(let e=0;e<t.signatures.length;e++)M(t.signatures[e],"async")}}function Re(e,n){return e(n)}function $e(e,n){const t=n.name;if("_SymbolsMap"===t)throw new P(e,D.InvalidIdentifier,null);if(e.localStack.length>0){if("_t"!==t.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t];const n=e.mangleMap[t];if(void 0!==n&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n]}if("_t"!==t.substr(0,2).toLowerCase()&&void 0!==e.globalScope[t])return e.globalScope[t];if(1===e.globalScope._SymbolsMap[t])return e.globalScope[t];const o=e.mangleMap[t];return void 0!==o?e.globalScope[o]:void 0}Be([F],"sync"),Be([F],"async");let Le=0;const Ne={error(e){throw new P(null,e,null)},__awaiter:(e,n,t,o)=>new Promise(((t,r)=>{function l(e){try{s(o.next(e))}catch(n){r(n)}}function a(e){try{s(o.throw(e))}catch(n){r(n)}}function s(e){e.done?t(e.value):e.value&&e.value.then?e.value.then(l,a):(Le++,Le%100==0?setTimeout((()=>{Le=0,l(e.value)}),0):l(e.value))}s((o=o.apply(e,n||[])).next())})),functionDepthchecker:(e,n)=>function(){if(n.depthCounter.depth++,n.localStack.push([]),n.depthCounter.depth>64)throw new P(null,D.MaximumCallDepth,null);const t=e.apply(this,arguments);return E(t)?t.then((e=>(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,e))):(n.depthCounter.depth--,n.localStack.length=n.localStack.length-1,t)},chkAssig(e,n){if(void 0===n.gdefs[e])throw new P(n,D.InvalidIdentifier,null);return e},mustBoolean(e,n){if(!0===e||!1===e)return e;throw new P(n,D.BooleanConditionRequired,null)},setAssig:(e,n)=>(n.gdefs[e]=1,e),castString:e=>m(e),aCheck(e,n){if(r(e)){if("ArrayExpression"===n)throw new P(null,D.NoFunctionInArray,null);if("ObjectExpression"===n)throw new P(null,D.NoFunctionInDictionary,null);throw new P(null,D.NoFunctionInTemplateLiteral,null)}return e===i?null:e},Dictionary:e,Feature:n,UserDefinedCompiledFunction:q,dictionary(n){const t={},o=new Map;for(let e=0;e<n.length;e+=2){if(r(n[e+1]))throw new P(null,D.NoFunctionInDictionary,null);if(!1===d(n[e]))throw new P(null,D.KeyMustBeString,null);let l=n[e].toString();const a=l.toLowerCase();o.has(a)?l=o.get(a):o.set(a,l),n[e+1]===i?t[l]=null:t[l]=n[e+1]}const l=new e(t);return l.immutable=!1,l},strCheck(e){if(!1===d(e))throw new P(null,D.KeyMustBeString,null);return e},unary(e,n){if(g(e)){if("!"===n)return!e;if("-"===n)return-1*f(e);if("+"===n)return 1*f(e);if("~"===n)return~f(e);throw new P(null,D.UnsupportedUnaryOperator,null)}if("-"===n)return-1*f(e);if("+"===n)return 1*f(e);if("~"===n)return~f(e);throw new P(null,D.UnsupportedUnaryOperator,null)},logicalCheck(e){if(!1===g(e))throw new P(null,D.LogicExpressionOrAnd,null);return e},logical(e,n,t){if(g(e)&&g(n))switch(t){case"||":return e||n;case"&&":return e&&n;default:throw new P(null,D.LogicExpressionOrAnd,null)}throw new P(null,D.LogicExpressionOrAnd,null)},binary(e,n,t){switch(t){case"|":case"<<":case">>":case">>>":case"^":case"&":return b(f(e),f(n),t);case"==":case"=":return y(e,n);case"!=":return!y(e,n);case"<":case">":case"<=":case">=":return h(e,n,t);case"+":return d(e)||d(n)?m(e)+m(n):f(e)+f(n);case"-":return f(e)-f(n);case"*":return f(e)*f(n);case"/":return f(e)/f(n);case"%":return f(e)%f(n);default:throw new P(null,D.UnsupportedOperator,null)}},assign(e,n,t){switch(n){case"=":return e===i?null:e;case"/=":return f(t)/f(e);case"*=":return f(t)*f(e);case"-=":return f(t)-f(e);case"+=":return d(t)||d(e)?m(t)+m(e):f(t)+f(e);case"%=":return f(t)%f(e);default:throw new P(null,D.UnsupportedOperator,null)}},update(e,n,t,o){const r=f(e[n]);return e[n]="++"===t?r+1:r-1,!1===o?r:"++"===t?r+1:r-1},graphicToFeature:(e,t)=>null===e?null:n.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(n,t,o,r){let l;if(w(n)){if(!S(t))throw new P(null,D.ArrayAccessorMustBeNumber,null);if(t<0&&(t=n.length+t),t<0||t>=n.length)throw new P(null,D.OutOfBounds,null);l=f(n[t]),n[t]="++"===o?l+1:l-1}else if(n instanceof e){if(!1===d(t))throw new P(null,D.KeyAccessorMustBeString,null);if(!0!==n.hasField(t))throw new P(null,D.FieldNotFound,null,{key:t});l=f(n.field(t)),n.setField(t,"++"===o?l+1:l-1)}else if(v(n)){if(!1===d(t))throw new P(null,D.KeyAccessorMustBeString,null);if(!0!==n.hasField(t))throw new P(null,D.FieldNotFound,null);l=f(n.field(t)),n.setField(t,"++"===o?l+1:l-1)}else{if(x(n))throw new P(null,D.Immutable,null);if(!(n instanceof Ke))throw new P(null,D.InvalidIdentifier,null);if(!1===d(t))throw new P(null,D.ModuleAccessorMustBeString,null);if(!0!==n.hasGlobal(t))throw new P(null,D.ModuleExportNotFound,null);l=f(n.global(t)),n.setGlobal(t,"++"===o?l+1:l-1)}return!1===r?l:"++"===o?l+1:l-1},assignmember(n,t,o,r){if(w(n)){if(!S(t))throw new P(null,D.ArrayAccessorMustBeNumber,null);if(t<0&&(t=n.length+t),t<0||t>n.length)throw new P(null,D.OutOfBounds,null);if(t===n.length){if("="!==o)throw new P(null,D.OutOfBounds,null);n[t]=this.assign(r,o,n[t])}else n[t]=this.assign(r,o,n[t])}else if(n instanceof e){if(!1===d(t))throw new P(null,D.KeyAccessorMustBeString,null);if(!0===n.hasField(t))n.setField(t,this.assign(r,o,n.field(t)));else{if("="!==o)throw new P(null,D.FieldNotFound,null);n.setField(t,this.assign(r,o,null))}}else if(v(n)){if(!1===d(t))throw new P(null,D.KeyAccessorMustBeString,null);if(!0===n.hasField(t))n.setField(t,this.assign(r,o,n.field(t)));else{if("="!==o)throw new P(null,D.FieldNotFound,null);n.setField(t,this.assign(r,o,null))}}else{if(x(n))throw new P(null,D.Immutable,null);if(!(n instanceof Ke))throw new P(null,D.InvalidIdentifier,null);if(!1===d(t))throw new P(null,D.ModuleAccessorMustBeString,null);if(!n.hasGlobal(t))throw new P(null,D.ModuleExportNotFound,null);n.setGlobal(t,this.assign(r,o,n.global(t)))}},member(n,t){if(null===n)throw new P(null,D.MemberOfNull,null);if(n instanceof e||v(n)){if(d(t))return n.field(t);throw new P(null,D.InvalidMemberAccessKey,null)}if(n instanceof G){if(d(t))return de(n,t);throw new P(null,D.InvalidMemberAccessKey,null)}if(w(n)){if(S(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=n.length+t),t>=n.length||t<0)throw new P(null,D.OutOfBounds,null);return n[t]}throw new P(null,D.InvalidMemberAccessKey,null)}if(d(n)){if(S(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=n.length+t),t>=n.length||t<0)throw new P(null,D.OutOfBounds,null);return n[t]}throw new P(null,D.InvalidMemberAccessKey,null)}if(x(n)){if(S(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=n.length()+t),t>=n.length()||t<0)throw new P(null,D.OutOfBounds,null);return n.get(t)}throw new P(null,D.InvalidMemberAccessKey,null)}if(n instanceof Ke){if(d(t))return n.global(t);throw new P(null,D.InvalidMemberAccessKey,null)}throw new P(null,D.InvalidMemberAccessKey,null)},callfunc:(e,n,t)=>e.call(t,{arguments:n,preparsed:!0}),loadModule(e,n){const t=n.moduleFactoryMap[e];if(n.moduleSingletons[t])return n.moduleSingletons[t];const o=n.moduleFactory[t]({vars:{},moduleSingletons:n.moduleSingletons,depthCounter:n.depthCounter,console:n.console,abortSignal:n.abortSignal,isAsync:n.isAsync,services:n.services,lrucache:n.lrucache,interceptor:n.interceptor},n.spatialReference);return n.moduleSingletons[t]=o,o},callModuleFunction(e,n,t,o){if(!(e instanceof Ke))throw new P(null,D.FuncionNotFound,null);const l=e.global(t);if(!1===r(l))throw new P(null,D.CallNonFunction,null);return l.call(o,{preparsed:!0,arguments:n})}};function Ue(e){console.log(e)}function Pe(e,n,t=!1){null===n&&(n={vars:{},customfunctions:{}});let o=null;e.usesModules&&(o=new B(null,e.loadedModules));const p={isAsync:t,globalScope:Ee(n.vars,t?_e:Ce,n.customfunctions),moduleFactory:{},moduleFactoryMap:{},undeclaredGlobalsInFunctions:new Map,customfunctions:n.customfunctions,libraryResolver:o,localScope:null,mangleMap:{},depthCounter:{depth:1},exports:{},console:Ue,lrucache:n.lrucache,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let m=V(p,e);""===m&&(m="lc.voidOperation; "),p.undeclaredGlobalsInFunctions.size>0&&p.undeclaredGlobalsInFunctions.forEach((e=>{throw new K(n,D.InvalidIdentifier,e.node)}));let d="";d=t?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+m+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+m+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const g=p.moduleFactory,f=p.moduleFactoryMap,h=p.exports,y={};for(const r in h)y[r]=void 0!==p.mangleMap[r]?p.mangleMap[r]:r;const b={lc:l,lang:Ne,mangles:p.mangleMap,postProcess(e){if(e instanceof a&&(e=e.value),e instanceof s&&(e=e.value),e===i&&(e=null),e===c)throw new P(null,D.IllegalResult,null);if(e===u)throw new P(null,D.IllegalResult,null);if(r(e))throw new P(null,D.IllegalResult,null);return e},prepare(e,n){let t=e.spatialReference;null==t&&(t=j.WebMercator);const o=Ge(e.vars,e.customfunctions,n);return{localStack:[],isAsync:n,moduleFactory:g,moduleFactoryMap:f,mangleMap:this.mangles,moduleSingletons:{},exports:h,gdefs:{},exportmangle:y,spatialReference:t,globalScope:o,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Ue,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:{depth:1}}}};return new Function("context","spatialReference",d).bind(b)}async function De(){return Be([await import("./functions/geomasync.js")],"async"),!0}class Ke extends R{constructor(e){super(null),this.moduleContext=e}hasGlobal(e){return void 0===this.moduleContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.moduleContext.exports[e]}setGlobal(e,n){const t=this.moduleContext.globalScope,o=e.toLowerCase();if(r(n))throw new P(null,D.AssignModuleFunction,null);t[this.moduleContext.exportmangle[o]]=n}global(e){const n=this.moduleContext.globalScope;e=e.toLowerCase();const t=n[this.moduleContext.exportmangle[e]];if(void 0===t)throw new P(null,D.InvalidIdentifier,null);if(r(t)&&!(t instanceof N)){const o=new N;return o.fn=t,o.parameterEvaluator=z,o.context=this.moduleContext,n[this.moduleContext.exportmangle[e]]=o,o}return t}}function Te(e,n,t=!1){const o={isAsync:t,moduleFactory:n.moduleFactory,moduleFactoryMap:{},libraryResolver:new B(null,e.loadedModules),globalScope:Ee(n.vars,t?_e:Ce,n.customfunctions),customfunctions:n.customfunctions,localScope:null,mangleMap:{},undeclaredGlobalsInFunctions:new Map,depthCounter:{depth:1},exports:{},console:Ue,lrucache:n.lrucache,interceptor:n.interceptor,services:n.services,symbols:{symbolCounter:0}};let r=V(o,e);""===r&&(r="lc.voidOperation; ");let a="";a=t?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+r+"\n return lastStatement; }); } \n yield mainBody(); \n return this.prepareModule(runtimeCtx); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+r+"\n return lastStatement; } \n mainBody(); \n return this.prepareModule(runtimeCtx); ";const s=o.moduleFactory,i=o.moduleFactoryMap,c=o.exports,u={};for(const l in c)u[l]=void 0!==o.mangleMap[l]?o.mangleMap[l]:l;const p={lc:l,lang:Ne,mangles:o.mangleMap,prepareModule:e=>new Ke(e),prepare(e,n){let t=e.spatialReference;null==t&&(t=new j({wkid:102100}));const o=Ge(e.vars,e.customfunctions,n);return{localStack:[],isAsync:n,exports:c,exportmangle:u,gdefs:{},moduleFactory:s,moduleFactoryMap:i,moduleSingletons:e.moduleSingletons,mangleMap:this.mangles,spatialReference:t,globalScope:o,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Ue,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:e.depthCounter}}};return new Function("context","spatialReference",a).bind(p)}export{q as UserDefinedCompiledFunction,Pe as compileScript,De as enableAsyncSupport,Re as executeScript,Be as extend,je as functionHelper};
|
package/arcade/arcadeRuntime.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./ArcadePortal.js";import r from"./Attachment.js";import t from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as l,m as c,N as u,x as f,w as p,v as h,o as w,b as m,l as E,R as d,n as g,s as N,a as y,f as I,I as v,h as T,q as R,r as O,j as S,y as b,z as A,A as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as x,findFieldLiterals as M,findExpectedFieldLiterals as F,validateScript as P,referencesMember as D,referencesFunction as L,findFunctionCalls as j}from"./treeAnalysis.js";import{A as _}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as B}from"./functions/geomsync.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import q from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import W from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import J from"../geometry/SpatialReference.js";function Q(e,r){const t=[];for(let n=0;n<r.arguments.length;n++)t.push(ee(e,r.arguments[n]));return t}function $(e,r,t){try{return!0===r.preparsed?t(e,null,r.arguments):t(e,r,Q(e,r))}catch(n){throw n}}function ee(e,r){try{switch(r.type){case"EmptyStatement":return h;case"VariableDeclarator":return me(e,r);case"VariableDeclaration":return we(e,r);case"BlockStatement":return fe(e,r);case"FunctionDeclaration":return he(e,r);case"ReturnStatement":return pe(e,r);case"IfStatement":return ue(e,r);case"ExpressionStatement":return ce(e,r);case"AssignmentExpression":return le(e,r);case"UpdateExpression":return ie(e,r);case"BreakStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return Te(e,r);case"TemplateLiteral":return Re(e,r);case"ForStatement":return oe(e,r);case"ForInStatement":return ne(e,r);case"Identifier":return Oe(e,r);case"MemberExpression":return ge(e,r);case"Literal":return r.value;case"CallExpression":return Se(e,r);case"UnaryExpression":return Ne(e,r);case"BinaryExpression":return Ie(e,r);case"LogicalExpression":return ve(e,r);case"ArrayExpression":return ye(e,r);case"ObjectExpression":return re(e,r);case"Property":return te(e,r);default:throw new Error(C(r,"RUNTIME","UNREOGNISED"))}}catch(t){throw t}}function re(e,r){const n={};for(let t=0;t<r.properties.length;t++){const o=ee(e,r.properties[t]);if(w(o.value))throw new Error("Illegal Argument");if(!1===m(o.key))throw new Error("Illegal Argument");o.value===h?n[o.key.toString()]=null:n[o.key.toString()]=o.value}const o=new t(n);return o.immutable=!1,o}function te(e,r){return{key:"Identifier"===r.key.type?r.key.name:ee(e,r.key),value:ee(e,r.value)}}function ne(e,r){const n=ee(e,r.right);"VariableDeclaration"===r.left.type&&ee(e,r.left);let o=null,a="";if("VariableDeclaration"===r.left.type){const e=r.left.declarations[0].id;"Identifier"===e.type&&(a=e.name)}else"Identifier"===r.left.type&&(a=r.left.name);if(!a)throw new Error(C(r,"RUNTIME","INVALIDVARIABLE"));if(a=a.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[a]&&(o=e.localScope[a]),null===o&&void 0!==e.globalScope[a]&&(o=e.globalScope[a]),null===o)throw new Error(C(r,"RUNTIME","VARIABLENOTDECLARED"));if(E(n)||m(n)){const t=n.length;for(let n=0;n<t;n++){o.value=n;const t=ee(e,r.body);if(t===p)break;if(t instanceof d)return t}return h}if(g(n)){for(let t=0;t<n.length();t++){o.value=t;const n=ee(e,r.body);if(n===p)break;if(n instanceof d)return n}return h}if(!(n instanceof t||N(n)))return h;{const t=n.keys();for(let n=0;n<t.length;n++){o.value=t[n];const a=ee(e,r.body);if(a===p)break;if(a instanceof d)return a}}}function oe(e,r){null!==r.init&&ee(e,r.init);const t={testResult:!0,lastAction:h};do{ae(e,r,t)}while(!0===t.testResult);return t.lastAction instanceof d?t.lastAction:h}function ae(e,r,t){if(null!==r.test){if(t.testResult=ee(e,r.test),!1===t.testResult)return;if(!0!==t.testResult)throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}t.lastAction=ee(e,r.body),t.lastAction!==p?t.lastAction instanceof d?t.testResult=!1:null!==r.update&&ee(e,r.update):t.testResult=!1}function ie(e,r){let n,o=null,a="";if("MemberExpression"===r.argument.type){if(o=ee(e,r.argument.object),!0===r.argument.computed?a=ee(e,r.argument.property):"Identifier"===r.argument.property.type&&(a=r.argument.property.name),E(o)){if(!y(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>=o.length)throw new Error("Assignment outside of array bounds");n=I(o[a]),o[a]="++"===r.operator?n+1:n-1}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=I(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=I(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}return!1===r.prefix?n:"++"===r.operator?n+1:n-1}if(o="Identifier"===r.argument.type?r.argument.name.toLowerCase():"",!o)throw new Error("Invalid identifier");if(null!==e.localScope&&void 0!==e.localScope[o])return n=I(e.localScope[o].value),e.localScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;if(void 0!==e.globalScope[o])return n=I(e.globalScope[o].value),e.globalScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;throw new Error("Variable not recognised")}function se(e,r,t,n){switch(r){case"=":return e===h?null:e;case"/=":return I(t)/I(e);case"*=":return I(t)*I(e);case"-=":return I(t)-I(e);case"+=":return m(t)||m(e)?T(t)+T(e):I(t)+I(e);case"%=":return I(t)%I(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function le(e,r){const n=ee(e,r.right);let o=null,a="";if("MemberExpression"===r.left.type){if(o=ee(e,r.left.object),!0===r.left.computed?a=ee(e,r.left.property):"Identifier"===r.left.property.type&&(a=r.left.property.name),E(o)){if(!y(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>o.length)throw new Error("Assignment outside of array bounds");if(a===o.length){if("="!==r.operator)throw new Error("Invalid Parameter");o[a]=se(n,r.operator,o[a],r)}else o[a]=se(n,r.operator,o[a],r)}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}return h}if(o=r.left.name.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[o])return e.localScope[o]={value:se(n,r.operator,e.localScope[o].value,r),valueset:!0,node:r.right},h;if(void 0!==e.globalScope[o])return e.globalScope[o]={value:se(n,r.operator,e.globalScope[o].value,r),valueset:!0,node:r.right},h;throw new Error("Variable not recognised")}function ce(e,r){if("AssignmentExpression"===r.expression.type||"UpdateExpression"===r.expression.type)return ee(e,r.expression);if("CallExpression"===r.expression.type){const t=ee(e,r.expression);return t===h?h:new v(t)}{const t=ee(e,r.expression);return t===h?h:new v(t)}}function ue(e,r){if("AssignmentExpression"===r.test.type||"UpdateExpression"===r.test.type)throw new Error(C(r.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.test);if(!0===t)return ee(e,r.consequent);if(!1===t)return null!==r.alternate?ee(e,r.alternate):h;throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}function fe(e,r){let t=h;for(let n=0;n<r.body.length;n++)if(t=ee(e,r.body[n]),t instanceof d||t===p||t===f)return t;return t}function pe(e,r){if(null===r.argument)return new d(h);const t=ee(e,r.argument);return new d(t)}function he(e,r){const t=r.id.name.toLowerCase();return e.globalScope[t]={valueset:!0,node:null,value:new o(r,e)},h}function we(e,r){for(let t=0;t<r.declarations.length;t++)ee(e,r.declarations[t]);return h}function me(e,r){let t=null===r.init?null:ee(e,r.init);if(t===h&&(t=null),"Identifier"!==r.id.type)throw new Error("Can only assign a regular variable");const n=r.id.name.toLowerCase();return null!==e.localScope?e.localScope[n]={value:t,valueset:!0,node:r.init}:e.globalScope[n]={value:t,valueset:!0,node:r.init},h}let Ee=0;function de(e,r,n){let o;switch(r=r.toLowerCase()){case"hasz":{const r=e.hasZ;return void 0!==r&&r}case"hasm":{const r=e.hasM;return void 0!==r&&r}case"spatialreference":{let r=e.spatialReference._arcadeCacheId;if(void 0===r){let t=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(t=!1),t&&(Ee++,e.spatialReference._arcadeCacheId=Ee,r=Ee)}const n=new t({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==r&&(n._arcadeCacheId="SPREF"+r.toString()),n}}switch(e.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const t=e[r];return void 0!==t?t:null}case"type":return"Extent"}break;case"polygon":switch(r){case"rings":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return void 0!==e[r]?e[r]:null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,o,1);case"type":return"Multipoint"}}throw new Error(C(n,"RUNTIME","PROPERTYNOTFOUND"))}function ge(e,r){try{const n=ee(e,r.object);if(null===n)throw new Error(C(r,"RUNTIME","NOTFOUND"));if(!1===r.computed){if("Identifier"===r.property.type){if(n instanceof t||N(n))return n.field(r.property.name);if(n instanceof Z)return de(n,r.property.name,r)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}{let o=ee(e,r.property);if(n instanceof t||N(n)){if(m(o))return n.field(o);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(n instanceof Z){if(m(o))return de(n,o,r);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(E(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}}catch(n){throw n}}function Ne(e,r){try{const t=ee(e,r.argument);if(l(t)){if("!"===r.operator)return!t;if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);if("~"===r.operator)return~I(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("~"===r.operator)return~I(t);if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}catch(t){throw t}}function ye(e,r){try{const t=[];for(let n=0;n<r.elements.length;n++){const o=ee(e,r.elements[n]);if(w(o))throw new Error(C(r,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));o===h?t.push(null):t.push(o)}return t}catch(t){throw t}}function Ie(e,r){try{const t=[ee(e,r.left),ee(e,r.right)],n=t[0],o=t[1];switch(r.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return O(I(n),I(o),r.operator);case"==":return c(n,o);case"!=":return!c(n,o);case"<":case">":case"<=":case">=":return R(n,o,r.operator);case"+":return m(n)||m(o)?T(n)+T(o):I(n)+I(o);case"-":return I(n)-I(o);case"*":return I(n)*I(o);case"/":return I(n)/I(o);case"%":return I(n)%I(o);default:throw new Error(C(r,"RUNTIME","OPERATORNOTRECOGNISED"))}}catch(t){throw t}}function ve(e,r){try{if("AssignmentExpression"===r.left.type||"UpdateExpression"===r.left.type)throw new Error(C(r.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===r.right.type||"UpdateExpression"===r.right.type)throw new Error(C(r.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.left);if(l(t))switch(r.operator){case"||":if(!0===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}case"&&":if(!1===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}default:throw new Error(C(r,"RUNTIME","ONLYORORAND"))}throw new Error(C(r,"RUNTIME","ONLYBOOLEAN"))}catch(t){throw t}}function Te(e,r){return r.value?r.value.cooked:""}function Re(e,r){let t="",n=0;for(const o of r.quasis)if(t+=o.value?o.value.cooked:"",!1===o.tail){t+=r.expressions[n]?T(ee(e,r.expressions[n])):"",n++}return t}function Oe(e,r){let t;try{const n=r.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[n])return t=e.localScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;if(void 0!==e.globalScope[n])return t=e.globalScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;throw new Error(C(r,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Se(e,r){try{if("Identifier"!==r.callee.type)throw new Error(C(r,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[r.callee.name.toLowerCase()]){const t=e.localScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[r.callee.name.toLowerCase()]){const t=e.globalScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(r,"RUNTIME","NOTFOUND"))}catch(t){throw t}}const be={};function Ae(n){return null==n?"":E(n)||g(n)?"Array":S(n)?"Date":m(n)?"String":l(n)?"Boolean":y(n)?"Number":n instanceof r?"Attachment":n instanceof e?"Portal":n instanceof t?"Dictionary":N(n)?"Feature":n instanceof W?"Point":n instanceof K?"Polygon":n instanceof X?"Polyline":n instanceof H?"Multipoint":n instanceof q?"Extent":w(n)?"Function":b(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===h?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Ue(e,r,t,n){try{const o=ee(e,r.arguments[t]);if(c(o,n))return ee(e,r.arguments[t+1]);{const o=r.arguments.length-t;return 1===o?ee(e,r.arguments[t]):2===o?null:3===o?ee(e,r.arguments[t+2]):Ue(e,r,t+2,n)}}catch(o){throw o}}function Ce(e,r,t,n){try{if(!0===n)return ee(e,r.arguments[t+1]);if(3===r.arguments.length-t)return ee(e,r.arguments[t+2]);{const n=ee(e,r.arguments[t+2]);if(!1===l(n))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,t+2,n)}}catch(o){throw o}}function xe(e,r){const t=e.length,n=Math.floor(t/2);return 0===t?[]:1===t?[e[0]]:Me(xe(e.slice(0,n),r),xe(e.slice(n,t),r),r)}function Me(e,r,t){const n=[];for(;e.length>0||r.length>0;)if(e.length>0&&r.length>0){let o=t(e[0],r[0]);isNaN(o)&&(o=0),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(r[0]),r=r.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):r.length>0&&(n.push(r[0]),r=r.slice(1));return n}function Fe(e,r,t){try{const n=e.body;if(t.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<t.length;a++)r.localScope[e.params[a].name.toLowerCase()]={value:t[a],valueset:!0,node:null};const o=ee(r,n);if(o instanceof d)return o.value;if(o===p)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof v?o.value:o}catch(n){throw n}}function Pe(e,r,t){return $(e,r,((r,n,o)=>{const a={spatialReference:e.spatialReference,globalScope:e.globalScope,depthCounter:e.depthCounter+1,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(t,a,o)}))}function De(e){const r=function(){const r={spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,localScope:{},depthCounter:e.context.depthCounter+1,globalScope:e.context.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(e.definition,r,arguments)};return r}k(be,$),z(be,$),Y(be,$),V(be,$),G(be,$),B(be,$),be.typeof=function(e,r){return $(e,r,((e,r,t)=>{s(t,1,1);const n=Ae(t[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},be.iif=function(e,r){try{s(null===r.arguments?[]:r.arguments,3,3);const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("IF Function must have a boolean test condition");const n=ee(e,r.arguments[1]),o=ee(e,r.arguments[2]);return!0===t?n:o}catch(t){throw t}},be.decode=function(e,r){try{if(r.arguments.length<2)throw new Error("Missing Parameters");if(2===r.arguments.length)return ee(e,r.arguments[1]);{if((r.arguments.length-1)%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);return Ue(e,r,1,t)}}catch(t){throw t}},be.when=function(e,r){try{if(r.arguments.length<3)throw new Error("Missing Parameters");if(r.arguments.length%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,0,t)}catch(t){throw t}},be.top=function(e,r){return $(e,r,((e,r,t)=>{if(s(t,2,2),E(t[0]))return I(t[1])>=t[0].length?t[0].slice(0):t[0].slice(0,I(t[1]));if(g(t[0]))return I(t[1])>=t[0].length()?t[0].slice(0):t[0].slice(0,I(t[1]));throw new Error("Top cannot accept this parameter type")}))},be.first=function(e,r){return $(e,r,((e,r,t)=>(s(t,1,1),E(t[0])?0===t[0].length?null:t[0][0]:g(t[0])?0===t[0].length()?null:t[0].get(0):null)))},be.sort=function(e,r){return $(e,r,((e,r,t)=>{s(t,1,2);let n=t[0];if(g(n)&&(n=n.toArray()),!1===E(n))throw new Error("Illegal Argument");if(t.length>1){if(!1===w(t[1]))throw new Error("Illegal Argument");let e=n;const r=De(t[1]);return e=xe(e,((e,t)=>r(e,t))),e}{let e=n;if(0===e.length)return[];const r={};for(let n=0;n<e.length;n++){const t=Ae(e[n]);""!==t&&(r[t]=!0)}if(!0===r.Array||!0===r.Dictionary||!0===r.Feature||!0===r.Point||!0===r.Polygon||!0===r.Polyline||!0===r.Multipoint||!0===r.Extent||!0===r.Function)return e.slice(0);let t=0,o="";for(const n in r)t++,o=n;return e=t>1||"String"===o?xe(e,((e,r)=>{if(null==e||e===h)return null==r||r===h?0:1;if(null==r||r===h)return-1;const t=T(e),n=T(r);return t<n?-1:t===n?0:1})):"Number"===o?xe(e,((e,r)=>e-r)):"Boolean"===o?xe(e,((e,r)=>e===r?0:r?-1:1)):"Date"===o?xe(e,((e,r)=>r-e)):e.slice(0),e}}))};for(const We in be)be[We]={value:new u(be[We]),valueset:!0,node:null};const Le=function(){};function je(e,r){const o=new Le;e||(e={}),r||(r={});const a=new t({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const t in r)o[t]={value:new u(r[t]),native:!0,valueset:!0,node:null};for(const t in e)e[t]&&"esri.Graphic"===e[t].declaredClass?o[t]={value:n.createFromGraphic(e[t]),valueset:!0,node:null}:o[t]={value:e[t],valueset:!0,node:null};return o}Le.prototype=be,Le.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Le.prototype.pi={value:Math.PI,valueset:!0,node:null};const _e={fixSpatialReference:U,parseArguments:Q,standardFunction:$};function ke(e){console.log(e)}function Ve(e){const r={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:$,evaluateIdentifier:Oe,arcadeCustomFunctionHandler:De};for(let t=0;t<e.length;t++)e[t].registerFunctions(r);for(const t in r.functions)be[t]={value:new u(r.functions[t]),valueset:!0,node:null},Le.prototype[t]=be[t];for(let t=0;t<r.signatures.length;t++)x(r.signatures[t],"async")}function Be(e,r){let t=r.spatialReference;null==t&&(t=new J({wkid:102100}));let n=ee({spatialReference:t,globalScope:je(r.vars,r.customfunctions),localScope:null,console:r.console?r.console:ke,lrucache:r.lrucache,interceptor:r.interceptor,depthCounter:1},e.body[0].body);if(n instanceof d&&(n=n.value),n instanceof v&&(n=n.value),n===h&&(n=null),n===p)throw new Error("Cannot return BREAK");if(n===f)throw new Error("Cannot return CONTINUE");if(n instanceof o)throw new Error("Cannot return FUNCTION");if(n instanceof u)throw new Error("Cannot return FUNCTION");return n}function Ye(e,r){return M(e)}function Ge(e){return F(e)}function ze(e,r){return P(e,r,"simple")}function qe(e,r){return D(e,r)}function Ze(e,r){return L(e,r)}function He(e){return j(e)}Ve([_]);export{Be as executeScript,Ve as extend,Ge as extractExpectedFieldLiterals,Ye as extractFieldLiterals,He as findFunctionCalls,_e as functionHelper,Ze as referencesFunction,qe as referencesMember,ze as validateScript};
|
|
5
|
+
import{ArcadeModule as e}from"./ArcadeModule.js";import{ArcadeModuleLoader as t}from"./ArcadeModuleLoader.js";import n from"./Dictionary.js";import{ArcadeExecutionError as r,ExecutionErrorCodes as o,ensureArcadeExecutionError as a}from"./executionError.js";import l from"./Feature.js";import{NativeFunction as s,ArcadeFunction as i,ScopeMarshalledFunction as c,wrapModuleScopedResponse as u}from"./FunctionWrapper.js";import f from"./ImmutablePathArray.js";import p from"./ImmutablePointArray.js";import{y as h,a as d,s as w,p as m,o as g,v as y,i as v,c as b,m as x,R as S,x as I,w as C,b as R,g as F,I as M,j as A,r as k,u as E,q as O}from"../chunks/languageUtils.js";import{addFunctionDeclaration as L}from"./treeAnalysis.js";import{A as N}from"../chunks/array.js";import{registerFunctions as j}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as P}from"./functions/geomsync.js";import{registerFunctions as _}from"./functions/maths.js";import{registerFunctions as D}from"./functions/stats.js";import{registerFunctions as K}from"./functions/string.js";import U from"../geometry/Geometry.js";import q from"../geometry/SpatialReference.js";class G extends i{constructor(e,t){super(),this.definition=null,this.context=null,this.definition=e,this.context=t}createFunction(e){return(...t)=>{const n={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,localScope:{},depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope};if(n.depthCounter.depth>64)throw new r(e,o.MaximumCallDepth,null);return Fe(this.definition,n,t,null)}}call(e,t){return z(e,t,((n,a,l)=>{const s={spatialReference:e.spatialReference,globalScope:e.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};if(s.depthCounter.depth>64)throw new r(e,o.MaximumCallDepth,t);return Fe(this.definition,s,l,t)}))}marshalledCall(e,t,n,r){return r(e,t,((o,a,l)=>{const s={spatialReference:e.spatialReference,globalScope:n.globalScope,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};return l=l.map((t=>!v(t)||t instanceof c?t:u(t,e,r))),u(Fe(this.definition,s,l,t),n,r)}))}}class T extends e{constructor(e){super(e)}global(e){const t=this.executingContext.globalScope[e.toLowerCase()];if(t.valueset||(t.value=V(this.executingContext,t.node),t.valueset=!0),v(t.value)&&!(t.value instanceof c)){const e=new c;e.fn=t.value,e.parameterEvaluator=z,e.context=this.executingContext,t.value=e}return t.value}setGlobal(e,t){if(v(t))throw new r(null,o.AssignModuleFunction,null);this.executingContext.globalScope[e.toLowerCase()]={value:t,valueset:!0,node:null}}hasGlobal(e){return void 0===this.executingContext.exports[e]&&(e=e.toLowerCase()),void 0!==this.executingContext.exports[e]}loadModule(e){let n=e.spatialReference;null==n&&(n=new q({wkid:102100})),this.moduleScope=Ae({},e.customfunctions),this.executingContext={spatialReference:n,globalScope:this.moduleScope,localScope:null,libraryResolver:new t(e.libraryResolver._moduleSingletons,this.source.syntax.loadedModules),exports:{},console:e.console?e.console:Ee,lrucache:e.lrucache,interceptor:e.interceptor,depthCounter:{depth:1}},V(this.executingContext,this.source.syntax)}}function W(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(V(e,t.arguments[r]));return n}function z(e,t,n){try{return!0===t.preparsed?n(e,null,t.arguments):n(e,t,W(e,t))}catch(r){throw r}}function V(e,t){try{switch(t.type){case"EmptyStatement":return y;case"VariableDeclarator":return ue(e,t);case"VariableDeclaration":return ce(e,t);case"ImportDeclaration":return se(e,t);case"ExportNamedDeclaration":return ie(e,t);case"BlockStatement":case"Program":return oe(e,t);case"FunctionDeclaration":return le(e,t);case"ReturnStatement":return ae(e,t);case"IfStatement":return re(e,t);case"ExpressionStatement":return ne(e,t);case"AssignmentExpression":return te(e,t);case"UpdateExpression":return $(e,t);case"BreakStatement":return g;case"ContinueStatement":return m;case"TemplateElement":return ye(e,t);case"TemplateLiteral":return be(e,t);case"ForStatement":return J(e,t);case"ForInStatement":return H(e,t);case"WhileStatement":return Q(e,t);case"Identifier":return xe(e,t);case"MemberExpression":return he(e,t);case"Literal":return t.value;case"CallExpression":return Se(e,t);case"UnaryExpression":return de(e,t);case"BinaryExpression":return me(e,t);case"LogicalExpression":return ge(e,t);case"ArrayExpression":return we(e,t);case"ObjectExpression":return Z(e,t);case"Property":return Y(e,t);default:throw new r(e,o.Unrecognised,t)}}catch(n){throw a(e,t,n)}}function Z(e,t){const a={},l=new Map;for(let n=0;n<t.properties.length;n++){const s=V(e,t.properties[n]);if(v(s.value))throw new r(e,o.NoFunctionInDictionary,t);if(!1===b(s.key))throw new r(e,o.KeyMustBeString,t);let i=s.key.toString();const c=i.toLowerCase();l.has(c)?i=l.get(c):l.set(c,i),s.value===y?a[i]=null:a[i]=s.value}const s=new n(a);return s.immutable=!1,s}function Y(e,t){return{key:"Identifier"===t.key.type?t.key.name:V(e,t.key),value:V(e,t.value)}}function H(e,t){const a=V(e,t.right);"VariableDeclaration"===t.left.type&&V(e,t.left);let l=null,s="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(s=e.name)}else"Identifier"===t.left.type&&(s=t.left.name);if(!s)throw new r(e,o.InvalidIdentifier,t);if(s=s.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[s]&&(l=e.localScope[s]),null===l&&void 0!==e.globalScope[s]&&(l=e.globalScope[s]),null===l)throw new r(e,o.InvalidIdentifier,t);if(x(a)||b(a)){const n=a.length;for(let r=0;r<n;r++){l.value=r;const n=V(e,t.body);if(n===g)break;if(n instanceof S)return n}return y}if(I(a)){for(let n=0;n<a.length();n++){l.value=n;const r=V(e,t.body);if(r===g)break;if(r instanceof S)return r}return y}if(!(a instanceof n||C(a)))return y;{const n=a.keys();for(let r=0;r<n.length;r++){l.value=n[r];const o=V(e,t.body);if(o===g)break;if(o instanceof S)return o}}}function J(e,t){null!==t.init&&V(e,t.init);const n={testResult:!0,lastAction:y};do{X(e,t,n)}while(!0===n.testResult);return n.lastAction instanceof S?n.lastAction:y}function Q(e,t){const n={testResult:!0,lastAction:y};if(n.testResult=V(e,t.test),!1===n.testResult)return y;if(!0!==n.testResult)throw new r(e,o.BooleanConditionRequired,t);for(;!0===n.testResult&&(n.lastAction=V(e,t.body),n.lastAction!==g)&&!(n.lastAction instanceof S);)if(n.testResult=V(e,t.test),!0!==n.testResult&&!1!==n.testResult)throw new r(e,o.BooleanConditionRequired,t);return n.lastAction instanceof S?n.lastAction:y}function X(e,t,n){if(null!==t.test){if(n.testResult=V(e,t.test),!1===n.testResult)return;if(!0!==n.testResult)throw new r(e,o.BooleanConditionRequired,t)}n.lastAction=V(e,t.body),n.lastAction!==g?n.lastAction instanceof S?n.testResult=!1:null!==t.update&&V(e,t.update):n.testResult=!1}function $(e,t){let a,l=null,s="";if("MemberExpression"===t.argument.type){if(l=V(e,t.argument.object),!0===t.argument.computed?s=V(e,t.argument.property):"Identifier"===t.argument.property.type&&(s=t.argument.property.name),x(l)){if(!R(s))throw new r(e,o.ArrayAccessorMustBeNumber,t);if(s<0&&(s=l.length+s),s<0||s>=l.length)throw new r(e,o.OutOfBounds,t);a=F(l[s]),l[s]="++"===t.operator?a+1:a-1}else if(l instanceof n){if(!1===b(s))throw new r(e,o.KeyAccessorMustBeString,t);if(!0!==l.hasField(s))throw new r(e,o.FieldNotFound,t);a=F(l.field(s)),l.setField(s,"++"===t.operator?a+1:a-1)}else if(C(l)){if(!1===b(s))throw new r(e,o.KeyAccessorMustBeString,t);if(!0!==l.hasField(s))throw new r(e,o.FieldNotFound,t);a=F(l.field(s)),l.setField(s,"++"===t.operator?a+1:a-1)}else{if(I(l))throw new r(e,o.Immutable,t);if(!(l instanceof T))throw new r(e,o.InvalidParameter,t);if(!1===b(s))throw new r(e,o.ModuleAccessorMustBeString,t);if(!0!==l.hasGlobal(s))throw new r(e,o.ModuleExportNotFound,t);a=F(l.global(s)),l.setGlobal(s,"++"===t.operator?a+1:a-1)}return!1===t.prefix?a:"++"===t.operator?a+1:a-1}if(l="Identifier"===t.argument.type?t.argument.name.toLowerCase():"",!l)throw new r(e,o.InvalidIdentifier,t);if(null!==e.localScope&&void 0!==e.localScope[l])return a=F(e.localScope[l].value),e.localScope[l]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;if(void 0!==e.globalScope[l])return a=F(e.globalScope[l].value),e.globalScope[l]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;throw new r(e,o.InvalidIdentifier,t)}function ee(e,t,n,a,l){switch(t){case"=":return e===y?null:e;case"/=":return F(n)/F(e);case"*=":return F(n)*F(e);case"-=":return F(n)-F(e);case"+=":return b(n)||b(e)?A(n)+A(e):F(n)+F(e);case"%=":return F(n)%F(e);default:throw new r(l,o.UnsupportedOperator,a)}}function te(e,t){const a=V(e,t.right);let l=null,s="";if("MemberExpression"===t.left.type){if(l=V(e,t.left.object),!0===t.left.computed)s=V(e,t.left.property);else{if("Identifier"!==t.left.property.type)throw new r(e,o.InvalidIdentifier,t);s=t.left.property.name}if(x(l)){if(!R(s))throw new r(e,o.ArrayAccessorMustBeNumber,t);if(s<0&&(s=l.length+s),s<0||s>l.length)throw new r(e,o.OutOfBounds,t);if(s===l.length){if("="!==t.operator)throw new r(e,o.OutOfBounds,t);l[s]=ee(a,t.operator,l[s],t,e)}else l[s]=ee(a,t.operator,l[s],t,e)}else if(l instanceof n){if(!1===b(s))throw new r(e,o.KeyAccessorMustBeString,t);if(!0===l.hasField(s))l.setField(s,ee(a,t.operator,l.field(s),t,e));else{if("="!==t.operator)throw new r(e,o.FieldNotFound,t,{key:s});l.setField(s,ee(a,t.operator,null,t,e))}}else if(C(l)){if(!1===b(s))throw new r(e,o.KeyAccessorMustBeString,t);if(!0===l.hasField(s))l.setField(s,ee(a,t.operator,l.field(s),t,e));else{if("="!==t.operator)throw new r(e,o.FieldNotFound,t,{key:s});l.setField(s,ee(a,t.operator,null,t,e))}}else{if(I(l))throw new r(e,o.Immutable,t);if(!(l instanceof T))throw new r(e,o.InvalidIdentifier,t);if(!1===b(s))throw new r(e,o.ModuleAccessorMustBeString,t);if(!0!==l.hasGlobal(s))throw new r(e,o.ModuleExportNotFound,t);l.setGlobal(s,ee(a,t.operator,l.global(s),t,e))}return y}if(l=t.left.name.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[l])return e.localScope[l]={value:ee(a,t.operator,e.localScope[l].value,t,e),valueset:!0,node:t.right},y;if(void 0!==e.globalScope[l])return e.globalScope[l]={value:ee(a,t.operator,e.globalScope[l].value,t,e),valueset:!0,node:t.right},y;throw new r(e,o.InvalidIdentifier,t)}function ne(e,t){if("AssignmentExpression"===t.expression.type||"UpdateExpression"===t.expression.type)return V(e,t.expression);if("CallExpression"===t.expression.type){const n=V(e,t.expression);return n===y?y:new M(n)}{const n=V(e,t.expression);return n===y?y:new M(n)}}function re(e,t){const n=V(e,t.test);if(!0===n)return V(e,t.consequent);if(!1===n)return null!==t.alternate?V(e,t.alternate):y;throw new r(e,o.BooleanConditionRequired,t)}function oe(e,t){let n=y;for(let r=0;r<t.body.length;r++)if(n=V(e,t.body[r]),n instanceof S||n===g||n===m)return n;return n}function ae(e,t){if(null===t.argument)return new S(y);const n=V(e,t.argument);return new S(n)}function le(e,t){const n=t.id.name.toLowerCase();return e.globalScope[n]={valueset:!0,node:null,value:new G(t,e)},y}function se(e,t){const n=t.specifiers[0].local.name.toLowerCase(),r=e.libraryResolver.loadLibrary(n);let o=null;return e.libraryResolver._moduleSingletons.has(r.uri)?o=e.libraryResolver._moduleSingletons.get(r.uri):(o=new T(r),o.loadModule(e),e.libraryResolver._moduleSingletons.set(r.uri,o)),e.globalScope[n]={value:o,valueset:!0,node:t},y}function ie(e,t){if(V(e,t.declaration),"FunctionDeclaration"===t.declaration.type)e.exports[t.declaration.id.name.toLowerCase()]="function";else if("VariableDeclaration"===t.declaration.type)for(const n of t.declaration.declarations)e.exports[n.id.name.toLowerCase()]="variable";return y}function ce(e,t){for(let n=0;n<t.declarations.length;n++)V(e,t.declarations[n]);return y}function ue(e,t){let n=null===t.init?null:V(e,t.init);if(n===y&&(n=null),"Identifier"!==t.id.type)throw new r(e,o.InvalidIdentifier,t);const a=t.id.name.toLowerCase();return null!==e.localScope?e.localScope[a]={value:n,valueset:!0,node:t.init}:e.globalScope[a]={value:n,valueset:!0,node:t.init},y}let fe=0;function pe(e,t,a,l){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let n=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(n=!1),n&&(fe++,e.spatialReference._arcadeCacheId=fe,t=fe)}const r=new n({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(r._arcadeCacheId="SPREF"+t.toString()),r}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const n=e[t];return void 0!==n?n:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(fe++,s=fe,e.cache._arcadeCacheId=s);return new f(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(fe++,s=fe,e.cache._arcadeCacheId=s);return new f(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(fe++,s=fe,e.cache._arcadeCacheId=s);return new p(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new r(l,o.InvalidIdentifier,a)}function he(e,t){try{const a=V(e,t.object);if(null===a)throw new r(e,o.MemberOfNull,t);if(!1===t.computed){if("Identifier"===t.property.type){if(a instanceof n||C(a))return a.field(t.property.name);if(a instanceof U)return pe(a,t.property.name,t,e);if(a instanceof T){if(!a.hasGlobal(t.property.name))throw new r(e,o.InvalidIdentifier,t);return a.global(t.property.name)}}throw new r(e,o.InvalidMemberAccessKey,t)}{let l=V(e,t.property);if(a instanceof n||C(a)){if(b(l))return a.field(l);throw new r(e,o.InvalidMemberAccessKey,t)}if(a instanceof T){if(b(l))return a.global(l);throw new r(e,o.InvalidMemberAccessKey,t)}if(a instanceof U){if(b(l))return pe(a,l,t,e);throw new r(e,o.InvalidMemberAccessKey,t)}if(x(a)){if(R(l)&&isFinite(l)&&Math.floor(l)===l){if(l<0&&(l=a.length+l),l>=a.length||l<0)throw new r(e,o.OutOfBounds,t);return a[l]}throw new r(e,o.InvalidMemberAccessKey,t)}if(b(a)){if(R(l)&&isFinite(l)&&Math.floor(l)===l){if(l<0&&(l=a.length+l),l>=a.length||l<0)throw new r(e,o.OutOfBounds,t);return a[l]}throw new r(e,o.InvalidMemberAccessKey,t)}if(I(a)){if(R(l)&&isFinite(l)&&Math.floor(l)===l){if(l<0&&(l=a.length()+l),l>=a.length()||l<0)throw new r(e,o.OutOfBounds,t);return a.get(l)}throw new r(e,o.InvalidMemberAccessKey,t)}throw new r(e,o.InvalidMemberAccessKey,t)}}catch(a){throw a}}function de(e,t){try{const n=V(e,t.argument);if(d(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*F(n);if("+"===t.operator)return 1*F(n);if("~"===t.operator)return~F(n);throw new r(e,o.UnsupportedUnaryOperator,t)}if("~"===t.operator)return~F(n);if("-"===t.operator)return-1*F(n);if("+"===t.operator)return 1*F(n);throw new r(e,o.UnsupportedUnaryOperator,t)}catch(n){throw n}}function we(e,t){try{const n=[];for(let a=0;a<t.elements.length;a++){const l=V(e,t.elements[a]);if(v(l))throw new r(e,o.NoFunctionInArray,t);l===y?n.push(null):n.push(l)}return n}catch(n){throw n}}function me(e,t){try{const n=[V(e,t.left),V(e,t.right)],a=n[0],l=n[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return E(F(a),F(l),t.operator);case"==":return w(a,l);case"!=":return!w(a,l);case"<":case">":case"<=":case">=":return k(a,l,t.operator);case"+":return b(a)||b(l)?A(a)+A(l):F(a)+F(l);case"-":return F(a)-F(l);case"*":return F(a)*F(l);case"/":return F(a)/F(l);case"%":return F(a)%F(l);default:throw new r(e,o.UnsupportedOperator,t)}}catch(n){throw n}}function ge(e,t){try{const n=V(e,t.left);if(d(n))switch(t.operator){case"||":if(!0===n)return n;{const n=V(e,t.right);if(d(n))return n;throw new r(e,o.LogicExpressionOrAnd,t)}case"&&":if(!1===n)return n;{const n=V(e,t.right);if(d(n))return n;throw new r(e,o.LogicExpressionOrAnd,t)}default:throw new r(e,o.LogicExpressionOrAnd,t)}throw new r(e,o.LogicalExpressionOnlyBoolean,t)}catch(n){throw n}}function ye(e,t){return t.value?t.value.cooked:""}function ve(e,t,n){if(v(e))throw new r(t,o.NoFunctionInTemplateLiteral,n);return e}function be(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){n+=t.expressions[r]?A(ve(V(e,t.expressions[r]),e,t)):"",r++}return n}function xe(e,t){let n;try{const a=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[a])return n=e.localScope[a],!0===n.valueset||(n.value=V(e,n.node),n.valueset=!0),n.value;if(void 0!==e.globalScope[a])return n=e.globalScope[a],!0===n.valueset||(n.value=V(e,n.node),n.valueset=!0),n.value;throw new r(e,o.InvalidIdentifier,t)}catch(a){throw a}}function Se(e,t){try{if("MemberExpression"===t.callee.type){const n=V(e,t.callee.object);if(!(n instanceof T))throw new r(e,o.FuncionNotFound,t);const a=!1===t.callee.computed?t.callee.property.name:V(e,t.callee.property);if(!n.hasGlobal(a))throw new r(e,o.FuncionNotFound,t);const l=n.global(a);if(!v(l))throw new r(e,o.CallNonFunction,t);return l.call(e,t)}if("Identifier"!==t.callee.type)throw new r(e,o.FuncionNotFound,t);if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const n=e.localScope[t.callee.name.toLowerCase()];if(v(n.value))return n.value.call(e,t);throw new r(e,o.CallNonFunction,t)}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const n=e.globalScope[t.callee.name.toLowerCase()];if(v(n.value))return n.value.call(e,t);throw new r(e,o.CallNonFunction,t)}throw new r(e,o.FuncionNotFound,t)}catch(n){throw n}}const Ie={};function Ce(e,t,n,r){try{const o=V(e,t.arguments[n]);if(w(o,r))return V(e,t.arguments[n+1]);{const o=t.arguments.length-n;return 1===o?V(e,t.arguments[n]):2===o?null:3===o?V(e,t.arguments[n+2]):Ce(e,t,n+2,r)}}catch(o){throw o}}function Re(e,t,n,a){try{if(!0===a)return V(e,t.arguments[n+1]);if(3===t.arguments.length-n)return V(e,t.arguments[n+2]);{const a=V(e,t.arguments[n+2]);if(!1===d(a))throw new r(e,o.BooleanConditionRequired,t.arguments[n+2]);return Re(e,t,n+2,a)}}catch(l){throw l}}function Fe(e,t,n,a){try{const l=e.body;if(n.length!==e.params.length)throw new r(t,o.WrongNumberOfParameters,a);for(let r=0;r<n.length;r++)t.localScope[e.params[r].name.toLowerCase()]={value:n[r],valueset:!0,node:null};const s=V(t,l);if(s instanceof S)return s.value;if(s===g)throw new r(t,o.UnexpectedToken,a);if(s===m)throw new r(t,o.UnexpectedToken,a);return s instanceof M?s.value:s}catch(l){throw l}}j(Ie,z),K(Ie,z),_(Ie,z),B(Ie,z),D(Ie,z),P(Ie,z),Ie.iif=function(e,t){try{h(null===t.arguments?[]:t.arguments,3,3,e,t);const n=V(e,t.arguments[0]);if(!1===d(n))throw new r(e,o.BooleanConditionRequired,t);return V(e,!0===n?t.arguments[1]:t.arguments[2])}catch(n){throw n}},Ie.decode=function(e,t){try{if(t.arguments.length<2)throw new r(e,o.WrongNumberOfParameters,t);if(2===t.arguments.length)return V(e,t.arguments[1]);{if((t.arguments.length-1)%2==0)throw new r(e,o.WrongNumberOfParameters,t);const n=V(e,t.arguments[0]);return Ce(e,t,1,n)}}catch(n){throw n}},Ie.when=function(e,t){try{if(t.arguments.length<3)throw new r(e,o.WrongNumberOfParameters,t);if(t.arguments.length%2==0)throw new r(e,o.WrongNumberOfParameters,t);const n=V(e,t.arguments[0]);if(!1===d(n))throw new r(e,o.BooleanConditionRequired,t.arguments[0]);return Re(e,t,0,n)}catch(n){throw n}};for(const Ne in Ie)Ie[Ne]={value:new s(Ie[Ne]),valueset:!0,node:null};const Me=function(){};function Ae(e,t){const r=new Me;e||(e={}),t||(t={});const o=new n({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});o.immutable=!1,r.textformatting={value:o,valueset:!0,node:null};for(const n in t)r[n]={value:new s(t[n]),native:!0,valueset:!0,node:null};for(const n in e)e[n]&&"esri.Graphic"===e[n].declaredClass?r[n]={value:l.createFromGraphic(e[n]),valueset:!0,node:null}:r[n]={value:e[n],valueset:!0,node:null};return r}Me.prototype=Ie,Me.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Me.prototype.pi={value:Math.PI,valueset:!0,node:null};const ke={fixSpatialReference:O,parseArguments:W,standardFunction:z};function Ee(e){console.log(e)}function Oe(e){const t={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:z,evaluateIdentifier:xe};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const n in t.functions)Ie[n]={value:new s(t.functions[n]),valueset:!0,node:null},Me.prototype[n]=Ie[n];for(let n=0;n<t.signatures.length;n++)L(t.signatures[n],"async")}function Le(e,n){let a=n.spatialReference;null==a&&(a=new q({wkid:102100}));let l=null;e.usesModules&&(l=new t(new Map,e.loadedModules));const s={spatialReference:a,globalScope:Ae(n.vars,n.customfunctions),localScope:null,exports:{},libraryResolver:l,console:n.console?n.console:Ee,lrucache:n.lrucache,interceptor:n.interceptor,depthCounter:{depth:1}};let i=V(s,e);if(i instanceof S&&(i=i.value),i instanceof M&&(i=i.value),i===y&&(i=null),i===g)throw new r(s,o.IllegalResult,null);if(i===m)throw new r(s,o.IllegalResult,null);if(v(i))throw new r(s,o.IllegalResult,null);return i}Oe([N]);export{Le as executeScript,Oe as extend,ke as functionHelper};
|