@arcgis/core 4.25.0-next.20220914 → 4.25.0-next.20220915

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.
Files changed (146) hide show
  1. package/arcade/ArcadeModuleLoader.js +1 -1
  2. package/arcade/ArcadeModuleResolver.js +1 -1
  3. package/arcade/arcade.js +1 -1
  4. package/arcade/arcadeAsyncRuntime.js +1 -1
  5. package/arcade/arcadeCompiler.js +1 -1
  6. package/arcade/arcadeRuntime.js +1 -1
  7. package/arcade/featureSetUtils.js +1 -1
  8. package/arcade/featureset/actions/Adapted.js +1 -1
  9. package/arcade/featureset/actions/AttributeFilter.js +1 -1
  10. package/arcade/featureset/actions/OrderBy.js +1 -1
  11. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  12. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  13. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  14. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  15. package/arcade/featureset/support/FeatureSet.js +1 -1
  16. package/arcade/featureset/support/IdSet.js +1 -1
  17. package/arcade/featureset/support/StatsField.js +1 -1
  18. package/arcade/featureset/support/sqlUtils.js +1 -1
  19. package/arcade/featureset/support/stats.js +1 -1
  20. package/arcade/functions/convertdirection.js +1 -1
  21. package/arcade/functions/featuresetbase.js +1 -1
  22. package/arcade/functions/geometry.js +1 -1
  23. package/arcade/functions/string.js +1 -1
  24. package/arcade/lib/parser.js +1 -1
  25. package/arcade/lib/tokenizer.js +1 -1
  26. package/arcade/treeAnalysis.js +1 -1
  27. package/arcade/validation/arcadeValidator.js +1 -1
  28. package/assets/esri/core/workers/RemoteClient.js +1 -1
  29. package/assets/esri/core/workers/chunks/05f761a78224990cea70.js +1 -0
  30. package/assets/esri/core/workers/chunks/0657ebbe3b1923d1eefb.js +1 -0
  31. package/assets/esri/core/workers/chunks/0b9571d24336ac0b4907.js +1 -0
  32. package/assets/esri/core/workers/chunks/{4253b4601cc449ad0594.js → 0dc76d604ba49f98471a.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{db5a6720bcf06f4d5af2.js → 0ed6e00494ed166b7bd3.js} +1 -1
  34. package/assets/esri/core/workers/chunks/16e9bd57f774944d0bf8.js +1 -0
  35. package/assets/esri/core/workers/chunks/1b85698e8b9f6bf58a46.js +1 -0
  36. package/assets/esri/core/workers/chunks/2af920691b2d710b52b8.js +1 -0
  37. package/assets/esri/core/workers/chunks/2ed23dd5fbb4e02ae101.js +1 -0
  38. package/assets/esri/core/workers/chunks/{76367318b857ea9254d3.js → 3035bd57a1f76fae26a4.js} +1 -1
  39. package/assets/esri/core/workers/chunks/323a32a96719a7783b63.js +1 -0
  40. package/assets/esri/core/workers/chunks/36dd5654df5c7f00406d.js +1 -0
  41. package/assets/esri/core/workers/chunks/3ed71c7a0aa8f8367387.js +1 -0
  42. package/assets/esri/core/workers/chunks/40ede4078b22791344a6.js +1 -0
  43. package/assets/esri/core/workers/chunks/{f6084a716570836b6920.js → 4b5e449567f9f5f400e1.js} +1 -1
  44. package/assets/esri/core/workers/chunks/5035c5d268a786f65882.js +1 -0
  45. package/assets/esri/core/workers/chunks/51de0afe0c5cb2dfd044.js +1 -0
  46. package/assets/esri/core/workers/chunks/{c7fbc2dc6d20f96a781c.js → 5b16b30ac3166f33e81e.js} +1 -1
  47. package/assets/esri/core/workers/chunks/5d0f6daccc381abf7933.js +1 -0
  48. package/assets/esri/core/workers/chunks/5d780d87e46c0b72b514.js +1 -0
  49. package/assets/esri/core/workers/chunks/6654f9180c8a1bf6d34e.js +1 -0
  50. package/assets/esri/core/workers/chunks/{c68957f6be4772abb6a1.js → 6693e43af546e6eb3f16.js} +1 -1
  51. package/assets/esri/core/workers/chunks/a234c056b1f872976a95.js +1 -0
  52. package/assets/esri/core/workers/chunks/{89c73fd2f4defc0011b3.js → adc553b1eb92d3cb6610.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{9c8e28dcf5cf0dd6350b.js → b3aa600c37450acd8640.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{f41805ad8d874e05fbfa.js → b7560e2989d151b9dd47.js} +1 -1
  55. package/assets/esri/core/workers/chunks/bb05472eef3596a32667.js +1 -0
  56. package/assets/esri/core/workers/chunks/c06bcc4f91fbcad804f0.js +1 -0
  57. package/assets/esri/core/workers/chunks/{e561113f08d5a30c6f55.js → c270e544f14617de4955.js} +1 -1
  58. package/assets/esri/core/workers/chunks/d105f206e09a2fe5e2ea.js +1 -0
  59. package/assets/esri/core/workers/chunks/d31bbb13af45ce8e45dc.js +1 -0
  60. package/assets/esri/core/workers/chunks/e7748cefefcc95a4bbe4.js +1 -0
  61. package/assets/esri/core/workers/chunks/{5bfc07644e014bc55b97.js → fab848b7523a74f4a1ab.js} +1 -1
  62. package/assets/esri/core/workers/chunks/fb1d0ac4b4f45830e5cf.js +1 -0
  63. package/assets/esri/core/workers/chunks/{88a01bec361948e87331.js → fd4c90ea124cf996a10e.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{3ab78f5a3a23e6a89b9f.js → fddd4ea487788e003fb1.js} +1 -1
  65. package/chunks/arcade.js +1 -1
  66. package/chunks/languageUtils.js +1 -1
  67. package/interfaces.d.ts +59 -13
  68. package/kernel.js +1 -1
  69. package/layers/BuildingSceneLayer.js +1 -1
  70. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  71. package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
  72. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  73. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  74. package/layers/graphics/sources/support/QueryTask.js +1 -1
  75. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  76. package/layers/support/rasterDatasets/CloudRaster.js +1 -1
  77. package/layers/support/rasterDatasets/RawBlockCache.js +1 -1
  78. package/layers/support/rasterFunctions/AspectFunction.js +1 -1
  79. package/layers/support/rasterFunctions/BandArithmeticFunction.js +1 -1
  80. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  81. package/layers/support/rasterFunctions/ColormapFunction.js +1 -1
  82. package/layers/support/rasterFunctions/CompositeBandFunction.js +1 -1
  83. package/layers/support/rasterFunctions/ConvolutionFunction.js +1 -1
  84. package/layers/support/rasterFunctions/ExtractBandFunction.js +1 -1
  85. package/layers/support/rasterFunctions/LocalFunction.js +1 -1
  86. package/layers/support/rasterFunctions/LocalFunctionArguments.js +1 -1
  87. package/layers/support/rasterFunctions/MaskFunction.js +1 -1
  88. package/layers/support/rasterFunctions/MaskFunctionArguments.js +1 -1
  89. package/layers/support/rasterFunctions/NDVIFunction.js +1 -1
  90. package/layers/support/rasterFunctions/RemapFunction.js +1 -1
  91. package/layers/support/rasterFunctions/SlopeFunction.js +1 -1
  92. package/layers/support/rasterFunctions/StatisticsHistogramsFunction.js +1 -1
  93. package/layers/support/rasterFunctions/StretchFunction.js +1 -1
  94. package/layers/support/rasterFunctions/rasterFunctionHelper.js +1 -1
  95. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  96. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  97. package/layers/support/rasterFunctions/surfaceUtils.js +1 -1
  98. package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
  99. package/package.json +1 -1
  100. package/renderers/support/rendererConversion.js +1 -1
  101. package/rest/query/executeQuery.js +1 -1
  102. package/rest/support/FeatureSet.js +1 -1
  103. package/rest/support/meshFeatureSet.js +1 -1
  104. package/support/revision.js +1 -1
  105. package/symbols/MeshSymbol3D.js +1 -1
  106. package/symbols/support/symbolConversion.js +1 -1
  107. package/views/3d/analysis/Dimensioning/DimensioningController.js +1 -1
  108. package/views/3d/analysis/Dimensioning/LengthDimensionComputation.js +1 -1
  109. package/views/3d/analysis/DimensioningAnalysisView3D.d.ts +4 -0
  110. package/views/3d/analysis/DimensioningAnalysisView3D.js +1 -1
  111. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  112. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  113. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  114. package/views/3d/layers/FeatureLayerView3D.js +1 -1
  115. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  116. package/views/3d/terrain/TerrainSurface.js +1 -1
  117. package/views/analysis/LengthDimensionResult.d.ts +4 -0
  118. package/views/analysis/LengthDimensionResult.js +5 -0
  119. package/views/layers/BuildingSceneLayerView.js +1 -1
  120. package/views/layers/FeatureLayerView.js +1 -1
  121. package/widgets/Search/support/layerSearchUtils.js +1 -1
  122. package/assets/esri/core/workers/chunks/17be5bd0d1c233d73d7a.js +0 -1
  123. package/assets/esri/core/workers/chunks/1b0fd77a2dde60ec9d2f.js +0 -1
  124. package/assets/esri/core/workers/chunks/2d30dbf61bccf2aedbc3.js +0 -1
  125. package/assets/esri/core/workers/chunks/4d7d6cfa3e1ef97a3acd.js +0 -1
  126. package/assets/esri/core/workers/chunks/4ec401e73d1518f1594b.js +0 -1
  127. package/assets/esri/core/workers/chunks/62d41820793b3108b0b3.js +0 -1
  128. package/assets/esri/core/workers/chunks/6dcdb3c0e1c303a9d2e7.js +0 -1
  129. package/assets/esri/core/workers/chunks/78fac5c9be32161d9c5a.js +0 -1
  130. package/assets/esri/core/workers/chunks/7b20dc11666af63326f3.js +0 -1
  131. package/assets/esri/core/workers/chunks/7ed7728f5d68bc578e46.js +0 -1
  132. package/assets/esri/core/workers/chunks/898004d1eec310e69d70.js +0 -1
  133. package/assets/esri/core/workers/chunks/8e1c804c74d461df60f7.js +0 -1
  134. package/assets/esri/core/workers/chunks/907bc04c854304f5854d.js +0 -1
  135. package/assets/esri/core/workers/chunks/9890c214e98cdf1eeb5d.js +0 -1
  136. package/assets/esri/core/workers/chunks/af36f9cf4e8e261d739d.js +0 -1
  137. package/assets/esri/core/workers/chunks/b3e27afd9b77823da89e.js +0 -1
  138. package/assets/esri/core/workers/chunks/b539468c8baf83741291.js +0 -1
  139. package/assets/esri/core/workers/chunks/bc219a3d154ece05e562.js +0 -1
  140. package/assets/esri/core/workers/chunks/be4765aa982f7b90981a.js +0 -1
  141. package/assets/esri/core/workers/chunks/c8312bc3d4cfb6e46f5d.js +0 -1
  142. package/assets/esri/core/workers/chunks/d440b5dd8c7cd17809b6.js +0 -1
  143. package/assets/esri/core/workers/chunks/d457b2db0d695139f1c3.js +0 -1
  144. package/assets/esri/core/workers/chunks/fac4fb73478a0734340c.js +0 -1
  145. package/portal/AssetMapFieldRole.js +0 -5
  146. package/views/3d/analysis/LengthDimensionResult.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
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};
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};
@@ -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"../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};
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,c=/(?<portalurl>.+)\/sharing\/rest\/content\/users\/[a-zA-Z0-9]+\/items\/(?<itemid>.+)$/gi,u=/(?<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,u,c]){const t=e.exec(l);if(null!==t){const e=t.groups;m=e.itemid,a=e.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);if(null!==p){const e=p.groups;m=e.itemid,h=e.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())}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/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"./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";
5
+ import"./arcadeCompiler.js";import"./ArcadeModuleResolver.js";import"./arcadeRuntime.js";import"./executionError.js";import"./parser.js";import"./treeAnalysis.js";import"../core/has.js";import"../core/maybe.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{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};
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 S,m as x,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 Se(e,t);case"VariableDeclaration":return await xe(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 S);)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 S?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 S?(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 S?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 S?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 S?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 S?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));x(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(x(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(x(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 S||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 S(g);const n=await J(e,t.argument);return new S(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 Se(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 xe(e,t,n){return n>=t.declarations.length?g:(await J(e,t.declarations[n]),n===t.declarations.length-1||await xe(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 null!=e.localScope&&(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(x(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&&null!=t.localScope&&(t.localScope[a.name.toLowerCase()]={d:null,value:n[r],valueset:!0,node:null})}const s=await J(t,i);if(s instanceof S)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 S&&(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};
@@ -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"./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};
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};
@@ -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{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};
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);if(null!=t.localScope)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};
@@ -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{id as e}from"../kernel.js";import t from"../request.js";import a from"./featureSetCollection.js";import r from"./featureset/actions/AttributeFilter.js";import n from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import l from"./featureset/actions/Top.js";import o from"./featureset/sources/FeatureLayerDynamic.js";import u from"./featureset/sources/FeatureLayerMemory.js";import c from"./featureset/sources/FeatureLayerRelated.js";import d from"./featureset/support/cache.js";import{FeatureSetError as f,FeatureSetErrorCodes as m}from"./featureset/support/errorsupport.js";import p from"./featureset/support/FeatureSet.js";import{extractServiceUrl as y}from"./featureset/support/shared.js";import{WhereClause as h}from"../core/sql/WhereClause.js";import _ from"../layers/FeatureLayer.js";import L from"../portal/Portal.js";import w from"../portal/PortalItem.js";function I(){null===d.applicationCache&&(d.applicationCache=new d)}async function S(e,t){if(d.applicationCache){const r=d.applicationCache.getLayerInfo(e);if(r){const a=await r;return new _({url:e,outFields:t,sourceJSON:a})}const n=new _({url:e,outFields:t}),s=(async()=>(await n.load(),n.sourceJSON))();if(d.applicationCache){d.applicationCache.setLayerInfo(e,s);try{return await s,n}catch(a){throw d.applicationCache.clearLayerInfo(e),a}}return await s,n}return new _({url:e,outFields:t})}async function N(e,t,a,r,n,s=null){return F(await S(e,["*"]),t,a,r,n,s)}function F(e,t=null,a=null,r=!0,n=null,s=null){return!0===e._hasMemorySource()?new u({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:s}):new o({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:s})}async function T(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}const a=(async()=>{const a=await t(e,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(e,a);try{return await a}catch(r){throw d.applicationCache.clearLayerInfo(e),r}}return a}async function g(e,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+e;if(null!==d.applicationCache){const e=d.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await t(e+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements&&e.layerDataElements[0])return e.layerDataElements[0]}throw new f(m.DataElementsNotFound)})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(r,n);try{return await n}catch(s){throw d.applicationCache.clearLayerInfo(r),s}}return n}async function A(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}const a=(async()=>{const a=await t(e,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(e,a);try{return await a}catch(r){throw d.applicationCache.clearLayerInfo(e),r}}return a}async function C(e,t){const a={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null},r=await A(e);if(a.metadata=r,r.controllerDatasetLayers&&void 0!==r.controllerDatasetLayers.utilityNetworkLayerId&&null!==r.controllerDatasetLayers.utilityNetworkLayerId){if(r.layers)for(const e of r.layers)a.layerNameLkp[e.id]=e.name;if(r.tables)for(const e of r.tables)a.layerNameLkp[e.id]=e.name;const n=r.controllerDatasetLayers.utilityNetworkLayerId;a.networkId=n;const s=await g(e,n);if(s){a.queryelem=s,a.queryelem&&a.queryelem.dataElement&&void 0!==a.queryelem.dataElement.schemaGeneration&&(a.unVersion=a.queryelem.dataElement.schemaGeneration),a.lkp={},a.queryelem.dataElement.domainNetworks||(a.queryelem.dataElement.domainNetworks=[]);for(const e of a.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources?e.edgeSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]?a.layerNameLkp[t.layerId]:null};e.className&&(a.lkp[e.className]=e)}for(const t of e.junctionSources?e.junctionSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]?a.layerNameLkp[t.layerId]:null};e.className&&(a.lkp[e.className]=e)}}if(a.queryelem.dataElement.terminalConfigurations)for(const e of a.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)a.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const r=await T(e+"/"+n);if(r.systemLayers&&void 0!==r.systemLayers.associationsTableId&&null!==r.systemLayers.associationsTableId){const n=[];a.unVersion>=4&&(n.push("STATUS"),n.push("PERCENTALONG"));let s=await N(e+"/"+r.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...n],!1,null,null);return await s.load(),a.unVersion>=4&&(s=s.filter(h.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62,63)",s.getFieldsIndex())),await s.load()),{lkp:a.lkp,associations:s,unVersion:a.unVersion,terminals:a.terminals}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}async function k(e,t,a,r=null,n=null,s=!0,i=null,l=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await N(o,r,n,s,i,l);return new c({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:s,lrucache:i,interceptor:l})}r.registerAction(),n.registerAction(),s.registerAction(),i.registerAction(),l.registerAction();class j extends a{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overridespref=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overridespref,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=this._map.allLayers.find((t=>t instanceof _&&t.title===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>!!(t.title&&t.title===e||t.title&&t.title===e)));if(r){if(r instanceof _)return this._makeAndAddFeatureSet(r,t,a);if(r._materializedTable);else{const e=r.outFields?r:{...r,outFields:["*"]};r._materializedTable=new _(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}async featureSetById(e,t=!0,a=["*"]){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=this._map.allLayers.find((t=>t instanceof _&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.id===e));if(r){if(r instanceof _)return this._makeAndAddFeatureSet(r,t,a);if(r._materializedTable);else{const e={...r,outFields:["*"]};r._materializedTable=new _(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}}class O extends a{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overridespref=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overridespref,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await A(this._url);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new O(this._url,this._overridespref,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=await this._loadMetaData();let s=null;for(const i of n.layers?n.layers:[])i.name===e&&(s=i);if(!s)for(const i of n.tables?n.tables:[])i.name===e&&(s=i);if(s){const e=await S(this._url+"/"+s.id,["*"]);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=await this._loadMetaData();let s=null;for(const i of n.layers?n.layers:[])null!==i.id&&void 0!==i.id&&i.id.toString()===e&&(s=i);if(!s)for(const i of n.tables?n.tables:[])null!==i.id&&void 0!==i.id&&i.id.toString()===e&&(s=i);if(s){const e=await S(this._url+"/"+s.id,["*"]);return this._makeAndAddFeatureSet(e,t,a)}return null}}function E(e,t,a=null,r=null){return new j(e,t,a,r)}function b(e,t,a=null,r=null){return new O(e,t,a,r)}function D(e,t){if(null===e)return t;return new L({url:e.field("url")})}async function q(a,r,n){if(!e.findCredential(a.restUrl))return null;if("loaded"===a.loadStatus&&""===r&&a.user&&a.user.sourceJSON&&!1===n)return a.user.sourceJSON;if(""===r){const e=await t(a.restUrl+"/community/self",{responseType:"json",query:{f:"json",...!1===n?{}:{returnUserLicenseTypeExtensions:!0}}});if(e.data){const t=e.data;if(t&&t.username)return t}return null}const s=await t(a.restUrl+"/community/users/"+r,{responseType:"json",query:{f:"json"}});if(s.data){const e=s.data;return e.error?null:e}return null}function G(e,t,a,r,n){if(null===e)return null;if(e instanceof _){switch(t){case"datasource":return F(e,n,e.outFields,!0,a,r).getDataSourceFeatureSet();case"parent":case"root":return F(e,n,e.outFields,!0,a,r)}return null}if(e instanceof p)switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}async function R(e,t,a,r,n,s,i,l=null){if(d.applicationCache){const o=d.applicationCache.getLayerInfo(e+":"+s.url);if(o){const e=await o;return F(new _({url:y(e.url)+"/"+t,outFields:["*"]}),a,r,n,i,l)}}const o=new w({id:e,portal:s}).load();d.applicationCache&&d.applicationCache.setLayerInfo(e+":"+s.url,o);try{const e=await o;return F(new _({url:y(e.url)+"/"+t,outFields:["*"]}),a,r,n,i,l)}catch(u){throw d.applicationCache&&d.applicationCache.clearLayerInfo(e+":"+s.url),u}}export{C as constructAssociationMetaDataFeatureSetFromUrl,F as constructFeatureSet,R as constructFeatureSetFromPortalItem,k as constructFeatureSetFromRelationship,N as constructFeatureSetFromUrl,G as convertToFeatureSet,E as createFeatureSetCollectionFromMap,b as createFeatureSetCollectionFromService,D as getPortal,I as initialiseMetaDataCache,q as lookupUser};
5
+ import{id as e}from"../kernel.js";import t from"../request.js";import a from"./featureSetCollection.js";import r from"./featureset/actions/AttributeFilter.js";import n from"./featureset/actions/GroupBy.js";import s from"./featureset/actions/OrderBy.js";import i from"./featureset/actions/SpatialFilter.js";import l from"./featureset/actions/Top.js";import o from"./featureset/sources/FeatureLayerDynamic.js";import u from"./featureset/sources/FeatureLayerMemory.js";import c from"./featureset/sources/FeatureLayerRelated.js";import d from"./featureset/support/cache.js";import{FeatureSetError as f,FeatureSetErrorCodes as m}from"./featureset/support/errorsupport.js";import p from"./featureset/support/FeatureSet.js";import{extractServiceUrl as y}from"./featureset/support/shared.js";import{WhereClause as h}from"../core/sql/WhereClause.js";import _ from"../layers/FeatureLayer.js";import L from"../portal/Portal.js";import w from"../portal/PortalItem.js";function I(){null===d.applicationCache&&(d.applicationCache=new d)}async function S(e,t){if(d.applicationCache){const r=d.applicationCache.getLayerInfo(e);if(r){const a=await r;return new _({url:e,outFields:t,sourceJSON:a})}const n=new _({url:e,outFields:t}),s=(async()=>(await n.load(),n.sourceJSON))();if(d.applicationCache){d.applicationCache.setLayerInfo(e,s);try{return await s,n}catch(a){throw d.applicationCache.clearLayerInfo(e),a}}return await s,n}return new _({url:e,outFields:t})}async function N(e,t,a,r,n,s=null){return F(await S(e,["*"]),t,a,r,n,s)}function F(e,t=null,a=null,r=!0,n=null,s=null){const i={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:s};return!0===e._hasMemorySource()?new u(i):new o(i)}async function T(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}const a=(async()=>{const a=await t(e,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(e,a);try{return await a}catch(r){throw d.applicationCache.clearLayerInfo(e),r}}return a}async function g(e,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+e;if(null!==d.applicationCache){const e=d.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await t(e+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements&&e.layerDataElements[0])return e.layerDataElements[0]}throw new f(m.DataElementsNotFound)})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(r,n);try{return await n}catch(s){throw d.applicationCache.clearLayerInfo(r),s}}return n}async function A(e){if(null!==d.applicationCache){const t=d.applicationCache.getLayerInfo(e);if(null!==t)return t}const a=(async()=>{const a=await t(e,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==d.applicationCache){d.applicationCache.setLayerInfo(e,a);try{return await a}catch(r){throw d.applicationCache.clearLayerInfo(e),r}}return a}async function C(e,t){const a={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null},r=await A(e);if(a.metadata=r,r.controllerDatasetLayers&&void 0!==r.controllerDatasetLayers.utilityNetworkLayerId&&null!==r.controllerDatasetLayers.utilityNetworkLayerId){if(r.layers)for(const e of r.layers)a.layerNameLkp[e.id]=e.name;if(r.tables)for(const e of r.tables)a.layerNameLkp[e.id]=e.name;const n=r.controllerDatasetLayers.utilityNetworkLayerId;a.networkId=n;const s=await g(e,n);if(s){a.queryelem=s,a.queryelem&&a.queryelem.dataElement&&void 0!==a.queryelem.dataElement.schemaGeneration&&(a.unVersion=a.queryelem.dataElement.schemaGeneration),a.lkp={},a.queryelem.dataElement.domainNetworks||(a.queryelem.dataElement.domainNetworks=[]);for(const e of a.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources?e.edgeSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]?a.layerNameLkp[t.layerId]:null};e.className&&(a.lkp[e.className]=e)}for(const t of e.junctionSources?e.junctionSources:[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]?a.layerNameLkp[t.layerId]:null};e.className&&(a.lkp[e.className]=e)}}if(a.queryelem.dataElement.terminalConfigurations)for(const e of a.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)a.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const r=await T(e+"/"+n);if(r.systemLayers&&void 0!==r.systemLayers.associationsTableId&&null!==r.systemLayers.associationsTableId){const n=[];a.unVersion>=4&&(n.push("STATUS"),n.push("PERCENTALONG"));let s=await N(e+"/"+r.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...n],!1,null,null);return await s.load(),a.unVersion>=4&&(s=s.filter(h.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62,63)",s.getFieldsIndex())),await s.load()),{lkp:a.lkp,associations:s,unVersion:a.unVersion,terminals:a.terminals}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}async function k(e,t,a,r=null,n=null,s=!0,i=null,l=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await N(o,r,n,s,i,l);return new c({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:s,lrucache:i,interceptor:l})}r.registerAction(),n.registerAction(),s.registerAction(),i.registerAction(),l.registerAction();class j extends a{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overridespref=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overridespref,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=this._map.allLayers.find((t=>t instanceof _&&t.title===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>!!(t.title&&t.title===e||t.title&&t.title===e)));if(r){if(r instanceof _)return this._makeAndAddFeatureSet(r,t,a);if(r._materializedTable);else{const e=r.outFields?r:{...r,outFields:["*"]};r._materializedTable=new _(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}async featureSetById(e,t=!0,a=["*"]){if(void 0!==this._map.loaded&&void 0!==this._map.load&&!1===this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let s=0;s<this._instantLayers.length;s++){const a=this._instantLayers[s];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[s].featureset}const n=this._map.allLayers.find((t=>t instanceof _&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.id===e));if(r){if(r instanceof _)return this._makeAndAddFeatureSet(r,t,a);if(r._materializedTable);else{const e={...r,outFields:["*"]};r._materializedTable=new _(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}}class O extends a{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overridespref=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=F(e,this._overridespref,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await A(this._url);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new O(this._url,this._overridespref,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=await this._loadMetaData();let s=null;for(const i of n.layers?n.layers:[])i.name===e&&(s=i);if(!s)for(const i of n.tables?n.tables:[])i.name===e&&(s=i);if(s){const e=await S(this._url+"/"+s.id,["*"]);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice(0)).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=await this._loadMetaData();let s=null;for(const i of n.layers?n.layers:[])null!==i.id&&void 0!==i.id&&i.id.toString()===e&&(s=i);if(!s)for(const i of n.tables?n.tables:[])null!==i.id&&void 0!==i.id&&i.id.toString()===e&&(s=i);if(s){const e=await S(this._url+"/"+s.id,["*"]);return this._makeAndAddFeatureSet(e,t,a)}return null}}function E(e,t,a=null,r=null){return new j(e,t,a,r)}function b(e,t,a=null,r=null){return new O(e,t,a,r)}function D(e,t){if(null===e)return t;return new L({url:e.field("url")})}async function q(a,r,n){if(!e.findCredential(a.restUrl))return null;if("loaded"===a.loadStatus&&""===r&&a.user&&a.user.sourceJSON&&!1===n)return a.user.sourceJSON;if(""===r){const e=await t(a.restUrl+"/community/self",{responseType:"json",query:{f:"json",...!1===n?{}:{returnUserLicenseTypeExtensions:!0}}});if(e.data){const t=e.data;if(t&&t.username)return t}return null}const s=await t(a.restUrl+"/community/users/"+r,{responseType:"json",query:{f:"json"}});if(s.data){const e=s.data;return e.error?null:e}return null}function v(e,t,a,r,n){if(null===e)return null;if(e instanceof _){switch(t){case"datasource":return F(e,n,e.outFields,!0,a,r).getDataSourceFeatureSet();case"parent":case"root":return F(e,n,e.outFields,!0,a,r)}return null}if(e instanceof p)switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}async function G(e,t,a,r,n,s,i,l=null){if(d.applicationCache){const o=d.applicationCache.getLayerInfo(e+":"+s.url);if(o){const e=await o;return F(new _({url:y(e.url)+"/"+t,outFields:["*"]}),a,r,n,i,l)}}const o=new w({id:e,portal:s}).load();d.applicationCache&&d.applicationCache.setLayerInfo(e+":"+s.url,o);try{const e=await o;return F(new _({url:y(e.url??"")+"/"+t,outFields:["*"]}),a,r,n,i,l)}catch(u){throw d.applicationCache&&d.applicationCache.clearLayerInfo(e+":"+s.url),u}}export{C as constructAssociationMetaDataFeatureSetFromUrl,F as constructFeatureSet,G as constructFeatureSetFromPortalItem,k as constructFeatureSetFromRelationship,N as constructFeatureSetFromUrl,v as convertToFeatureSet,E as createFeatureSetCollectionFromMap,b as createFeatureSetCollectionFromService,D as getPortal,I as initialiseMetaDataCache,q as lookupUser};