@arcgis/core 5.2.0-next.91 → 5.2.0-next.94

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 (107) hide show
  1. package/arcade/arcadeAsyncRuntime.js +1 -1
  2. package/arcade/arcadeCompiler.js +1 -1
  3. package/arcade/functions/portal.js +2 -0
  4. package/arcade/treeAnalysis.js +1 -1
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/0be98adfef79fc5036f0.js +1 -0
  7. package/assets/esri/core/workers/chunks/19ab024f6f732fd6c69b.js +1 -0
  8. package/assets/esri/core/workers/chunks/{c6ec0e966106f66360d9.js → 349b0c7febc46267441d.js} +3 -3
  9. package/assets/esri/core/workers/chunks/5d6733dcee9c2ef00072.js +1 -0
  10. package/assets/esri/core/workers/chunks/{aed7b80145b22c246098.js → 6cbc30b31f0bb39c73ca.js} +1 -1
  11. package/assets/esri/core/workers/chunks/6cc03ef97d7731153b9a.js +1 -0
  12. package/assets/esri/core/workers/chunks/75b90fb05e4a2d32b7bb.js +1 -0
  13. package/assets/esri/core/workers/chunks/7eae9053065d3d38e54e.js +1 -0
  14. package/assets/esri/core/workers/chunks/87e9f7e85221bc7e6709.js +1 -0
  15. package/assets/esri/core/workers/chunks/909ee7d2a0eec773037a.js +1 -0
  16. package/assets/esri/core/workers/chunks/a0eb882a5a81d25b9153.js +1 -0
  17. package/assets/esri/core/workers/chunks/a74182ff402c3a808323.js +1 -0
  18. package/assets/esri/core/workers/chunks/{6fd0d9431b141f2a3252.js → cefb70d633c220cbedf9.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{69c9a12c97ead8963817.js → d1304d414b1fa725168a.js} +1 -1
  20. package/assets/esri/core/workers/chunks/d453627894e6e5b02023.js +1 -0
  21. package/assets/esri/core/workers/chunks/e4380706b629729f2212.js +1 -0
  22. package/assets/esri/core/workers/chunks/{5d9c92c4e60a4696fdad.js → e488e5c62cb375c87a39.js} +1 -1
  23. package/assets/esri/core/workers/chunks/ea1877ce00da3b585a30.js +1 -0
  24. package/assets/esri/core/workers/chunks/ec77222776f755dc372c.js +1 -0
  25. package/assets/esri/core/workers/chunks/f5867d8ba73c67ac27d2.js +1 -0
  26. package/assets/esri/core/workers/chunks/{b7ed5f130661e9ca00b9.js → f5a058a0ce006bce2a2a.js} +1 -1
  27. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  28. package/chunks/Fog.glsl.js +5 -5
  29. package/chunks/GlowBlur.glsl.js +3 -3
  30. package/chunks/GlowComposite.glsl.js +1 -36
  31. package/chunks/bundle.js +1 -1
  32. package/chunks/portal.js +2 -0
  33. package/config.js +1 -1
  34. package/geometry/support/HalfFloatArray.js +1 -1
  35. package/geometry/support/buffer/BufferView.js +1 -1
  36. package/kernel.js +1 -1
  37. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  38. package/layers/support/AnnotationFeatureSublayer.js +1 -1
  39. package/libs/parquet/parquet.js +1 -1
  40. package/package.json +3 -3
  41. package/smartMapping/symbology/types.d.ts +1 -1
  42. package/support/revision.js +1 -1
  43. package/views/2d/engine/Stage.js +1 -1
  44. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  45. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  46. package/views/2d/engine/webgl/Painter.js +1 -1
  47. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  48. package/views/2d/engine/webgl/shaderGraph/techniques/Technique.js +1 -1
  49. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  50. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  51. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  52. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
  53. package/views/2d/layers/AnnotationFeatureLayerView2D.js +1 -1
  54. package/views/2d/layers/features/FeatureContainer.js +1 -1
  55. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  56. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  57. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  58. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  59. package/views/3d/environment/CloudyWeather.js +1 -1
  60. package/views/3d/environment/SunnyWeather.js +1 -1
  61. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  62. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  63. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  64. package/views/3d/terrain/TileCompositor.js +1 -1
  65. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  66. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +11 -11
  67. package/views/3d/webgl-engine/effects/clouds/CloudsParameters.js +1 -1
  68. package/views/3d/webgl-engine/effects/clouds/CloudsPresets.js +1 -1
  69. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  70. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  71. package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
  72. package/views/3d/webgl-engine/effects/glow/GlowComposite.glsl.js +1 -1
  73. package/views/3d/webgl-engine/effects/glow/GlowCompositeTechnique.js +1 -1
  74. package/views/3d/webgl-engine/effects/glow/blurEmission.glsl.js +38 -0
  75. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +1 -1
  76. package/views/3d/webgl-engine/lib/AttributeArray.js +1 -1
  77. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  78. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  79. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  80. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  81. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  82. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  83. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFieldCreation.js +1 -1
  84. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  85. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  86. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  87. package/views/popupAdapter.js +1 -1
  88. package/widgets/Directions.d.ts +1 -1
  89. package/widgets/OrientedImageryViewer/components/VideoEnhancementTools.js +1 -1
  90. package/widgets/OrientedImageryViewer.js +1 -1
  91. package/widgets/support/FilterBuilder.js +1 -1
  92. package/assets/esri/core/workers/chunks/07613ecf13c38ad58b79.js +0 -1
  93. package/assets/esri/core/workers/chunks/0846855843f85661e974.js +0 -1
  94. package/assets/esri/core/workers/chunks/30376f00cda1165a2504.js +0 -1
  95. package/assets/esri/core/workers/chunks/423c2692df662b3dddd4.js +0 -1
  96. package/assets/esri/core/workers/chunks/46f8c7ae7fb356c3410d.js +0 -1
  97. package/assets/esri/core/workers/chunks/48e2d0bfb62e1f4f2ad9.js +0 -1
  98. package/assets/esri/core/workers/chunks/4bf7c0c874d30b1c0760.js +0 -1
  99. package/assets/esri/core/workers/chunks/7253a439c98200e3e748.js +0 -1
  100. package/assets/esri/core/workers/chunks/848a9f0e5373bbf289a5.js +0 -1
  101. package/assets/esri/core/workers/chunks/ad404195107eadf91e16.js +0 -1
  102. package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +0 -1
  103. package/assets/esri/core/workers/chunks/bf11319138facf44752c.js +0 -1
  104. package/assets/esri/core/workers/chunks/ec69dd546c312ba97110.js +0 -1
  105. package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +0 -1
  106. package/assets/esri/core/workers/chunks/f4d351b4cd9d1aa10632.js +0 -1
  107. package/geometry/support/float16.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,resolveBreakpoints as a,flattenAccessChain as i,collectDeclaredLocalNames as s}from"./compilerUtils.js";import{getNestedOptionalValue as c,getGeometryKeys as l,tryGetMember as u,getMember as f,getGeometryMember as p}from"./containerUtils.js";import{wrapDebugValue as w,renderFunctionDebugName as d}from"./debug.js";import m from"./Dictionary.js";import{ArcadeExecutionError as h,ensureLocatableError as g}from"./executionError.js";import{Feature as b}from"./Feature.js";import{NativeFunction as y,ScopeMarshalledFunction as v,ArcadeFunction as x,wrapModuleScopedResponse as S}from"./FunctionWrapper.js";import{R as k,I as F,u as I,i as j,C as O,D as N,x as M,E as R,v as C,w as E,y as A,z as D,A as B,h as U,g as _,B as G,k as z,d as L}from"../chunks/languageUtils.js";import{addFunctionDeclaration as Z}from"./treeAnalysis.js";import{A as P}from"../chunks/aiServices.js";import{A as q}from"../chunks/array.js";import{registerFunctions as W}from"./functions/date.js";import{registerFunctions as T}from"./functions/feature.js";import{registerFunctions as V}from"./functions/geomasync.js";import{registerFunctions as K}from"./functions/geometry.js";import{registerFunctions as $}from"./functions/maths.js";import{registerFunctions as Y}from"./functions/stats.js";import{registerFunctions as H}from"./functions/string.js";import{registerFunctions as J}from"./functions/track.js";import Q from"../core/Logger.js";import X from"../geometry/SpatialReference.js";import{isGraphic as ee}from"../support/graphicInstanceUtils.js";import{isBoolean as te,isString as ne,isArray as re,isNumber as oe}from"../support/guards.js";const ae=()=>Q.getLogger("esri.arcade.arcadeAsyncRuntime"),ie=Symbol("debugInfo"),se=Symbol("uninitialized");function ce(e){if(e===se)throw new h("InvalidIdentifier",null)}function le(e){return ce(e),e}function ue(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new h("InvalidIdentifier",n)}function fe(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return ce(e),e.value}const a=t.globalScope[o];if(void 0!==a)return ce(a),a.value;throw new h(r,n)}const pe=function(){};async function we(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await Se(e,t.arguments[r]));return n}async function de(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await we(e,t))}pe.prototype=Object.freeze(Object.create(null));class me extends x{constructor(e,t,n,r,o){super(),this.definition=e,this.context=t,this._params=n,this._locals=r,this._debugInfo=o}get debugName(){return this.definition.id.name}createFunction(e){return(...t)=>{const n=new pe;n[ie]=this._debugInfo;const r={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,timeZone:this.context.timeZone??null,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,services:this.context.services,abortSignal:this.context.abortSignal,localScope:n,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,contextScopeDebugInfo:this.context.contextScopeDebugInfo,track:this.context.track};if(r.depthCounter.depth>64)throw new h("MaximumCallDepth",null);return he(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return be(e,t,(n,r,o)=>{const a=new pe;a[ie]=this._debugInfo;const i={spatialReference:e.spatialReference,services:e.services,console:e.console,libraryResolver:e.libraryResolver,exports:e.exports,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:a,abortSignal:e.abortSignal,globalScope:e.globalScope,contextScopeDebugInfo:e.contextScopeDebugInfo,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(i.depthCounter.depth>64)throw new h("MaximumCallDepth",t);return he(i,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const s=new pe;s[ie]=this._debugInfo;const c={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,contextScopeDebugInfo:n.contextScopeDebugInfo,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:s,track:e.track};return i=i.map(t=>!j(t)||t instanceof v?t:S(t,e,r)),S(await he(c,this.definition.body,this._params,this._locals,i,t),n,r)})}}async function he(e,t,n,r,o,a){if(n.length!==o.length)throw new h("WrongNumberOfParameters",a);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=se}const i=await ke(e,t);if(i instanceof k)return i.value;if(i===O)throw new h("UnexpectedToken",a);if(i===N)throw new h("UnexpectedToken",a);return i instanceof F?i.value:i}class ge extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new h("ModuleExportNotFound",null);const r=this.moduleGlobalContext.globalScope[n];if(ce(r),j(r.value)&&!(r.value instanceof v)){const e=new v;return e.fn=r.value,e.parameterEvaluator=de,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(j(n))throw new h("AssignModuleFunction",null);const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new h("ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static async load(e,n){const{globals:a,exports:i}=o(n),s=new wt;null!=e.contextScopeDebugInfo&&(s[ie]={declaredNames:a});for(const t of a.keys())t in s||(s[t]=se);const c=e.spatialReference??X.WebMercator,l={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??mt,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:c,track:null,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:i,localScope:null,globalScope:s,contextScopeDebugInfo:null!=e.contextScopeDebugInfo?{declaredNames:new Map}:null};return await ze(l,n),new ge(l)}}async function be(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await we(e,t))}function ye(e,t,n){const r=new Map;if(t)for(const[o,a]of t.declaredNames){const t=e[o];r.set(a,null==t||t===se?null:w(t.value,n))}else for(const o of Object.getOwnPropertyNames(e)){const t=e[o];r.set(o,t===se?null:w(t.value,n))}return r}function ve(e){return e instanceof me?`ƒ ${e.debugName}(${e.definition.params.map(e=>e.name).join(", ")})`:d(e)}function xe(e,t){const n=e.services?.debugger;if(null==n)return;const r={renderFunction:ve,defaultTimeZone:e.timeZone??"system"};return n.pause(t,{profile:null!=e.contextScopeDebugInfo?ye(e.globalScope,e.contextScopeDebugInfo,r):new Map,globals:ye(e.globalScope,e.globalScope[ie],r),locals:null==e.localScope?null:ye(e.localScope,e.localScope[ie],r)})}async function Se(e,t){t.breakpoint&&await xe(e,t.breakpoint);try{switch(t.type){case"UpdateExpression":return await De(e,t);case"AssignmentExpression":return await Ue(e,t);case"TemplateLiteral":return await at(e,t);case"Identifier":return nt(e,t);case"MemberExpression":return await Ke(e,t);case"Literal":return t.value;case"CallExpression":return await rt(e,t);case"UnaryExpression":return await Qe(e,t);case"BinaryExpression":return await et(e,t);case"LogicalExpression":return await tt(e,t);case"ArrayExpression":return await Xe(e,t);case"ObjectExpression":return await Fe(e,t);case"MemberAccessChainExpression":return await Je(e,t);case"SafeMemberExpression":throw ae().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h("Unrecognized",t);default:throw new h("Unrecognized",t)}}catch(n){throw g(n,t)}}async function ke(e,t){t.breakpoint&&await xe(e,t.breakpoint);try{switch(t.type){case"ImportDeclaration":return await qe(e,t);case"ExportNamedDeclaration":return await We(e,t);case"VariableDeclaration":return await Te(e,t);case"BlockStatement":return await ze(e,t);case"FunctionDeclaration":return await Pe(e,t);case"ReturnStatement":return await Ze(e,t);case"IfStatement":return await Ge(e,t);case"ExpressionStatement":return await _e(e,t);case"ForStatement":return await je(e,t);case"WhileStatement":return await Ie(e,t);case"ForInStatement":return await Ee(e,t);case"ForOfStatement":return await Ae(e,t);case"BreakStatement":return O;case"EmptyStatement":return M;case"ContinueStatement":return N;default:throw new h("Unrecognized",t)}}catch(n){throw g(n,t)}}async function Fe(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await Se(e,r.value),a="Identifier"===r.key.type?r.key.name:await Se(e,r.key);n[i]={key:a,value:o}}const r=Object.create(null),o=new Map;for(let i=0;i<n.length;i++){const e=n[i];if(j(e.value))throw new h("NoFunctionInDictionary",t);if(!1===ne(e.key))throw new h("KeyMustBeString",t);let a=e.key.toString();const s=a.toLowerCase();o.has(s)?a=o.get(s):o.set(s,a),e.value===M?r[a]=null:r[a]=e.value}const a=new m(r);return a.immutable=!1,a}async function Ie(e,t){let n=await Se(e,t.test);if(!1===n)return M;if(!0!==n)throw new h("BooleanConditionRequired",t);for(;!0===n;){const r=await ke(e,t.body);if(r===O)break;if(r instanceof k)return r;if(n=await Se(e,t.test),!0!==n&&!1!==n)throw new h("BooleanConditionRequired",t)}return M}async function je(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await ke(e,t.init):await Se(e,t.init));;){if(null!==t.test){const n=await Se(e,t.test);if(!0===e.abortSignal?.aborted)throw new h("Cancelled",t);if(!1===n)break;if(!0!==n)throw new h("BooleanConditionRequired",t)}const n=await ke(e,t.body);if(n===O)break;if(n instanceof k)return n;null!==t.update&&await Se(e,t.update)}return M}catch(n){throw n}}async function Oe(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new h("OutOfBounds",t);r.scope[r.id]={value:n[i]}}else r.scope[r.id]={value:i};const a=await ke(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Ne(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.scope[r.id]="k"===o?{value:n.get(i)}:{value:i};const a=await ke(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Me(e,t,n,r){e:for await(const o of await n.queryAll(e.abortSignal))for(const a of o){r.scope[r.id]={value:b.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone)};const o=await ke(e,t.body);if(o===O)break e;if(o instanceof k)return o}return M}async function Re(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await ke(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ce(e,t,n,r){for(const o of l(n)){const a=p(n,o);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await ke(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ee(e,t){const n=await Se(e,t.right);"VariableDeclaration"===t.left.type&&await ke(e,t.left);const r=ue(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return re(n)||ne(n)?await Oe(e,t,n,r):_(n)?await Ne(e,t,n,r):n instanceof m||G(n)?await Oe(e,t,n.keys(),r,"k"):z(n)?await Me(e,t,n,r):L(n)?await Oe(e,t,l(n),r,"k"):M}async function Ae(e,t){const n=await Se(e,t.right);"VariableDeclaration"===t.left.type&&await ke(e,t.left);const r=ue(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return re(n)||ne(n)?await Oe(e,t,n,r,"k"):_(n)?await Ne(e,t,n,r,"k"):n instanceof m||G(n)?await Re(e,t,n,r):z(n)?await Me(e,t,n,r):L(n)?await Ce(e,t,n,r):M}async function De(e,t){const n=t.argument;if("CallExpression"===n.type)throw new h("NeverReach",t);if("MemberExpression"===n.type){const r=await Se(e,n.object);let o,a;if(!0===n.computed)o=await Se(e,n.property);else{if("Identifier"!==n.property.type)throw new h("Unrecognized",t);o=n.property.name}if(re(r)){if(!oe(o))throw new h("ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new h("OutOfBounds",t);a=C(r[o]),r[o]="++"===t.operator?a+1:a-1}else if(r instanceof m){if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h("FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}else if(r instanceof ge){if(!1===ne(o))throw new h("ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h("ModuleExportNotFound",t);a=C(r.global(o)),r.setGlobal(o,"++"===t.operator?a+1:a-1)}else{if(!U(r))throw _(r)?new h("Immutable",t):new h("InvalidParameter",t);if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h("FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}return!1===t.prefix?a:"++"===t.operator?a+1:a-1}const r=ue(e,n),o=C(le(r.var).value),a="++"===t.operator?o+1:o-1;return r.scope[r.id]={value:a},!1===t.prefix?o:"++"===t.operator?o+1:o-1}function Be(e,t,n,r){switch(t){case"=":return e===M?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return ne(n)||ne(e)?E(n)+E(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new h("UnsupportedOperator",r)}}async function Ue(e,t){const n=t.left;if("MemberExpression"===n.type){const r=await Se(e,n.object);let o;if(!0===n.computed)o=await Se(e,n.property);else{if("Identifier"!==n.property.type)throw new h("InvalidIdentifier",t);o=n.property.name}const a=await Se(e,t.right);if(re(r)){if(!oe(o))throw new h("ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>r.length)throw new h("OutOfBounds",t);if(o===r.length){if("="!==t.operator)throw new h("OutOfBounds",t);r[o]=Be(a,t.operator,r[o],t)}else r[o]=Be(a,t.operator,r[o],t)}else if(r instanceof m){if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Be(a,t.operator,r.field(o),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:o});r.setField(o,Be(a,t.operator,null,t))}}else if(r instanceof ge){if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h("ModuleExportNotFound",t);r.setGlobal(o,Be(a,t.operator,r.global(o),t))}else{if(!U(r))throw _(r)?new h("Immutable",t):new h("InvalidParameter",t);if(!1===ne(o))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Be(a,t.operator,r.field(o),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:o});r.setField(o,Be(a,t.operator,null,t))}}return M}const r=ue(e,n),o=await Se(e,t.right);return r.scope[r.id]={value:Be(o,t.operator,"="!==t.operator?le(r.var).value:null,t)},M}async function _e(e,t){const n=await Se(e,t.expression);return n===M?M:new F(n)}async function Ge(e,t){const n=await Se(e,t.test);if(!0===n)return ke(e,t.consequent);if(!1===n)return null!==t.alternate?ke(e,t.alternate):M;throw new h("BooleanConditionRequired",t)}async function ze(e,t){return Le(e,t,0)}async function Le(e,t,n){if(n>=t.body.length)return M;const r=await ke(e,t.body[n]);return r instanceof k||r===O||r===N||n===t.body.length-1?r:Le(e,t,n+1)}async function Ze(e,t){if(null===t.argument)return new k(M);const n=await Se(e,t.argument);return new k(n)}async function Pe(t,n){if(null!=t.localScope)throw ae().error("Function declarations are only valid in global scope."),new h("NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw ae().error(`Function "${r}" not declared.`),new h("NeverReach",n);const o=s(n),a=n.params.map(t=>e(t)),i=Array.from(o.keys()).filter(e=>!a.includes(e));let c=null;return null!=t.contextScopeDebugInfo&&(c={declaredNames:new Map([...n.params.map(t=>[e(t),t.name]),...o])}),t.globalScope[r]={value:new me(n,t,a,i,c)},M}async function qe(e,t){const n=ue(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw ae().error("Internal error: module loader not initialized"),new h("NeverReach",t);const o=r.loadLibrary(n.id);let a;return r._moduleSingletons?.has(o.uri)?a=r._moduleSingletons.get(o.uri):(a=await ge.load(e,o.syntax),r._moduleSingletons?.set(o.uri,a)),n.scope[n.id]={value:a},M}async function We(e,t){return await ke(e,t.declaration),M}async function Te(e,t){for(const n of t.declarations)await Ve(e,n);return M}async function Ve(e,t){t.breakpoint&&await xe(e,t.breakpoint);let n=null;n=null===t.init?null:await Se(e,t.init),n===M&&(n=null);const r=ue(e,t.id);r.scope[r.id]={value:n}}async function Ke(e,t){return $e(e,await Se(e,t.object),t)}async function $e(e,t,n){const r=n.computed?await Se(e,n.property):n.property.name;return f(t,r)}async function Ye(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=await $e(e,t,r);break;case"CallExpression":t=await ot(e,t,r);break;default:throw new h("Unrecognized",r)}return t}async function He(e,t,n){const r=n.computed?await Se(e,n.property):n.property.name;return u(t,r)}async function Je(e,t){const n=i(t);let r=await Se(e,n.root);for(const o of n.sections){const t=await He(e,r,o.checked);if(null==t)return null;r=await Ye(e,t,o.unchecked)}return r}async function Qe(e,t){const n=await Se(e,t.argument);if(te(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h("UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h("UnsupportUnaryOperator",t)}async function Xe(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await Se(e,t.elements[r]));for(let r=0;r<n.length;r++){if(j(n[r]))throw new h("NoFunctionInArray",t);n[r]===M&&(n[r]=null)}return n}async function et(e,t){const n=await Se(e,t.left),r=await Se(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return B(C(n),C(r),t.operator);case"==":return D(n,r);case"!=":return!D(n,r);case"<":case">":case"<=":case">=":return A(n,r,t.operator);case"+":return ne(n)||ne(r)?E(n)+E(r):C(n)+C(r);case"-":return C(n)-C(r);case"*":return C(n)*C(r);case"/":return C(n)/C(r);case"%":return C(n)%C(r);default:throw t.operator,new h("UnsupportedOperator",t)}}async function tt(e,t){const n=await Se(e,t.left);if(!te(n))throw new h("LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await Se(e,t.right);if(te(r))return r;throw new h("LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await Se(e,t.right);if(te(r))return r;throw new h("LogicExpressionOrAnd",t)}default:throw t.operator,new h("LogicExpressionOrAnd",t)}}function nt(e,t){return fe(e,t)}async function rt(e,t){let n;if("Identifier"===t.callee.type){const r=t.callee;r.breakpoint&&await xe(e,r.breakpoint),n=fe(e,t.callee,"FunctionNotFound")}else n=await Se(e,t.callee);return ot(e,n,t)}async function ot(e,t,n){if(j(t))return t.call(e,n);throw new h("CallNonFunction",n)}async function at(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){if(t.expressions[r]){const o=await Se(e,t.expressions[r]);if(j(o))throw new h("NoFunctionInTemplateLiteral",t);n+=E(o)}r++}return n}async function it(e,t){R(null===t.arguments?[]:t.arguments,3,3,t);const n=await Se(e,t.arguments[0]);if(!1===te(n))throw new h("BooleanConditionRequired",t);return Se(e,n?t.arguments[1]:t.arguments[2])}async function st(e,t){R(null===t.arguments?[]:t.arguments,2,3,t);const n=await Se(e,t.arguments[0]);if(3===t.arguments.length){const r=await Se(e,t.arguments[1]),o=c(n,r);return null!=o&&""!==o?o:Se(e,t.arguments[2])}return null==n||""===n?Se(e,t.arguments[1]):n}async function ct(e,t){if(t.arguments.length<2)throw new h("WrongNumberOfParameters",t);if(2===t.arguments.length)return Se(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new h("WrongNumberOfParameters",t);return lt(e,t,1,await Se(e,t.arguments[0]))}async function lt(e,t,n,r){const o=await Se(e,t.arguments[n]);if(D(o,r))return Se(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?Se(e,t.arguments[n]):2===a?null:3===a?Se(e,t.arguments[n+2]):lt(e,t,n+2,r)}async function ut(e,t){if(t.arguments.length<3)throw new h("WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new h("WrongNumberOfParameters",t);const n=await Se(e,t.arguments[0]);if(!1===te(n))throw new h("BooleanConditionRequired",t.arguments[0]);return ft(e,t,0,n)}async function ft(e,t,n,r){if(!0===r)return Se(e,t.arguments[n+1]);if(3===t.arguments.length-n)return Se(e,t.arguments[n+2]);const o=await Se(e,t.arguments[n+2]);if(!1===te(o))throw new h("ModuleExportNotFound",t.arguments[n+2]);return ft(e,t,n+2,o)}function pt(){const e=Object.create(null);W(e,de),H(e,de),T(e,de,nt),$(e,de),K(e,de),Y(e,de),J(e,de),V({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:de,standardFunctionAsync:be}),e.iif=it,e.defaultvalue=st,e.decode=ct,e.when=ut;const t=function(){this.textformatting={value:m.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.nan=Object.freeze({value:Number.NaN}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new y(r,n)});return t}const wt=pt();function dt(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:de,standardFunctionAsync:be,evaluateIdentifier:nt};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))wt.prototype[n]=Object.freeze({value:new y(r,n)});for(let n=0;n<t.signatures.length;n++)Z(t.signatures[n],"async")}function mt(e){console.log(e)}function ht(n,i){const s=new Set(Object.keys(i?.vars||{}).map(t=>e(t))),c=new Set(Object.keys(i?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:u}=o(n);let f=null;if(i?.breakpoints){for(const[e,t]of a(i.breakpoints,n))e.breakpoint=t;f={declaredNames:new Map(Object.keys(i?.vars||{}).map(t=>[e(t),t]).filter(([e])=>!l.has(e)))}}return async e=>{const o=e.spatialReference??X.WebMercator;let a=null;n.usesModules&&(a=new r(new Map,n.loadedModules));const i=new wt;null!=f&&(i[ie]={declaredNames:l});for(const t of c)null!=e.customfunctions&&t in e.customfunctions?i[t]={value:new y(e.customfunctions[t],t)}:i[t]=se;for(const t of s){if(null==e.vars||!(t in e.vars)){t in i||(i[t]=se);continue}const n=e.vars[t]??null;ee(n)?i[t]={value:b.createFromGraphic(n,e.timeZone??null)}:i[t]={value:n}}for(const t of l.keys())t in i||(i[t]=se);const p={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??mt,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:a,exports:u,localScope:null,globalScope:i,contextScopeDebugInfo:f},w=await ze(p,n);if(w instanceof k||w instanceof F){const e=w.value;if(I(e))return null;if(j(e))throw new h("IllegalResult",null);return e}if(I(w))return null;if(w===O)throw new h("IllegalResult",null);if(w===N)throw new h("IllegalResult",null);throw new h("NeverReach",null)}}function gt(e,t){return ht(e,t)(t)}dt([q]),dt([P]);export{gt as executeScript,dt as extend,ht as prepareScript};
2
+ import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,resolveBreakpoints as a,flattenAccessChain as i,collectDeclaredLocalNames as s}from"./compilerUtils.js";import{getNestedOptionalValue as c,getGeometryKeys as l,tryGetMember as u,getMember as f,getGeometryMember as p}from"./containerUtils.js";import{wrapDebugValue as w,renderFunctionDebugName as d}from"./debug.js";import m from"./Dictionary.js";import{ArcadeExecutionError as h,ensureLocatableError as g}from"./executionError.js";import{Feature as b}from"./Feature.js";import{NativeFunction as y,ScopeMarshalledFunction as v,ArcadeFunction as x,wrapModuleScopedResponse as S}from"./FunctionWrapper.js";import{R as k,I as F,u as I,i as j,C as O,D as N,x as M,E as R,v as C,w as E,y as A,z as D,A as B,h as U,g as _,B as G,k as z,d as L}from"../chunks/languageUtils.js";import{addFunctionDeclaration as Z}from"./treeAnalysis.js";import{A as P}from"../chunks/aiServices.js";import{A as q}from"../chunks/array.js";import{registerFunctions as W}from"./functions/date.js";import{registerFunctions as T}from"./functions/feature.js";import{registerFunctions as V}from"./functions/geomasync.js";import{registerFunctions as K}from"./functions/geometry.js";import{registerFunctions as $}from"./functions/maths.js";import{P as Y}from"../chunks/portal.js";import{registerFunctions as H}from"./functions/stats.js";import{registerFunctions as J}from"./functions/string.js";import{registerFunctions as Q}from"./functions/track.js";import X from"../core/Logger.js";import ee from"../geometry/SpatialReference.js";import{isGraphic as te}from"../support/graphicInstanceUtils.js";import{isBoolean as ne,isString as re,isArray as oe,isNumber as ae}from"../support/guards.js";const ie=()=>X.getLogger("esri.arcade.arcadeAsyncRuntime"),se=Symbol("debugInfo"),ce=Symbol("uninitialized");function le(e){if(e===ce)throw new h("InvalidIdentifier",null)}function ue(e){return le(e),e}function fe(t,n){const r=e(n);if(null!==t.localScope){const e=t.localScope[r];if(void 0!==e)return{scope:t.localScope,id:r,var:e}}const o=t.globalScope[r];if(void 0!==o)return{scope:t.globalScope,id:r,var:o};throw new h("InvalidIdentifier",n)}function pe(t,n,r="InvalidIdentifier"){const o=e(n);if(null!==t.localScope){const e=t.localScope[o];if(void 0!==e)return le(e),e.value}const a=t.globalScope[o];if(void 0!==a)return le(a),a.value;throw new h(r,n)}const we=function(){};async function de(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(await ke(e,t.arguments[r]));return n}async function me(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await de(e,t))}we.prototype=Object.freeze(Object.create(null));class he extends x{constructor(e,t,n,r,o){super(),this.definition=e,this.context=t,this._params=n,this._locals=r,this._debugInfo=o}get debugName(){return this.definition.id.name}createFunction(e){return(...t)=>{const n=new we;n[se]=this._debugInfo;const r={spatialReference:this.context.spatialReference,console:this.context.console,lrucache:this.context.lrucache,timeZone:this.context.timeZone??null,exports:this.context.exports,libraryResolver:this.context.libraryResolver,interceptor:this.context.interceptor,services:this.context.services,abortSignal:this.context.abortSignal,localScope:n,depthCounter:{depth:e.depthCounter.depth+1},globalScope:this.context.globalScope,contextScopeDebugInfo:this.context.contextScopeDebugInfo,track:this.context.track};if(r.depthCounter.depth>64)throw new h("MaximumCallDepth",null);return ge(r,this.definition.body,this._params,this._locals,t,null)}}call(e,t){return ye(e,t,(n,r,o)=>{const a=new we;a[se]=this._debugInfo;const i={spatialReference:e.spatialReference,services:e.services,console:e.console,libraryResolver:e.libraryResolver,exports:e.exports,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:a,abortSignal:e.abortSignal,globalScope:e.globalScope,contextScopeDebugInfo:e.contextScopeDebugInfo,depthCounter:{depth:e.depthCounter.depth+1},track:e.track};if(i.depthCounter.depth>64)throw new h("MaximumCallDepth",t);return ge(i,this.definition.body,this._params,this._locals,o,t)})}marshalledCall(e,t,n,r){return r(e,t,async(o,a,i)=>{const s=new we;s[se]=this._debugInfo;const c={spatialReference:e.spatialReference,services:e.services,globalScope:n.globalScope,contextScopeDebugInfo:n.contextScopeDebugInfo,depthCounter:{depth:e.depthCounter.depth+1},libraryResolver:e.libraryResolver,exports:e.exports,console:e.console,abortSignal:e.abortSignal,lrucache:e.lrucache,timeZone:e.timeZone??null,interceptor:e.interceptor,localScope:s,track:e.track};return i=i.map(t=>!j(t)||t instanceof v?t:S(t,e,r)),S(await ge(c,this.definition.body,this._params,this._locals,i,t),n,r)})}}async function ge(e,t,n,r,o,a){if(n.length!==o.length)throw new h("WrongNumberOfParameters",a);if(null!=e.localScope){for(let t=0;t<n.length;t++)e.localScope[n[t]]={value:o[t]};for(const t of r)e.localScope[t]=ce}const i=await Fe(e,t);if(i instanceof k)return i.value;if(i===O)throw new h("UnexpectedToken",a);if(i===N)throw new h("UnexpectedToken",a);return i instanceof F?i.value:i}class be extends n{constructor(e){super(),this.moduleGlobalContext=e}global(t){const n=e(t);if(!this.moduleGlobalContext.exports.has(n))throw new h("ModuleExportNotFound",null);const r=this.moduleGlobalContext.globalScope[n];if(le(r),j(r.value)&&!(r.value instanceof v)){const e=new v;return e.fn=r.value,e.parameterEvaluator=me,e.context=this.moduleGlobalContext,this.moduleGlobalContext.globalScope[n]={value:e},e}return r.value}setGlobal(t,n){if(j(n))throw new h("AssignModuleFunction",null);const r=e(t);if(!this.moduleGlobalContext.exports.has(r))throw new h("ModuleExportNotFound",null);this.moduleGlobalContext.globalScope[r]={value:n}}hasGlobal(t){return this.moduleGlobalContext.exports.has(e(t))}static async load(e,n){const{globals:a,exports:i}=o(n),s=new dt;null!=e.contextScopeDebugInfo&&(s[se]={declaredNames:a});for(const t of a.keys())t in s||(s[t]=ce);const c=e.spatialReference??ee.WebMercator,l={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ht,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:c,track:null,depthCounter:{depth:1},libraryResolver:new r(e.libraryResolver._moduleSingletons,n.loadedModules),exports:i,localScope:null,globalScope:s,contextScopeDebugInfo:null!=e.contextScopeDebugInfo?{declaredNames:new Map}:null};return await Le(l,n),new be(l)}}async function ye(e,t,n){if(!0===t.preparsed)return n(e,null,t.arguments);return n(e,t,await de(e,t))}function ve(e,t,n){const r=new Map;if(t)for(const[o,a]of t.declaredNames){const t=e[o];r.set(a,null==t||t===ce?null:w(t.value,n))}else for(const o of Object.getOwnPropertyNames(e)){const t=e[o];r.set(o,t===ce?null:w(t.value,n))}return r}function xe(e){return e instanceof he?`ƒ ${e.debugName}(${e.definition.params.map(e=>e.name).join(", ")})`:d(e)}function Se(e,t){const n=e.services?.debugger;if(null==n)return;const r={renderFunction:xe,defaultTimeZone:e.timeZone??"system"};return n.pause(t,{profile:null!=e.contextScopeDebugInfo?ve(e.globalScope,e.contextScopeDebugInfo,r):new Map,globals:ve(e.globalScope,e.globalScope[se],r),locals:null==e.localScope?null:ve(e.localScope,e.localScope[se],r)})}async function ke(e,t){t.breakpoint&&await Se(e,t.breakpoint);try{switch(t.type){case"UpdateExpression":return await Be(e,t);case"AssignmentExpression":return await _e(e,t);case"TemplateLiteral":return await it(e,t);case"Identifier":return rt(e,t);case"MemberExpression":return await $e(e,t);case"Literal":return t.value;case"CallExpression":return await ot(e,t);case"UnaryExpression":return await Xe(e,t);case"BinaryExpression":return await tt(e,t);case"LogicalExpression":return await nt(e,t);case"ArrayExpression":return await et(e,t);case"ObjectExpression":return await Ie(e,t);case"MemberAccessChainExpression":return await Qe(e,t);case"SafeMemberExpression":throw ie().error("SafeMemberExpression outside of MemberAccessChainExpression"),new h("Unrecognized",t);default:throw new h("Unrecognized",t)}}catch(n){throw g(n,t)}}async function Fe(e,t){t.breakpoint&&await Se(e,t.breakpoint);try{switch(t.type){case"ImportDeclaration":return await We(e,t);case"ExportNamedDeclaration":return await Te(e,t);case"VariableDeclaration":return await Ve(e,t);case"BlockStatement":return await Le(e,t);case"FunctionDeclaration":return await qe(e,t);case"ReturnStatement":return await Pe(e,t);case"IfStatement":return await ze(e,t);case"ExpressionStatement":return await Ge(e,t);case"ForStatement":return await Oe(e,t);case"WhileStatement":return await je(e,t);case"ForInStatement":return await Ae(e,t);case"ForOfStatement":return await De(e,t);case"BreakStatement":return O;case"EmptyStatement":return M;case"ContinueStatement":return N;default:throw new h("Unrecognized",t)}}catch(n){throw g(n,t)}}async function Ie(e,t){const n=[];for(let i=0;i<t.properties.length;i++){const r=t.properties[i],o=await ke(e,r.value),a="Identifier"===r.key.type?r.key.name:await ke(e,r.key);n[i]={key:a,value:o}}const r=Object.create(null),o=new Map;for(let i=0;i<n.length;i++){const e=n[i];if(j(e.value))throw new h("NoFunctionInDictionary",t);if(!1===re(e.key))throw new h("KeyMustBeString",t);let a=e.key.toString();const s=a.toLowerCase();o.has(s)?a=o.get(s):o.set(s,a),e.value===M?r[a]=null:r[a]=e.value}const a=new m(r);return a.immutable=!1,a}async function je(e,t){let n=await ke(e,t.test);if(!1===n)return M;if(!0!==n)throw new h("BooleanConditionRequired",t);for(;!0===n;){const r=await Fe(e,t.body);if(r===O)break;if(r instanceof k)return r;if(n=await ke(e,t.test),!0!==n&&!1!==n)throw new h("BooleanConditionRequired",t)}return M}async function Oe(e,t){try{for(null!==t.init&&("VariableDeclaration"===t.init.type?await Fe(e,t.init):await ke(e,t.init));;){if(null!==t.test){const n=await ke(e,t.test);if(!0===e.abortSignal?.aborted)throw new h("Cancelled",t);if(!1===n)break;if(!0!==n)throw new h("BooleanConditionRequired",t)}const n=await Fe(e,t.body);if(n===O)break;if(n instanceof k)return n;null!==t.update&&await ke(e,t.update)}return M}catch(n){throw n}}async function Ne(e,t,n,r,o="i"){const a=n.length;for(let i=0;i<a;i++){if("k"===o){if(i>=n.length)throw new h("OutOfBounds",t);r.scope[r.id]={value:n[i]}}else r.scope[r.id]={value:i};const a=await Fe(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Me(e,t,n,r,o="i"){const a=n.length();for(let i=0;i<a;i++){r.scope[r.id]="k"===o?{value:n.get(i)}:{value:i};const a=await Fe(e,t.body);if(a===O)break;if(a instanceof k)return a}return M}async function Re(e,t,n,r){e:for await(const o of await n.queryAll(e.abortSignal))for(const a of o){r.scope[r.id]={value:b.createFromGraphicLikeObject(a.geometry,a.attributes,n,e.timeZone)};const o=await Fe(e,t.body);if(o===O)break e;if(o instanceof k)return o}return M}async function Ce(e,t,n,r){for(const o of n.keys()){const a=n.field(o);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await Fe(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ee(e,t,n,r){for(const o of l(n)){const a=p(n,o);r.scope[r.id]={value:m.containerEntry(o,a)};const i=await Fe(e,t.body);if(i===O)break;if(i instanceof k)return i}return M}async function Ae(e,t){const n=await ke(e,t.right);"VariableDeclaration"===t.left.type&&await Fe(e,t.left);const r=fe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return oe(n)||re(n)?await Ne(e,t,n,r):_(n)?await Me(e,t,n,r):n instanceof m||G(n)?await Ne(e,t,n.keys(),r,"k"):z(n)?await Re(e,t,n,r):L(n)?await Ne(e,t,l(n),r,"k"):M}async function De(e,t){const n=await ke(e,t.right);"VariableDeclaration"===t.left.type&&await Fe(e,t.left);const r=fe(e,"VariableDeclaration"===t.left.type?t.left.declarations[0].id:t.left);return oe(n)||re(n)?await Ne(e,t,n,r,"k"):_(n)?await Me(e,t,n,r,"k"):n instanceof m||G(n)?await Ce(e,t,n,r):z(n)?await Re(e,t,n,r):L(n)?await Ee(e,t,n,r):M}async function Be(e,t){const n=t.argument;if("CallExpression"===n.type)throw new h("NeverReach",t);if("MemberExpression"===n.type){const r=await ke(e,n.object);let o,a;if(!0===n.computed)o=await ke(e,n.property);else{if("Identifier"!==n.property.type)throw new h("Unrecognized",t);o=n.property.name}if(oe(r)){if(!ae(o))throw new h("ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>=r.length)throw new h("OutOfBounds",t);a=C(r[o]),r[o]="++"===t.operator?a+1:a-1}else if(r instanceof m){if(!1===re(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h("FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}else if(r instanceof be){if(!1===re(o))throw new h("ModuleAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h("ModuleExportNotFound",t);a=C(r.global(o)),r.setGlobal(o,"++"===t.operator?a+1:a-1)}else{if(!U(r))throw _(r)?new h("Immutable",t):new h("InvalidParameter",t);if(!1===re(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasField(o))throw new h("FieldNotFound",t,{key:o});a=C(r.field(o)),r.setField(o,"++"===t.operator?a+1:a-1)}return!1===t.prefix?a:"++"===t.operator?a+1:a-1}const r=fe(e,n),o=C(ue(r.var).value),a="++"===t.operator?o+1:o-1;return r.scope[r.id]={value:a},!1===t.prefix?o:"++"===t.operator?o+1:o-1}function Ue(e,t,n,r){switch(t){case"=":return e===M?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return re(n)||re(e)?E(n)+E(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new h("UnsupportedOperator",r)}}async function _e(e,t){const n=t.left;if("MemberExpression"===n.type){const r=await ke(e,n.object);let o;if(!0===n.computed)o=await ke(e,n.property);else{if("Identifier"!==n.property.type)throw new h("InvalidIdentifier",t);o=n.property.name}const a=await ke(e,t.right);if(oe(r)){if(!ae(o))throw new h("ArrayAccessMustBeNumber",t);if(o<0&&(o=r.length+o),o<0||o>r.length)throw new h("OutOfBounds",t);if(o===r.length){if("="!==t.operator)throw new h("OutOfBounds",t);r[o]=Ue(a,t.operator,r[o],t)}else r[o]=Ue(a,t.operator,r[o],t)}else if(r instanceof m){if(!1===re(o))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Ue(a,t.operator,r.field(o),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:o});r.setField(o,Ue(a,t.operator,null,t))}}else if(r instanceof be){if(!1===re(o))throw new h("KeyAccessorMustBeString",t);if(!0!==r.hasGlobal(o))throw new h("ModuleExportNotFound",t);r.setGlobal(o,Ue(a,t.operator,r.global(o),t))}else{if(!U(r))throw _(r)?new h("Immutable",t):new h("InvalidParameter",t);if(!1===re(o))throw new h("KeyAccessorMustBeString",t);if(!0===r.hasField(o))r.setField(o,Ue(a,t.operator,r.field(o),t));else{if("="!==t.operator)throw new h("FieldNotFound",t,{key:o});r.setField(o,Ue(a,t.operator,null,t))}}return M}const r=fe(e,n),o=await ke(e,t.right);return r.scope[r.id]={value:Ue(o,t.operator,"="!==t.operator?ue(r.var).value:null,t)},M}async function Ge(e,t){const n=await ke(e,t.expression);return n===M?M:new F(n)}async function ze(e,t){const n=await ke(e,t.test);if(!0===n)return Fe(e,t.consequent);if(!1===n)return null!==t.alternate?Fe(e,t.alternate):M;throw new h("BooleanConditionRequired",t)}async function Le(e,t){return Ze(e,t,0)}async function Ze(e,t,n){if(n>=t.body.length)return M;const r=await Fe(e,t.body[n]);return r instanceof k||r===O||r===N||n===t.body.length-1?r:Ze(e,t,n+1)}async function Pe(e,t){if(null===t.argument)return new k(M);const n=await ke(e,t.argument);return new k(n)}async function qe(t,n){if(null!=t.localScope)throw ie().error("Function declarations are only valid in global scope."),new h("NeverReach",n);const r=e(n.id);if(!(r in t.globalScope))throw ie().error(`Function "${r}" not declared.`),new h("NeverReach",n);const o=s(n),a=n.params.map(t=>e(t)),i=Array.from(o.keys()).filter(e=>!a.includes(e));let c=null;return null!=t.contextScopeDebugInfo&&(c={declaredNames:new Map([...n.params.map(t=>[e(t),t.name]),...o])}),t.globalScope[r]={value:new he(n,t,a,i,c)},M}async function We(e,t){const n=fe(e,t.specifiers[0].local),r=e.libraryResolver;if(null==r)throw ie().error("Internal error: module loader not initialized"),new h("NeverReach",t);const o=r.loadLibrary(n.id);let a;return r._moduleSingletons?.has(o.uri)?a=r._moduleSingletons.get(o.uri):(a=await be.load(e,o.syntax),r._moduleSingletons?.set(o.uri,a)),n.scope[n.id]={value:a},M}async function Te(e,t){return await Fe(e,t.declaration),M}async function Ve(e,t){for(const n of t.declarations)await Ke(e,n);return M}async function Ke(e,t){t.breakpoint&&await Se(e,t.breakpoint);let n=null;n=null===t.init?null:await ke(e,t.init),n===M&&(n=null);const r=fe(e,t.id);r.scope[r.id]={value:n}}async function $e(e,t){return Ye(e,await ke(e,t.object),t)}async function Ye(e,t,n){const r=n.computed?await ke(e,n.property):n.property.name;return f(t,r)}async function He(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=await Ye(e,t,r);break;case"CallExpression":t=await at(e,t,r);break;default:throw new h("Unrecognized",r)}return t}async function Je(e,t,n){const r=n.computed?await ke(e,n.property):n.property.name;return u(t,r)}async function Qe(e,t){const n=i(t);let r=await ke(e,n.root);for(const o of n.sections){const t=await Je(e,r,o.checked);if(null==t)return null;r=await He(e,t,o.unchecked)}return r}async function Xe(e,t){const n=await ke(e,t.argument);if(ne(n)){if("!"===t.operator)return!n;if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h("UnsupportUnaryOperator",t)}if("-"===t.operator)return-1*C(n);if("+"===t.operator)return 1*C(n);if("~"===t.operator)return~C(n);throw new h("UnsupportUnaryOperator",t)}async function et(e,t){const n=[];for(let r=0;r<t.elements.length;r++)n.push(await ke(e,t.elements[r]));for(let r=0;r<n.length;r++){if(j(n[r]))throw new h("NoFunctionInArray",t);n[r]===M&&(n[r]=null)}return n}async function tt(e,t){const n=await ke(e,t.left),r=await ke(e,t.right);switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return B(C(n),C(r),t.operator);case"==":return D(n,r);case"!=":return!D(n,r);case"<":case">":case"<=":case">=":return A(n,r,t.operator);case"+":return re(n)||re(r)?E(n)+E(r):C(n)+C(r);case"-":return C(n)-C(r);case"*":return C(n)*C(r);case"/":return C(n)/C(r);case"%":return C(n)%C(r);default:throw t.operator,new h("UnsupportedOperator",t)}}async function nt(e,t){const n=await ke(e,t.left);if(!ne(n))throw new h("LogicalExpressionOnlyBoolean",t);switch(t.operator){case"||":{if(!0===n)return n;const r=await ke(e,t.right);if(ne(r))return r;throw new h("LogicExpressionOrAnd",t)}case"&&":{if(!1===n)return n;const r=await ke(e,t.right);if(ne(r))return r;throw new h("LogicExpressionOrAnd",t)}default:throw t.operator,new h("LogicExpressionOrAnd",t)}}function rt(e,t){return pe(e,t)}async function ot(e,t){let n;if("Identifier"===t.callee.type){const r=t.callee;r.breakpoint&&await Se(e,r.breakpoint),n=pe(e,t.callee,"FunctionNotFound")}else n=await ke(e,t.callee);return at(e,n,t)}async function at(e,t,n){if(j(t))return t.call(e,n);throw new h("CallNonFunction",n)}async function it(e,t){let n="",r=0;for(const o of t.quasis)if(n+=o.value?o.value.cooked:"",!1===o.tail){if(t.expressions[r]){const o=await ke(e,t.expressions[r]);if(j(o))throw new h("NoFunctionInTemplateLiteral",t);n+=E(o)}r++}return n}async function st(e,t){R(null===t.arguments?[]:t.arguments,3,3,t);const n=await ke(e,t.arguments[0]);if(!1===ne(n))throw new h("BooleanConditionRequired",t);return ke(e,n?t.arguments[1]:t.arguments[2])}async function ct(e,t){R(null===t.arguments?[]:t.arguments,2,3,t);const n=await ke(e,t.arguments[0]);if(3===t.arguments.length){const r=await ke(e,t.arguments[1]),o=c(n,r);return null!=o&&""!==o?o:ke(e,t.arguments[2])}return null==n||""===n?ke(e,t.arguments[1]):n}async function lt(e,t){if(t.arguments.length<2)throw new h("WrongNumberOfParameters",t);if(2===t.arguments.length)return ke(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new h("WrongNumberOfParameters",t);return ut(e,t,1,await ke(e,t.arguments[0]))}async function ut(e,t,n,r){const o=await ke(e,t.arguments[n]);if(D(o,r))return ke(e,t.arguments[n+1]);const a=t.arguments.length-n;return 1===a?ke(e,t.arguments[n]):2===a?null:3===a?ke(e,t.arguments[n+2]):ut(e,t,n+2,r)}async function ft(e,t){if(t.arguments.length<3)throw new h("WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new h("WrongNumberOfParameters",t);const n=await ke(e,t.arguments[0]);if(!1===ne(n))throw new h("BooleanConditionRequired",t.arguments[0]);return pt(e,t,0,n)}async function pt(e,t,n,r){if(!0===r)return ke(e,t.arguments[n+1]);if(3===t.arguments.length-n)return ke(e,t.arguments[n+2]);const o=await ke(e,t.arguments[n+2]);if(!1===ne(o))throw new h("ModuleExportNotFound",t.arguments[n+2]);return pt(e,t,n+2,o)}function wt(){const e=Object.create(null);W(e,me),J(e,me),T(e,me,rt),$(e,me),K(e,me),H(e,me),Q(e,me),V({functions:e,compiled:!1,signatures:null,evaluateIdentifier:null,mode:"async",standardFunction:me,standardFunctionAsync:ye}),e.iif=st,e.defaultvalue=ct,e.decode=lt,e.when=ft;const t=function(){this.textformatting={value:m.textFormatting()}};t.prototype=Object.create(null),t.prototype.infinity=Object.freeze({value:Number.POSITIVE_INFINITY}),t.prototype.nan=Object.freeze({value:Number.NaN}),t.prototype.pi=Object.freeze({value:Math.PI});for(const[n,r]of Object.entries(e))t.prototype[n]=Object.freeze({value:new y(r,n)});return t}const dt=wt();function mt(e){const t={mode:"async",compiled:!1,functions:Object.create(null),signatures:[],standardFunction:me,standardFunctionAsync:ye,evaluateIdentifier:rt};for(let n=0;n<e.length;n++)e[n].registerFunctions(t);for(const[n,r]of Object.entries(t.functions))dt.prototype[n]=Object.freeze({value:new y(r,n)});for(let n=0;n<t.signatures.length;n++)Z(t.signatures[n],"async")}function ht(e){console.log(e)}function gt(n,i){const s=new Set(Object.keys(i?.vars||{}).map(t=>e(t))),c=new Set(Object.keys(i?.customfunctions||{}).map(t=>e(t))),{globals:l,exports:u}=o(n);let f=null;if(i?.breakpoints){for(const[e,t]of a(i.breakpoints,n))e.breakpoint=t;f={declaredNames:new Map(Object.keys(i?.vars||{}).map(t=>[e(t),t]).filter(([e])=>!l.has(e)))}}return async e=>{const o=e.spatialReference??ee.WebMercator;let a=null;n.usesModules&&(a=new r(new Map,n.loadedModules));const i=new dt;null!=f&&(i[se]={declaredNames:l});for(const t of c)null!=e.customfunctions&&t in e.customfunctions?i[t]={value:new y(e.customfunctions[t],t)}:i[t]=ce;for(const t of s){if(null==e.vars||!(t in e.vars)){t in i||(i[t]=ce);continue}const n=e.vars[t]??null;te(n)?i[t]={value:b.createFromGraphic(n,e.timeZone??null)}:i[t]={value:n}}for(const t of l.keys())t in i||(i[t]=ce);const p={lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??ht,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:e.track,depthCounter:{depth:1},libraryResolver:a,exports:u,localScope:null,globalScope:i,contextScopeDebugInfo:f},w=await Le(p,n);if(w instanceof k||w instanceof F){const e=w.value;if(I(e))return null;if(j(e))throw new h("IllegalResult",null);return e}if(I(w))return null;if(w===O)throw new h("IllegalResult",null);if(w===N)throw new h("IllegalResult",null);throw new h("NeverReach",null)}}function bt(e,t){return gt(e,t)(t)}mt([q]),mt([P]),mt([Y]);export{bt as executeScript,mt as extend,gt as prepareScript};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as a,flattenAccessChain as s}from"./compilerUtils.js";import{getNestedOptionalValue as l,tryGetMember as i,getMember as c,getGeometryMember as u,getGeometryKeys as m}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as f,ArcadeCompilationError as d,ArcadeUncompilableError as g}from"./executionError.js";import{Feature as h}from"./Feature.js";import{NativeFunction as y,ArcadeFunction as w,ScopeMarshalledFunction as b,wrapModuleScopedResponse as $}from"./FunctionWrapper.js";import{s as v,u as S,i as x,h as I,g as F,v as C,w as M,x as O,y as k,z as j,A,d as E,l as N,B}from"../chunks/languageUtils.js";import{addFunctionDeclaration as _}from"./treeAnalysis.js";import{A as V}from"../chunks/aiServices.js";import{A as T}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as R}from"./functions/feature.js";import{registerFunctions as U}from"./functions/geometry.js";import{registerFunctions as D}from"./functions/geomsync.js";import{registerFunctions as G}from"./functions/maths.js";import{registerFunctions as z}from"./functions/stats.js";import{registerFunctions as q}from"./functions/string.js";import{registerFunctions as P}from"./functions/track.js";import W from"../core/Logger.js";import{isPromiseLike as K}from"../core/promiseUtils.js";import{addMany as Z}from"../core/SetUtils.js";import J from"../geometry/SpatialReference.js";import{isGraphic as Y}from"../support/graphicInstanceUtils.js";import{isArray as H,isNumber as Q,isString as X,isBoolean as ee}from"../support/guards.js";const te=()=>W.getLogger("esri.arcade.arcadeCompiler");class ne{constructor(){this._symbolCounter=0,this.safeAccessTempVarId="_Tsat"}nextVarId(){return this._symbolCounter+=1,`_T${this._symbolCounter}`}nextTempVarId(){return this._symbolCounter+=1,`_Tvar${this._symbolCounter}`}nextLocalsSymbolMapId(){return this._symbolCounter+=1,`_Locals${this._symbolCounter}`}}function re(e,t){const n=e.localScope?.get(t);if(null!=n)return{scope:"local",name:t,var:n};const r=e.globalScope.get(t);return null!=r?{scope:"global",name:t,var:r}:e.standardGlobals.has(t)?{scope:"global",name:t,var:t}:null}function oe(t,n,r="InvalidIdentifier"){const o=re(t,e(n));if(null!=o)return o;throw new d(r,n)}function ae(t,n,r){const o=re(t,e(n));if(null==o)throw te().error(`Internal error: Symbol "${n.name}" not declared.`),new d("NeverReach",n);if(null!=r&&o.scope!==r)throw te().error(`Internal error: Expected to resolve "${n.name}" in the ${r} scope but is in the ${o.scope} scope.`),new d("NeverReach",n);return o}function se(t,n){const r=e(n),o=t.symbolMetadata;if(t.localStack.length>0){const e=t.localStack[t.localStack.length-1],n=o.locals.get(e._SymbolsMapId);if(null==n)return void te().error(`Internal error: no reflection metadata for ${e._SymbolsMapId}`);const a=n.get(r);if(null!=a)return ot.requireInitialized(e[a])}const a=o.globals.get(r);if(null!=a)return ot.requireInitialized(t.globalScope[a]);if(o.standardGlobals.has(r))return ot.requireInitialized(t.globalScope[r]);throw new f("InvalidIdentifier",null)}class le extends w{constructor(e,t){super(),this.paramCount=t,this.fn=e}get debugName(){return null}createFunction(e){return(...e)=>{if(e.length!==this.paramCount)throw new f("WrongNumberOfParameters",null);return this.fn(...e)}}call(e,t){return this.fn(...t.arguments)}marshalledCall(e,t,n,r){return r(e,t,(t,o,a)=>{a=a.map(t=>!x(t)||t instanceof b?t:$(t,e,r));const s=this.call(n,{arguments:a});return K(s)?s.then(e=>$(e,n,r)):s})}}function ie(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function ce(e,t,n,r,a,s){const{globals:l,exports:i}=o(e),c=new Set(l.keys());Z(c,n);const u=new ne,m=[],p=new Map;for(const o of c)if(n.has(o)||t.has(o))p.set(o,o);else{const e=u.nextVarId();p.set(o,e),m.push(`gscope[${JSON.stringify(e)}] = ${nt};`)}const f=new Map,d=Object.create(null),g={isAsync:r,symbols:u,standardGlobals:t,globalScope:p,exports:i,localScope:null,allLocalSymbolMetadata:f,moduleFactory:s,moduleFactoryMap:d,libraryResolver:a};return{body:[...m,`var ${u.safeAccessTempVarId};`,"var lastStatement = lc.voidOperation;",Fe(g,e),"return lastStatement;"].join("\n"),symbolMetadata:{standardGlobals:t,exports:i,globals:p,locals:f},moduleFactoryMap:d}}function ue(e,t){switch(t.type){case"AssignmentExpression":return ve(e,t);case"UpdateExpression":return be(e,t);case"TemplateLiteral":return Re(e,t);case"Identifier":return Ge(e,t);case"MemberExpression":return Ee(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"CallExpression":return ze(e,t);case"UnaryExpression":return Te(e,t);case"BinaryExpression":return Ue(e,t);case"LogicalExpression":return De(e,t);case"ArrayExpression":return Le(e,t);case"ObjectExpression":return pe(e,t);case"MemberAccessChainExpression":return Ve(e,t);case"SafeMemberExpression":throw te().error("SafeMemberExpression outside of MemberAccessChainExpression"),new d("Unrecognized",t);default:throw new d("Unrecognized",t)}}function me(e,t){switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return je(e,t);case"BlockStatement":return Fe(e,t);case"FunctionDeclaration":return ke(e,t);case"ImportDeclaration":return Me(e,t);case"ExportNamedDeclaration":return me(e,t.declaration);case"ReturnStatement":return Ce(e,t);case"IfStatement":return Ie(e,t);case"ExpressionStatement":return Se(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return we(e,t);case"ForInStatement":return he(e,t);case"ForOfStatement":return ye(e,t);case"WhileStatement":return $e(e,t);default:throw new d("Unrecognized",t)}}function pe(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];let a;a="Identifier"===o.key.type?"'"+o.key.name+"'":ue(e,o.key);r>0&&(n+=","),n+="lang.strCheck("+a+",'ObjectExpression'),lang.aCheck("+ue(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function fe(e,t,n,r,o=(e,t)=>`${e} = ${t}`){const a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId();return[`var ${a} = ${n};`,`for (var ${s} = 0; ${s} < ${a}; ${s}++) {`,` ${o(t,s)}`,` ${me(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function de(e,t,n,r,o=e=>e){const a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId();return[`var ${a} = ${n};`,`for (var ${s} of ${a}) {`,` ${t} = ${o(s)};`,` ${me(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ge(e,t,n,r){const o=e.symbols.nextTempVarId(),a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId(),l=e.symbols.nextTempVarId();return[`var ${o} = yield ${n}.queryAll(runtimeCtx.abortSignal);`,`var ${a} = { done: false, value: [] };`,`for (var ${s} = 0; ${s} < ${a}.value.length || ((${s} = 0), !(${a} = yield ${o}.next()).done); ${s}++) {`,` if (${a}.value.length === 0) continue;`,` var ${l} = ${a}.value[${s}];`,` ${t} = lang.createFeature(${l}, ${n}, runtimeCtx);`,` ${me(e,r)}`,"}"].join("\n")}function he(e,t){const n=e.symbols.nextTempVarId();let r,o,a="var "+n+" = "+ue(e,t.right)+";\n";switch("VariableDeclaration"===t.left.type?(r=ae(e,t.left.declarations[0].id),a+=me(e,t.left)):r=oe(e,t.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d("NeverReach",t.left)}return a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {\n",a+=fe(e,o,`${n}.length`,t.body),a+="}\n",a+="else if (lc.isImmutableArray("+n+")) {\n",a+=fe(e,o,`${n}.length()`,t.body),a+="}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || lc.isDictionaryLike("+n+")) {\n",a+=de(e,o,`${n}.keys()`,t.body),a+="}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {\n",a+=ge(e,o,n,t.body),a+="}\n"),a+=`else if (lc.isGeometry(${n})) {\n`,a+=de(e,o,`lang.getGeometryKeys(${n})`,t.body),a+="}\n",a+="else { lastStatement = lc.voidOperation; } \n",a}function ye(e,t){const n=e.symbols.nextTempVarId();let r,o,a="var "+n+" = "+ue(e,t.right)+";\n";switch("VariableDeclaration"===t.left.type?(r=ae(e,t.left.declarations[0].id),a+=me(e,t.left)):r=oe(e,t.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d("NeverReach",t.left)}return a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {\n",a+=fe(e,o,`${n}.length`,t.body,(e,t)=>[`if (${t} >= ${n}.length) {`," lang.error('OutOfBounds');","}",`${e} = ${n}[${t}];`].join("\n")),a+="}\n",a+="else if (lc.isImmutableArray("+n+")) {\n",a+=fe(e,o,`${n}.length()`,t.body,(e,t)=>`${e} = ${n}.get(${t});`),a+="}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || lc.isDictionaryLike("+n+")) {\n",a+=de(e,o,`${n}.keys()`,t.body,e=>`lang.entry(${e}, ${n}.field(${e}))`),a+="}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {\n",a+=ge(e,o,n,t.body),a+="}\n"),a+=`else if (lc.isGeometry(${n})) {\n`,a+=de(e,o,`lang.getGeometryKeys(${n})`,t.body,e=>`lang.entry(${e}, lang.getGeometryMember(${n}, ${e}))`),a+="}\n",a+="else { lastStatement = lc.voidOperation; } \n",a}function we(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&("VariableDeclaration"===t.init.type?n+=me(e,t.init):n+=ue(e,t.init)+"; ");const r=e.symbols.nextTempVarId(),o=e.symbols.nextTempVarId();return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+ue(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+ue(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error('BooleanConditionRequired'); }\n"),n+=me(e,t.body),null!==t.update&&(n+="\n "+ue(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function be(e,t){if("CallExpression"===t.argument.type)throw new d("NeverReach",t);let n;if("MemberExpression"===t.argument.type){const r=ue(e,t.argument.object);return n=!0===t.argument.computed?ue(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+r+","+n+",'"+t.operator+"',"+t.prefix+")"}const r=oe(e,t.argument);switch(Oe(r),r.scope){case"local":return`lang.update(lscope, '${r.var}', '${t.operator}', ${t.prefix})`;case"global":return`lang.update(gscope, '${r.var}', '${t.operator}', ${t.prefix})`;default:throw r.scope,new d("NeverReach",t.argument)}}function $e(e,t){let n="lastStatement = lc.voidOperation; \n";const r=e.symbols.nextTempVarId();return n+=`\n var ${r} = true;\n do {\n ${r} = ${ue(e,t.test)};\n if (${r}==false) {\n break;\n }\n if (${r}!==true) {\n lang.error('BooleanConditionRequired');\n }\n ${me(e,t.body)}\n }\n while (${r} !== false);\n lastStatement = lc.voidOperation;\n `,n}function ve(e,t){const n=ue(e,t.right);if("MemberExpression"===t.left.type){let r;const o=ue(e,t.left.object);return r=!0===t.left.computed?ue(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+o+","+r+",'"+t.operator+"',"+n+")"}const r=oe(e,t.left);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=lang.assign(${n},'${t.operator}', ${"="===t.operator?"null":rt(`lscope['${r.var}']`)})`;case"global":return`gscope['${r.var}']=lang.assign(${n},'${t.operator}', ${"="===t.operator?"null":rt(`gscope['${r.var}']`)})`;default:throw r.scope,new d("NeverReach",t.left)}}function Se(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+ue(e,t.expression)+"; \n ":"lastStatement = "+ue(e,t.expression)+"; "}function xe(e,t){return"BlockStatement"===t.type?me(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?me(e,t)+"; ":"ExpressionStatement"===t.type?me(e,t):me(e,t)+"; "}function Ie(e,t){return`if (lang.mustBoolean(${ue(e,t.test)}) === true) {\n ${xe(e,t.consequent)}\n } `+(null!==t.alternate?"IfStatement"===t.alternate.type?" else "+Ie(e,t.alternate):` else {\n ${xe(e,t.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function Fe(e,t){let n="";for(let r=0;r<t.body.length;r++)"EmptyStatement"!==t.body[r].type&&("ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=me(e,t.body[r])+"; \n":n+=me(e,t.body[r])+" \n");return n}function Ce(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+ue(e,t.argument)}function Me(e,t){const n=ae(e,t.specifiers[0].local,"global"),r=e.libraryResolver?.loadLibrary(n.name),o=e.symbols.nextVarId();void 0===e.moduleFactory[r.uri]&&(e.moduleFactory[r.uri]=ct(r.syntax,e.moduleFactory,e.isAsync)),e.moduleFactoryMap[o]=r.uri;let a="";return a=e.isAsync?"(yield lang.loadModule('"+o+"', runtimeCtx) ); ":"lang.loadModule('"+o+"', runtimeCtx); ",Oe(n),`gscope['${n.var}']=${a}`}function Oe(e){if("global"===e.scope)switch(e.name){case"iif":case"when":case"defaultvalue":case"decode":throw new g}}function ke(t,n){const r=new Set(n.params.map(t=>e(t))),o=new Set(a(n).keys());Z(o,r);const s=t.symbols,l=new Map;for(const e of o)l.set(e,s.nextVarId());const i=s.nextLocalsSymbolMapId();t.allLocalSymbolMetadata.set(i,l);const c={...t,localScope:l},u=[`lscope._SymbolsMapId = ${JSON.stringify(i)};`];for(let e=0;e<n.params.length;e++){const t=ae(c,n.params[e],"local");Oe(t),u.push(`lscope['${t.var}'] = arguments[${e}];`)}for(const[e,a]of l)r.has(e)||u.push(`lscope['${a}'] = ${nt};`);const m=Fe(c,n.body),p=!0===t.isAsync?["return lang.__awaiter(this, void 0, void 0, function* () {",` ${m}`," return lastStatement;","});"]:[m,"return lastStatement;"],f=["new lang.UserDefinedCompiledFunction("," lang.functionDepthchecker("," function() {"," var lastStatement = lc.voidOperation;"," var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];",...u,...p," },"," runtimeCtx,"," ),",` ${n.params.length},`,")"].join("\n"),d=ae(t,n.id,"global");return Oe(d),`gscope['${d.var}']=${f}; lastStatement = lc.voidOperation;`}function je(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(Ae(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function Ae(e,t){const n=null===t.init?"null":ue(e,t.init),r=ae(e,t.id);switch(Oe(r),r.scope){case"local":return`lscope['${r.var}']=${n};`;case"global":return`gscope['${r.var}']=${n};`;default:throw r.scope,new d("NeverReach",t.id)}}function Ee(e,t){return Ne(e,ue(e,t.object),t)}function Ne(e,t,n){return`lang.member(${t}, ${n.computed?ue(e,n.property):`'${n.property.name}'`})`}function Be(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=Ne(e,t,r);break;case"CallExpression":t=qe(e,t,r.arguments);break;default:throw new d("Unrecognized",r)}return t}function _e(e,t,n){return`lang.tryMember(${t}, ${n.computed?ue(e,n.property):`'${n.property.name}'`})`}function Ve(e,t){const n=s(t);let r="",o=ue(e,n.root);for(const a of n.sections)r+=`(${e.symbols.safeAccessTempVarId} = ${_e(e,o,a.checked)}) == null ? null : `,o=Be(e,e.symbols.safeAccessTempVarId,a.unchecked);return`(${r}${o})`}function Te(e,t){try{return"lang.unary("+ue(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function Le(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(ue(e,t.elements[r])):n.push("lang.aCheck("+ue(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Re(e,t){try{const n=[];let r=0;for(const o of t.quasis)n.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(n.push(t.expressions[r]?"lang.castString(lang.aCheck("+ue(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function Ue(e,t){try{return"lang.binary("+ue(e,t.left)+","+ue(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function De(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new d("LogicalExpressionOnlyBoolean",t);if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new d("LogicalExpressionOnlyBoolean",t);if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+ue(e,t.left)+") "+t.operator+" lang.logicalCheck("+ue(e,t.right)+"))";throw new d("LogicExpressionOrAnd",null)}catch(n){throw n}}function Ge(e,t){const n=oe(e,t);switch(Oe(n),n.scope){case"local":return rt(`lscope['${n.var}']`);case"global":return rt(`gscope['${n.var}']`);default:throw n.scope,new d("NeverReach",t)}}function ze(e,t){if("Identifier"===t.callee.type){const n=oe(e,t.callee,"FunctionNotFound");if("global"===n.scope)switch(n.name){case"iif":return Pe(e,t);case"when":return Ke(e,t);case"defaultvalue":return We(e,t);case"decode":return Ze(e,t)}}return qe(e,ue(e,t.callee),t.arguments)}function qe(e,t,n){const r=`lang.callfunc(${t}, [${n.map(t=>ue(e,t)).join(", ")}], runtimeCtx)`;return e.isAsync?`(yield ${r})`:r}function Pe(e,t){try{if(3!==t.arguments.length)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n\n if (${n} === true) {\n return ${ue(e,t.arguments[1])};\n }\n else if (${n} === false) {\n return ${ue(e,t.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function We(e,t){try{if(t.arguments.length<2||t.arguments.length>3)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId(),r=e.symbols.nextTempVarId();return 3===t.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n var ${r} = ${ue(e,t.arguments[1])};\n ${n} = lang.getNestedOptionalValue(${n}, ${r});\n return ${n} != null && ${n} !== "" ? ${n} : ${ue(e,t.arguments[2])};\n ${e.isAsync?"})}()))":"}()"}`:`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n if (${n} === null) {\n return ${ue(e,t.arguments[1])};\n }\n if (${n} === "") {\n return ${ue(e,t.arguments[1])};\n }\n if (${n} === undefined) {\n return ${ue(e,t.arguments[1])};\n }\n return ${n};\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Ke(e,t){try{if(t.arguments.length<3)throw new d("WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();let r="var ";for(let o=0;o<t.arguments.length-1;o+=2)r+=`${n} = lang.mustBoolean(${ue(e,t.arguments[o])});\n if (${n} === true ) {\n return ${ue(e,t.arguments[o+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${r}\n return ${ue(e,t.arguments[t.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Ze(e,t){try{if(t.arguments.length<2)throw new d("WrongNumberOfParameters",t);if(2===t.arguments.length)return`(${ue(e,t.arguments[1])})`;if((t.arguments.length-1)%2==0)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();let r;if(t.arguments.every((e,t)=>t%2==0||"Literal"===e.type)){r=`switch (${n}) {`;for(let n=1;n<t.arguments.length-1;n+=2){const o=t.arguments[n],a=t.arguments[n+1];null==o.value?r+="\n case null:\n case lc.voidOperation:\n ":r+=`\n case ${JSON.stringify(o.value)}:\n `,r+=`return ${ue(e,a)}`}r+="}"}else{const o=e.symbols.nextTempVarId();r="var ";for(let a=1;a<t.arguments.length-1;a+=2){const s=t.arguments[a],l=t.arguments[a+1];r+=`${o} = ${ue(e,s)};\n if (lang.binary(${o}, ${n}, "==") === true ) {\n return ${ue(e,l)}\n }\n `}}return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${ue(e,t.arguments[0])};\n ${r}\n return ${ue(e,t.arguments[t.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Je(e,t){try{return ie(e,t,(e,t)=>{throw new f("Unrecognized",t)})}catch(n){throw n}}function Ye(e){const t=function(){this.textformatting=p.textFormatting()};t.prototype=Object.create(null),t.provided=new Set(["textformatting","infinity","nan","pi"]),t.prototype.infinity=Number.POSITIVE_INFINITY,t.prototype.nan=Number.NaN,t.prototype.pi=Math.PI;for(const[n,r]of Object.entries(e))t.prototype[n]=new y(r),t.provided.add(n);return t}function He(){const e=Object.create(null);L(e,ie),q(e,ie),R(e,ie,se),G(e,ie),U(e,ie),z(e,ie),P(e,ie),e.iif=Je,e.decode=Je,e.when=Je,e.defaultvalue=Je;const t=Ye(e);D(e,ie);return{ScopeSync:Ye(e),ScopeAsync:t}}const{ScopeSync:Qe,ScopeAsync:Xe}=He();function et(e,t){const n={mode:t,compiled:!0,functions:Object.create(null),signatures:[],standardFunction:ie,standardFunctionAsync:ie,evaluateIdentifier:se};for(const r of e)r.registerFunctions(n);if("sync"===t)for(const[r,o]of Object.entries(n.functions))Qe.prototype[r]=new y(o),Qe.provided.add(r);else for(const[r,o]of Object.entries(n.functions))Xe.prototype[r]=new y(o),Xe.provided.add(r);for(const r of n.signatures)_(r,t)}et([T],"sync"),et([T],"async"),et([V],"async");const tt=Symbol("uninitialized"),nt="lang.uninitialized";function rt(e){return`lang.requireInitialized(${e})`}const ot={uninitialized:tt,requireInitialized(e){if(e===tt)throw new f("InvalidIdentifier",null);return e},isNumber:e=>Q(e),isArray:e=>H(e),isImmutableArray:e=>F(e),isDictionaryLike:e=>B(e),isString:e=>X(e),isDictionary:e=>N(e),isGeometry:e=>E(e),getGeometryKeys:e=>m(e),getGeometryMember:(e,t)=>u(e,t),error(e){throw new f(e,null)},__awaiter(e,t,n,r){const o=r.apply(e,t||[]);let a=o.next();for(;!a.done&&!K(a.value);)a=o.next(a.value);return a.done?a.value:new Promise((e,t)=>{function n(r){for(;!r.done;){if(K(r.value))return void Promise.resolve(r.value).then(e=>{try{n(o.next(e))}catch(r){t(r)}},e=>{try{n(o.throw(e))}catch(r){t(r)}});try{r=o.next(r.value)}catch(a){return void t(a)}}e(r.value)}n(a)})},functionDepthchecker:(e,t)=>function(){if(t.depthCounter.depth++,t.localStack.push({}),t.depthCounter.depth>64)throw new f("MaximumCallDepth",null);const n=e.apply(this,arguments);return K(n)?n.then(e=>(t.depthCounter.depth--,t.localStack.length=t.localStack.length-1,e)):(t.depthCounter.depth--,t.localStack.length=t.localStack.length-1,n)},mustBoolean(e){if(!0===e||!1===e)return e;throw new f("BooleanConditionRequired",null)},castString:e=>M(e),aCheck(e,t){if(x(e)){if("ArrayExpression"===t)throw new f("NoFunctionInArray",null);if("ObjectExpression"===t)throw new f("NoFunctionInDictionary",null);throw new f("NoFunctionInTemplateLiteral",null)}return e===O?null:e},Dictionary:p,Feature:h,UserDefinedCompiledFunction:le,dictionary(e){const t=Object.create(null),n=new Map;for(let o=0;o<e.length;o+=2){if(x(e[o+1]))throw new f("NoFunctionInDictionary",null);if(!1===X(e[o]))throw new f("KeyMustBeString",null);let r=e[o].toString();const a=r.toLowerCase();n.has(a)?r=n.get(a):n.set(a,r),e[o+1]===O?t[r]=null:t[r]=e[o+1]}const r=new p(t);return r.immutable=!1,r},entry:(e,t)=>p.containerEntry(e,t),strCheck(e){if(!1===X(e))throw new f("KeyMustBeString",null);return e},unary(e,t){if(ee(e)){if("!"===t)return!e;if("-"===t)return-1*C(e);if("+"===t)return 1*C(e);if("~"===t)return~C(e);throw new f("UnsupportUnaryOperator",null)}if("-"===t)return-1*C(e);if("+"===t)return 1*C(e);if("~"===t)return~C(e);throw new f("UnsupportUnaryOperator",null)},logicalCheck(e){if(!1===ee(e))throw new f("LogicExpressionOrAnd",null);return e},logical(e,t,n){if(ee(e)&&ee(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new f("LogicExpressionOrAnd",null)}throw new f("LogicExpressionOrAnd",null)},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return A(C(e),C(t),n);case"==":return j(e,t);case"!=":return!j(e,t);case"<":case">":case"<=":case">=":return k(e,t,n);case"+":return X(e)||X(t)?M(e)+M(t):C(e)+C(t);case"-":return C(e)-C(t);case"*":return C(e)*C(t);case"/":return C(e)/C(t);case"%":return C(e)%C(t);default:throw new f("UnsupportedOperator",null)}},assign(e,t,n){switch(t){case"=":return e===O?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return X(n)||X(e)?M(n)+M(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new f("UnsupportedOperator",null)}},update(e,t,n,r){const o=C(this.requireInitialized(e[t]));return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},createFeature:(e,t,n)=>h.createFromGraphicLikeObject(e.geometry,e.attributes,t,n.timeZone),memberupdate(e,t,n,r){let o;if(H(e)){if(!Q(t))throw new f("ArrayAccessMustBeNumber",null);if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new f("OutOfBounds",null);o=C(e[t]),e[t]="++"===n?o+1:o-1}else if(e instanceof p){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0!==e.hasField(t))throw new f("FieldNotFound",null,{key:t});o=C(e.field(t)),e.setField(t,"++"===n?o+1:o-1)}else if(I(e)){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0!==e.hasField(t))throw new f("FieldNotFound",null,{key:t});o=C(e.field(t)),e.setField(t,"++"===n?o+1:o-1)}else{if(F(e))throw new f("Immutable",null);if(!(e instanceof it))throw new f("InvalidIdentifier",null);if(!1===X(t))throw new f("ModuleAccessorMustBeString",null);if(!0!==e.hasGlobal(t))throw new f("ModuleExportNotFound",null);o=C(e.global(t)),e.setGlobal(t,"++"===n?o+1:o-1)}return!1===r?o:"++"===n?o+1:o-1},assignmember(e,t,n,r){if(H(e)){if(!Q(t))throw new f("ArrayAccessMustBeNumber",null);if(t<0&&(t=e.length+t),t<0||t>e.length)throw new f("OutOfBounds",null);if(t===e.length){if("="!==n)throw new f("OutOfBounds",null);e[t]=this.assign(r,n,e[t])}else e[t]=this.assign(r,n,e[t])}else if(e instanceof p){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0===e.hasField(t))e.setField(t,this.assign(r,n,e.field(t)));else{if("="!==n)throw new f("FieldNotFound",null,{key:t});e.setField(t,this.assign(r,n,null))}}else if(I(e)){if(!1===X(t))throw new f("KeyAccessorMustBeString",null);if(!0===e.hasField(t))e.setField(t,this.assign(r,n,e.field(t)));else{if("="!==n)throw new f("FieldNotFound",null,{key:t});e.setField(t,this.assign(r,n,null))}}else{if(F(e))throw new f("Immutable",null);if(!(e instanceof it))throw new f("InvalidIdentifier",null);if(!1===X(t))throw new f("ModuleAccessorMustBeString",null);if(!e.hasGlobal(t))throw new f("ModuleExportNotFound",null);e.setGlobal(t,this.assign(r,n,e.global(t)))}},member:(e,t)=>c(e,t),tryMember:(e,t)=>i(e,t),callfunc(e,t,n){if(x(e))return e.call(n,{arguments:t,preparsed:!0});throw new f("CallNonFunction",null)},loadModule(e,t){const n=t.moduleFactoryMap[e];if(t.moduleSingletons[n])return t.moduleSingletons[n];const r=t.moduleFactory[n]({moduleSingletons:t.moduleSingletons,depthCounter:t.depthCounter,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,console:t.console,abortSignal:t.abortSignal,timeZone:t.timeZone??null,spatialReference:t.spatialReference});return t.moduleSingletons[n]=r,r},getNestedOptionalValue:(e,t)=>l(e,t)};function at(e){console.log(e)}function st(n,o,a=!1){let s=null;n.usesModules&&(s=new r(null,n.loadedModules));const l=Object.create(null),i=new Set(Object.keys(o?.vars||{}).map(t=>e(t))),c=new Set(Object.keys(o?.customfunctions||{}).map(t=>e(t))),u=ce(n,a?Xe.provided:Qe.provided,new Set([...i,...c]),a,s,l);let m;m=a?["var runtimeCtx = this.prepare(context, true);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","return lang.__awaiter(this, void 0, void 0, function* () {"," function mainBody() {"," return lang.__awaiter(this, void 0, void 0, function* () {",` ${u.body}`," });"," }"," return this.postProcess(yield mainBody());","});"].join("\n"):["var runtimeCtx = this.prepare(context, false);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","function mainBody() {",` ${u.body}`,"}","return this.postProcess(mainBody());"].join("\n");const{symbolMetadata:p,moduleFactoryMap:d}=u,g={lc:v,lang:ot,postProcess(e){if(S(e))return null;if(x(e))throw new f("IllegalResult",null);return e},prepare(e,n){const r=e.spatialReference??J.WebMercator,o=n?new Xe:new Qe;for(const t of c)null!=e.customfunctions&&t in e.customfunctions?o[t]=e.customfunctions[t]??null:o[t]=tt;for(const t of i){if(null==e.vars||!(t in e.vars)){t in o||(o[t]=tt);continue}const n=e.vars[t]??null;Y(n)?o[t]=h.createFromGraphic(n,e.timeZone??null):o[t]=n}return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??at,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:r,track:e.track,globalScope:o,localStack:[],depthCounter:{depth:1},symbolMetadata:p,moduleFactory:l,moduleFactoryMap:d,moduleSingletons:Object.create(null)}}};return new Function("context",m).bind(g)}async function lt(){return et([await(import("./functions/geomasync.js"))],"async"),!0}class it extends n{constructor(e){super(),this.moduleContext=e}hasGlobal(t){const n=this.moduleContext.symbolMetadata.exports;return n.has(t)||n.has(e(t))}setGlobal(t,n){if(x(n))throw new f("AssignModuleFunction",null);const r=this.moduleContext.symbolMetadata.globals.get(e(t));if(null==r)throw new f("ModuleExportNotFound",null);this.moduleContext.globalScope[r]=n}global(t){const n=this.moduleContext.symbolMetadata.globals.get(e(t));if(null==n)throw new f("ModuleExportNotFound",null);const r=this.moduleContext.globalScope,o=ot.requireInitialized(r[n]);if(x(o)&&!(o instanceof b)){const e=new b;return e.fn=o,e.parameterEvaluator=ie,e.context=this.moduleContext,r[n]=e,e}return o}}function ct(e,n,o){const a=new r(null,e.loadedModules),s=ce(e,o?Xe.provided:Qe.provided,new Set,o,a,n);let l;l=o?["var runtimeCtx = this.prepare(context, true);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","return lang.__awaiter(this, void 0, void 0, function* () {"," function mainBody() {"," return lang.__awaiter(this, void 0, void 0, function* () {",` ${s.body}`," });"," }"," yield mainBody();"," return this.prepareModule(runtimeCtx);","});"].join("\n"):["var runtimeCtx = this.prepare(context, false);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","function mainBody() {",` ${s.body}`,"}","mainBody();","return this.prepareModule(runtimeCtx);"].join("\n");const{symbolMetadata:i,moduleFactoryMap:c}=s,u={lc:v,lang:ot,prepareModule:e=>new it(e),prepare(e,r){const o=e.spatialReference??J.WebMercator,a=r?new Xe:new Qe;return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??at,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:null,globalScope:a,localStack:[],depthCounter:e.depthCounter,symbolMetadata:i,moduleFactory:n,moduleFactoryMap:c,moduleSingletons:e.moduleSingletons}}};return new Function("context",l).bind(u)}export{le as UserDefinedCompiledFunction,st as compileScript,lt as enableAsyncSupport,et as extend};
2
+ import{toSymbolId as e,neverAbortedSignal as t}from"./arcadeEnvironment.js";import{ArcadeModule as n}from"./ArcadeModule.js";import{ArcadeModuleLoader as r}from"./ArcadeModuleLoader.js";import{collectDeclaredGlobalNames as o,collectDeclaredLocalNames as a,flattenAccessChain as s}from"./compilerUtils.js";import{getNestedOptionalValue as l,tryGetMember as i,getMember as c,getGeometryMember as u,getGeometryKeys as m}from"./containerUtils.js";import p from"./Dictionary.js";import{ArcadeExecutionError as f,ArcadeCompilationError as d,ArcadeUncompilableError as g}from"./executionError.js";import{Feature as h}from"./Feature.js";import{NativeFunction as y,ArcadeFunction as w,ScopeMarshalledFunction as b,wrapModuleScopedResponse as $}from"./FunctionWrapper.js";import{s as v,u as S,i as x,h as I,g as F,v as C,w as M,x as O,y as k,z as j,A,d as E,l as N,B}from"../chunks/languageUtils.js";import{addFunctionDeclaration as _}from"./treeAnalysis.js";import{A as V}from"../chunks/aiServices.js";import{A as T}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as R}from"./functions/feature.js";import{registerFunctions as U}from"./functions/geometry.js";import{registerFunctions as D}from"./functions/geomsync.js";import{registerFunctions as G}from"./functions/maths.js";import{P as z}from"../chunks/portal.js";import{registerFunctions as P}from"./functions/stats.js";import{registerFunctions as q}from"./functions/string.js";import{registerFunctions as W}from"./functions/track.js";import K from"../core/Logger.js";import{isPromiseLike as Z}from"../core/promiseUtils.js";import{addMany as J}from"../core/SetUtils.js";import Y from"../geometry/SpatialReference.js";import{isGraphic as H}from"../support/graphicInstanceUtils.js";import{isArray as Q,isNumber as X,isString as ee,isBoolean as te}from"../support/guards.js";const ne=()=>K.getLogger("esri.arcade.arcadeCompiler");class re{constructor(){this._symbolCounter=0,this.safeAccessTempVarId="_Tsat"}nextVarId(){return this._symbolCounter+=1,`_T${this._symbolCounter}`}nextTempVarId(){return this._symbolCounter+=1,`_Tvar${this._symbolCounter}`}nextLocalsSymbolMapId(){return this._symbolCounter+=1,`_Locals${this._symbolCounter}`}}function oe(e,t){const n=e.localScope?.get(t);if(null!=n)return{scope:"local",name:t,var:n};const r=e.globalScope.get(t);return null!=r?{scope:"global",name:t,var:r}:e.standardGlobals.has(t)?{scope:"global",name:t,var:t}:null}function ae(t,n,r="InvalidIdentifier"){const o=oe(t,e(n));if(null!=o)return o;throw new d(r,n)}function se(t,n,r){const o=oe(t,e(n));if(null==o)throw ne().error(`Internal error: Symbol "${n.name}" not declared.`),new d("NeverReach",n);if(null!=r&&o.scope!==r)throw ne().error(`Internal error: Expected to resolve "${n.name}" in the ${r} scope but is in the ${o.scope} scope.`),new d("NeverReach",n);return o}function le(t,n){const r=e(n),o=t.symbolMetadata;if(t.localStack.length>0){const e=t.localStack[t.localStack.length-1],n=o.locals.get(e._SymbolsMapId);if(null==n)return void ne().error(`Internal error: no reflection metadata for ${e._SymbolsMapId}`);const a=n.get(r);if(null!=a)return at.requireInitialized(e[a])}const a=o.globals.get(r);if(null!=a)return at.requireInitialized(t.globalScope[a]);if(o.standardGlobals.has(r))return at.requireInitialized(t.globalScope[r]);throw new f("InvalidIdentifier",null)}class ie extends w{constructor(e,t){super(),this.paramCount=t,this.fn=e}get debugName(){return null}createFunction(e){return(...e)=>{if(e.length!==this.paramCount)throw new f("WrongNumberOfParameters",null);return this.fn(...e)}}call(e,t){return this.fn(...t.arguments)}marshalledCall(e,t,n,r){return r(e,t,(t,o,a)=>{a=a.map(t=>!x(t)||t instanceof b?t:$(t,e,r));const s=this.call(n,{arguments:a});return Z(s)?s.then(e=>$(e,n,r)):s})}}function ce(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function ue(e,t,n,r,a,s){const{globals:l,exports:i}=o(e),c=new Set(l.keys());J(c,n);const u=new re,m=[],p=new Map;for(const o of c)if(n.has(o)||t.has(o))p.set(o,o);else{const e=u.nextVarId();p.set(o,e),m.push(`gscope[${JSON.stringify(e)}] = ${rt};`)}const f=new Map,d=Object.create(null),g={isAsync:r,symbols:u,standardGlobals:t,globalScope:p,exports:i,localScope:null,allLocalSymbolMetadata:f,moduleFactory:s,moduleFactoryMap:d,libraryResolver:a};return{body:[...m,`var ${u.safeAccessTempVarId};`,"var lastStatement = lc.voidOperation;",Ce(g,e),"return lastStatement;"].join("\n"),symbolMetadata:{standardGlobals:t,exports:i,globals:p,locals:f},moduleFactoryMap:d}}function me(e,t){switch(t.type){case"AssignmentExpression":return Se(e,t);case"UpdateExpression":return $e(e,t);case"TemplateLiteral":return Ue(e,t);case"Identifier":return ze(e,t);case"MemberExpression":return Ne(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"CallExpression":return Pe(e,t);case"UnaryExpression":return Le(e,t);case"BinaryExpression":return De(e,t);case"LogicalExpression":return Ge(e,t);case"ArrayExpression":return Re(e,t);case"ObjectExpression":return fe(e,t);case"MemberAccessChainExpression":return Te(e,t);case"SafeMemberExpression":throw ne().error("SafeMemberExpression outside of MemberAccessChainExpression"),new d("Unrecognized",t);default:throw new d("Unrecognized",t)}}function pe(e,t){switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclaration":return Ae(e,t);case"BlockStatement":return Ce(e,t);case"FunctionDeclaration":return je(e,t);case"ImportDeclaration":return Oe(e,t);case"ExportNamedDeclaration":return pe(e,t.declaration);case"ReturnStatement":return Me(e,t);case"IfStatement":return Fe(e,t);case"ExpressionStatement":return xe(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"ForStatement":return be(e,t);case"ForInStatement":return ye(e,t);case"ForOfStatement":return we(e,t);case"WhileStatement":return ve(e,t);default:throw new d("Unrecognized",t)}}function fe(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];let a;a="Identifier"===o.key.type?"'"+o.key.name+"'":me(e,o.key);r>0&&(n+=","),n+="lang.strCheck("+a+",'ObjectExpression'),lang.aCheck("+me(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function de(e,t,n,r,o=(e,t)=>`${e} = ${t}`){const a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId();return[`var ${a} = ${n};`,`for (var ${s} = 0; ${s} < ${a}; ${s}++) {`,` ${o(t,s)}`,` ${pe(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function ge(e,t,n,r,o=e=>e){const a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId();return[`var ${a} = ${n};`,`for (var ${s} of ${a}) {`,` ${t} = ${o(s)};`,` ${pe(e,r)}`,"}","lastStatement = lc.voidOperation;"].join("\n")}function he(e,t,n,r){const o=e.symbols.nextTempVarId(),a=e.symbols.nextTempVarId(),s=e.symbols.nextTempVarId(),l=e.symbols.nextTempVarId();return[`var ${o} = yield ${n}.queryAll(runtimeCtx.abortSignal);`,`var ${a} = { done: false, value: [] };`,`for (var ${s} = 0; ${s} < ${a}.value.length || ((${s} = 0), !(${a} = yield ${o}.next()).done); ${s}++) {`,` if (${a}.value.length === 0) continue;`,` var ${l} = ${a}.value[${s}];`,` ${t} = lang.createFeature(${l}, ${n}, runtimeCtx);`,` ${pe(e,r)}`,"}"].join("\n")}function ye(e,t){const n=e.symbols.nextTempVarId();let r,o,a="var "+n+" = "+me(e,t.right)+";\n";switch("VariableDeclaration"===t.left.type?(r=se(e,t.left.declarations[0].id),a+=pe(e,t.left)):r=ae(e,t.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d("NeverReach",t.left)}return a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {\n",a+=de(e,o,`${n}.length`,t.body),a+="}\n",a+="else if (lc.isImmutableArray("+n+")) {\n",a+=de(e,o,`${n}.length()`,t.body),a+="}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || lc.isDictionaryLike("+n+")) {\n",a+=ge(e,o,`${n}.keys()`,t.body),a+="}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {\n",a+=he(e,o,n,t.body),a+="}\n"),a+=`else if (lc.isGeometry(${n})) {\n`,a+=ge(e,o,`lang.getGeometryKeys(${n})`,t.body),a+="}\n",a+="else { lastStatement = lc.voidOperation; } \n",a}function we(e,t){const n=e.symbols.nextTempVarId();let r,o,a="var "+n+" = "+me(e,t.right)+";\n";switch("VariableDeclaration"===t.left.type?(r=se(e,t.left.declarations[0].id),a+=pe(e,t.left)):r=ae(e,t.left),r.scope){case"local":o=`lscope['${r.var}']`;break;case"global":o=`gscope['${r.var}']`;break;default:throw r.scope,new d("NeverReach",t.left)}return a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {\n",a+=de(e,o,`${n}.length`,t.body,(e,t)=>[`if (${t} >= ${n}.length) {`," lang.error('OutOfBounds');","}",`${e} = ${n}[${t}];`].join("\n")),a+="}\n",a+="else if (lc.isImmutableArray("+n+")) {\n",a+=de(e,o,`${n}.length()`,t.body,(e,t)=>`${e} = ${n}.get(${t});`),a+="}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || lc.isDictionaryLike("+n+")) {\n",a+=ge(e,o,`${n}.keys()`,t.body,e=>`lang.entry(${e}, ${n}.field(${e}))`),a+="}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {\n",a+=he(e,o,n,t.body),a+="}\n"),a+=`else if (lc.isGeometry(${n})) {\n`,a+=ge(e,o,`lang.getGeometryKeys(${n})`,t.body,e=>`lang.entry(${e}, lang.getGeometryMember(${n}, ${e}))`),a+="}\n",a+="else { lastStatement = lc.voidOperation; } \n",a}function be(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&("VariableDeclaration"===t.init.type?n+=pe(e,t.init):n+=me(e,t.init)+"; ");const r=e.symbols.nextTempVarId(),o=e.symbols.nextTempVarId();return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+me(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+me(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error('BooleanConditionRequired'); }\n"),n+=pe(e,t.body),null!==t.update&&(n+="\n "+me(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function $e(e,t){if("CallExpression"===t.argument.type)throw new d("NeverReach",t);let n;if("MemberExpression"===t.argument.type){const r=me(e,t.argument.object);return n=!0===t.argument.computed?me(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+r+","+n+",'"+t.operator+"',"+t.prefix+")"}const r=ae(e,t.argument);switch(ke(r),r.scope){case"local":return`lang.update(lscope, '${r.var}', '${t.operator}', ${t.prefix})`;case"global":return`lang.update(gscope, '${r.var}', '${t.operator}', ${t.prefix})`;default:throw r.scope,new d("NeverReach",t.argument)}}function ve(e,t){let n="lastStatement = lc.voidOperation; \n";const r=e.symbols.nextTempVarId();return n+=`\n var ${r} = true;\n do {\n ${r} = ${me(e,t.test)};\n if (${r}==false) {\n break;\n }\n if (${r}!==true) {\n lang.error('BooleanConditionRequired');\n }\n ${pe(e,t.body)}\n }\n while (${r} !== false);\n lastStatement = lc.voidOperation;\n `,n}function Se(e,t){const n=me(e,t.right);if("MemberExpression"===t.left.type){let r;const o=me(e,t.left.object);return r=!0===t.left.computed?me(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+o+","+r+",'"+t.operator+"',"+n+")"}const r=ae(e,t.left);switch(ke(r),r.scope){case"local":return`lscope['${r.var}']=lang.assign(${n},'${t.operator}', ${"="===t.operator?"null":ot(`lscope['${r.var}']`)})`;case"global":return`gscope['${r.var}']=lang.assign(${n},'${t.operator}', ${"="===t.operator?"null":ot(`gscope['${r.var}']`)})`;default:throw r.scope,new d("NeverReach",t.left)}}function xe(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+me(e,t.expression)+"; \n ":"lastStatement = "+me(e,t.expression)+"; "}function Ie(e,t){return"BlockStatement"===t.type?pe(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?pe(e,t)+"; ":"ExpressionStatement"===t.type?pe(e,t):pe(e,t)+"; "}function Fe(e,t){return`if (lang.mustBoolean(${me(e,t.test)}) === true) {\n ${Ie(e,t.consequent)}\n } `+(null!==t.alternate?"IfStatement"===t.alternate.type?" else "+Fe(e,t.alternate):` else {\n ${Ie(e,t.alternate)}\n }\n`:" else {\n lastStatement = lc.voidOperation;\n }\n")}function Ce(e,t){let n="";for(let r=0;r<t.body.length;r++)"EmptyStatement"!==t.body[r].type&&("ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=pe(e,t.body[r])+"; \n":n+=pe(e,t.body[r])+" \n");return n}function Me(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+me(e,t.argument)}function Oe(e,t){const n=se(e,t.specifiers[0].local,"global"),r=e.libraryResolver?.loadLibrary(n.name),o=e.symbols.nextVarId();void 0===e.moduleFactory[r.uri]&&(e.moduleFactory[r.uri]=ut(r.syntax,e.moduleFactory,e.isAsync)),e.moduleFactoryMap[o]=r.uri;let a="";return a=e.isAsync?"(yield lang.loadModule('"+o+"', runtimeCtx) ); ":"lang.loadModule('"+o+"', runtimeCtx); ",ke(n),`gscope['${n.var}']=${a}`}function ke(e){if("global"===e.scope)switch(e.name){case"iif":case"when":case"defaultvalue":case"decode":throw new g}}function je(t,n){const r=new Set(n.params.map(t=>e(t))),o=new Set(a(n).keys());J(o,r);const s=t.symbols,l=new Map;for(const e of o)l.set(e,s.nextVarId());const i=s.nextLocalsSymbolMapId();t.allLocalSymbolMetadata.set(i,l);const c={...t,localScope:l},u=[`lscope._SymbolsMapId = ${JSON.stringify(i)};`];for(let e=0;e<n.params.length;e++){const t=se(c,n.params[e],"local");ke(t),u.push(`lscope['${t.var}'] = arguments[${e}];`)}for(const[e,a]of l)r.has(e)||u.push(`lscope['${a}'] = ${rt};`);const m=Ce(c,n.body),p=!0===t.isAsync?["return lang.__awaiter(this, void 0, void 0, function* () {",` ${m}`," return lastStatement;","});"]:[m,"return lastStatement;"],f=["new lang.UserDefinedCompiledFunction("," lang.functionDepthchecker("," function() {"," var lastStatement = lc.voidOperation;"," var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];",...u,...p," },"," runtimeCtx,"," ),",` ${n.params.length},`,")"].join("\n"),d=se(t,n.id,"global");return ke(d),`gscope['${d.var}']=${f}; lastStatement = lc.voidOperation;`}function Ae(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(Ee(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function Ee(e,t){const n=null===t.init?"null":me(e,t.init),r=se(e,t.id);switch(ke(r),r.scope){case"local":return`lscope['${r.var}']=${n};`;case"global":return`gscope['${r.var}']=${n};`;default:throw r.scope,new d("NeverReach",t.id)}}function Ne(e,t){return Be(e,me(e,t.object),t)}function Be(e,t,n){return`lang.member(${t}, ${n.computed?me(e,n.property):`'${n.property.name}'`})`}function _e(e,t,n){for(const r of n)switch(r.type){case"MemberExpression":t=Be(e,t,r);break;case"CallExpression":t=qe(e,t,r.arguments);break;default:throw new d("Unrecognized",r)}return t}function Ve(e,t,n){return`lang.tryMember(${t}, ${n.computed?me(e,n.property):`'${n.property.name}'`})`}function Te(e,t){const n=s(t);let r="",o=me(e,n.root);for(const a of n.sections)r+=`(${e.symbols.safeAccessTempVarId} = ${Ve(e,o,a.checked)}) == null ? null : `,o=_e(e,e.symbols.safeAccessTempVarId,a.unchecked);return`(${r}${o})`}function Le(e,t){try{return"lang.unary("+me(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function Re(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(me(e,t.elements[r])):n.push("lang.aCheck("+me(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Ue(e,t){try{const n=[];let r=0;for(const o of t.quasis)n.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(n.push(t.expressions[r]?"lang.castString(lang.aCheck("+me(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function De(e,t){try{return"lang.binary("+me(e,t.left)+","+me(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Ge(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new d("LogicalExpressionOnlyBoolean",t);if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new d("LogicalExpressionOnlyBoolean",t);if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+me(e,t.left)+") "+t.operator+" lang.logicalCheck("+me(e,t.right)+"))";throw new d("LogicExpressionOrAnd",null)}catch(n){throw n}}function ze(e,t){const n=ae(e,t);switch(ke(n),n.scope){case"local":return ot(`lscope['${n.var}']`);case"global":return ot(`gscope['${n.var}']`);default:throw n.scope,new d("NeverReach",t)}}function Pe(e,t){if("Identifier"===t.callee.type){const n=ae(e,t.callee,"FunctionNotFound");if("global"===n.scope)switch(n.name){case"iif":return We(e,t);case"when":return Ze(e,t);case"defaultvalue":return Ke(e,t);case"decode":return Je(e,t)}}return qe(e,me(e,t.callee),t.arguments)}function qe(e,t,n){const r=`lang.callfunc(${t}, [${n.map(t=>me(e,t)).join(", ")}], runtimeCtx)`;return e.isAsync?`(yield ${r})`:r}function We(e,t){try{if(3!==t.arguments.length)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${me(e,t.arguments[0])};\n\n if (${n} === true) {\n return ${me(e,t.arguments[1])};\n }\n else if (${n} === false) {\n return ${me(e,t.arguments[2])};\n }\n else {\n lang.error('ExecutionErrorCodes.BooleanConditionRequired');\n }\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Ke(e,t){try{if(t.arguments.length<2||t.arguments.length>3)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId(),r=e.symbols.nextTempVarId();return 3===t.arguments.length?`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${me(e,t.arguments[0])};\n var ${r} = ${me(e,t.arguments[1])};\n ${n} = lang.getNestedOptionalValue(${n}, ${r});\n return ${n} != null && ${n} !== "" ? ${n} : ${me(e,t.arguments[2])};\n ${e.isAsync?"})}()))":"}()"}`:`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${me(e,t.arguments[0])};\n if (${n} === null) {\n return ${me(e,t.arguments[1])};\n }\n if (${n} === "") {\n return ${me(e,t.arguments[1])};\n }\n if (${n} === undefined) {\n return ${me(e,t.arguments[1])};\n }\n return ${n};\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Ze(e,t){try{if(t.arguments.length<3)throw new d("WrongNumberOfParameters",t);if(t.arguments.length%2==0)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();let r="var ";for(let o=0;o<t.arguments.length-1;o+=2)r+=`${n} = lang.mustBoolean(${me(e,t.arguments[o])});\n if (${n} === true ) {\n return ${me(e,t.arguments[o+1])}\n }\n`;return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n ${r}\n return ${me(e,t.arguments[t.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Je(e,t){try{if(t.arguments.length<2)throw new d("WrongNumberOfParameters",t);if(2===t.arguments.length)return`(${me(e,t.arguments[1])})`;if((t.arguments.length-1)%2==0)throw new d("WrongNumberOfParameters",t);const n=e.symbols.nextTempVarId();let r;if(t.arguments.every((e,t)=>t%2==0||"Literal"===e.type)){r=`switch (${n}) {`;for(let n=1;n<t.arguments.length-1;n+=2){const o=t.arguments[n],a=t.arguments[n+1];null==o.value?r+="\n case null:\n case lc.voidOperation:\n ":r+=`\n case ${JSON.stringify(o.value)}:\n `,r+=`return ${me(e,a)}`}r+="}"}else{const o=e.symbols.nextTempVarId();r="var ";for(let a=1;a<t.arguments.length-1;a+=2){const s=t.arguments[a],l=t.arguments[a+1];r+=`${o} = ${me(e,s)};\n if (lang.binary(${o}, ${n}, "==") === true ) {\n return ${me(e,l)}\n }\n `}}return`${e.isAsync?"(yield (function() { \n return lang.__awaiter(this, void 0, void 0, function* () {":"function() {"}\n var ${n} = ${me(e,t.arguments[0])};\n ${r}\n return ${me(e,t.arguments[t.arguments.length-1])}\n ${e.isAsync?"})}()))":"}()"}`}catch(n){throw n}}function Ye(e,t){try{return ce(e,t,(e,t)=>{throw new f("Unrecognized",t)})}catch(n){throw n}}function He(e){const t=function(){this.textformatting=p.textFormatting()};t.prototype=Object.create(null),t.provided=new Set(["textformatting","infinity","nan","pi"]),t.prototype.infinity=Number.POSITIVE_INFINITY,t.prototype.nan=Number.NaN,t.prototype.pi=Math.PI;for(const[n,r]of Object.entries(e))t.prototype[n]=new y(r),t.provided.add(n);return t}function Qe(){const e=Object.create(null);L(e,ce),q(e,ce),R(e,ce,le),G(e,ce),U(e,ce),P(e,ce),W(e,ce),e.iif=Ye,e.decode=Ye,e.when=Ye,e.defaultvalue=Ye;const t=He(e);D(e,ce);return{ScopeSync:He(e),ScopeAsync:t}}const{ScopeSync:Xe,ScopeAsync:et}=Qe();function tt(e,t){const n={mode:t,compiled:!0,functions:Object.create(null),signatures:[],standardFunction:ce,standardFunctionAsync:ce,evaluateIdentifier:le};for(const r of e)r.registerFunctions(n);if("sync"===t)for(const[r,o]of Object.entries(n.functions))Xe.prototype[r]=new y(o),Xe.provided.add(r);else for(const[r,o]of Object.entries(n.functions))et.prototype[r]=new y(o),et.provided.add(r);for(const r of n.signatures)_(r,t)}tt([T],"sync"),tt([T],"async"),tt([V],"async"),tt([z],"async");const nt=Symbol("uninitialized"),rt="lang.uninitialized";function ot(e){return`lang.requireInitialized(${e})`}const at={uninitialized:nt,requireInitialized(e){if(e===nt)throw new f("InvalidIdentifier",null);return e},isNumber:e=>X(e),isArray:e=>Q(e),isImmutableArray:e=>F(e),isDictionaryLike:e=>B(e),isString:e=>ee(e),isDictionary:e=>N(e),isGeometry:e=>E(e),getGeometryKeys:e=>m(e),getGeometryMember:(e,t)=>u(e,t),error(e){throw new f(e,null)},__awaiter(e,t,n,r){const o=r.apply(e,t||[]);let a=o.next();for(;!a.done&&!Z(a.value);)a=o.next(a.value);return a.done?a.value:new Promise((e,t)=>{function n(r){for(;!r.done;){if(Z(r.value))return void Promise.resolve(r.value).then(e=>{try{n(o.next(e))}catch(r){t(r)}},e=>{try{n(o.throw(e))}catch(r){t(r)}});try{r=o.next(r.value)}catch(a){return void t(a)}}e(r.value)}n(a)})},functionDepthchecker:(e,t)=>function(){if(t.depthCounter.depth++,t.localStack.push({}),t.depthCounter.depth>64)throw new f("MaximumCallDepth",null);const n=e.apply(this,arguments);return Z(n)?n.then(e=>(t.depthCounter.depth--,t.localStack.length=t.localStack.length-1,e)):(t.depthCounter.depth--,t.localStack.length=t.localStack.length-1,n)},mustBoolean(e){if(!0===e||!1===e)return e;throw new f("BooleanConditionRequired",null)},castString:e=>M(e),aCheck(e,t){if(x(e)){if("ArrayExpression"===t)throw new f("NoFunctionInArray",null);if("ObjectExpression"===t)throw new f("NoFunctionInDictionary",null);throw new f("NoFunctionInTemplateLiteral",null)}return e===O?null:e},Dictionary:p,Feature:h,UserDefinedCompiledFunction:ie,dictionary(e){const t=Object.create(null),n=new Map;for(let o=0;o<e.length;o+=2){if(x(e[o+1]))throw new f("NoFunctionInDictionary",null);if(!1===ee(e[o]))throw new f("KeyMustBeString",null);let r=e[o].toString();const a=r.toLowerCase();n.has(a)?r=n.get(a):n.set(a,r),e[o+1]===O?t[r]=null:t[r]=e[o+1]}const r=new p(t);return r.immutable=!1,r},entry:(e,t)=>p.containerEntry(e,t),strCheck(e){if(!1===ee(e))throw new f("KeyMustBeString",null);return e},unary(e,t){if(te(e)){if("!"===t)return!e;if("-"===t)return-1*C(e);if("+"===t)return 1*C(e);if("~"===t)return~C(e);throw new f("UnsupportUnaryOperator",null)}if("-"===t)return-1*C(e);if("+"===t)return 1*C(e);if("~"===t)return~C(e);throw new f("UnsupportUnaryOperator",null)},logicalCheck(e){if(!1===te(e))throw new f("LogicExpressionOrAnd",null);return e},logical(e,t,n){if(te(e)&&te(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new f("LogicExpressionOrAnd",null)}throw new f("LogicExpressionOrAnd",null)},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return A(C(e),C(t),n);case"==":return j(e,t);case"!=":return!j(e,t);case"<":case">":case"<=":case">=":return k(e,t,n);case"+":return ee(e)||ee(t)?M(e)+M(t):C(e)+C(t);case"-":return C(e)-C(t);case"*":return C(e)*C(t);case"/":return C(e)/C(t);case"%":return C(e)%C(t);default:throw new f("UnsupportedOperator",null)}},assign(e,t,n){switch(t){case"=":return e===O?null:e;case"/=":return C(n)/C(e);case"*=":return C(n)*C(e);case"-=":return C(n)-C(e);case"+=":return ee(n)||ee(e)?M(n)+M(e):C(n)+C(e);case"%=":return C(n)%C(e);default:throw new f("UnsupportedOperator",null)}},update(e,t,n,r){const o=C(this.requireInitialized(e[t]));return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},createFeature:(e,t,n)=>h.createFromGraphicLikeObject(e.geometry,e.attributes,t,n.timeZone),memberupdate(e,t,n,r){let o;if(Q(e)){if(!X(t))throw new f("ArrayAccessMustBeNumber",null);if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new f("OutOfBounds",null);o=C(e[t]),e[t]="++"===n?o+1:o-1}else if(e instanceof p){if(!1===ee(t))throw new f("KeyAccessorMustBeString",null);if(!0!==e.hasField(t))throw new f("FieldNotFound",null,{key:t});o=C(e.field(t)),e.setField(t,"++"===n?o+1:o-1)}else if(I(e)){if(!1===ee(t))throw new f("KeyAccessorMustBeString",null);if(!0!==e.hasField(t))throw new f("FieldNotFound",null,{key:t});o=C(e.field(t)),e.setField(t,"++"===n?o+1:o-1)}else{if(F(e))throw new f("Immutable",null);if(!(e instanceof ct))throw new f("InvalidIdentifier",null);if(!1===ee(t))throw new f("ModuleAccessorMustBeString",null);if(!0!==e.hasGlobal(t))throw new f("ModuleExportNotFound",null);o=C(e.global(t)),e.setGlobal(t,"++"===n?o+1:o-1)}return!1===r?o:"++"===n?o+1:o-1},assignmember(e,t,n,r){if(Q(e)){if(!X(t))throw new f("ArrayAccessMustBeNumber",null);if(t<0&&(t=e.length+t),t<0||t>e.length)throw new f("OutOfBounds",null);if(t===e.length){if("="!==n)throw new f("OutOfBounds",null);e[t]=this.assign(r,n,e[t])}else e[t]=this.assign(r,n,e[t])}else if(e instanceof p){if(!1===ee(t))throw new f("KeyAccessorMustBeString",null);if(!0===e.hasField(t))e.setField(t,this.assign(r,n,e.field(t)));else{if("="!==n)throw new f("FieldNotFound",null,{key:t});e.setField(t,this.assign(r,n,null))}}else if(I(e)){if(!1===ee(t))throw new f("KeyAccessorMustBeString",null);if(!0===e.hasField(t))e.setField(t,this.assign(r,n,e.field(t)));else{if("="!==n)throw new f("FieldNotFound",null,{key:t});e.setField(t,this.assign(r,n,null))}}else{if(F(e))throw new f("Immutable",null);if(!(e instanceof ct))throw new f("InvalidIdentifier",null);if(!1===ee(t))throw new f("ModuleAccessorMustBeString",null);if(!e.hasGlobal(t))throw new f("ModuleExportNotFound",null);e.setGlobal(t,this.assign(r,n,e.global(t)))}},member:(e,t)=>c(e,t),tryMember:(e,t)=>i(e,t),callfunc(e,t,n){if(x(e))return e.call(n,{arguments:t,preparsed:!0});throw new f("CallNonFunction",null)},loadModule(e,t){const n=t.moduleFactoryMap[e];if(t.moduleSingletons[n])return t.moduleSingletons[n];const r=t.moduleFactory[n]({moduleSingletons:t.moduleSingletons,depthCounter:t.depthCounter,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,console:t.console,abortSignal:t.abortSignal,timeZone:t.timeZone??null,spatialReference:t.spatialReference});return t.moduleSingletons[n]=r,r},getNestedOptionalValue:(e,t)=>l(e,t)};function st(e){console.log(e)}function lt(n,o,a=!1){let s=null;n.usesModules&&(s=new r(null,n.loadedModules));const l=Object.create(null),i=new Set(Object.keys(o?.vars||{}).map(t=>e(t))),c=new Set(Object.keys(o?.customfunctions||{}).map(t=>e(t))),u=ue(n,a?et.provided:Xe.provided,new Set([...i,...c]),a,s,l);let m;m=a?["var runtimeCtx = this.prepare(context, true);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","return lang.__awaiter(this, void 0, void 0, function* () {"," function mainBody() {"," return lang.__awaiter(this, void 0, void 0, function* () {",` ${u.body}`," });"," }"," return this.postProcess(yield mainBody());","});"].join("\n"):["var runtimeCtx = this.prepare(context, false);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","function mainBody() {",` ${u.body}`,"}","return this.postProcess(mainBody());"].join("\n");const{symbolMetadata:p,moduleFactoryMap:d}=u,g={lc:v,lang:at,postProcess(e){if(S(e))return null;if(x(e))throw new f("IllegalResult",null);return e},prepare(e,n){const r=e.spatialReference??Y.WebMercator,o=n?new et:new Xe;for(const t of c)null!=e.customfunctions&&t in e.customfunctions?o[t]=e.customfunctions[t]??null:o[t]=nt;for(const t of i){if(null==e.vars||!(t in e.vars)){t in o||(o[t]=nt);continue}const n=e.vars[t]??null;H(n)?o[t]=h.createFromGraphic(n,e.timeZone??null):o[t]=n}return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??st,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:r,track:e.track,globalScope:o,localStack:[],depthCounter:{depth:1},symbolMetadata:p,moduleFactory:l,moduleFactoryMap:d,moduleSingletons:Object.create(null)}}};return new Function("context",m).bind(g)}async function it(){return tt([await(import("./functions/geomasync.js"))],"async"),!0}class ct extends n{constructor(e){super(),this.moduleContext=e}hasGlobal(t){const n=this.moduleContext.symbolMetadata.exports;return n.has(t)||n.has(e(t))}setGlobal(t,n){if(x(n))throw new f("AssignModuleFunction",null);const r=this.moduleContext.symbolMetadata.globals.get(e(t));if(null==r)throw new f("ModuleExportNotFound",null);this.moduleContext.globalScope[r]=n}global(t){const n=this.moduleContext.symbolMetadata.globals.get(e(t));if(null==n)throw new f("ModuleExportNotFound",null);const r=this.moduleContext.globalScope,o=at.requireInitialized(r[n]);if(x(o)&&!(o instanceof b)){const e=new b;return e.fn=o,e.parameterEvaluator=ce,e.context=this.moduleContext,r[n]=e,e}return o}}function ut(e,n,o){const a=new r(null,e.loadedModules),s=ue(e,o?et.provided:Xe.provided,new Set,o,a,n);let l;l=o?["var runtimeCtx = this.prepare(context, true);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","return lang.__awaiter(this, void 0, void 0, function* () {"," function mainBody() {"," return lang.__awaiter(this, void 0, void 0, function* () {",` ${s.body}`," });"," }"," yield mainBody();"," return this.prepareModule(runtimeCtx);","});"].join("\n"):["var runtimeCtx = this.prepare(context, false);","var lc = this.lc;","var lang = this.lang;","var gscope = runtimeCtx.globalScope;","function mainBody() {",` ${s.body}`,"}","mainBody();","return this.prepareModule(runtimeCtx);"].join("\n");const{symbolMetadata:i,moduleFactoryMap:c}=s,u={lc:v,lang:at,prepareModule:e=>new ct(e),prepare(e,r){const o=e.spatialReference??Y.WebMercator,a=r?new et:new Xe;return{lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,console:e.console??st,abortSignal:e.abortSignal??t,timeZone:e.timeZone??null,spatialReference:o,track:null,globalScope:a,localStack:[],depthCounter:e.depthCounter,symbolMetadata:i,moduleFactory:n,moduleFactoryMap:c,moduleSingletons:e.moduleSingletons}}};return new Function("context",l).bind(u)}export{ie as UserDefinedCompiledFunction,lt as compileScript,it as enableAsyncSupport,tt as extend};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import"../containerUtils.js";import"../Dictionary.js";import"../enum.js";import"../executionError.js";import"../../chunks/languageUtils.js";import"../portalUtils.js";import"../../core/Logger.js";import"../../support/guards.js";export{r as registerFunctions}from"../../chunks/portal.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{toSymbolId as e}from"./arcadeEnvironment.js";const n={all:{min:2,max:2},time:{min:0,max:4},dateonly:{min:0,max:3},getenvironment:{min:0,max:0},none:{min:2,max:2},any:{min:2,max:2},reduce:{min:2,max:3},map:{min:2,max:2},filter:{min:2,max:2},fromcodepoint:{min:1,max:-1},fromcharcode:{min:1,max:-1},tocodepoint:{min:1,max:2},tocharcode:{min:1,max:2},concatenate:{min:0,max:-1},expects:{min:1,max:-1},getfeatureset:{min:1,max:2},week:{min:1,max:2},fromjson:{min:1,max:1},length3d:{min:1,max:2},tohex:{min:1,max:1},hash:{min:1,max:1},timezone:{min:1,max:1},timezoneoffset:{min:1,max:1},changetimezone:{min:2,max:2},isoweek:{min:1,max:1},isoweekday:{min:1,max:1},hasvalue:{min:2,max:2},isomonth:{min:1,max:1},isoyear:{min:1,max:1},resize:{min:2,max:3},slice:{min:0,max:-1},splice:{min:0,max:-1},push:{min:2,max:2},pop:{min:1,max:1},includes:{min:2,max:2},array:{min:0,max:2},front:{min:1,max:1},back:{min:1,max:1},insert:{min:3,max:3},erase:{min:2,max:2},split:{min:2,max:4},guid:{min:0,max:1},standardizeguid:{min:2,max:2},today:{min:0,max:0},angle:{min:2,max:3},bearing:{min:2,max:3},urlencode:{min:1,max:1},now:{min:0,max:0},timestamp:{min:0,max:0},day:{min:1,max:1},month:{min:1,max:1},year:{min:1,max:1},hour:{min:1,max:1},second:{min:1,max:1},millisecond:{min:1,max:1},minute:{min:1,max:1},weekday:{min:1,max:1},toutc:{min:1,max:1},tolocal:{min:1,max:1},date:{min:0,max:8},datediff:{min:2,max:4},dateadd:{min:2,max:3},trim:{min:1,max:1},text:{min:1,max:2},left:{min:2,max:2},right:{min:2,max:2},mid:{min:2,max:3},upper:{min:1,max:1},proper:{min:1,max:2},lower:{min:1,max:1},find:{min:2,max:3},iif:{min:3,max:3},decode:{min:2,max:-1},when:{min:2,max:-1},defaultvalue:{min:2,max:3},isempty:{min:1,max:1},domaincode:{min:2,max:4},domainname:{min:2,max:4},polygon:{min:1,max:1},point:{min:1,max:1},polyline:{min:1,max:1},extent:{min:1,max:1},multipoint:{min:1,max:1},ringisclockwise:{min:1,max:1},geometry:{min:1,max:1},count:{min:0,max:-1},number:{min:1,max:2},acos:{min:1,max:1},asin:{min:1,max:1},atan:{min:1,max:1},atan2:{min:2,max:2},ceil:{min:1,max:2},floor:{min:1,max:2},round:{min:1,max:2},cos:{min:1,max:1},exp:{min:1,max:1},log:{min:1,max:1},min:{min:0,max:-1},constrain:{min:3,max:3},console:{min:0,max:-1},max:{min:0,max:-1},pow:{min:2,max:2},random:{min:0,max:0},sqrt:{min:1,max:1},sin:{min:1,max:1},tan:{min:1,max:1},abs:{min:1,max:1},isnan:{min:1,max:1},stdev:{min:0,max:-1},average:{min:0,max:-1},mean:{min:0,max:-1},sum:{min:0,max:-1},variance:{min:0,max:-1},distinct:{min:0,max:-1},first:{min:1,max:1},top:{min:2,max:2},boolean:{min:1,max:1},dictionary:{min:0,max:-1},typeof:{min:1,max:1},reverse:{min:1,max:1},replace:{min:3,max:4},sort:{min:1,max:2},feature:{min:1,max:-1},haskey:{min:2,max:2},indexof:{min:2,max:2},disjoint:{min:2,max:2},intersects:{min:2,max:2},touches:{min:2,max:2},crosses:{min:2,max:2},within:{min:2,max:2},contains:{min:2,max:2},overlaps:{min:2,max:2},equals:{min:2,max:2},relate:{min:3,max:3},intersection:{min:2,max:2},union:{min:1,max:2},difference:{min:2,max:2},symmetricdifference:{min:2,max:2},clip:{min:2,max:2},cut:{min:2,max:2},area:{min:1,max:2},areageodetic:{min:1,max:2},length:{min:1,max:2},lengthgeodetic:{min:1,max:2},distancegeodetic:{min:2,max:3},distance:{min:2,max:3},densify:{min:2,max:3},densifygeodetic:{min:2,max:3},generalize:{min:2,max:4},buffer:{min:2,max:3},buffergeodetic:{min:2,max:3},offset:{min:2,max:6},rotate:{min:2,max:3},issimple:{min:1,max:1},simplify:{min:1,max:1},convexhull:{min:1,max:1},centroid:{min:1,max:1},nearestcoordinate:{min:2,max:2},nearestvertex:{min:2,max:2},isselfintersecting:{min:1,max:1},multiparttosinglepart:{min:1,max:1},setgeometry:{min:2,max:2},portal:{min:1,max:1},getuser:{min:0,max:2},subtypes:{min:1,max:1},subtypecode:{min:1,max:1},subtypename:{min:1,max:1},domain:{min:2,max:3},convertdirection:{min:3,max:3},sqltimestamp:{min:1,max:3},schema:{min:1,max:1},measuretocoordinate:{min:2,max:2},distancetocoordinate:{min:2,max:2},pointtocoordinate:{min:2,max:2}},a={functionDefinitions:new Map,constantDefinitions:new Map},t={functionDefinitions:new Map,constantDefinitions:new Map};for(const k of["pi","infinity"])t.constantDefinitions.set(k,{type:"constant"}),a.constantDefinitions.set(k,{type:"constant"});t.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"newline",type:"constant"}]}),a.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"newline",type:"constant"}]});for(const k in n){const e=n[k];t.functionDefinitions.set(k,{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]}),a.functionDefinitions.set(k,{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]})}const i=new Set(["attachments","featureset","featuresetbyassociation","featuresetbyid","featuresetbyname","featuresetbyportalitem","featuresetbyrelationshipname","featuresetbyurl","filterbysubtypecode","getfeatureset","getfeaturesetinfo","getuser","knowledgegraphbyportalitem","querygraph"]),m=new Set(["translatetext"]),s=new Set(["area","areageodetic","buffer","buffergeodetic","centroid","clip","contains","convexhull","crosses","cut","densify","densifygeodetic","difference","disjoint","distance","distancegeodetic","distancetocoordinate","equals","generalize","intersection","intersects","isselfintersecting","issimple","length","length3d","lengthgeodetic","measuretocoordinate","multiparttosinglepart","nearestcoordinate","nearestvertex","offset","overlaps","pointtocoordinate","relate","rotate","simplify","symmetricdifference","touches","union","within"]);function o(e,n){const i="sync"===n?a:t;i.functionDefinitions.has(e.name.toLowerCase())?i.functionDefinitions.get(e.name.toLowerCase())?.overloads.push({type:"function",parametersInfo:{min:e.min,max:e.max}}):i.functionDefinitions.set(e.name.toLowerCase(),{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]})}function r(e,n){if(e)for(const a of e)c(a,n)}function c(e,n){if(e&&!1!==n(e))switch(e.type){case"ImportDeclaration":r(e.specifiers,n),c(e.source,n);break;case"ExportNamedDeclaration":c(e.declaration,n);break;case"ArrayExpression":r(e.elements,n);break;case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":c(e.left,n),c(e.right,n);break;case"BlockStatement":case"Program":r(e.body,n);break;case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"Identifier":case"Literal":break;case"CallExpression":c(e.callee,n),r(e.arguments,n);break;case"ExpressionStatement":case"MemberAccessChainExpression":c(e.expression,n);break;case"ForInStatement":case"ForOfStatement":c(e.left,n),c(e.right,n),c(e.body,n);break;case"ForStatement":c(e.init,n),c(e.test,n),c(e.update,n),c(e.body,n);break;case"WhileStatement":c(e.test,n),c(e.body,n);break;case"FunctionDeclaration":c(e.id,n),r(e.params,n),c(e.body,n);break;case"IfStatement":c(e.test,n),c(e.consequent,n),c(e.alternate,n);break;case"MemberExpression":case"SafeMemberExpression":c(e.object,n),c(e.property,n);break;case"ObjectExpression":r(e.properties,n);break;case"Property":c(e.key,n),c(e.value,n);break;case"ReturnStatement":case"UnaryExpression":case"UpdateExpression":c(e.argument,n);break;case"VariableDeclaration":r(e.declarations,n);break;case"VariableDeclarator":c(e.id,n),c(e.init,n);break;case"TemplateLiteral":r(e.expressions,n),r(e.quasis,n)}}function x(e){return"Literal"===e?.type&&"string"==typeof e.value}function l(e,n){let a=!1;const t=n.toLowerCase();return c(e,e=>!a&&("Identifier"===e.type&&e.name&&e.name.toLowerCase()===t&&(a=!0),!0)),a}function u(n){const a=[];return c(n,n=>("ImportDeclaration"===n.type&&n.source&&n.source.value&&a.push({libname:e(n.specifiers[0].local),source:n.source.value}),!0)),a}function p(e,n){let a=!1;const t=n.toLowerCase();return c(e,e=>!a&&("CallExpression"!==e.type||"Identifier"!==e.callee.type||!e.callee.name||e.callee.name.toLowerCase()!==t||(a=!0,!1))),a}function f(n){const a=[];return c(n,n=>"MemberExpression"!==n.type||"Identifier"!==n.object.type||(("Identifier"===n.property.type||"Literal"===n.property.type&&"string"==typeof n.property.value)&&a.push({varId:e(n.object),memberId:e(n.property)}),!1)),a}function d(n){const a=[];return c(n,n=>{if("CallExpression"===n.type&&"Identifier"===n.callee.type)switch(e(n.callee)){case"expects":if(n.arguments.length>1){const[t,...i]=n.arguments;if("Identifier"===t?.type){const n=e(t);for(const e of i)x(e)&&a.push({varId:n,memberNamePattern:e.value})}}return!1;case"domainname":case"domaincode":case"domain":case"haskey":case"hasvalue":if(n.arguments.length>=2){const[t,i]=n.arguments;"Identifier"===t?.type&&x(i)&&a.push({varId:e(t),memberNamePattern:i.value})}return!0;case"defaultvalue":if(n.arguments.length>2){const[t,i]=n.arguments;"Identifier"===t?.type&&x(i)&&a.push({varId:e(t),memberNamePattern:i.value})}return!0;default:return!0}return"MemberExpression"!==n.type||"Identifier"!==n.object.type||(n.computed?!!x(n.property)&&(a.push({varId:e(n.object),memberNamePattern:n.property.value}),!1):(a.push({varId:e(n.object),memberNamePattern:n.property.name}),!1))}),a}function y(e,n){const a=[];if(void 0!==n.params&&null!==n.params)for(let t=0;t<n.params.length;t++)a.push("any");return{name:e,return:"any",params:a}}function b(n){const a=[];return c(n,n=>("CallExpression"===n.type&&"Identifier"===n.callee.type&&a.push(e(n.callee)),!0)),a}function g(e,n=[]){let a=null;if(void 0===e.usesFeatureSet){null===a&&(a=b(e)),e.usesFeatureSet=!1;for(let n=0;n<a.length;n++)i.has(a[n])&&(e.usesFeatureSet=!0,e.isAsync=!0);if(!1===e.usesFeatureSet&&n&&n.length>0)for(const a of n)if(l(e,a)){e.usesFeatureSet=!0,e.isAsync=!0;break}}if(void 0===e.isAsync&&(null===a&&(a=b(e)),a.some(e=>m.has(e))&&(e.isAsync=!0)),void 0===e.usesModules){e.usesModules=!1;u(e).length>0&&(e.usesModules=!0)}if(void 0===e.usesGeometry){e.usesGeometry=!1,null===a&&(a=b(e));for(let n=0;n<a.length;n++)s.has(a[n])&&(e.usesGeometry=!0)}}function h(e){const n=b(e);for(let a=0;a<n.length;a++)if(i.has(n[a]))return!0;return!1}export{o as addFunctionDeclaration,y as extractFunctionDeclaration,d as findExpectedFieldLiterals,b as findFunctionCalls,f as findLiteralMemberAccesses,u as findModuleImports,g as findScriptDependencies,t as fullArcadeApiAsync,a as fullArcadeApiSync,p as referencesFunction,l as referencesMember,h as scriptUsesFeatureSet,c as walk};
2
+ import{toSymbolId as e}from"./arcadeEnvironment.js";const n={all:{min:2,max:2},time:{min:0,max:4},dateonly:{min:0,max:3},getenvironment:{min:0,max:0},none:{min:2,max:2},any:{min:2,max:2},reduce:{min:2,max:3},map:{min:2,max:2},filter:{min:2,max:2},fromcodepoint:{min:1,max:-1},fromcharcode:{min:1,max:-1},tocodepoint:{min:1,max:2},tocharcode:{min:1,max:2},concatenate:{min:0,max:-1},expects:{min:1,max:-1},getfeatureset:{min:1,max:2},week:{min:1,max:2},fromjson:{min:1,max:1},length3d:{min:1,max:2},tohex:{min:1,max:1},hash:{min:1,max:1},timezone:{min:1,max:1},timezoneoffset:{min:1,max:1},changetimezone:{min:2,max:2},isoweek:{min:1,max:1},isoweekday:{min:1,max:1},hasvalue:{min:2,max:2},isomonth:{min:1,max:1},isoyear:{min:1,max:1},resize:{min:2,max:3},slice:{min:0,max:-1},splice:{min:0,max:-1},push:{min:2,max:2},pop:{min:1,max:1},includes:{min:2,max:2},array:{min:0,max:2},front:{min:1,max:1},back:{min:1,max:1},insert:{min:3,max:3},erase:{min:2,max:2},split:{min:2,max:4},guid:{min:0,max:1},standardizeguid:{min:2,max:2},today:{min:0,max:0},angle:{min:2,max:3},bearing:{min:2,max:3},urlencode:{min:1,max:1},now:{min:0,max:0},timestamp:{min:0,max:0},day:{min:1,max:1},month:{min:1,max:1},year:{min:1,max:1},hour:{min:1,max:1},second:{min:1,max:1},millisecond:{min:1,max:1},minute:{min:1,max:1},weekday:{min:1,max:1},toutc:{min:1,max:1},tolocal:{min:1,max:1},date:{min:0,max:8},datediff:{min:2,max:4},dateadd:{min:2,max:3},trim:{min:1,max:1},text:{min:1,max:2},left:{min:2,max:2},right:{min:2,max:2},mid:{min:2,max:3},upper:{min:1,max:1},proper:{min:1,max:2},lower:{min:1,max:1},find:{min:2,max:3},iif:{min:3,max:3},decode:{min:2,max:-1},when:{min:2,max:-1},defaultvalue:{min:2,max:3},isempty:{min:1,max:1},domaincode:{min:2,max:4},domainname:{min:2,max:4},polygon:{min:1,max:1},point:{min:1,max:1},polyline:{min:1,max:1},extent:{min:1,max:1},multipoint:{min:1,max:1},ringisclockwise:{min:1,max:1},geometry:{min:1,max:1},count:{min:0,max:-1},number:{min:1,max:2},acos:{min:1,max:1},asin:{min:1,max:1},atan:{min:1,max:1},atan2:{min:2,max:2},ceil:{min:1,max:2},floor:{min:1,max:2},round:{min:1,max:2},cos:{min:1,max:1},exp:{min:1,max:1},log:{min:1,max:1},min:{min:0,max:-1},constrain:{min:3,max:3},console:{min:0,max:-1},max:{min:0,max:-1},pow:{min:2,max:2},random:{min:0,max:0},sqrt:{min:1,max:1},sin:{min:1,max:1},tan:{min:1,max:1},abs:{min:1,max:1},isnan:{min:1,max:1},stdev:{min:0,max:-1},average:{min:0,max:-1},mean:{min:0,max:-1},sum:{min:0,max:-1},variance:{min:0,max:-1},distinct:{min:0,max:-1},first:{min:1,max:1},top:{min:2,max:2},boolean:{min:1,max:1},dictionary:{min:0,max:-1},typeof:{min:1,max:1},reverse:{min:1,max:1},replace:{min:3,max:4},sort:{min:1,max:2},feature:{min:1,max:-1},haskey:{min:2,max:2},indexof:{min:2,max:2},disjoint:{min:2,max:2},intersects:{min:2,max:2},touches:{min:2,max:2},crosses:{min:2,max:2},within:{min:2,max:2},contains:{min:2,max:2},overlaps:{min:2,max:2},equals:{min:2,max:2},relate:{min:3,max:3},intersection:{min:2,max:2},union:{min:1,max:2},difference:{min:2,max:2},symmetricdifference:{min:2,max:2},clip:{min:2,max:2},cut:{min:2,max:2},area:{min:1,max:2},areageodetic:{min:1,max:2},length:{min:1,max:2},lengthgeodetic:{min:1,max:2},distancegeodetic:{min:2,max:3},distance:{min:2,max:3},densify:{min:2,max:3},densifygeodetic:{min:2,max:3},generalize:{min:2,max:4},buffer:{min:2,max:3},buffergeodetic:{min:2,max:3},offset:{min:2,max:6},rotate:{min:2,max:3},issimple:{min:1,max:1},simplify:{min:1,max:1},convexhull:{min:1,max:1},centroid:{min:1,max:1},nearestcoordinate:{min:2,max:2},nearestvertex:{min:2,max:2},isselfintersecting:{min:1,max:1},multiparttosinglepart:{min:1,max:1},setgeometry:{min:2,max:2},portal:{min:1,max:1},getuser:{min:0,max:2},subtypes:{min:1,max:1},subtypecode:{min:1,max:1},subtypename:{min:1,max:1},domain:{min:2,max:3},convertdirection:{min:3,max:3},sqltimestamp:{min:1,max:3},schema:{min:1,max:1},measuretocoordinate:{min:2,max:2},distancetocoordinate:{min:2,max:2},pointtocoordinate:{min:2,max:2}},a={functionDefinitions:new Map,constantDefinitions:new Map},t={functionDefinitions:new Map,constantDefinitions:new Map};for(const k of["pi","infinity"])t.constantDefinitions.set(k,{type:"constant"}),a.constantDefinitions.set(k,{type:"constant"});t.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"newline",type:"constant"}]}),a.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"newline",type:"constant"}]});for(const k in n){const e=n[k];t.functionDefinitions.set(k,{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]}),a.functionDefinitions.set(k,{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]})}const i=new Set(["attachments","featureset","featuresetbyassociation","featuresetbyid","featuresetbyname","featuresetbyportalitem","featuresetbyrelationshipname","featuresetbyurl","filterbysubtypecode","getfeatureset","getfeaturesetinfo","getuser","knowledgegraphbyportalitem","querygraph"]),m=new Set(["translatetext","getgroups"]),s=new Set(["area","areageodetic","buffer","buffergeodetic","centroid","clip","contains","convexhull","crosses","cut","densify","densifygeodetic","difference","disjoint","distance","distancegeodetic","distancetocoordinate","equals","generalize","intersection","intersects","isselfintersecting","issimple","length","length3d","lengthgeodetic","measuretocoordinate","multiparttosinglepart","nearestcoordinate","nearestvertex","offset","overlaps","pointtocoordinate","relate","rotate","simplify","symmetricdifference","touches","union","within"]);function o(e,n){const i="sync"===n?a:t;i.functionDefinitions.has(e.name.toLowerCase())?i.functionDefinitions.get(e.name.toLowerCase())?.overloads.push({type:"function",parametersInfo:{min:e.min,max:e.max}}):i.functionDefinitions.set(e.name.toLowerCase(),{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]})}function r(e,n){if(e)for(const a of e)c(a,n)}function c(e,n){if(e&&!1!==n(e))switch(e.type){case"ImportDeclaration":r(e.specifiers,n),c(e.source,n);break;case"ExportNamedDeclaration":c(e.declaration,n);break;case"ArrayExpression":r(e.elements,n);break;case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":c(e.left,n),c(e.right,n);break;case"BlockStatement":case"Program":r(e.body,n);break;case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"Identifier":case"Literal":break;case"CallExpression":c(e.callee,n),r(e.arguments,n);break;case"ExpressionStatement":case"MemberAccessChainExpression":c(e.expression,n);break;case"ForInStatement":case"ForOfStatement":c(e.left,n),c(e.right,n),c(e.body,n);break;case"ForStatement":c(e.init,n),c(e.test,n),c(e.update,n),c(e.body,n);break;case"WhileStatement":c(e.test,n),c(e.body,n);break;case"FunctionDeclaration":c(e.id,n),r(e.params,n),c(e.body,n);break;case"IfStatement":c(e.test,n),c(e.consequent,n),c(e.alternate,n);break;case"MemberExpression":case"SafeMemberExpression":c(e.object,n),c(e.property,n);break;case"ObjectExpression":r(e.properties,n);break;case"Property":c(e.key,n),c(e.value,n);break;case"ReturnStatement":case"UnaryExpression":case"UpdateExpression":c(e.argument,n);break;case"VariableDeclaration":r(e.declarations,n);break;case"VariableDeclarator":c(e.id,n),c(e.init,n);break;case"TemplateLiteral":r(e.expressions,n),r(e.quasis,n)}}function x(e){return"Literal"===e?.type&&"string"==typeof e.value}function l(e,n){let a=!1;const t=n.toLowerCase();return c(e,e=>!a&&("Identifier"===e.type&&e.name&&e.name.toLowerCase()===t&&(a=!0),!0)),a}function u(n){const a=[];return c(n,n=>("ImportDeclaration"===n.type&&n.source&&n.source.value&&a.push({libname:e(n.specifiers[0].local),source:n.source.value}),!0)),a}function p(e,n){let a=!1;const t=n.toLowerCase();return c(e,e=>!a&&("CallExpression"!==e.type||"Identifier"!==e.callee.type||!e.callee.name||e.callee.name.toLowerCase()!==t||(a=!0,!1))),a}function f(n){const a=[];return c(n,n=>"MemberExpression"!==n.type||"Identifier"!==n.object.type||(("Identifier"===n.property.type||"Literal"===n.property.type&&"string"==typeof n.property.value)&&a.push({varId:e(n.object),memberId:e(n.property)}),!1)),a}function d(n){const a=[];return c(n,n=>{if("CallExpression"===n.type&&"Identifier"===n.callee.type)switch(e(n.callee)){case"expects":if(n.arguments.length>1){const[t,...i]=n.arguments;if("Identifier"===t?.type){const n=e(t);for(const e of i)x(e)&&a.push({varId:n,memberNamePattern:e.value})}}return!1;case"domainname":case"domaincode":case"domain":case"haskey":case"hasvalue":if(n.arguments.length>=2){const[t,i]=n.arguments;"Identifier"===t?.type&&x(i)&&a.push({varId:e(t),memberNamePattern:i.value})}return!0;case"defaultvalue":if(n.arguments.length>2){const[t,i]=n.arguments;"Identifier"===t?.type&&x(i)&&a.push({varId:e(t),memberNamePattern:i.value})}return!0;default:return!0}return"MemberExpression"!==n.type||"Identifier"!==n.object.type||(n.computed?!!x(n.property)&&(a.push({varId:e(n.object),memberNamePattern:n.property.value}),!1):(a.push({varId:e(n.object),memberNamePattern:n.property.name}),!1))}),a}function y(e,n){const a=[];if(void 0!==n.params&&null!==n.params)for(let t=0;t<n.params.length;t++)a.push("any");return{name:e,return:"any",params:a}}function g(n){const a=[];return c(n,n=>("CallExpression"===n.type&&"Identifier"===n.callee.type&&a.push(e(n.callee)),!0)),a}function b(e,n=[]){let a=null;if(void 0===e.usesFeatureSet){null===a&&(a=g(e)),e.usesFeatureSet=!1;for(let n=0;n<a.length;n++)i.has(a[n])&&(e.usesFeatureSet=!0,e.isAsync=!0);if(!1===e.usesFeatureSet&&n&&n.length>0)for(const a of n)if(l(e,a)){e.usesFeatureSet=!0,e.isAsync=!0;break}}if(void 0===e.isAsync&&(null===a&&(a=g(e)),a.some(e=>m.has(e))&&(e.isAsync=!0)),void 0===e.usesModules){e.usesModules=!1;u(e).length>0&&(e.usesModules=!0)}if(void 0===e.usesGeometry){e.usesGeometry=!1,null===a&&(a=g(e));for(let n=0;n<a.length;n++)s.has(a[n])&&(e.usesGeometry=!0)}}function h(e){const n=g(e);for(let a=0;a<n.length;a++)if(i.has(n[a]))return!0;return!1}export{o as addFunctionDeclaration,y as extractFunctionDeclaration,d as findExpectedFieldLiterals,g as findFunctionCalls,f as findLiteralMemberAccesses,u as findModuleImports,b as findScriptDependencies,t as fullArcadeApiAsync,a as fullArcadeApiSync,p as referencesFunction,l as referencesMember,h as scriptUsesFeatureSet,c as walk};