@arcgis/core 4.25.0-next.20220824 → 4.25.0-next.20220827

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 (116) hide show
  1. package/arcade/arcadeAsyncRuntime.js +1 -1
  2. package/arcade/arcadeCompiler.js +1 -1
  3. package/arcade/arcadeRuntime.js +1 -1
  4. package/arcade/functions/date.js +1 -1
  5. package/arcade/functions/featuresetgeom.js +1 -1
  6. package/arcade/functions/featuresetstats.js +1 -1
  7. package/arcade/functions/featuresetstring.js +1 -1
  8. package/arcade/functions/geomasync.js +1 -1
  9. package/arcade/functions/geometry.js +1 -1
  10. package/arcade/functions/geomsync.js +1 -1
  11. package/arcade/functions/maths.js +1 -1
  12. package/arcade/functions/stats.js +1 -1
  13. package/arcade/functions/string.js +1 -1
  14. package/assets/esri/core/workers/RemoteClient.js +1 -1
  15. package/assets/esri/core/workers/chunks/{3538bb8545bdf1fe644f.js → 16c99df2e77f03ddae79.js} +1 -1
  16. package/assets/esri/core/workers/chunks/529a87291269268f92b9.js +1 -0
  17. package/assets/esri/core/workers/chunks/6eefbb75693133fc0a6f.js +1 -0
  18. package/assets/esri/core/workers/chunks/74e50b240546124ca40f.js +1 -0
  19. package/assets/esri/core/workers/chunks/82158f35049d7c9044d1.js +1 -0
  20. package/assets/esri/core/workers/chunks/{81cd17b7c9f1ac33e3db.js → 897df1e209a334dd2e94.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{b309344f6cca23decac5.js → 9739695620c22d977313.js} +1 -1
  22. package/assets/esri/core/workers/chunks/c0dbe89e2c90e3f8b2fa.js +1 -0
  23. package/assets/esri/core/workers/chunks/c44460ed3794dae8f984.js +1 -0
  24. package/assets/esri/core/workers/chunks/cd5ce1205fff7de60671.js +1 -0
  25. package/assets/esri/core/workers/chunks/d929de69309c77fc5b19.js +1 -0
  26. package/assets/esri/core/workers/chunks/{fe84bcdfd9028b5e7ef6.js → e081cdf99295001fc351.js} +1 -1
  27. package/assets/esri/themes/base/widgets/_FeatureTable.scss +61 -0
  28. package/assets/esri/themes/dark/main.css +1 -1
  29. package/assets/esri/themes/light/main.css +1 -1
  30. package/assets/esri/themes/light/view.css +1 -1
  31. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable.json +1 -1
  32. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  33. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  34. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  35. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  36. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  37. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  38. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  39. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  40. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_en.json +1 -1
  41. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  42. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  43. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  44. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  45. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  46. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  47. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  48. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  49. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  50. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  51. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  52. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  53. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  54. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nb.json +1 -1
  55. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  56. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  57. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  58. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  59. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  60. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  61. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  62. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  63. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  64. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  65. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  66. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  67. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  68. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  69. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  70. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  71. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  72. package/chunks/array.js +1 -1
  73. package/chunks/languageUtils.js +1 -1
  74. package/config.js +1 -1
  75. package/interfaces.d.ts +52 -34
  76. package/layers/RouteLayer.js +1 -1
  77. package/layers/support/Sublayer.js +1 -1
  78. package/package.json +1 -1
  79. package/request.js +1 -1
  80. package/rest/query/operations/pbfDehydratedFeatureSet.js +1 -1
  81. package/rest/support/DirectionLine.js +1 -1
  82. package/rest/support/DirectionPoint.js +1 -1
  83. package/rest/support/PointBarrier.js +1 -1
  84. package/rest/support/PolygonBarrier.js +1 -1
  85. package/rest/support/PolylineBarrier.js +1 -1
  86. package/rest/support/RouteInfo.js +1 -1
  87. package/rest/support/Stop.js +1 -1
  88. package/support/arcadeUtils.js +1 -1
  89. package/support/revision.js +1 -1
  90. package/symbols/support/previewSymbol2D.js +1 -1
  91. package/views/3d/analysis/Dimensioning/DimensioningVisualization.js +1 -1
  92. package/views/3d/analysis/Dimensioning/LengthDimensionSubTool.js +1 -1
  93. package/views/3d/analysis/Dimensioning/lengthDimensionUtils.js +1 -1
  94. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  95. package/views/3d/support/RenderCoordsHelper.js +1 -1
  96. package/views/3d/terrain/PatchGeometry.js +1 -1
  97. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  98. package/views/3d/terrain/PlanarPatch.js +1 -1
  99. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  100. package/widgets/Editor/CreateWorkflow.js +1 -1
  101. package/widgets/Editor/UpdateWorkflow.js +1 -1
  102. package/widgets/Editor.js +1 -1
  103. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  104. package/widgets/FeatureForm/InputField.js +1 -1
  105. package/widgets/FeatureForm/InputFieldGroup.js +1 -1
  106. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  107. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  108. package/widgets/FeatureTable.js +1 -1
  109. package/assets/esri/core/workers/chunks/3da9dfe1fdef99ed2b5e.js +0 -1
  110. package/assets/esri/core/workers/chunks/6a553c4629bba9cdfc0e.js +0 -1
  111. package/assets/esri/core/workers/chunks/81418b47acb4ef68daf7.js +0 -1
  112. package/assets/esri/core/workers/chunks/96673467342935d3d99a.js +0 -1
  113. package/assets/esri/core/workers/chunks/bbff8ed3192fe22a6b6d.js +0 -1
  114. package/assets/esri/core/workers/chunks/bfea5f112dc5bc08bb11.js +0 -1
  115. package/assets/esri/core/workers/chunks/d1a05ee397dc5d3948c5.js +0 -1
  116. package/assets/esri/core/workers/chunks/ff6ebc9c3890a9e28e12.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as c,m as l,N as u,x as f,v as p,w,o as h,b as d,l as m,n as g,s as E,y,a as N,f as v,I,R as T,h as S,q as b,r as R,j as O,z as A,A as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as F,findFieldLiterals as x,validateScript as M,referencesMember as P,referencesFunction as D,findFunctionCalls as j}from"./treeAnalysis.js";import{A as L}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as _}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as B}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import z from"../geometry/Extent.js";import q from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import Z from"../geometry/Point.js";import W from"../geometry/Polygon.js";import K from"../geometry/Polyline.js";import X from"../geometry/SpatialReference.js";function J(e){return e&&"function"==typeof e.then}const Q=100;async function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(await re(e,t.arguments[n]));return r}async function ee(e,t,r){if(!0===t.preparsed)return r(e,null,t.arguments);return r(e,t,await $(e,t))}async function te(e,t,r){if(!0===t.preparsed){const n=r(e,null,t.arguments);return J(n),n}const n=r(e,t,await $(e,t));return J(n),n}async function re(e,t,r){if(t.breakpoint&&!0!==r){const r=t.breakpoint();return await r,re(e,t,!0)}switch(t.type){case"VariableDeclarator":return Re(e,t);case"VariableDeclaration":return be(e,t,0);case"BlockStatement":return ve(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return Te(e,t);case"IfStatement":return Ne(e,t);case"ExpressionStatement":return ye(e,t);case"UpdateExpression":return me(e,t);case"AssignmentExpression":return Ee(e,t);case"ForStatement":return ce(e,t);case"ForInStatement":return de(e,t);case"BreakStatement":return w;case"EmptyStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return je(e,t);case"TemplateLiteral":return Le(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Ue(e,t);case"Literal":return t.value;case"CallExpression":return De(e,t);case"UnaryExpression":return Ce(e,t);case"BinaryExpression":return xe(e,t);case"LogicalExpression":return Me(e,t);case"ArrayExpression":return Fe(e,t);case"ObjectExpression":return ne(e,t);case"Property":return oe(e,t);default:throw new Error(C(t,"RUNTIME","UNREOGNISED"))}}async function ne(e,t){const n=[];for(let r=0;r<t.properties.length;r++)n[r]=await re(e,t.properties[r]);const o={};for(let r=0;r<n.length;r++){const e=n[r];if(h(e.value))throw new Error("Illegal Argument");if(!1===d(e.key))throw new Error("Illegal Argument");e.value===p?o[e.key.toString()]=null:o[e.key.toString()]=e.value}const a=new r(o);return a.immutable=!1,a}async function oe(e,t){const r=await re(e,t.value);if("Identifier"===t.key.type)return{key:t.key.name,value:r};return{key:await re(e,t.key),value:r}}async function ae(e,t,r){const n=await re(e,t.body);return r.lastAction=n,r.lastAction===w||r.lastAction instanceof T?(r.testResult=!1,r):null!==t.update?(await re(e,t.update),r):r}async function ie(e,t,r){if(null!==t.test){const n=await re(e,t.test);if(!0===e.abortSignal.aborted)throw new Error("Cancelled");if(r.testResult=n,!1===r.testResult)return r;if(!0!==r.testResult)throw new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"));return ae(e,t,r)}return ae(e,t,r)}function se(e,t,r,n,o,a){try{ie(e,t,r).then((()=>{try{!0===r.testResult?++a>Q?(a=0,setTimeout((()=>{se(e,t,r,n,o,a)}),0)):se(e,t,r,n,o,a):r.lastAction instanceof T?n(r.lastAction):n(p)}catch(i){o(i)}}),(e=>{o(e)}))}catch(i){o(i)}}function ce(e,t){try{return null!==t.init?re(e,t.init).then((()=>new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Promise.reject(r)}}function le(e,t,r,n,o,a,i,s,c,l){try{if(n<=a)return void s(p);o.value="k"===i?r[a]:a,re(e,t.body).then((u=>{try{u instanceof T?s(u):u===w?s(p):++l>Q?(l=0,setTimeout((()=>{le(e,t,r,n,o,a+1,i,s,c,l)}),0)):le(e,t,r,n,o,a+1,i,s,c,l)}catch(f){c(f)}}),(e=>{c(e)}))}catch(u){c(u)}}function ue(e,t,r,n,o,a,i,s,c){try{if(r.length()<=o)return void i(p);n.value="k"===a?r.get(o):o,re(e,t.body).then((l=>{l instanceof T?i(l):l===w?i(p):++c>Q?(c=0,setTimeout((()=>{ue(e,t,r,n,o+1,a,i,s,c)}),0)):ue(e,t,r,n,o+1,a,i,s,c)}),(e=>{s(e)}))}catch(l){s(l)}}function fe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);le(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function pe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ue(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function we(e,t,r,n,o){try{fe(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function he(e,t,r,o,a,i,s,c){try{e.next().then((l=>{try{if(null===l)i(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;re(t,r.body).then((n=>{try{n===w?i(p):n instanceof T?i(n):++c>Q?(c=0,setTimeout((()=>{he(e,t,r,o,a,i,s,c)}),0)):he(e,t,r,o,a,i,s,c)}catch(l){s(l)}}),(e=>{s(e)}))}}catch(u){s(u)}}),(e=>{s(e)}))}catch(l){s(l)}}async function de(e,t){return new Promise(((n,o)=>{re(e,t.right).then((a=>{try{let i=null;i="VariableDeclaration"===t.left.type?re(e,t.left):Promise.resolve(),i.then((()=>{try{let i="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(i=e.name)}else"Identifier"===t.left.type&&(i=t.left.name);if(!i)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));i=i.toLowerCase();let s=null;if(null!==e.localScope&&void 0!==e.localScope[i]&&(s=e.localScope[i]),null===s&&void 0!==e.globalScope[i]&&(s=e.globalScope[i]),null===s)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||d(a)?fe(e,t,a,{reject:o,resolve:n},s):g(a)?pe(e,t,a,{reject:o,resolve:n},s):a instanceof r||E(a)?we(e,t,a,{reject:o,resolve:n},s):y(a)?he(a.iterator(e.abortSignal),e,t,a,s,(e=>{n(e)}),(e=>{o(e)}),0):fe(e,t,[],{reject:o,resolve:n},s)}catch(i){o(i)}}),o)}catch(i){o(i)}}),o)}))}async function me(e,t){const n=t.argument;if("MemberExpression"===n.type){const o={t:null},a=await re(e,n.object);let i=null;o.t=a,!0===n.computed?i=await re(e,n.property):"Identifier"===n.property.type&&(i=n.property.name);const s=o.t;let c;if(m(s)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=s.length+i),i<0||i>=s.length)throw new Error("Assignment outside of array bounds");c=v(s[i]),s[i]="++"===t.operator?c+1:c-1}else if(s instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}else{if(!E(s))throw g(s)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}return!1===t.prefix?c:"++"===t.operator?c+1:c-1}const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;if(null!==e.localScope&&void 0!==e.localScope[o])return a=v(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;if(void 0!==e.globalScope[o])return a=v(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;throw new Error("Variable not recognised")}function ge(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return v(r)/v(e);case"*=":return v(r)*v(e);case"-=":return v(r)-v(e);case"+=":return d(r)||d(e)?S(r)+S(e):v(r)+v(e);case"%=":return v(r)%v(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const o=await re(e,t.right),a=await re(e,n.object);let i=null;if(!0===n.computed)i=await re(e,n.property);else{if("Identifier"!==n.property.type)throw new Error("Expected computed or identifier for assignemnt target");i=n.property.name}if(m(a)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=a.length+i),i<0||i>a.length)throw new Error("Assignment outside of array bounds");if(i===a.length){if("="!==t.operator)throw new Error("Invalid Parameter");a[i]=ge(o,t.operator,a[i],t)}else a[i]=ge(o,t.operator,a[i],t)}else if(a instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}else{if(!E(a))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}return p}const o=n.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[o]){const r=await re(e,t.right);return e.localScope[o]={value:ge(r,t.operator,e.localScope[o].value,t),valueset:!0,node:t.right},p}if(void 0!==e.globalScope[o]){const r=await re(e,t.right);return e.globalScope[o]={value:ge(r,t.operator,e.globalScope[o].value,t),valueset:!0,node:t.right},p}throw new Error("Cannot assign undeclared variable")}async function ye(e,t){if("AssignmentExpression"===t.expression.type)return re(e,t.expression);if("CallExpression"===t.expression.type){const r=await re(e,t.expression);return r===p?p:new I(r)}const r=await re(e,t.expression);return r===p?p:new I(r)}async function Ne(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.test);if(!0===r)return re(e,t.consequent);if(!1===r)return null!==t.alternate?re(e,t.alternate):p;throw new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}async function ve(e,t){return Ie(e,t,0)}async function Ie(e,t,r){if(r>=t.body.length)return p;const n=await re(e,t.body[r]);return n instanceof T||n===w||n===f||r===t.body.length-1?n:Ie(e,t,r+1)}async function Te(e,t){if(null===t.argument)return new T(p);const r=await re(e,t.argument);return new T(r)}async function Se(e,t){const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},p}async function be(e,t,r){return r>=t.declarations.length?p:(await re(e,t.declarations[r]),r===t.declarations.length-1||await be(e,t,r+1),p)}async function Re(e,t){let r=null;if(r=null===t.init?null:await re(e,t.init),null!==e.localScope){if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return e.localScope[n]={value:r,valueset:!0,node:t.init},p}if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return r===p&&(r=null),e.globalScope[n]={value:r,valueset:!0,node:t.init},p}let Oe=0;function Ae(e,t,n,o){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(Oe++,e.spatialReference._arcadeCacheId=Oe,t=Oe)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}async function Ue(e,t){const n=await re(e,t.object);if(null===n)throw new Error(C(t,"RUNTIME","NOTFOUND"));if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof r||E(n))return n.field(t.property.name);if(n instanceof q)return Ae(n,t.property.name,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}let o=await re(e,t.property);if(n instanceof r||E(n)){if(d(o))return n.field(o);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(n instanceof q){if(d(o))return Ae(n,o,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(d(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}async function Ce(e,t){const r=await re(e,t.argument);if(c(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}async function Fe(e,t){const r=[];for(let n=0;n<t.elements.length;n++)r.push(await re(e,t.elements[n]));for(let n=0;n<r.length;n++){if(h(r[n]))throw new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));r[n]===p&&(r[n]=null)}return r}async function xe(e,t){const r=[];r[0]=await re(e,t.left),r[1]=await re(e,t.right);const n=r[0],o=r[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(v(n),v(o),t.operator);case"==":return l(n,o);case"!=":return!l(n,o);case"<":case">":case"<=":case">=":return b(n,o,t.operator);case"+":return d(n)||d(o)?S(n)+S(o):v(n)+v(o);case"-":return v(n)-v(o);case"*":return v(n)*v(o);case"/":return v(n)/v(o);case"%":return v(n)%v(o);default:throw new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Me(e,t){if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.left);let n=null;if(!c(r))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":if(!0===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));case"&&":if(!1===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}async function Pe(e,t){const r=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}throw new Error(C(t,"RUNTIME","VARIABLENOTFOUND"))}async function De(e,t){if("Identifier"!==t.callee.type)throw new Error(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(t,"RUNTIME","NOTFOUND"))}async function je(e,t){return t.value?t.value.cooked:""}async function Le(e,t){const r=[];for(let a=0;a<t.expressions.length;a++){const n=await re(e,t.expressions[a]);r[a]=S(n)}let n="",o=0;for(const a of t.quasis)if(n+=a.value?a.value.cooked:"",!1===a.tail){n+=r[o]?r[o]:"",o++}return n}const ke={};function _e(n){return null===n?"":m(n)||g(n)?"Array":O(n)?"Date":d(n)?"String":c(n)?"Boolean":N(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Z?"Point":n instanceof W?"Polygon":n instanceof K?"Polyline":n instanceof H?"Multipoint":n instanceof z?"Extent":h(n)?"Function":y(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}async function Ve(e,t,r,n){const o=await re(e,t.arguments[r]);if(l(o,n))return re(e,t.arguments[r+1]);const a=t.arguments.length-r;return 1===a?re(e,t.arguments[r]):2===a?null:3===a?re(e,t.arguments[r+2]):Ve(e,t,r+2,n)}async function Ye(e,t,r,n){if(!0===n)return re(e,t.arguments[r+1]);if(3===t.arguments.length-r)return re(e,t.arguments[r+2]);const o=await re(e,t.arguments[r+2]);if(!1===c(o))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,r+2,o)}async function Be(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[Be(e.slice(0,n),t),Be(e.slice(n,r),t)],a=await Promise.all(o);return Ge(a[0],a[1],t,[])}async function Ge(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ge(e,t,r,n)}return e.length>0?(o.push(e[0]),Ge(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ge(e,t=t.slice(1),r,n)):void 0}function ze(e,t){const r=e.length,n=Math.floor(r/2);return t||(t=function(e,t){return e<t?-1:e===t?0:1}),0===r?[]:1===r?[e[0]]:qe(ze(e.slice(0,n),t),ze(e.slice(n,r),t),t)}function qe(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=1),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function He(e,t,r){const n=e.body;if(r.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<r.length;a++){const n=e.params[a];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[a],valueset:!0,node:null})}const o=await re(t,n);if(o instanceof T)return o.value;if(o===w)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof I?o.value:o}function Ze(e,t,r){return te(e,t,(function(t,n,o){const a={spatialReference:e.spatialReference,services:e.services,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:e.depthCounter+1};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(r,a,o)}))}function We(e){const t=function(){const t={abortSignal:e.context.abortSignal,spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,services:e.context.services,localScope:{},globalScope:e.context.globalScope,depthCounter:e.context.depthCounter+1};if(t.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(e.definition,t,arguments)};return t}k(ke,ee),G(ke,ee),Y(ke,ee),V(ke,ee),B(ke,ee),_({functions:ke,compiled:!1,signatures:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ee,standardFunctionAsync:te}),ke.typeof=function(e,t){return ee(e,t,(function(e,t,r){s(r,1,1);const n=_e(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},ke.iif=async function(e,t){s(null===t.arguments?[]:t.arguments,3,3);const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("IF Function must have a boolean test condition");const n=[];return n[0]=await re(e,t.arguments[1]),n[1]=await re(e,t.arguments[2]),r?n[0]:n[1]},ke.decode=async function(e,t){if(t.arguments.length<2)throw new Error("Missing Parameters");if(2===t.arguments.length)return re(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new Error("Must have a default value result.");return Ve(e,t,1,await re(e,t.arguments[0]))},ke.when=async function(e,t){if(t.arguments.length<3)throw new Error("Missing Parameters");if(t.arguments.length%2==0)throw new Error("Must have a default value result.");const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,0,r)},ke.sort=function(e,t){return te(e,t,(async function(e,t,r){s(r,1,2);let n=r[0];if(g(n)&&(n=n.toArray()),!1===m(n))throw new Error("Illegal Argument");if(r.length>1){if(!1===h(r[1]))throw new Error("Illegal Argument");return Be(n,We(r[1]))}let o=n;if(0===o.length)return[];const a={};for(let s=0;s<o.length;s++){const e=_e(o[s]);""!==e&&(a[e]=!0)}if(!0===a.Array||!0===a.Dictionary||!0===a.Feature||!0===a.Point||!0===a.Polygon||!0===a.Polyline||!0===a.Multipoint||!0===a.Extent||!0===a.Function)return o.slice(0);let i=0,c="";for(const s in a)i++,c=s;return i>1||"String"===c?o=ze(o,(function(e,t){if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=S(e),n=S(t);return r<n?-1:r===n?0:1})):"Number"===c?o=ze(o,(function(e,t){return e-t})):"Boolean"===c?o=ze(o,(function(e,t){return e===t?0:t?-1:1})):"Date"===c&&(o=ze(o,(function(e,t){return t-e}))),o}))};const Ke={fixSpatialReference:U,parseArguments:$,standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunction:We};for(const st in ke)ke[st]={value:new u(ke[st]),valueset:!0,node:null};const Xe=function(){};function Je(e,t){const o=new Xe;null==e&&(e={}),null==t&&(t={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const r in t)o[r]={value:new u(t[r]),native:!0,valueset:!0,node:null};for(const r in e)e[r]&&"esri.Graphic"===e[r].declaredClass?o[r]={value:n.createFromGraphic(e[r]),valueset:!0,node:null}:o[r]={value:e[r],valueset:!0,node:null};return o}function Qe(e){console.log(e)}Xe.prototype=ke,Xe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Xe.prototype.pi={value:Math.PI,valueset:!0,node:null};const $e=Ke;function et(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunctionHandler:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)ke[r]={value:new u(t.functions[r]),valueset:!0,node:null},Xe.prototype[r]=ke[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}async function tt(e,t){let r=t.spatialReference;null==r&&(r=new X({wkid:102100}));const n=Je(t.vars,t.customfunctions),a={spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1};let i=await re(a,e.body[0].body);if(i instanceof T&&(i=i.value),i instanceof I&&(i=i.value),i===p&&(i=null),i===w)throw new Error("Cannot return BREAK");if(i===f)throw new Error("Cannot return CONTINUE");if(i instanceof u)throw new Error("Cannot return FUNCTION");if(i instanceof o)throw new Error("Cannot return FUNCTION");return i}function rt(e,t){return x(e)}function nt(e,t){return M(e,t,"full")}function ot(e,t){return P(e,t)}function at(e,t){return D(e,t)}function it(e){return j(e)}et([L]);export{tt as executeScript,et as extend,rt as extractFieldLiterals,it as findFunctionCalls,$e as functionHelper,at as referencesFunction,ot as referencesMember,nt as validateScript};
5
+ import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as c,m as l,N as u,x as f,v as p,w,o as h,b as d,l as m,n as g,s as E,y,a as N,f as v,I,R as T,h as S,q as b,r as R,j as O,z as A,A as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as F,findFieldLiterals as x,validateScript as M,referencesMember as P,referencesFunction as D,findFunctionCalls as j}from"./treeAnalysis.js";import{A as L}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as _}from"./functions/geomasync.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as B}from"./functions/stats.js";import{registerFunctions as G}from"./functions/string.js";import z from"../geometry/Extent.js";import q from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import Z from"../geometry/Point.js";import W from"../geometry/Polygon.js";import K from"../geometry/Polyline.js";import X from"../geometry/SpatialReference.js";function J(e){return e&&"function"==typeof e.then}const Q=100;async function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(await re(e,t.arguments[n]));return r}async function ee(e,t,r){if(!0===t.preparsed)return r(e,null,t.arguments);return r(e,t,await $(e,t))}async function te(e,t,r){if(!0===t.preparsed){const n=r(e,null,t.arguments);return J(n),n}const n=r(e,t,await $(e,t));return J(n),n}async function re(e,t,r){if(t.breakpoint&&!0!==r){const r=t.breakpoint();return await r,re(e,t,!0)}switch(t.type){case"VariableDeclarator":return Re(e,t);case"VariableDeclaration":return be(e,t,0);case"BlockStatement":return ve(e,t);case"FunctionDeclaration":return Se(e,t);case"ReturnStatement":return Te(e,t);case"IfStatement":return Ne(e,t);case"ExpressionStatement":return ye(e,t);case"UpdateExpression":return me(e,t);case"AssignmentExpression":return Ee(e,t);case"ForStatement":return ce(e,t);case"ForInStatement":return de(e,t);case"BreakStatement":return w;case"EmptyStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return je(e,t);case"TemplateLiteral":return Le(e,t);case"Identifier":return Pe(e,t);case"MemberExpression":return Ue(e,t);case"Literal":return t.value;case"CallExpression":return De(e,t);case"UnaryExpression":return Ce(e,t);case"BinaryExpression":return xe(e,t);case"LogicalExpression":return Me(e,t);case"ArrayExpression":return Fe(e,t);case"ObjectExpression":return ne(e,t);case"Property":return oe(e,t);default:throw new Error(C(t,"RUNTIME","UNREOGNISED"))}}async function ne(e,t){const n=[];for(let r=0;r<t.properties.length;r++)n[r]=await re(e,t.properties[r]);const o={};for(let r=0;r<n.length;r++){const e=n[r];if(h(e.value))throw new Error("Illegal Argument");if(!1===d(e.key))throw new Error("Illegal Argument");e.value===p?o[e.key.toString()]=null:o[e.key.toString()]=e.value}const a=new r(o);return a.immutable=!1,a}async function oe(e,t){const r=await re(e,t.value);if("Identifier"===t.key.type)return{key:t.key.name,value:r};return{key:await re(e,t.key),value:r}}async function ae(e,t,r){const n=await re(e,t.body);return r.lastAction=n,r.lastAction===w||r.lastAction instanceof T?(r.testResult=!1,r):null!==t.update?(await re(e,t.update),r):r}async function ie(e,t,r){if(null!==t.test){const n=await re(e,t.test);if(!0===e.abortSignal.aborted)throw new Error("Cancelled");if(r.testResult=n,!1===r.testResult)return r;if(!0!==r.testResult)throw new Error(C(t,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"));return ae(e,t,r)}return ae(e,t,r)}function se(e,t,r,n,o,a){try{ie(e,t,r).then((()=>{try{!0===r.testResult?++a>Q?(a=0,setTimeout((()=>{se(e,t,r,n,o,a)}),0)):se(e,t,r,n,o,a):r.lastAction instanceof T?n(r.lastAction):n(p)}catch(i){o(i)}}),(e=>{o(e)}))}catch(i){o(i)}}function ce(e,t){try{return null!==t.init?re(e,t.init).then((()=>new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)})))):new Promise(((r,n)=>{se(e,t,{testResult:!0,lastAction:p},(e=>{r(e)}),(e=>{n(e)}),0)}))}catch(r){return Promise.reject(r)}}function le(e,t,r,n,o,a,i,s,c,l){try{if(n<=a)return void s(p);o.value="k"===i?r[a]:a,re(e,t.body).then((u=>{try{u instanceof T?s(u):u===w?s(p):++l>Q?(l=0,setTimeout((()=>{le(e,t,r,n,o,a+1,i,s,c,l)}),0)):le(e,t,r,n,o,a+1,i,s,c,l)}catch(f){c(f)}}),(e=>{c(e)}))}catch(u){c(u)}}function ue(e,t,r,n,o,a,i,s,c){try{if(r.length()<=o)return void i(p);n.value="k"===a?r.get(o):o,re(e,t.body).then((l=>{l instanceof T?i(l):l===w?i(p):++c>Q?(c=0,setTimeout((()=>{ue(e,t,r,n,o+1,a,i,s,c)}),0)):ue(e,t,r,n,o+1,a,i,s,c)}),(e=>{s(e)}))}catch(l){s(l)}}function fe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);le(e,t,r,r.length,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function pe(e,t,r,n,o,a){try{if(void 0===a&&(a="i"),0===r.length)return void n.resolve(p);ue(e,t,r,o,0,a,(e=>{n.resolve(e)}),(e=>{n.reject(e)}),0)}catch(i){n.reject(i)}}function we(e,t,r,n,o){try{fe(e,t,r.keys(),n,o,"k")}catch(a){n.reject(a)}}function he(e,t,r,o,a,i,s,c){try{e.next().then((l=>{try{if(null===l)i(p);else{const u=n.createFromGraphicLikeObject(l.geometry,l.attributes,o);u._underlyingGraphic=l,a.value=u;re(t,r.body).then((n=>{try{n===w?i(p):n instanceof T?i(n):++c>Q?(c=0,setTimeout((()=>{he(e,t,r,o,a,i,s,c)}),0)):he(e,t,r,o,a,i,s,c)}catch(l){s(l)}}),(e=>{s(e)}))}}catch(u){s(u)}}),(e=>{s(e)}))}catch(l){s(l)}}async function de(e,t){return new Promise(((n,o)=>{re(e,t.right).then((a=>{try{let i=null;i="VariableDeclaration"===t.left.type?re(e,t.left):Promise.resolve(),i.then((()=>{try{let i="";if("VariableDeclaration"===t.left.type){const e=t.left.declarations[0].id;"Identifier"===e.type&&(i=e.name)}else"Identifier"===t.left.type&&(i=t.left.name);if(!i)throw new Error(C(t,"RUNTIME","INVALIDVARIABLE"));i=i.toLowerCase();let s=null;if(null!==e.localScope&&void 0!==e.localScope[i]&&(s=e.localScope[i]),null===s&&void 0!==e.globalScope[i]&&(s=e.globalScope[i]),null===s)return void o(new Error(C(t,"RUNTIME","VARIABLENOTDECLARED")));m(a)||d(a)?fe(e,t,a,{reject:o,resolve:n},s):g(a)?pe(e,t,a,{reject:o,resolve:n},s):a instanceof r||E(a)?we(e,t,a,{reject:o,resolve:n},s):y(a)?he(a.iterator(e.abortSignal),e,t,a,s,(e=>{n(e)}),(e=>{o(e)}),0):fe(e,t,[],{reject:o,resolve:n},s)}catch(i){o(i)}}),o)}catch(i){o(i)}}),o)}))}async function me(e,t){const n=t.argument;if("MemberExpression"===n.type){const o={t:null},a=await re(e,n.object);let i=null;o.t=a,!0===n.computed?i=await re(e,n.property):"Identifier"===n.property.type&&(i=n.property.name);const s=o.t;let c;if(m(s)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=s.length+i),i<0||i>=s.length)throw new Error("Assignment outside of array bounds");c=v(s[i]),s[i]="++"===t.operator?c+1:c-1}else if(s instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}else{if(!E(s))throw g(s)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0!==s.hasField(i))throw new Error("Invalid Parameter");c=v(s.field(i)),s.setField(i,"++"===t.operator?c+1:c-1)}return!1===t.prefix?c:"++"===t.operator?c+1:c-1}const o="Identifier"===t.argument.type?t.argument.name.toLowerCase():"";if(!o)throw new Error("Invalid identifier");let a;if(null!==e.localScope&&void 0!==e.localScope[o])return a=v(e.localScope[o].value),e.localScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;if(void 0!==e.globalScope[o])return a=v(e.globalScope[o].value),e.globalScope[o]={value:"++"===t.operator?a+1:a-1,valueset:!0,node:t},!1===t.prefix?a:"++"===t.operator?a+1:a-1;throw new Error("Variable not recognised")}function ge(e,t,r,n){switch(t){case"=":return e===p?null:e;case"/=":return v(r)/v(e);case"*=":return v(r)*v(e);case"-=":return v(r)-v(e);case"+=":return d(r)||d(e)?S(r)+S(e):v(r)+v(e);case"%=":return v(r)%v(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Ee(e,t){const n=t.left;if("MemberExpression"===n.type){const o=await re(e,t.right),a=await re(e,n.object);let i=null;if(!0===n.computed)i=await re(e,n.property);else{if("Identifier"!==n.property.type)throw new Error("Expected computed or identifier for assignemnt target");i=n.property.name}if(m(a)){if(!N(i))throw new Error("Invalid Parameter");if(i<0&&(i=a.length+i),i<0||i>a.length)throw new Error("Assignment outside of array bounds");if(i===a.length){if("="!==t.operator)throw new Error("Invalid Parameter");a[i]=ge(o,t.operator,a[i],t)}else a[i]=ge(o,t.operator,a[i],t)}else if(a instanceof r){if(!1===d(i))throw new Error("Dictionary accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}else{if(!E(a))throw g(a)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===d(i))throw new Error("Feature accessor must be a string");if(!0===a.hasField(i))a.setField(i,ge(o,t.operator,a.field(i),t));else{if("="!==t.operator)throw new Error("Invalid Parameter");a.setField(i,ge(o,t.operator,null,t))}}return p}const o=n.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[o]){const r=await re(e,t.right);return e.localScope[o]={value:ge(r,t.operator,e.localScope[o].value,t),valueset:!0,node:t.right},p}if(void 0!==e.globalScope[o]){const r=await re(e,t.right);return e.globalScope[o]={value:ge(r,t.operator,e.globalScope[o].value,t),valueset:!0,node:t.right},p}throw new Error("Cannot assign undeclared variable")}async function ye(e,t){if("AssignmentExpression"===t.expression.type)return re(e,t.expression);if("CallExpression"===t.expression.type){const r=await re(e,t.expression);return r===p?p:new I(r)}const r=await re(e,t.expression);return r===p?p:new I(r)}async function Ne(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(C(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.test);if(!0===r)return re(e,t.consequent);if(!1===r)return null!==t.alternate?re(e,t.alternate):p;throw new Error(C(t.test,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}async function ve(e,t){return Ie(e,t,0)}async function Ie(e,t,r){if(r>=t.body.length)return p;const n=await re(e,t.body[r]);return n instanceof T||n===w||n===f||r===t.body.length-1?n:Ie(e,t,r+1)}async function Te(e,t){if(null===t.argument)return new T(p);const r=await re(e,t.argument);return new T(r)}async function Se(e,t){const r=t.id.name.toLowerCase();return e.globalScope[r]={valueset:!0,node:null,value:new o(t,e)},p}async function be(e,t,r){return r>=t.declarations.length?p:(await re(e,t.declarations[r]),r===t.declarations.length-1||await be(e,t,r+1),p)}async function Re(e,t){let r=null;if(r=null===t.init?null:await re(e,t.init),null!==e.localScope){if(r===p&&(r=null),"Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return e.localScope[n]={value:r,valueset:!0,node:t.init},p}if("Identifier"!==t.id.type)throw new Error("Can only assign a regular variable");const n=t.id.name.toLowerCase();return r===p&&(r=null),e.globalScope[n]={value:r,valueset:!0,node:t.init},p}let Oe=0;function Ae(e,t,n,o){let s;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(Oe++,e.spatialReference._arcadeCacheId=Oe,t=Oe)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,s);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":s=e.cache._arcadeCacheId,void 0===s&&(Oe++,s=Oe,e.cache._arcadeCacheId=s);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,s,1);case"type":return"Multipoint"}}throw new Error(C(o,"RUNTIME","PROPERTYNOTFOUND"))}async function Ue(e,t){const n=await re(e,t.object);if(null===n)throw new Error(C(t,"RUNTIME","NOTFOUND"));if(!1===t.computed){if("Identifier"===t.property.type){if(n instanceof r||E(n))return n.field(t.property.name);if(n instanceof q)return Ae(n,t.property.name,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}let o=await re(e,t.property);if(n instanceof r||E(n)){if(d(o))return n.field(o);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(n instanceof q){if(d(o))return Ae(n,o,e,t);throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}if(d(n)){if(N(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(t,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}throw new Error(C(t,"RUNTIME","INVALIDTYPE"))}async function Ce(e,t){const r=await re(e,t.argument);if(c(r)){if("!"===t.operator)return!r;if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t.operator)return-1*v(r);if("+"===t.operator)return 1*v(r);if("~"===t.operator)return~v(r);throw new Error(C(t,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}async function Fe(e,t){const r=[];for(let n=0;n<t.elements.length;n++)r.push(await re(e,t.elements[n]));for(let n=0;n<r.length;n++){if(h(r[n]))throw new Error(C(t,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));r[n]===p&&(r[n]=null)}return r}async function xe(e,t){const r=[];r[0]=await re(e,t.left),r[1]=await re(e,t.right);const n=r[0],o=r[1];switch(t.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return R(v(n),v(o),t.operator);case"==":return l(n,o);case"!=":return!l(n,o);case"<":case">":case"<=":case">=":return b(n,o,t.operator);case"+":return d(n)||d(o)?S(n)+S(o):v(n)+v(o);case"-":return v(n)-v(o);case"*":return v(n)*v(o);case"/":return v(n)/v(o);case"%":return v(n)%v(o);default:throw new Error(C(t,"RUNTIME","OPERATORNOTRECOGNISED"))}}async function Me(e,t){if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(C(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(C(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=await re(e,t.left);let n=null;if(!c(r))throw new Error(C(t,"RUNTIME","ONLYBOOLEAN"));switch(t.operator){case"||":if(!0===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));case"&&":if(!1===r)return r;if(n=await re(e,t.right),c(n))return n;throw new Error(C(t,"RUNTIME","ONLYORORAND"));default:throw new Error(C(t,"RUNTIME","ONLYORORAND"))}}async function Pe(e,t){const r=t.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[r]){const t=e.localScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}if(void 0!==e.globalScope[r]){const t=e.globalScope[r];if(!0===t.valueset)return t.value;if(null!==t.d)return t.d;t.d=re(e,t.node);const n=await t.d;return t.value=n,t.valueset=!0,n}throw new Error(C(t,"RUNTIME","VARIABLENOTFOUND"))}async function De(e,t){if("Identifier"!==t.callee.type)throw new Error(C(t,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[t.callee.name.toLowerCase()]){const r=e.localScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[t.callee.name.toLowerCase()]){const r=e.globalScope[t.callee.name.toLowerCase()];if(r.value instanceof u)return r.value.fn(e,t);if(r.value instanceof o)return Ze(e,t,r.value.definition);throw new Error(C(t,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(t,"RUNTIME","NOTFOUND"))}async function je(e,t){return t.value?t.value.cooked:""}async function Le(e,t){const r=[];for(let a=0;a<t.expressions.length;a++){const n=await re(e,t.expressions[a]);r[a]=S(n)}let n="",o=0;for(const a of t.quasis)if(n+=a.value?a.value.cooked:"",!1===a.tail){n+=r[o]?r[o]:"",o++}return n}const ke={};function _e(n){return null===n?"":m(n)||g(n)?"Array":O(n)?"Date":d(n)?"String":c(n)?"Boolean":N(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":E(n)?"Feature":n instanceof Z?"Point":n instanceof W?"Polygon":n instanceof K?"Polyline":n instanceof H?"Multipoint":n instanceof z?"Extent":h(n)?"Function":y(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===p?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}async function Ve(e,t,r,n){const o=await re(e,t.arguments[r]);if(l(o,n))return re(e,t.arguments[r+1]);const a=t.arguments.length-r;return 1===a?re(e,t.arguments[r]):2===a?null:3===a?re(e,t.arguments[r+2]):Ve(e,t,r+2,n)}async function Ye(e,t,r,n){if(!0===n)return re(e,t.arguments[r+1]);if(3===t.arguments.length-r)return re(e,t.arguments[r+2]);const o=await re(e,t.arguments[r+2]);if(!1===c(o))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,r+2,o)}async function Be(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[Be(e.slice(0,n),t),Be(e.slice(n,r),t)],a=await Promise.all(o);return Ge(a[0],a[1],t,[])}async function Ge(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ge(e,t,r,n)}return e.length>0?(o.push(e[0]),Ge(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ge(e,t=t.slice(1),r,n)):void 0}function ze(e,t){const r=e.length,n=Math.floor(r/2);return t||(t=function(e,t){return e<t?-1:e===t?0:1}),0===r?[]:1===r?[e[0]]:qe(ze(e.slice(0,n),t),ze(e.slice(n,r),t),t)}function qe(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=1),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function He(e,t,r){const n=e.body;if(r.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<r.length;a++){const n=e.params[a];"Identifier"===n.type&&(t.localScope[n.name.toLowerCase()]={d:null,value:r[a],valueset:!0,node:null})}const o=await re(t,n);if(o instanceof T)return o.value;if(o===w)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof I?o.value:o}function Ze(e,t,r){return te(e,t,((t,n,o)=>{const a={spatialReference:e.spatialReference,services:e.services,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{},abortSignal:e.abortSignal,globalScope:e.globalScope,depthCounter:e.depthCounter+1};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(r,a,o)}))}function We(e){const t=function(){const t={abortSignal:e.context.abortSignal,spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,services:e.context.services,localScope:{},globalScope:e.context.globalScope,depthCounter:e.context.depthCounter+1};if(t.depthCounter>64)throw new Error("Exceeded maximum function depth");return He(e.definition,t,arguments)};return t}k(ke,ee),G(ke,ee),Y(ke,ee),V(ke,ee),B(ke,ee),_({functions:ke,compiled:!1,signatures:null,evaluateIdentifier:null,arcadeCustomFunctionHandler:null,mode:"async",standardFunction:ee,standardFunctionAsync:te}),ke.typeof=function(e,t){return ee(e,t,((e,t,r)=>{s(r,1,1);const n=_e(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},ke.iif=async function(e,t){s(null===t.arguments?[]:t.arguments,3,3);const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("IF Function must have a boolean test condition");const n=[];return n[0]=await re(e,t.arguments[1]),n[1]=await re(e,t.arguments[2]),r?n[0]:n[1]},ke.decode=async function(e,t){if(t.arguments.length<2)throw new Error("Missing Parameters");if(2===t.arguments.length)return re(e,t.arguments[1]);if((t.arguments.length-1)%2==0)throw new Error("Must have a default value result.");return Ve(e,t,1,await re(e,t.arguments[0]))},ke.when=async function(e,t){if(t.arguments.length<3)throw new Error("Missing Parameters");if(t.arguments.length%2==0)throw new Error("Must have a default value result.");const r=await re(e,t.arguments[0]);if(!1===c(r))throw new Error("WHEN needs boolean test conditions");return Ye(e,t,0,r)},ke.sort=function(e,t){return te(e,t,(async(e,t,r)=>{s(r,1,2);let n=r[0];if(g(n)&&(n=n.toArray()),!1===m(n))throw new Error("Illegal Argument");if(r.length>1){if(!1===h(r[1]))throw new Error("Illegal Argument");return Be(n,We(r[1]))}let o=n;if(0===o.length)return[];const a={};for(let s=0;s<o.length;s++){const e=_e(o[s]);""!==e&&(a[e]=!0)}if(!0===a.Array||!0===a.Dictionary||!0===a.Feature||!0===a.Point||!0===a.Polygon||!0===a.Polyline||!0===a.Multipoint||!0===a.Extent||!0===a.Function)return o.slice(0);let i=0,c="";for(const s in a)i++,c=s;return i>1||"String"===c?o=ze(o,((e,t)=>{if(null==e||e===p)return null==t||t===p?0:1;if(null==t||t===p)return-1;const r=S(e),n=S(t);return r<n?-1:r===n?0:1})):"Number"===c?o=ze(o,((e,t)=>e-t)):"Boolean"===c?o=ze(o,((e,t)=>e===t?0:t?-1:1)):"Date"===c&&(o=ze(o,((e,t)=>t-e))),o}))};const Ke={fixSpatialReference:U,parseArguments:$,standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunction:We};for(const st in ke)ke[st]={value:new u(ke[st]),valueset:!0,node:null};const Xe=function(){};function Je(e,t){const o=new Xe;null==e&&(e={}),null==t&&(t={});const a=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const r in t)o[r]={value:new u(t[r]),native:!0,valueset:!0,node:null};for(const r in e)e[r]&&"esri.Graphic"===e[r].declaredClass?o[r]={value:n.createFromGraphic(e[r]),valueset:!0,node:null}:o[r]={value:e[r],valueset:!0,node:null};return o}function Qe(e){console.log(e)}Xe.prototype=ke,Xe.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Xe.prototype.pi={value:Math.PI,valueset:!0,node:null};const $e=Ke;function et(e){const t={mode:"async",compiled:!1,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:te,evaluateIdentifier:Pe,arcadeCustomFunctionHandler:We};for(let r=0;r<e.length;r++)e[r].registerFunctions(t);for(const r in t.functions)ke[r]={value:new u(t.functions[r]),valueset:!0,node:null},Xe.prototype[r]=ke[r];for(let r=0;r<t.signatures.length;r++)F(t.signatures[r],"async")}async function tt(e,t){let r=t.spatialReference;null==r&&(r=new X({wkid:102100}));const n=Je(t.vars,t.customfunctions),a={spatialReference:r,services:t.services,abortSignal:void 0===t.abortSignal||null===t.abortSignal?{aborted:!1}:t.abortSignal,globalScope:n,console:t.console?t.console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,localScope:null,depthCounter:1};let i=await re(a,e.body[0].body);if(i instanceof T&&(i=i.value),i instanceof I&&(i=i.value),i===p&&(i=null),i===w)throw new Error("Cannot return BREAK");if(i===f)throw new Error("Cannot return CONTINUE");if(i instanceof u)throw new Error("Cannot return FUNCTION");if(i instanceof o)throw new Error("Cannot return FUNCTION");return i}function rt(e,t){return x(e)}function nt(e,t){return M(e,t,"full")}function ot(e,t){return P(e,t)}function at(e,t){return D(e,t)}function it(e){return j(e)}et([L]);export{tt as executeScript,et as extend,rt as extractFieldLiterals,it as findFunctionCalls,$e as functionHelper,at as referencesFunction,ot as referencesMember,nt as validateScript};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import e from"./ArcadePortal.js";import t from"./Attachment.js";import n from"./Dictionary.js";import r from"./Feature.js";import o from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{p as l,i as s,m as i,N as c,l as u,f as p,n as f,o as m,v as h,h as g,b as y,q as d,r as S,a as w,s as b,S as E,u as v,R as N,I as M,w as I,x as O,j as x,y as T,z as _,A as C}from"../chunks/languageUtils.js";import{addFunctionDeclaration as R,findFieldLiterals as A,findExpectedFieldLiterals as U,validateScript as F,referencesMember as P,referencesFunction as k,nodeErrorMessage as j}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/geomsync.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{isPromiseLike as q}from"../core/promiseUtils.js";import J from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import W from"../geometry/Multipoint.js";import H from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import Q from"../geometry/SpatialReference.js";function $(e,t){const n=[];for(let r=0;r<t.arguments.length;r++)n.push(te(e,t.arguments[r]));return n}function ee(e,t,n){try{return n(e,null,t.arguments)}catch(r){throw r}}function te(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return ge(e,t);case"VariableDeclaration":return he(e,t);case"BlockStatement":return pe(e,t);case"FunctionDeclaration":return me(e,t);case"ReturnStatement":return fe(e,t);case"IfStatement":return ue(e,t);case"ExpressionStatement":return ie(e,t);case"AssignmentExpression":return se(e,t);case"UpdateExpression":return le(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Ee(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ae(e,t);case"ForInStatement":return oe(e,t);case"Identifier":return Me(e,t);case"MemberExpression":return Se(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"ThisExpression":case"ConditionalExpression":case"Array":throw new Error(j(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return Ie(e,t);case"UnaryExpression":return we(e,t);case"BinaryExpression":return ve(e,t);case"LogicalExpression":return Ne(e,t);case"ArrayExpression":return be(e,t);case"ObjectExpression":return ne(e,t);case"Property":return re(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(n){throw n}}function ne(e,t){let n="lang.dictionary([";for(let r=0;r<t.properties.length;r++){const o=t.properties[r];r>0&&(n+=","),n+="lang.strCheck("+("Identifier"===o.key.type?"'"+o.key.name+"'":te(e,o.key))+",'ObjectExpression'),lang.aCheck("+te(e,o.value)+", 'ObjectExpression')"}return n+="])",n}function re(e,t){throw new Error("Should not get here")}function oe(e,t){const n=Pe(e),r=Pe(e),o=Pe(e);let a="var "+n+" = "+te(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=te(e,t.left));let l="VariableDeclaration"===t.left.type?t.left.declarations[0].id.name:t.left.name;l=l.toLowerCase();let s="";return null!==e.localScope&&(void 0!==e.localScope[l]?s="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(s="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===s&&(void 0!==e.globalScope[l]?s="gscope['"+l+"']":void 0!==e.globalScope._SymbolsMap[l]&&(s="gscope['"+e.globalScope._SymbolsMap[l]+"']")),a+="if ("+n+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+n+") || lc.isString("+n+")) {",a+="var "+r+"="+n+".length; \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+n+")) {",a+="var "+r+"="+n+".length(); \n",a+="for(var "+o+"=0; "+o+"<"+r+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+n+" instanceof lang.Dictionary) || ( "+n+" instanceof lang.Feature)) {",a+="var "+r+"="+n+".keys(); \n",a+="for(var "+o+"=0; "+o+"<"+r+".length; "+o+"++) {\n",a+=s+"="+r+"["+o+"];\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+n+")) {",a+="var "+r+"="+n+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+"); "+o+"!=null; "+o+"=lang. graphicToFeature( yield "+r+".next(),"+n+")) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ae(e,t){let n="lastStatement = lc.voidOperation; \n";null!==t.init&&(n+=te(e,t.init)+"; ");const r=Pe(e),o=Pe(e);return n+="var "+r+" = true; ",n+="\n do { ",null!==t.update&&(n+=" if ("+r+"===false) {\n "+te(e,t.update)+" \n}\n "+r+"=false; \n"),null!==t.test&&(n+="var "+o+" = "+te(e,t.test)+"; ",n+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); }\n"),n+=te(e,t.body),null!==t.update&&(n+="\n "+te(e,t.update)),n+="\n"+r+" = true; \n} while(true); lastStatement = lc.voidOperation; ",n}function le(e,t){let n=null,r="";if("MemberExpression"===t.argument.type)return n=te(e,t.argument.object),r=!0===t.argument.computed?te(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+n+","+r+",'"+t.operator+"',"+t.prefix+")";if(n=t.argument.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[n])return"lang.update(lscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[n])return"lang.update(lscope, '"+e.localScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[n])return"lang.update(gscope, '"+n+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[n])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[n]+"','"+t.operator+"',"+t.prefix+")";throw new Error("Variable not recognised")}function se(e,t){const n=te(e,t.right);let r=null,o="";if("MemberExpression"===t.left.type)return r=te(e,t.left.object),o=!0===t.left.computed?te(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+r+","+o+",'"+t.operator+"',"+n+")";if(r=t.left.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+r+"'])";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[r]+"'])"}if(void 0!==e.globalScope[r])return"gscope['"+r+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+r+"'])";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']=lang.assign("+n+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[r]+"'])";throw new Error("Variable not recognised")}function ie(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+te(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+te(e,t.expression)+"; ")}function ce(e,t){return"BlockStatement"===t.type?te(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?te(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+te(e,t)+"; ":"ExpressionStatement"===t.type?te(e,t):"ObjectExpression"===t.type?"lastStatement = "+te(e,t)+"; ":te(e,t)+"; "}function ue(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(j(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const n=te(e,t.test),r=Pe(e);let o="var "+r+" = "+n+";\n if ("+r+" === true) {\n"+ce(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+r+"===false) { \n"+ce(e,t.alternate)+"}\n":o+="else if ("+r+"===false) { \n lastStatement = lc.voidOperation;\n }\n",o+="else { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); \n}\n",o}function pe(e,t){let n="";for(let r=0;r<t.body.length;r++)"ReturnStatement"===t.body[r].type||"BreakStatement"===t.body[r].type||"ContinueStatement"===t.body[r].type?n+=te(e,t.body[r])+"; \n":"UpdateExpression"===t.body[r].type||"ObjectExpression"===t.body[r].type?n+="lastStatement = "+te(e,t.body[r])+"; \n":n+=te(e,t.body[r])+" \n";return n}function fe(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+te(e,t.argument)}function me(e,t){const n=t.id.name.toLowerCase(),r={isAsync:e.isAsync,spatialReference:e.spatialReference,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter+1,globalScope:e.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");let o="new lc.SizzleFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let a=0;a<t.params.length;a++){const n=t.params[a].name.toLowerCase(),l=Fe(e);r.localScope._SymbolsMap[n]=l,r.mangleMap[n]=l,o+="lscope['"+l+"']=arguments["+a.toString()+"];\n"}if(!0===e.isAsync?(o+="return lang.__awaiter(this, void 0, void 0, function* () {\n",o+=pe(r,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=pe(r,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"),void 0!==e.globalScope[n])return"gscope['"+n+"']="+o;if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']="+o;{const t=Fe(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+o}}function he(e,t){const n=[];for(let r=0;r<t.declarations.length;r++)n.push(te(e,t.declarations[r]));return n.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function ge(e,t){let n=null===t.init?null:te(e,t.init);n===h&&(n=null);const r=t.id.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']="+n+"; ";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.localScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"lscope['"+t+"']="+n+"; "}}if(void 0!==e.globalScope[r])return"gscope['"+r+"']="+n+"; ";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']="+n+"; ";{const t=Fe(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+n+"; "}}let ye=0;function de(e,t,r){let l;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let n=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(n=!1),n&&(ye++,e.spatialReference._arcadeCacheId=ye,t=ye)}const r=new n({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(r._arcadeCacheId="SPREF"+t.toString()),r}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const n=e[t];return void 0!==n?n:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new a(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,l,1);case"type":return"Multipoint"}}throw new Error(j(r,"RUNTIME","PROPERTYNOTFOUND"))}function Se(e,t){try{let n;return n=!0===t.computed?te(e,t.property):"'"+t.property.name+"'","lang.member("+te(e,t.object)+","+n+")"}catch(n){throw n}}function we(e,t){try{return"lang.unary("+te(e,t.argument)+",'"+t.operator+"')"}catch(n){throw n}}function be(e,t){try{const n=[];for(let r=0;r<t.elements.length;r++)"Literal"===t.elements[r].type?n.push(te(e,t.elements[r])):n.push("lang.aCheck("+te(e,t.elements[r])+",'ArrayExpression')");return"["+n.join(",")+"]"}catch(n){throw n}}function Ee(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("+te(e,t.expressions[r])+", 'TemplateLiteral'))":""),r++);return"(["+n.join(",")+"]).join('')"}catch(n){throw n}}function ve(e,t){try{return"lang.binary("+te(e,t.left)+","+te(e,t.right)+",'"+t.operator+"')"}catch(n){throw n}}function Ne(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(j(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(j(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+te(e,t.left)+") "+t.operator+" lang.logicalCheck("+te(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(n){throw n}}function Me(e,t){try{const n=t.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']"}if(void 0!==e.globalScope[n])return"gscope['"+n+"']";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']";throw new Error(j(t,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Ie(e,t){try{if("Identifier"!==t.callee.type)throw new Error(j(t,"RUNTIME","ONLYNODESSUPPORTED"));const n=t.callee.name.toLowerCase();let r="";if(null!==e.localScope&&(void 0!==e.localScope[n]?r="lscope['"+n+"']":void 0!==e.localScope._SymbolsMap[n]&&(r="lscope['"+e.localScope._SymbolsMap[n]+"']")),""===r&&(void 0!==e.globalScope[n]?r="gscope['"+n+"']":void 0!==e.globalScope._SymbolsMap[n]&&(r="gscope['"+e.globalScope._SymbolsMap[n]+"']")),""!==r){let n="[";for(let r=0;r<t.arguments.length;r++)r>0&&(n+=", "),n+=te(e,t.arguments[r]);return n+="]",e.isAsync?"(yield lang.callfunc("+r+","+n+",runtimeCtx) )":"lang.callfunc("+r+","+n+",runtimeCtx)"}throw new Error(j(t,"RUNTIME","NOTFOUND"))}catch(n){throw n}}const Oe={};function xe(r){return null===r?"":u(r)||f(r)?"Array":x(r)?"Date":y(r)?"String":s(r)?"Boolean":w(r)?"Number":r instanceof t?"Attachment":r instanceof e?"Portal":r instanceof n?"Dictionary":b(r)?"Feature":r instanceof H?"Point":r instanceof K?"Polygon":r instanceof X?"Polyline":r instanceof W?"Multipoint":r instanceof J?"Extent":m(r)?"Function":T(r)?"FeatureSet":_(r)?"FeatureSetCollection":r===h?"":"number"==typeof r&&isNaN(r)?"Number":"Unrecognised Type"}function Te(e,t,n,r){try{const o=t[n];if(i(o,r))return t[n+1];{const o=t.length-n;return 1===o?t[n]:2===o?null:3===o?t[n+2]:Te(e,t,n+2,r)}}catch(o){throw o}}function _e(e,t,n,r){try{if(!0===r)return t[n+1];if(3===t.length-n)return t[n+2];{const r=t[n+2];if(!1===s(r))throw new Error("WHEN needs boolean test conditions");return _e(e,t,n+2,r)}}catch(o){throw o}}function Ce(e,t){const n=e.length,r=Math.floor(n/2);return 0===n?[]:1===n?[e[0]]:Re(Ce(e.slice(0,r),t),Ce(e.slice(r,n),t),t)}function Re(e,t,n){const r=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=n(e[0],t[0]);isNaN(o)&&(o=0),o<=0?(r.push(e[0]),e=e.slice(1)):(r.push(t[0]),t=t.slice(1))}else e.length>0?(r.push(e[0]),e=e.slice(1)):t.length>0&&(r.push(t[0]),t=t.slice(1));return r}async function Ae(e,t){const n=e.length,r=Math.floor(n/2);if(0===n)return[];if(1===n)return[e[0]];const o=[await Ae(e.slice(0,r),t),await Ae(e.slice(r,n),t)];return Ue(o[0],o[1],t,[])}async function Ue(e,t,n,r){const o=r;if(!(e.length>0||t.length>0))return r;if(e.length>0&&t.length>0){let a=await n(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ue(e,t,n,r)}return e.length>0?(o.push(e[0]),Ue(e=e.slice(1),t,n,r)):t.length>0?(o.push(t[0]),Ue(e,t=t.slice(1),n,r)):void 0}function Fe(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Pe(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Oe,ee),z(Oe,ee),V(Oe,ee),B(Oe,ee),G(Oe,ee),Oe.typeof=function(e,t){return ee(e,t,(function(e,t,n){l(n,1,1);const r=xe(n[0]);if("Unrecognised Type"===r)throw new Error("Unrecognised Type");return r}))},Oe.iif=function(e,t){try{return ee(e,t,(function(e,t,n){if(l(n,3,3),!1===s(n[0]))throw new Error("IF Function must have a boolean test condition");return n[0]?n[1]:n[2]}))}catch(n){throw n}},Oe.decode=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<2)throw new Error("Missing Parameters");if(2===r.length)return r[1];{if((r.length-1)%2==0)throw new Error("Must have a default value result.");const t=r[0];return Te(e,r,1,t)}}))}catch(n){throw n}},Oe.when=function(e,t){try{return ee(e,t,(function(t,n,r){if(r.length<3)throw new Error("Missing Parameters");if(r.length%2==0)throw new Error("Must have a default value result.");const o=r[0];if(!1===s(o))throw new Error("WHEN needs boolean test conditions");return _e(e,r,0,o)}))}catch(n){throw n}},Oe.top=function(e,t){return ee(e,t,(function(e,t,n){if(l(n,2,2),u(n[0]))return p(n[1])>=n[0].length?n[0].slice(0):n[0].slice(0,p(n[1]));if(f(n[0]))return p(n[1])>=n[0].length()?n[0].slice(0):n[0].slice(0,p(n[1]));throw new Error("Top cannot accept this parameter type")}))},Oe.first=function(e,t){return ee(e,t,(function(e,t,n){return l(n,1,1),u(n[0])?0===n[0].length?null:n[0][0]:f(n[0])?0===n[0].length()?null:n[0].get(0):null}))},Oe.sort=function(e,t){return ee(e,t,(function(t,n,r){l(r,1,2);let o=r[0];if(f(o)&&(o=o.toArray()),!1===u(o))throw new Error("Illegal Argument");if(r.length>1){if(!1===m(r[1]))throw new Error("Illegal Argument");let n=o;const a=function(e,n){return Xe.callfunc(r[1],[e,n],t)};return e.isAsync?Ae(n,a):(n=Ce(n,(function(e,t){return a(e,t)})),n)}{let e=o;if(0===e.length)return[];const t={};for(let o=0;o<e.length;o++){const n=xe(e[o]);""!==n&&(t[n]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return e.slice(0);let n=0,r="";for(const o in t)n++,r=o;return e=n>1||"String"===r?Ce(e,(function(e,t){if(null==e||e===h)return null==t||t===h?0:1;if(null==t||t===h)return-1;const n=g(e),r=g(t);return n<r?-1:n===r?0:1})):"Number"===r?Ce(e,(function(e,t){return e-t})):"Boolean"===r?Ce(e,(function(e,t){return e===t?0:t?-1:1})):"Date"===r?Ce(e,(function(e,t){return t-e})):e.slice(0),e}}))};const ke={};for(const tt in Oe)ke[tt]=new c(Oe[tt]);Y(Oe,ee);for(const tt in Oe)Oe[tt]=new c(Oe[tt]);const je=function(){};je.prototype=Oe;const De=function(){};function Le(e,t,n){const r={};e||(e={}),n||(n={}),r._SymbolsMap={},r.textformatting=1,r.infinity=1,r.pi=1;for(const o in t)r[o]=1;for(const o in n)r[o]=1;for(const o in e)r[o]=1;return r}function Be(e,t,o){const a=o?new De:new je;e||(e={}),t||(t={});const l=new n({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});l.immutable=!1,a._SymbolsMap={textformatting:1,infinity:1,pi:1},a.textformatting=l,a.infinity=Number.POSITIVE_INFINITY,a.pi=Math.PI;for(const n in t)a[n]=t[n],a._SymbolsMap[n]=1;for(const n in e)a._SymbolsMap[n]=1,e[n]&&"esri.Graphic"===e[n].declaredClass?a[n]=r.createFromGraphic(e[n]):a[n]=e[n];return a}De.prototype=ke;const Ye={fixSpatialReference:C,parseArguments:$,standardFunction:ee};function Ve(e,t){const n={mode:t,compiled:!0,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:ee,evaluateIdentifier:He};for(let r=0;r<e.length;r++)e[r].registerFunctions(n);if("sync"===t){for(const e in n.functions)Oe[e]=new c(n.functions[e]),je.prototype[e]=Oe[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"sync")}else{for(const e in n.functions)ke[e]=new c(n.functions[e]),De.prototype[e]=ke[e];for(let e=0;e<n.signatures.length;e++)R(n.signatures[e],"async")}}function Ge(e,t){return e(t)}function ze(e,t){return A(e)}function qe(e){return U(e)}function Je(e,t){return F(e,t,"sync")}function Ze(e,t){return P(e,t)}function We(e,t){return k(e,t)}function He(e,t){const n=t.name;if("_SymbolsMap"===n)throw new Error("Illegal");if(e.localStack.length>0){if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][n])return e.localStack[e.localStack.length-1][n];const t=e.mangleMap[n];if(void 0!==t&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t]}if("_t"!==n.substr(0,2).toLowerCase()&&void 0!==e.globalScope[n])return e.globalScope[n];if(1===e.globalScope._SymbolsMap[n])return e.globalScope[n];const r=e.mangleMap[n];return void 0!==r?e.globalScope[r]:void 0}Ve([D],"sync"),Ve([D],"async");let Ke=0;const Xe={error(e,t,n){throw new Error(j(e,t,n))},__awaiter:(e,t,n,r)=>new Promise(((n,o)=>{function a(e){try{s(r.next(e))}catch(t){o(t)}}function l(e){try{s(r.throw(e))}catch(t){o(t)}}function s(e){e.done?n(e.value):e.value&&e.value.then?e.value.then(a,l):(Ke++,Ke%100==0?setTimeout((()=>{Ke=0,a(e.value)}),0):a(e.value))}s((r=r.apply(e,t||[])).next())})),functionDepthchecker:(e,t)=>function(){if(t.depthCounter++,t.localStack.push([]),t.depthCounter>64)throw new Error("Exceeded maximum function depth");const n=e.apply(this,arguments);return q(n)?n.then((e=>(t.depthCounter--,t.localStack.length=t.localStack.length-1,e))):(t.depthCounter--,t.localStack.length=t.localStack.length-1,n)},castString:e=>g(e),aCheck(e,t){if(m(e))throw new Error(j({type:t},"RUNTIME","FUNCTIONCONTEXTILLEGAL"));return e===h?null:e},Dictionary:n,Feature:r,dictionary(e){const t={};for(let n=0;n<e.length;n+=2){if(m(e[n+1]))throw new Error("Illegal Argument");if(!1===y(e[n]))throw new Error("Illegal Argument");e[n+1]===h?t[e[n].toString()]=null:t[e[n].toString()]=e[n+1]}const r=new n(t);return r.immutable=!1,r},strCheck(e){if(!1===y(e))throw new Error("Illegal Argument");return e},unary(e,t){if(s(e)){if("!"===t)return!e;if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}return e},logical(e,t,n){if(s(e)&&s(t))switch(n){case"||":return e||t;case"&&":return e&&t;default:throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))},binary(e,t,n){switch(n){case"|":case"<<":case">>":case">>>":case"^":case"&":return S(p(e),p(t),n);case"==":case"=":return i(e,t);case"!=":return!i(e,t);case"<":case">":case"<=":case">=":return d(e,t,n);case"+":return y(e)||y(t)?g(e)+g(t):p(e)+p(t);case"-":return p(e)-p(t);case"*":return p(e)*p(t);case"/":return p(e)/p(t);case"%":return p(e)%p(t);default:throw new Error(j({type:"BinaryExpression",operator:n,left:e,right:t},"RUNTIME","OPERATORNOTRECOGNISED"))}},assign(e,t,n){switch(t){case"=":return e===h?null:e;case"/=":return p(n)/p(e);case"*=":return p(n)*p(e);case"-=":return p(n)-p(e);case"+=":return y(n)||y(e)?g(n)+g(e):p(n)+p(e);case"%=":return p(n)%p(e);default:throw new Error(j({type:"AssignmentExpression",operator:t,left:null,right:null},"RUNTIME","OPERATORNOTRECOGNISED"))}},update(e,t,n,r){const o=p(e[t]);return e[t]="++"===n?o+1:o-1,!1===r?o:"++"===n?o+1:o-1},graphicToFeature:(e,t)=>null===e?null:r.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(e,t,r,o){let a;if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new Error("Assignment outside of array bounds");a=p(e[t]),e[t]="++"===r?a+1:a-1}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===r?a+1:a-1)}return!1===o?a:"++"===r?a+1:a-1},assignmember(e,t,r,o){if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>e.length)throw new Error("Assignment outside of array bounds");if(t===e.length){if("="!==r)throw new Error("Invalid Parameter");e[t]=this.assign(o,r,e[t])}else e[t]=this.assign(o,r,e[t])}else if(e instanceof n){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,r,e.field(t)));else{if("="!==r)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,r,null))}}},member(e,t){if(null===e){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof n||b(e)){if(y(t))return e.field(t);throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof Z){if(y(t))return de(e,t,"MemberExpression");throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(u(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(y(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(f(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length()+t),t>=e.length()||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))},callfunc(e,t,n){return e instanceof c?e.fn(n,{arguments:t,preparsed:!0}):e instanceof E?e.fn.apply(this,t):e.apply(this,t)}};function Qe(e){console.log(e)}function $e(e,t=null,n=!1){null===t&&(t={vars:{},customfunctions:{}});const r={isAsync:n,globalScope:Le(t.vars,n?ke:Oe,t.customfunctions),localScope:null,mangleMap:{},console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=te(r,e.body[0].body);""===o&&(o="lc.voidOperation; ");let a="";a=n?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+o+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+o+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const l={lc:v,lang:Xe,mangles:r.mangleMap,postProcess(e){if(e instanceof N&&(e=e.value),e instanceof M&&(e=e.value),e===h&&(e=null),e===I)throw new Error("Cannot return BREAK");if(e===O)throw new Error("Cannot return CONTINUE");if(m(e))throw new Error("Cannot return FUNCTION");return e},prepare(e,t){let n=e.spatialReference;null==n&&(n=Q.WebMercator);const r=Be(e.vars,e.customfunctions,t);return{localStack:[],isAsync:t,mangleMap:this.mangles,spatialReference:n,globalScope:r,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Qe,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}async function et(){return Ve([await import("./functions/geomasync.js")],"async"),!0}export{$e as compileScript,et as enableAsyncSupport,Ge as executeScript,Ve as extend,qe as extractExpectedFieldLiterals,ze as extractFieldLiterals,Ye as functionHelper,We as referencesFunction,Ze as referencesMember,Je as validateScript};
5
+ import e from"./ArcadePortal.js";import t from"./Attachment.js";import r from"./Dictionary.js";import n from"./Feature.js";import o from"./ImmutablePathArray.js";import a from"./ImmutablePointArray.js";import{p as l,i as s,m as i,N as c,l as u,f as p,n as f,o as m,v as h,h as g,b as y,q as d,r as S,a as w,s as b,S as E,u as v,R as N,I as M,w as I,x as O,j as x,y as T,z as _,A as C}from"../chunks/languageUtils.js";import{addFunctionDeclaration as R,findFieldLiterals as A,findExpectedFieldLiterals as U,validateScript as F,referencesMember as P,referencesFunction as k,nodeErrorMessage as j}from"./treeAnalysis.js";import{A as D}from"../chunks/array.js";import{registerFunctions as L}from"./functions/date.js";import{registerFunctions as B}from"./functions/geometry.js";import{registerFunctions as Y}from"./functions/geomsync.js";import{registerFunctions as V}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import{isPromiseLike as q}from"../core/promiseUtils.js";import J from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import W from"../geometry/Multipoint.js";import H from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import Q from"../geometry/SpatialReference.js";function $(e,t){const r=[];for(let n=0;n<t.arguments.length;n++)r.push(te(e,t.arguments[n]));return r}function ee(e,t,r){try{return r(e,null,t.arguments)}catch(n){throw n}}function te(e,t){try{switch(t.type){case"EmptyStatement":return"lc.voidOperation";case"VariableDeclarator":return ge(e,t);case"VariableDeclaration":return he(e,t);case"BlockStatement":return pe(e,t);case"FunctionDeclaration":return me(e,t);case"ReturnStatement":return fe(e,t);case"IfStatement":return ue(e,t);case"ExpressionStatement":return ie(e,t);case"AssignmentExpression":return se(e,t);case"UpdateExpression":return le(e,t);case"BreakStatement":return"break";case"ContinueStatement":return"continue";case"TemplateLiteral":return Ee(e,t);case"TemplateElement":return JSON.stringify(t.value?t.value.cooked:"");case"ForStatement":return ae(e,t);case"ForInStatement":return oe(e,t);case"Identifier":return Me(e,t);case"MemberExpression":return Se(e,t);case"Literal":return null===t.value||void 0===t.value?"null":JSON.stringify(t.value);case"ThisExpression":case"ConditionalExpression":case"Array":throw new Error(j(t,"RUNTIME","NOTSUPPORTED"));case"CallExpression":return Ie(e,t);case"UnaryExpression":return we(e,t);case"BinaryExpression":return ve(e,t);case"LogicalExpression":return Ne(e,t);case"ArrayExpression":return be(e,t);case"ObjectExpression":return re(e,t);case"Property":return ne(e,t);default:throw new Error(j(t,"RUNTIME","UNREOGNISED"))}}catch(r){throw r}}function re(e,t){let r="lang.dictionary([";for(let n=0;n<t.properties.length;n++){const o=t.properties[n];n>0&&(r+=","),r+="lang.strCheck("+("Identifier"===o.key.type?"'"+o.key.name+"'":te(e,o.key))+",'ObjectExpression'),lang.aCheck("+te(e,o.value)+", 'ObjectExpression')"}return r+="])",r}function ne(e,t){throw new Error("Should not get here")}function oe(e,t){const r=Pe(e),n=Pe(e),o=Pe(e);let a="var "+r+" = "+te(e,t.right)+";\n";"VariableDeclaration"===t.left.type&&(a+=te(e,t.left));let l="VariableDeclaration"===t.left.type?t.left.declarations[0].id.name:t.left.name;l=l.toLowerCase();let s="";return null!==e.localScope&&(void 0!==e.localScope[l]?s="lscope['"+l+"']":void 0!==e.localScope._SymbolsMap[l]&&(s="lscope['"+e.localScope._SymbolsMap[l]+"']")),""===s&&(void 0!==e.globalScope[l]?s="gscope['"+l+"']":void 0!==e.globalScope._SymbolsMap[l]&&(s="gscope['"+e.globalScope._SymbolsMap[l]+"']")),a+="if ("+r+"===null) { lastStatement = lc.voidOperation; }\n ",a+="else if (lc.isArray("+r+") || lc.isString("+r+")) {",a+="var "+n+"="+r+".length; \n",a+="for(var "+o+"=0; "+o+"<"+n+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (lc.isImmutableArray("+r+")) {",a+="var "+n+"="+r+".length(); \n",a+="for(var "+o+"=0; "+o+"<"+n+"; "+o+"++) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",a+="else if (( "+r+" instanceof lang.Dictionary) || ( "+r+" instanceof lang.Feature)) {",a+="var "+n+"="+r+".keys(); \n",a+="for(var "+o+"=0; "+o+"<"+n+".length; "+o+"++) {\n",a+=s+"="+n+"["+o+"];\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n",e.isAsync&&(a+="else if (lc.isFeatureSet("+r+")) {",a+="var "+n+"="+r+".iterator(runtimeCtx.abortSignal); \n",a+="for(var "+o+"=lang. graphicToFeature( yield "+n+".next(),"+r+"); "+o+"!=null; "+o+"=lang. graphicToFeature( yield "+n+".next(),"+r+")) {\n",a+=s+"="+o+";\n",a+=te(e,t.body),a+="\n}\n",a+=" lastStatement = lc.voidOperation; \n",a+=" \n}\n"),a+="else { lastStatement = lc.voidOperation; } \n",a}function ae(e,t){let r="lastStatement = lc.voidOperation; \n";null!==t.init&&(r+=te(e,t.init)+"; ");const n=Pe(e),o=Pe(e);return r+="var "+n+" = true; ",r+="\n do { ",null!==t.update&&(r+=" if ("+n+"===false) {\n "+te(e,t.update)+" \n}\n "+n+"=false; \n"),null!==t.test&&(r+="var "+o+" = "+te(e,t.test)+"; ",r+="if ("+o+"===false) { break; } else if ("+o+"!==true) { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); }\n"),r+=te(e,t.body),null!==t.update&&(r+="\n "+te(e,t.update)),r+="\n"+n+" = true; \n} while(true); lastStatement = lc.voidOperation; ",r}function le(e,t){let r=null,n="";if("MemberExpression"===t.argument.type)return r=te(e,t.argument.object),n=!0===t.argument.computed?te(e,t.argument.property):"'"+t.argument.property.name+"'","lang.memberupdate("+r+","+n+",'"+t.operator+"',"+t.prefix+")";if(r=t.argument.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[r])return"lang.update(lscope, '"+r+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.localScope._SymbolsMap[r])return"lang.update(lscope, '"+e.localScope._SymbolsMap[r]+"','"+t.operator+"',"+t.prefix+")"}if(void 0!==e.globalScope[r])return"lang.update(gscope, '"+r+"','"+t.operator+"',"+t.prefix+")";if(void 0!==e.globalScope._SymbolsMap[r])return"lang.update(gscope, '"+e.globalScope._SymbolsMap[r]+"','"+t.operator+"',"+t.prefix+")";throw new Error("Variable not recognised")}function se(e,t){const r=te(e,t.right);let n=null,o="";if("MemberExpression"===t.left.type)return n=te(e,t.left.object),o=!0===t.left.computed?te(e,t.left.property):"'"+t.left.property.name+"'","lang.assignmember("+n+","+o+",'"+t.operator+"',"+r+")";if(n=t.left.name.toLowerCase(),null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']=lang.assign("+r+",'"+t.operator+"', lscope['"+n+"'])";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']=lang.assign("+r+",'"+t.operator+"', lscope['"+e.localScope._SymbolsMap[n]+"'])"}if(void 0!==e.globalScope[n])return"gscope['"+n+"']=lang.assign("+r+",'"+t.operator+"', gscope['"+n+"'])";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']=lang.assign("+r+",'"+t.operator+"', gscope['"+e.globalScope._SymbolsMap[n]+"'])";throw new Error("Variable not recognised")}function ie(e,t){return"AssignmentExpression"===t.expression.type?"lastStatement = lc.voidOperation; "+te(e,t.expression)+"; \n ":(t.expression.type,"lastStatement = "+te(e,t.expression)+"; ")}function ce(e,t){return"BlockStatement"===t.type?te(e,t):"ReturnStatement"===t.type||"BreakStatement"===t.type||"ContinueStatement"===t.type?te(e,t)+"; ":"UpdateExpression"===t.type?"lastStatement = "+te(e,t)+"; ":"ExpressionStatement"===t.type?te(e,t):"ObjectExpression"===t.type?"lastStatement = "+te(e,t)+"; ":te(e,t)+"; "}function ue(e,t){if("AssignmentExpression"===t.test.type||"UpdateExpression"===t.test.type)throw new Error(j(t.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const r=te(e,t.test),n=Pe(e);let o="var "+n+" = "+r+";\n if ("+n+" === true) {\n"+ce(e,t.consequent)+"\n }\n";return null!==t.alternate?o+="else if ("+n+"===false) { \n"+ce(e,t.alternate)+"}\n":o+="else if ("+n+"===false) { \n lastStatement = lc.voidOperation;\n }\n",o+="else { lang.error({type: '"+t.type+"'},'RUNTIME','CANNOT_USE_NONBOOLEAN_IN_CONDITION'); \n}\n",o}function pe(e,t){let r="";for(let n=0;n<t.body.length;n++)"ReturnStatement"===t.body[n].type||"BreakStatement"===t.body[n].type||"ContinueStatement"===t.body[n].type?r+=te(e,t.body[n])+"; \n":"UpdateExpression"===t.body[n].type||"ObjectExpression"===t.body[n].type?r+="lastStatement = "+te(e,t.body[n])+"; \n":r+=te(e,t.body[n])+" \n";return r}function fe(e,t){if(null===t.argument)return"return lc.voidOperation";return"return "+te(e,t.argument)}function me(e,t){const r=t.id.name.toLowerCase(),n={isAsync:e.isAsync,spatialReference:e.spatialReference,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,services:e.services,symbols:e.symbols,mangleMap:e.mangleMap,localScope:{_SymbolsMap:{}},depthCounter:e.depthCounter+1,globalScope:e.globalScope};if(n.depthCounter>64)throw new Error("Exceeded maximum function depth");let o="new lc.SizzleFunction( lang.functionDepthchecker(function() { var lastStatement = lc.voidOperation; \n var lscope = runtimeCtx.localStack[runtimeCtx.localStack.length-1];\n";for(let a=0;a<t.params.length;a++){const r=t.params[a].name.toLowerCase(),l=Fe(e);n.localScope._SymbolsMap[r]=l,n.mangleMap[r]=l,o+="lscope['"+l+"']=arguments["+a.toString()+"];\n"}if(!0===e.isAsync?(o+="return lang.__awaiter(this, void 0, void 0, function* () {\n",o+=pe(n,t.body)+"\n return lastStatement; ",o+="}); }",o+=", runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"):(o+=pe(n,t.body)+"\n return lastStatement; }, runtimeCtx),"+t.params.length+")",o+="\n lastStatement = lc.voidOperation; \n"),void 0!==e.globalScope[r])return"gscope['"+r+"']="+o;if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']="+o;{const t=Fe(e);return e.globalScope._SymbolsMap[r]=t,e.mangleMap[r]=t,"gscope['"+t+"']="+o}}function he(e,t){const r=[];for(let n=0;n<t.declarations.length;n++)r.push(te(e,t.declarations[n]));return r.join("\n")+" \n lastStatement= lc.voidOperation; \n"}function ge(e,t){let r=null===t.init?null:te(e,t.init);r===h&&(r=null);const n=t.id.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[n])return"lscope['"+n+"']="+r+"; ";if(void 0!==e.localScope._SymbolsMap[n])return"lscope['"+e.localScope._SymbolsMap[n]+"']="+r+"; ";{const t=Fe(e);return e.localScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"lscope['"+t+"']="+r+"; "}}if(void 0!==e.globalScope[n])return"gscope['"+n+"']="+r+"; ";if(void 0!==e.globalScope._SymbolsMap[n])return"gscope['"+e.globalScope._SymbolsMap[n]+"']="+r+"; ";{const t=Fe(e);return e.globalScope._SymbolsMap[n]=t,e.mangleMap[n]=t,"gscope['"+t+"']="+r+"; "}}let ye=0;function de(e,t,n){let l;switch(t=t.toLowerCase()){case"hasz":{const t=e.hasZ;return void 0!==t&&t}case"hasm":{const t=e.hasM;return void 0!==t&&t}case"spatialreference":{let t=e.spatialReference._arcadeCacheId;if(void 0===t){let r=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(r=!1),r&&(ye++,e.spatialReference._arcadeCacheId=ye,t=ye)}const n=new r({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==t&&(n._arcadeCacheId="SPREF"+t.toString()),n}}switch(e.type){case"extent":switch(t){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const r=e[t];return void 0!==r?r:null}case"type":return"Extent"}break;case"polygon":switch(t){case"rings":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polygon"}break;case"point":switch(t){case"x":case"y":case"z":case"m":return void 0!==e[t]?e[t]:null;case"type":return"Point"}break;case"polyline":switch(t){case"paths":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new o(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,l);case"type":return"Polyline"}break;case"multipoint":switch(t){case"points":l=e.cache._arcadeCacheId,void 0===l&&(ye++,l=ye,e.cache._arcadeCacheId=l);return new a(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,l,1);case"type":return"Multipoint"}}throw new Error(j(n,"RUNTIME","PROPERTYNOTFOUND"))}function Se(e,t){try{let r;return r=!0===t.computed?te(e,t.property):"'"+t.property.name+"'","lang.member("+te(e,t.object)+","+r+")"}catch(r){throw r}}function we(e,t){try{return"lang.unary("+te(e,t.argument)+",'"+t.operator+"')"}catch(r){throw r}}function be(e,t){try{const r=[];for(let n=0;n<t.elements.length;n++)"Literal"===t.elements[n].type?r.push(te(e,t.elements[n])):r.push("lang.aCheck("+te(e,t.elements[n])+",'ArrayExpression')");return"["+r.join(",")+"]"}catch(r){throw r}}function Ee(e,t){try{const r=[];let n=0;for(const o of t.quasis)r.push(o.value?JSON.stringify(o.value.cooked):JSON.stringify("")),!1===o.tail&&(r.push(t.expressions[n]?"lang.castString(lang.aCheck("+te(e,t.expressions[n])+", 'TemplateLiteral'))":""),n++);return"(["+r.join(",")+"]).join('')"}catch(r){throw r}}function ve(e,t){try{return"lang.binary("+te(e,t.left)+","+te(e,t.right)+",'"+t.operator+"')"}catch(r){throw r}}function Ne(e,t){try{if("AssignmentExpression"===t.left.type||"UpdateExpression"===t.left.type)throw new Error(j(t.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===t.right.type||"UpdateExpression"===t.right.type)throw new Error(j(t.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("&&"===t.operator||"||"===t.operator)return"(lang.logicalCheck("+te(e,t.left)+") "+t.operator+" lang.logicalCheck("+te(e,t.right)+"))";throw new Error(j(t,"RUNTIME","ONLYORORAND"))}catch(r){throw r}}function Me(e,t){try{const r=t.name.toLowerCase();if(null!==e.localScope){if(void 0!==e.localScope[r])return"lscope['"+r+"']";if(void 0!==e.localScope._SymbolsMap[r])return"lscope['"+e.localScope._SymbolsMap[r]+"']"}if(void 0!==e.globalScope[r])return"gscope['"+r+"']";if(void 0!==e.globalScope._SymbolsMap[r])return"gscope['"+e.globalScope._SymbolsMap[r]+"']";throw new Error(j(t,"RUNTIME","VARIABLENOTFOUND"))}catch(r){throw r}}function Ie(e,t){try{if("Identifier"!==t.callee.type)throw new Error(j(t,"RUNTIME","ONLYNODESSUPPORTED"));const r=t.callee.name.toLowerCase();let n="";if(null!==e.localScope&&(void 0!==e.localScope[r]?n="lscope['"+r+"']":void 0!==e.localScope._SymbolsMap[r]&&(n="lscope['"+e.localScope._SymbolsMap[r]+"']")),""===n&&(void 0!==e.globalScope[r]?n="gscope['"+r+"']":void 0!==e.globalScope._SymbolsMap[r]&&(n="gscope['"+e.globalScope._SymbolsMap[r]+"']")),""!==n){let r="[";for(let n=0;n<t.arguments.length;n++)n>0&&(r+=", "),r+=te(e,t.arguments[n]);return r+="]",e.isAsync?"(yield lang.callfunc("+n+","+r+",runtimeCtx) )":"lang.callfunc("+n+","+r+",runtimeCtx)"}throw new Error(j(t,"RUNTIME","NOTFOUND"))}catch(r){throw r}}const Oe={};function xe(n){return null===n?"":u(n)||f(n)?"Array":x(n)?"Date":y(n)?"String":s(n)?"Boolean":w(n)?"Number":n instanceof t?"Attachment":n instanceof e?"Portal":n instanceof r?"Dictionary":b(n)?"Feature":n instanceof H?"Point":n instanceof K?"Polygon":n instanceof X?"Polyline":n instanceof W?"Multipoint":n instanceof J?"Extent":m(n)?"Function":T(n)?"FeatureSet":_(n)?"FeatureSetCollection":n===h?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Te(e,t,r,n){try{const o=t[r];if(i(o,n))return t[r+1];{const o=t.length-r;return 1===o?t[r]:2===o?null:3===o?t[r+2]:Te(e,t,r+2,n)}}catch(o){throw o}}function _e(e,t,r,n){try{if(!0===n)return t[r+1];if(3===t.length-r)return t[r+2];{const n=t[r+2];if(!1===s(n))throw new Error("WHEN needs boolean test conditions");return _e(e,t,r+2,n)}}catch(o){throw o}}function Ce(e,t){const r=e.length,n=Math.floor(r/2);return 0===r?[]:1===r?[e[0]]:Re(Ce(e.slice(0,n),t),Ce(e.slice(n,r),t),t)}function Re(e,t,r){const n=[];for(;e.length>0||t.length>0;)if(e.length>0&&t.length>0){let o=r(e[0],t[0]);isNaN(o)&&(o=0),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(t[0]),t=t.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):t.length>0&&(n.push(t[0]),t=t.slice(1));return n}async function Ae(e,t){const r=e.length,n=Math.floor(r/2);if(0===r)return[];if(1===r)return[e[0]];const o=[await Ae(e.slice(0,n),t),await Ae(e.slice(n,r),t)];return Ue(o[0],o[1],t,[])}async function Ue(e,t,r,n){const o=n;if(!(e.length>0||t.length>0))return n;if(e.length>0&&t.length>0){let a=await r(e[0],t[0]);return isNaN(a)&&(a=1),a<=0?(o.push(e[0]),e=e.slice(1)):(o.push(t[0]),t=t.slice(1)),Ue(e,t,r,n)}return e.length>0?(o.push(e[0]),Ue(e=e.slice(1),t,r,n)):t.length>0?(o.push(t[0]),Ue(e,t=t.slice(1),r,n)):void 0}function Fe(e){return e.symbols.symbolCounter++,"_T"+e.symbols.symbolCounter.toString()}function Pe(e){return e.symbols.symbolCounter++,"_Tvar"+e.symbols.symbolCounter.toString()}L(Oe,ee),z(Oe,ee),V(Oe,ee),B(Oe,ee),G(Oe,ee),Oe.typeof=function(e,t){return ee(e,t,((e,t,r)=>{l(r,1,1);const n=xe(r[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},Oe.iif=function(e,t){try{return ee(e,t,((e,t,r)=>{if(l(r,3,3),!1===s(r[0]))throw new Error("IF Function must have a boolean test condition");return r[0]?r[1]:r[2]}))}catch(r){throw r}},Oe.decode=function(e,t){try{return ee(e,t,((t,r,n)=>{if(n.length<2)throw new Error("Missing Parameters");if(2===n.length)return n[1];{if((n.length-1)%2==0)throw new Error("Must have a default value result.");const t=n[0];return Te(e,n,1,t)}}))}catch(r){throw r}},Oe.when=function(e,t){try{return ee(e,t,((t,r,n)=>{if(n.length<3)throw new Error("Missing Parameters");if(n.length%2==0)throw new Error("Must have a default value result.");const o=n[0];if(!1===s(o))throw new Error("WHEN needs boolean test conditions");return _e(e,n,0,o)}))}catch(r){throw r}},Oe.top=function(e,t){return ee(e,t,((e,t,r)=>{if(l(r,2,2),u(r[0]))return p(r[1])>=r[0].length?r[0].slice(0):r[0].slice(0,p(r[1]));if(f(r[0]))return p(r[1])>=r[0].length()?r[0].slice(0):r[0].slice(0,p(r[1]));throw new Error("Top cannot accept this parameter type")}))},Oe.first=function(e,t){return ee(e,t,((e,t,r)=>(l(r,1,1),u(r[0])?0===r[0].length?null:r[0][0]:f(r[0])?0===r[0].length()?null:r[0].get(0):null)))},Oe.sort=function(e,t){return ee(e,t,((t,r,n)=>{l(n,1,2);let o=n[0];if(f(o)&&(o=o.toArray()),!1===u(o))throw new Error("Illegal Argument");if(n.length>1){if(!1===m(n[1]))throw new Error("Illegal Argument");let r=o;const a=function(e,r){return Xe.callfunc(n[1],[e,r],t)};return e.isAsync?Ae(r,a):(r=Ce(r,((e,t)=>a(e,t))),r)}{let e=o;if(0===e.length)return[];const t={};for(let o=0;o<e.length;o++){const r=xe(e[o]);""!==r&&(t[r]=!0)}if(!0===t.Array||!0===t.Dictionary||!0===t.Feature||!0===t.Point||!0===t.Polygon||!0===t.Polyline||!0===t.Multipoint||!0===t.Extent||!0===t.Function)return e.slice(0);let r=0,n="";for(const o in t)r++,n=o;return e=r>1||"String"===n?Ce(e,((e,t)=>{if(null==e||e===h)return null==t||t===h?0:1;if(null==t||t===h)return-1;const r=g(e),n=g(t);return r<n?-1:r===n?0:1})):"Number"===n?Ce(e,((e,t)=>e-t)):"Boolean"===n?Ce(e,((e,t)=>e===t?0:t?-1:1)):"Date"===n?Ce(e,((e,t)=>t-e)):e.slice(0),e}}))};const ke={};for(const tt in Oe)ke[tt]=new c(Oe[tt]);Y(Oe,ee);for(const tt in Oe)Oe[tt]=new c(Oe[tt]);const je=function(){};je.prototype=Oe;const De=function(){};function Le(e,t,r){const n={};e||(e={}),r||(r={}),n._SymbolsMap={},n.textformatting=1,n.infinity=1,n.pi=1;for(const o in t)n[o]=1;for(const o in r)n[o]=1;for(const o in e)n[o]=1;return n}function Be(e,t,o){const a=o?new De:new je;e||(e={}),t||(t={});const l=new r({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});l.immutable=!1,a._SymbolsMap={textformatting:1,infinity:1,pi:1},a.textformatting=l,a.infinity=Number.POSITIVE_INFINITY,a.pi=Math.PI;for(const r in t)a[r]=t[r],a._SymbolsMap[r]=1;for(const r in e)a._SymbolsMap[r]=1,e[r]&&"esri.Graphic"===e[r].declaredClass?a[r]=n.createFromGraphic(e[r]):a[r]=e[r];return a}De.prototype=ke;const Ye={fixSpatialReference:C,parseArguments:$,standardFunction:ee};function Ve(e,t){const r={mode:t,compiled:!0,functions:{},signatures:[],standardFunction:ee,standardFunctionAsync:ee,evaluateIdentifier:He};for(let n=0;n<e.length;n++)e[n].registerFunctions(r);if("sync"===t){for(const e in r.functions)Oe[e]=new c(r.functions[e]),je.prototype[e]=Oe[e];for(let e=0;e<r.signatures.length;e++)R(r.signatures[e],"sync")}else{for(const e in r.functions)ke[e]=new c(r.functions[e]),De.prototype[e]=ke[e];for(let e=0;e<r.signatures.length;e++)R(r.signatures[e],"async")}}function Ge(e,t){return e(t)}function ze(e,t){return A(e)}function qe(e){return U(e)}function Je(e,t){return F(e,t,"sync")}function Ze(e,t){return P(e,t)}function We(e,t){return k(e,t)}function He(e,t){const r=t.name;if("_SymbolsMap"===r)throw new Error("Illegal");if(e.localStack.length>0){if("_t"!==r.substr(0,2).toLowerCase()&&void 0!==e.localStack[e.localStack.length-1][r])return e.localStack[e.localStack.length-1][r];const t=e.mangleMap[r];if(void 0!==t&&void 0!==e.localStack[e.localStack.length-1][t])return e.localStack[e.localStack.length-1][t]}if("_t"!==r.substr(0,2).toLowerCase()&&void 0!==e.globalScope[r])return e.globalScope[r];if(1===e.globalScope._SymbolsMap[r])return e.globalScope[r];const n=e.mangleMap[r];return void 0!==n?e.globalScope[n]:void 0}Ve([D],"sync"),Ve([D],"async");let Ke=0;const Xe={error(e,t,r){throw new Error(j(e,t,r))},__awaiter:(e,t,r,n)=>new Promise(((r,o)=>{function a(e){try{s(n.next(e))}catch(t){o(t)}}function l(e){try{s(n.throw(e))}catch(t){o(t)}}function s(e){e.done?r(e.value):e.value&&e.value.then?e.value.then(a,l):(Ke++,Ke%100==0?setTimeout((()=>{Ke=0,a(e.value)}),0):a(e.value))}s((n=n.apply(e,t||[])).next())})),functionDepthchecker:(e,t)=>function(){if(t.depthCounter++,t.localStack.push([]),t.depthCounter>64)throw new Error("Exceeded maximum function depth");const r=e.apply(this,arguments);return q(r)?r.then((e=>(t.depthCounter--,t.localStack.length=t.localStack.length-1,e))):(t.depthCounter--,t.localStack.length=t.localStack.length-1,r)},castString:e=>g(e),aCheck(e,t){if(m(e))throw new Error(j({type:t},"RUNTIME","FUNCTIONCONTEXTILLEGAL"));return e===h?null:e},Dictionary:r,Feature:n,dictionary(e){const t={};for(let r=0;r<e.length;r+=2){if(m(e[r+1]))throw new Error("Illegal Argument");if(!1===y(e[r]))throw new Error("Illegal Argument");e[r+1]===h?t[e[r].toString()]=null:t[e[r].toString()]=e[r+1]}const n=new r(t);return n.immutable=!1,n},strCheck(e){if(!1===y(e))throw new Error("Illegal Argument");return e},unary(e,t){if(s(e)){if("!"===t)return!e;if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("-"===t)return-1*p(e);if("+"===t)return 1*p(e);if("~"===t)return~p(e);throw new Error(j({type:"UnaryExpression",operator:t,prefix:null,argument:null},"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))},logicalCheck(e){if(!1===s(e)){throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}return e},logical(e,t,r){if(s(e)&&s(t))switch(r){case"||":return e||t;case"&&":return e&&t;default:throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))}throw new Error(j({type:"LogicalExpression",operator:null,left:null,right:null},"RUNTIME","ONLYORORAND"))},binary(e,t,r){switch(r){case"|":case"<<":case">>":case">>>":case"^":case"&":return S(p(e),p(t),r);case"==":case"=":return i(e,t);case"!=":return!i(e,t);case"<":case">":case"<=":case">=":return d(e,t,r);case"+":return y(e)||y(t)?g(e)+g(t):p(e)+p(t);case"-":return p(e)-p(t);case"*":return p(e)*p(t);case"/":return p(e)/p(t);case"%":return p(e)%p(t);default:throw new Error(j({type:"BinaryExpression",operator:r,left:e,right:t},"RUNTIME","OPERATORNOTRECOGNISED"))}},assign(e,t,r){switch(t){case"=":return e===h?null:e;case"/=":return p(r)/p(e);case"*=":return p(r)*p(e);case"-=":return p(r)-p(e);case"+=":return y(r)||y(e)?g(r)+g(e):p(r)+p(e);case"%=":return p(r)%p(e);default:throw new Error(j({type:"AssignmentExpression",operator:t,left:null,right:null},"RUNTIME","OPERATORNOTRECOGNISED"))}},update(e,t,r,n){const o=p(e[t]);return e[t]="++"===r?o+1:o-1,!1===n?o:"++"===r?o+1:o-1},graphicToFeature:(e,t)=>null===e?null:n.createFromGraphicLikeObject(e.geometry,e.attributes,t),memberupdate(e,t,n,o){let a;if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>=e.length)throw new Error("Assignment outside of array bounds");a=p(e[t]),e[t]="++"===n?a+1:a-1}else if(e instanceof r){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===n?a+1:a-1)}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0!==e.hasField(t))throw new Error("Invalid Parameter");a=p(e.field(t)),e.setField(t,"++"===n?a+1:a-1)}return!1===o?a:"++"===n?a+1:a-1},assignmember(e,t,n,o){if(u(e)){if(!w(t))throw new Error("Invalid Parameter");if(t<0&&(t=e.length+t),t<0||t>e.length)throw new Error("Assignment outside of array bounds");if(t===e.length){if("="!==n)throw new Error("Invalid Parameter");e[t]=this.assign(o,n,e[t])}else e[t]=this.assign(o,n,e[t])}else if(e instanceof r){if(!1===y(t))throw new Error("Dictionary accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,n,e.field(t)));else{if("="!==n)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,n,null))}}else{if(!b(e))throw f(e)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===y(t))throw new Error("Feature accessor must be a string");if(!0===e.hasField(t))e.setField(t,this.assign(o,n,e.field(t)));else{if("="!==n)throw new Error("Invalid Parameter");e.setField(t,this.assign(o,n,null))}}},member(e,t){if(null===e){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","NOTFOUND"))}if(e instanceof r||b(e)){if(y(t))return e.field(t);throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(e instanceof Z){if(y(t))return de(e,t,"MemberExpression");throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(u(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(y(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length+t),t>=e.length||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e[t]}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}if(f(e)){if(w(t)&&isFinite(t)&&Math.floor(t)===t){if(t<0&&(t=e.length()+t),t>=e.length()||t<0){throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","OUTOFBOUNDS"))}return e.get(t)}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))}throw new Error(j({type:"MemberExpression",object:null,property:null,computed:null},"RUNTIME","INVALIDTYPE"))},callfunc(e,t,r){return e instanceof c?e.fn(r,{arguments:t,preparsed:!0}):e instanceof E?e.fn.apply(this,t):e.apply(this,t)}};function Qe(e){console.log(e)}function $e(e,t=null,r=!1){null===t&&(t={vars:{},customfunctions:{}});const n={isAsync:r,globalScope:Le(t.vars,r?ke:Oe,t.customfunctions),localScope:null,mangleMap:{},console:Qe,lrucache:t.lrucache,interceptor:t.interceptor,services:t.services,symbols:{symbolCounter:0}};let o=te(n,e.body[0].body);""===o&&(o="lc.voidOperation; ");let a="";a=r?"var runtimeCtx=this.prepare(context, true);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \nreturn lang.__awaiter(this, void 0, void 0, function* () {\n\n function mainBody() {\n var lastStatement=lc.voidOperation;\n return lang.__awaiter(this, void 0, void 0, function* () {\n"+o+"\n return lastStatement; }); } \n return this.postProcess(yield mainBody()); }); ":"var runtimeCtx=this.prepare(context, false);\n var lc = this.lc; var lang = this.lang; var gscope=runtimeCtx.globalScope; \n function mainBody() {\n var lastStatement=lc.voidOperation;\n "+o+"\n return lastStatement; } \n return this.postProcess(mainBody()); ";const l={lc:v,lang:Xe,mangles:n.mangleMap,postProcess(e){if(e instanceof N&&(e=e.value),e instanceof M&&(e=e.value),e===h&&(e=null),e===I)throw new Error("Cannot return BREAK");if(e===O)throw new Error("Cannot return CONTINUE");if(m(e))throw new Error("Cannot return FUNCTION");return e},prepare(e,t){let r=e.spatialReference;null==r&&(r=Q.WebMercator);const n=Be(e.vars,e.customfunctions,t);return{localStack:[],isAsync:t,mangleMap:this.mangles,spatialReference:r,globalScope:n,abortSignal:void 0===e.abortSignal||null===e.abortSignal?{aborted:!1}:e.abortSignal,localScope:null,services:e.services,console:e.console?e.console:Qe,lrucache:e.lrucache,interceptor:e.interceptor,symbols:{symbolCounter:0},depthCounter:1}}};return new Function("context","spatialReference",a).bind(l)}async function et(){return Ve([await import("./functions/geomasync.js")],"async"),!0}export{$e as compileScript,et as enableAsyncSupport,Ge as executeScript,Ve as extend,qe as extractExpectedFieldLiterals,ze as extractFieldLiterals,Ye as functionHelper,We as referencesFunction,Ze as referencesMember,Je as validateScript};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import e from"./ArcadePortal.js";import r from"./Attachment.js";import t from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as l,m as c,N as u,x as f,w as p,v as h,o as w,b as m,l as E,R as d,n as g,s as N,a as y,f as I,I as v,h as T,q as R,r as O,j as S,y as b,z as A,A as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as x,findFieldLiterals as M,findExpectedFieldLiterals as F,validateScript as P,referencesMember as D,referencesFunction as L,findFunctionCalls as j}from"./treeAnalysis.js";import{A as _}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as B}from"./functions/geomsync.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import q from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import W from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import J from"../geometry/SpatialReference.js";function Q(e,r){const t=[];for(let n=0;n<r.arguments.length;n++)t.push(ee(e,r.arguments[n]));return t}function $(e,r,t){try{return!0===r.preparsed?t(e,null,r.arguments):t(e,r,Q(e,r))}catch(n){throw n}}function ee(e,r){try{switch(r.type){case"EmptyStatement":return h;case"VariableDeclarator":return me(e,r);case"VariableDeclaration":return we(e,r);case"BlockStatement":return fe(e,r);case"FunctionDeclaration":return he(e,r);case"ReturnStatement":return pe(e,r);case"IfStatement":return ue(e,r);case"ExpressionStatement":return ce(e,r);case"AssignmentExpression":return le(e,r);case"UpdateExpression":return ie(e,r);case"BreakStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return Te(e,r);case"TemplateLiteral":return Re(e,r);case"ForStatement":return oe(e,r);case"ForInStatement":return ne(e,r);case"Identifier":return Oe(e,r);case"MemberExpression":return ge(e,r);case"Literal":return r.value;case"CallExpression":return Se(e,r);case"UnaryExpression":return Ne(e,r);case"BinaryExpression":return Ie(e,r);case"LogicalExpression":return ve(e,r);case"ArrayExpression":return ye(e,r);case"ObjectExpression":return re(e,r);case"Property":return te(e,r);default:throw new Error(C(r,"RUNTIME","UNREOGNISED"))}}catch(t){throw t}}function re(e,r){const n={};for(let t=0;t<r.properties.length;t++){const o=ee(e,r.properties[t]);if(w(o.value))throw new Error("Illegal Argument");if(!1===m(o.key))throw new Error("Illegal Argument");o.value===h?n[o.key.toString()]=null:n[o.key.toString()]=o.value}const o=new t(n);return o.immutable=!1,o}function te(e,r){return{key:"Identifier"===r.key.type?r.key.name:ee(e,r.key),value:ee(e,r.value)}}function ne(e,r){const n=ee(e,r.right);"VariableDeclaration"===r.left.type&&ee(e,r.left);let o=null,a="";if("VariableDeclaration"===r.left.type){const e=r.left.declarations[0].id;"Identifier"===e.type&&(a=e.name)}else"Identifier"===r.left.type&&(a=r.left.name);if(!a)throw new Error(C(r,"RUNTIME","INVALIDVARIABLE"));if(a=a.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[a]&&(o=e.localScope[a]),null===o&&void 0!==e.globalScope[a]&&(o=e.globalScope[a]),null===o)throw new Error(C(r,"RUNTIME","VARIABLENOTDECLARED"));if(E(n)||m(n)){const t=n.length;for(let n=0;n<t;n++){o.value=n;const t=ee(e,r.body);if(t===p)break;if(t instanceof d)return t}return h}if(g(n)){for(let t=0;t<n.length();t++){o.value=t;const n=ee(e,r.body);if(n===p)break;if(n instanceof d)return n}return h}if(!(n instanceof t||N(n)))return h;{const t=n.keys();for(let n=0;n<t.length;n++){o.value=t[n];const a=ee(e,r.body);if(a===p)break;if(a instanceof d)return a}}}function oe(e,r){null!==r.init&&ee(e,r.init);const t={testResult:!0,lastAction:h};do{ae(e,r,t)}while(!0===t.testResult);return t.lastAction instanceof d?t.lastAction:h}function ae(e,r,t){if(null!==r.test){if(t.testResult=ee(e,r.test),!1===t.testResult)return;if(!0!==t.testResult)throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}t.lastAction=ee(e,r.body),t.lastAction!==p?t.lastAction instanceof d?t.testResult=!1:null!==r.update&&ee(e,r.update):t.testResult=!1}function ie(e,r){let n,o=null,a="";if("MemberExpression"===r.argument.type){if(o=ee(e,r.argument.object),!0===r.argument.computed?a=ee(e,r.argument.property):"Identifier"===r.argument.property.type&&(a=r.argument.property.name),E(o)){if(!y(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>=o.length)throw new Error("Assignment outside of array bounds");n=I(o[a]),o[a]="++"===r.operator?n+1:n-1}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=I(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=I(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}return!1===r.prefix?n:"++"===r.operator?n+1:n-1}if(o="Identifier"===r.argument.type?r.argument.name.toLowerCase():"",!o)throw new Error("Invalid identifier");if(null!==e.localScope&&void 0!==e.localScope[o])return n=I(e.localScope[o].value),e.localScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;if(void 0!==e.globalScope[o])return n=I(e.globalScope[o].value),e.globalScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;throw new Error("Variable not recognised")}function se(e,r,t,n){switch(r){case"=":return e===h?null:e;case"/=":return I(t)/I(e);case"*=":return I(t)*I(e);case"-=":return I(t)-I(e);case"+=":return m(t)||m(e)?T(t)+T(e):I(t)+I(e);case"%=":return I(t)%I(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function le(e,r){const n=ee(e,r.right);let o=null,a="";if("MemberExpression"===r.left.type){if(o=ee(e,r.left.object),!0===r.left.computed?a=ee(e,r.left.property):"Identifier"===r.left.property.type&&(a=r.left.property.name),E(o)){if(!y(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>o.length)throw new Error("Assignment outside of array bounds");if(a===o.length){if("="!==r.operator)throw new Error("Invalid Parameter");o[a]=se(n,r.operator,o[a],r)}else o[a]=se(n,r.operator,o[a],r)}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}return h}if(o=r.left.name.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[o])return e.localScope[o]={value:se(n,r.operator,e.localScope[o].value,r),valueset:!0,node:r.right},h;if(void 0!==e.globalScope[o])return e.globalScope[o]={value:se(n,r.operator,e.globalScope[o].value,r),valueset:!0,node:r.right},h;throw new Error("Variable not recognised")}function ce(e,r){if("AssignmentExpression"===r.expression.type||"UpdateExpression"===r.expression.type)return ee(e,r.expression);if("CallExpression"===r.expression.type){const t=ee(e,r.expression);return t===h?h:new v(t)}{const t=ee(e,r.expression);return t===h?h:new v(t)}}function ue(e,r){if("AssignmentExpression"===r.test.type||"UpdateExpression"===r.test.type)throw new Error(C(r.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.test);if(!0===t)return ee(e,r.consequent);if(!1===t)return null!==r.alternate?ee(e,r.alternate):h;throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}function fe(e,r){let t=h;for(let n=0;n<r.body.length;n++)if(t=ee(e,r.body[n]),t instanceof d||t===p||t===f)return t;return t}function pe(e,r){if(null===r.argument)return new d(h);const t=ee(e,r.argument);return new d(t)}function he(e,r){const t=r.id.name.toLowerCase();return e.globalScope[t]={valueset:!0,node:null,value:new o(r,e)},h}function we(e,r){for(let t=0;t<r.declarations.length;t++)ee(e,r.declarations[t]);return h}function me(e,r){let t=null===r.init?null:ee(e,r.init);if(t===h&&(t=null),"Identifier"!==r.id.type)throw new Error("Can only assign a regular variable");const n=r.id.name.toLowerCase();return null!==e.localScope?e.localScope[n]={value:t,valueset:!0,node:r.init}:e.globalScope[n]={value:t,valueset:!0,node:r.init},h}let Ee=0;function de(e,r,n){let o;switch(r=r.toLowerCase()){case"hasz":{const r=e.hasZ;return void 0!==r&&r}case"hasm":{const r=e.hasM;return void 0!==r&&r}case"spatialreference":{let r=e.spatialReference._arcadeCacheId;if(void 0===r){let t=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(t=!1),t&&(Ee++,e.spatialReference._arcadeCacheId=Ee,r=Ee)}const n=new t({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==r&&(n._arcadeCacheId="SPREF"+r.toString()),n}}switch(e.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const t=e[r];return void 0!==t?t:null}case"type":return"Extent"}break;case"polygon":switch(r){case"rings":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return void 0!==e[r]?e[r]:null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,o,1);case"type":return"Multipoint"}}throw new Error(C(n,"RUNTIME","PROPERTYNOTFOUND"))}function ge(e,r){try{const n=ee(e,r.object);if(null===n)throw new Error(C(r,"RUNTIME","NOTFOUND"));if(!1===r.computed){if("Identifier"===r.property.type){if(n instanceof t||N(n))return n.field(r.property.name);if(n instanceof Z)return de(n,r.property.name,r)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}{let o=ee(e,r.property);if(n instanceof t||N(n)){if(m(o))return n.field(o);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(n instanceof Z){if(m(o))return de(n,o,r);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(E(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}}catch(n){throw n}}function Ne(e,r){try{const t=ee(e,r.argument);if(l(t)){if("!"===r.operator)return!t;if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);if("~"===r.operator)return~I(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("~"===r.operator)return~I(t);if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}catch(t){throw t}}function ye(e,r){try{const t=[];for(let n=0;n<r.elements.length;n++){const o=ee(e,r.elements[n]);if(w(o))throw new Error(C(r,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));o===h?t.push(null):t.push(o)}return t}catch(t){throw t}}function Ie(e,r){try{const t=[ee(e,r.left),ee(e,r.right)],n=t[0],o=t[1];switch(r.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return O(I(n),I(o),r.operator);case"==":return c(n,o);case"!=":return!c(n,o);case"<":case">":case"<=":case">=":return R(n,o,r.operator);case"+":return m(n)||m(o)?T(n)+T(o):I(n)+I(o);case"-":return I(n)-I(o);case"*":return I(n)*I(o);case"/":return I(n)/I(o);case"%":return I(n)%I(o);default:throw new Error(C(r,"RUNTIME","OPERATORNOTRECOGNISED"))}}catch(t){throw t}}function ve(e,r){try{if("AssignmentExpression"===r.left.type||"UpdateExpression"===r.left.type)throw new Error(C(r.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===r.right.type||"UpdateExpression"===r.right.type)throw new Error(C(r.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.left);if(l(t))switch(r.operator){case"||":if(!0===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}case"&&":if(!1===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}default:throw new Error(C(r,"RUNTIME","ONLYORORAND"))}throw new Error(C(r,"RUNTIME","ONLYBOOLEAN"))}catch(t){throw t}}function Te(e,r){return r.value?r.value.cooked:""}function Re(e,r){let t="",n=0;for(const o of r.quasis)if(t+=o.value?o.value.cooked:"",!1===o.tail){t+=r.expressions[n]?T(ee(e,r.expressions[n])):"",n++}return t}function Oe(e,r){let t;try{const n=r.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[n])return t=e.localScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;if(void 0!==e.globalScope[n])return t=e.globalScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;throw new Error(C(r,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Se(e,r){try{if("Identifier"!==r.callee.type)throw new Error(C(r,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[r.callee.name.toLowerCase()]){const t=e.localScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[r.callee.name.toLowerCase()]){const t=e.globalScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(r,"RUNTIME","NOTFOUND"))}catch(t){throw t}}const be={};function Ae(n){return null==n?"":E(n)||g(n)?"Array":S(n)?"Date":m(n)?"String":l(n)?"Boolean":y(n)?"Number":n instanceof r?"Attachment":n instanceof e?"Portal":n instanceof t?"Dictionary":N(n)?"Feature":n instanceof W?"Point":n instanceof K?"Polygon":n instanceof X?"Polyline":n instanceof H?"Multipoint":n instanceof q?"Extent":w(n)?"Function":b(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===h?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Ue(e,r,t,n){try{const o=ee(e,r.arguments[t]);if(c(o,n))return ee(e,r.arguments[t+1]);{const o=r.arguments.length-t;return 1===o?ee(e,r.arguments[t]):2===o?null:3===o?ee(e,r.arguments[t+2]):Ue(e,r,t+2,n)}}catch(o){throw o}}function Ce(e,r,t,n){try{if(!0===n)return ee(e,r.arguments[t+1]);if(3===r.arguments.length-t)return ee(e,r.arguments[t+2]);{const n=ee(e,r.arguments[t+2]);if(!1===l(n))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,t+2,n)}}catch(o){throw o}}function xe(e,r){const t=e.length,n=Math.floor(t/2);return 0===t?[]:1===t?[e[0]]:Me(xe(e.slice(0,n),r),xe(e.slice(n,t),r),r)}function Me(e,r,t){const n=[];for(;e.length>0||r.length>0;)if(e.length>0&&r.length>0){let o=t(e[0],r[0]);isNaN(o)&&(o=0),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(r[0]),r=r.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):r.length>0&&(n.push(r[0]),r=r.slice(1));return n}function Fe(e,r,t){try{const n=e.body;if(t.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<t.length;a++)r.localScope[e.params[a].name.toLowerCase()]={value:t[a],valueset:!0,node:null};const o=ee(r,n);if(o instanceof d)return o.value;if(o===p)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof v?o.value:o}catch(n){throw n}}function Pe(e,r,t){return $(e,r,(function(r,n,o){const a={spatialReference:e.spatialReference,globalScope:e.globalScope,depthCounter:e.depthCounter+1,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(t,a,o)}))}function De(e){const r=function(){const r={spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,localScope:{},depthCounter:e.context.depthCounter+1,globalScope:e.context.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(e.definition,r,arguments)};return r}k(be,$),z(be,$),Y(be,$),V(be,$),G(be,$),B(be,$),be.typeof=function(e,r){return $(e,r,(function(e,r,t){s(t,1,1);const n=Ae(t[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},be.iif=function(e,r){try{s(null===r.arguments?[]:r.arguments,3,3);const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("IF Function must have a boolean test condition");const n=ee(e,r.arguments[1]),o=ee(e,r.arguments[2]);return!0===t?n:o}catch(t){throw t}},be.decode=function(e,r){try{if(r.arguments.length<2)throw new Error("Missing Parameters");if(2===r.arguments.length)return ee(e,r.arguments[1]);{if((r.arguments.length-1)%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);return Ue(e,r,1,t)}}catch(t){throw t}},be.when=function(e,r){try{if(r.arguments.length<3)throw new Error("Missing Parameters");if(r.arguments.length%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,0,t)}catch(t){throw t}},be.top=function(e,r){return $(e,r,(function(e,r,t){if(s(t,2,2),E(t[0]))return I(t[1])>=t[0].length?t[0].slice(0):t[0].slice(0,I(t[1]));if(g(t[0]))return I(t[1])>=t[0].length()?t[0].slice(0):t[0].slice(0,I(t[1]));throw new Error("Top cannot accept this parameter type")}))},be.first=function(e,r){return $(e,r,(function(e,r,t){return s(t,1,1),E(t[0])?0===t[0].length?null:t[0][0]:g(t[0])?0===t[0].length()?null:t[0].get(0):null}))},be.sort=function(e,r){return $(e,r,(function(e,r,t){s(t,1,2);let n=t[0];if(g(n)&&(n=n.toArray()),!1===E(n))throw new Error("Illegal Argument");if(t.length>1){if(!1===w(t[1]))throw new Error("Illegal Argument");let e=n;const r=De(t[1]);return e=xe(e,(function(e,t){return r(e,t)})),e}{let e=n;if(0===e.length)return[];const r={};for(let n=0;n<e.length;n++){const t=Ae(e[n]);""!==t&&(r[t]=!0)}if(!0===r.Array||!0===r.Dictionary||!0===r.Feature||!0===r.Point||!0===r.Polygon||!0===r.Polyline||!0===r.Multipoint||!0===r.Extent||!0===r.Function)return e.slice(0);let t=0,o="";for(const n in r)t++,o=n;return e=t>1||"String"===o?xe(e,(function(e,r){if(null==e||e===h)return null==r||r===h?0:1;if(null==r||r===h)return-1;const t=T(e),n=T(r);return t<n?-1:t===n?0:1})):"Number"===o?xe(e,(function(e,r){return e-r})):"Boolean"===o?xe(e,(function(e,r){return e===r?0:r?-1:1})):"Date"===o?xe(e,(function(e,r){return r-e})):e.slice(0),e}}))};for(const We in be)be[We]={value:new u(be[We]),valueset:!0,node:null};const Le=function(){};function je(e,r){const o=new Le;e||(e={}),r||(r={});const a=new t({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const t in r)o[t]={value:new u(r[t]),native:!0,valueset:!0,node:null};for(const t in e)e[t]&&"esri.Graphic"===e[t].declaredClass?o[t]={value:n.createFromGraphic(e[t]),valueset:!0,node:null}:o[t]={value:e[t],valueset:!0,node:null};return o}Le.prototype=be,Le.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Le.prototype.pi={value:Math.PI,valueset:!0,node:null};const _e={fixSpatialReference:U,parseArguments:Q,standardFunction:$};function ke(e){console.log(e)}function Ve(e){const r={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:$,evaluateIdentifier:Oe,arcadeCustomFunctionHandler:De};for(let t=0;t<e.length;t++)e[t].registerFunctions(r);for(const t in r.functions)be[t]={value:new u(r.functions[t]),valueset:!0,node:null},Le.prototype[t]=be[t];for(let t=0;t<r.signatures.length;t++)x(r.signatures[t],"async")}function Be(e,r){let t=r.spatialReference;null==t&&(t=new J({wkid:102100}));let n=ee({spatialReference:t,globalScope:je(r.vars,r.customfunctions),localScope:null,console:r.console?r.console:ke,lrucache:r.lrucache,interceptor:r.interceptor,depthCounter:1},e.body[0].body);if(n instanceof d&&(n=n.value),n instanceof v&&(n=n.value),n===h&&(n=null),n===p)throw new Error("Cannot return BREAK");if(n===f)throw new Error("Cannot return CONTINUE");if(n instanceof o)throw new Error("Cannot return FUNCTION");if(n instanceof u)throw new Error("Cannot return FUNCTION");return n}function Ye(e,r){return M(e)}function Ge(e){return F(e)}function ze(e,r){return P(e,r,"simple")}function qe(e,r){return D(e,r)}function Ze(e,r){return L(e,r)}function He(e){return j(e)}Ve([_]);export{Be as executeScript,Ve as extend,Ge as extractExpectedFieldLiterals,Ye as extractFieldLiterals,He as findFunctionCalls,_e as functionHelper,Ze as referencesFunction,qe as referencesMember,ze as validateScript};
5
+ import e from"./ArcadePortal.js";import r from"./Attachment.js";import t from"./Dictionary.js";import n from"./Feature.js";import o from"./FunctionWrapper.js";import a from"./ImmutablePathArray.js";import i from"./ImmutablePointArray.js";import{p as s,i as l,m as c,N as u,x as f,w as p,v as h,o as w,b as m,l as E,R as d,n as g,s as N,a as y,f as I,I as v,h as T,q as R,r as O,j as S,y as b,z as A,A as U}from"../chunks/languageUtils.js";import{nodeErrorMessage as C,addFunctionDeclaration as x,findFieldLiterals as M,findExpectedFieldLiterals as F,validateScript as P,referencesMember as D,referencesFunction as L,findFunctionCalls as j}from"./treeAnalysis.js";import{A as _}from"../chunks/array.js";import{registerFunctions as k}from"./functions/date.js";import{registerFunctions as V}from"./functions/geometry.js";import{registerFunctions as B}from"./functions/geomsync.js";import{registerFunctions as Y}from"./functions/maths.js";import{registerFunctions as G}from"./functions/stats.js";import{registerFunctions as z}from"./functions/string.js";import q from"../geometry/Extent.js";import Z from"../geometry/Geometry.js";import H from"../geometry/Multipoint.js";import W from"../geometry/Point.js";import K from"../geometry/Polygon.js";import X from"../geometry/Polyline.js";import J from"../geometry/SpatialReference.js";function Q(e,r){const t=[];for(let n=0;n<r.arguments.length;n++)t.push(ee(e,r.arguments[n]));return t}function $(e,r,t){try{return!0===r.preparsed?t(e,null,r.arguments):t(e,r,Q(e,r))}catch(n){throw n}}function ee(e,r){try{switch(r.type){case"EmptyStatement":return h;case"VariableDeclarator":return me(e,r);case"VariableDeclaration":return we(e,r);case"BlockStatement":return fe(e,r);case"FunctionDeclaration":return he(e,r);case"ReturnStatement":return pe(e,r);case"IfStatement":return ue(e,r);case"ExpressionStatement":return ce(e,r);case"AssignmentExpression":return le(e,r);case"UpdateExpression":return ie(e,r);case"BreakStatement":return p;case"ContinueStatement":return f;case"TemplateElement":return Te(e,r);case"TemplateLiteral":return Re(e,r);case"ForStatement":return oe(e,r);case"ForInStatement":return ne(e,r);case"Identifier":return Oe(e,r);case"MemberExpression":return ge(e,r);case"Literal":return r.value;case"CallExpression":return Se(e,r);case"UnaryExpression":return Ne(e,r);case"BinaryExpression":return Ie(e,r);case"LogicalExpression":return ve(e,r);case"ArrayExpression":return ye(e,r);case"ObjectExpression":return re(e,r);case"Property":return te(e,r);default:throw new Error(C(r,"RUNTIME","UNREOGNISED"))}}catch(t){throw t}}function re(e,r){const n={};for(let t=0;t<r.properties.length;t++){const o=ee(e,r.properties[t]);if(w(o.value))throw new Error("Illegal Argument");if(!1===m(o.key))throw new Error("Illegal Argument");o.value===h?n[o.key.toString()]=null:n[o.key.toString()]=o.value}const o=new t(n);return o.immutable=!1,o}function te(e,r){return{key:"Identifier"===r.key.type?r.key.name:ee(e,r.key),value:ee(e,r.value)}}function ne(e,r){const n=ee(e,r.right);"VariableDeclaration"===r.left.type&&ee(e,r.left);let o=null,a="";if("VariableDeclaration"===r.left.type){const e=r.left.declarations[0].id;"Identifier"===e.type&&(a=e.name)}else"Identifier"===r.left.type&&(a=r.left.name);if(!a)throw new Error(C(r,"RUNTIME","INVALIDVARIABLE"));if(a=a.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[a]&&(o=e.localScope[a]),null===o&&void 0!==e.globalScope[a]&&(o=e.globalScope[a]),null===o)throw new Error(C(r,"RUNTIME","VARIABLENOTDECLARED"));if(E(n)||m(n)){const t=n.length;for(let n=0;n<t;n++){o.value=n;const t=ee(e,r.body);if(t===p)break;if(t instanceof d)return t}return h}if(g(n)){for(let t=0;t<n.length();t++){o.value=t;const n=ee(e,r.body);if(n===p)break;if(n instanceof d)return n}return h}if(!(n instanceof t||N(n)))return h;{const t=n.keys();for(let n=0;n<t.length;n++){o.value=t[n];const a=ee(e,r.body);if(a===p)break;if(a instanceof d)return a}}}function oe(e,r){null!==r.init&&ee(e,r.init);const t={testResult:!0,lastAction:h};do{ae(e,r,t)}while(!0===t.testResult);return t.lastAction instanceof d?t.lastAction:h}function ae(e,r,t){if(null!==r.test){if(t.testResult=ee(e,r.test),!1===t.testResult)return;if(!0!==t.testResult)throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}t.lastAction=ee(e,r.body),t.lastAction!==p?t.lastAction instanceof d?t.testResult=!1:null!==r.update&&ee(e,r.update):t.testResult=!1}function ie(e,r){let n,o=null,a="";if("MemberExpression"===r.argument.type){if(o=ee(e,r.argument.object),!0===r.argument.computed?a=ee(e,r.argument.property):"Identifier"===r.argument.property.type&&(a=r.argument.property.name),E(o)){if(!y(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>=o.length)throw new Error("Assignment outside of array bounds");n=I(o[a]),o[a]="++"===r.operator?n+1:n-1}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=I(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0!==o.hasField(a))throw new Error("Invalid Parameter");n=I(o.field(a)),o.setField(a,"++"===r.operator?n+1:n-1)}return!1===r.prefix?n:"++"===r.operator?n+1:n-1}if(o="Identifier"===r.argument.type?r.argument.name.toLowerCase():"",!o)throw new Error("Invalid identifier");if(null!==e.localScope&&void 0!==e.localScope[o])return n=I(e.localScope[o].value),e.localScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;if(void 0!==e.globalScope[o])return n=I(e.globalScope[o].value),e.globalScope[o]={value:"++"===r.operator?n+1:n-1,valueset:!0,node:r},!1===r.prefix?n:"++"===r.operator?n+1:n-1;throw new Error("Variable not recognised")}function se(e,r,t,n){switch(r){case"=":return e===h?null:e;case"/=":return I(t)/I(e);case"*=":return I(t)*I(e);case"-=":return I(t)-I(e);case"+=":return m(t)||m(e)?T(t)+T(e):I(t)+I(e);case"%=":return I(t)%I(e);default:throw new Error(C(n,"RUNTIME","OPERATORNOTRECOGNISED"))}}function le(e,r){const n=ee(e,r.right);let o=null,a="";if("MemberExpression"===r.left.type){if(o=ee(e,r.left.object),!0===r.left.computed?a=ee(e,r.left.property):"Identifier"===r.left.property.type&&(a=r.left.property.name),E(o)){if(!y(a))throw new Error("Invalid Parameter");if(a<0&&(a=o.length+a),a<0||a>o.length)throw new Error("Assignment outside of array bounds");if(a===o.length){if("="!==r.operator)throw new Error("Invalid Parameter");o[a]=se(n,r.operator,o[a],r)}else o[a]=se(n,r.operator,o[a],r)}else if(o instanceof t){if(!1===m(a))throw new Error("Dictionary accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}else{if(!N(o))throw g(o)?new Error("Array is Immutable"):new Error("Invalid Parameter");if(!1===m(a))throw new Error("Feature accessor must be a string");if(!0===o.hasField(a))o.setField(a,se(n,r.operator,o.field(a),r));else{if("="!==r.operator)throw new Error("Invalid Parameter");o.setField(a,se(n,r.operator,null,r))}}return h}if(o=r.left.name.toLowerCase(),null!==e.localScope&&void 0!==e.localScope[o])return e.localScope[o]={value:se(n,r.operator,e.localScope[o].value,r),valueset:!0,node:r.right},h;if(void 0!==e.globalScope[o])return e.globalScope[o]={value:se(n,r.operator,e.globalScope[o].value,r),valueset:!0,node:r.right},h;throw new Error("Variable not recognised")}function ce(e,r){if("AssignmentExpression"===r.expression.type||"UpdateExpression"===r.expression.type)return ee(e,r.expression);if("CallExpression"===r.expression.type){const t=ee(e,r.expression);return t===h?h:new v(t)}{const t=ee(e,r.expression);return t===h?h:new v(t)}}function ue(e,r){if("AssignmentExpression"===r.test.type||"UpdateExpression"===r.test.type)throw new Error(C(r.test,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.test);if(!0===t)return ee(e,r.consequent);if(!1===t)return null!==r.alternate?ee(e,r.alternate):h;throw new Error(C(r,"RUNTIME","CANNOT_USE_NONBOOLEAN_IN_CONDITION"))}function fe(e,r){let t=h;for(let n=0;n<r.body.length;n++)if(t=ee(e,r.body[n]),t instanceof d||t===p||t===f)return t;return t}function pe(e,r){if(null===r.argument)return new d(h);const t=ee(e,r.argument);return new d(t)}function he(e,r){const t=r.id.name.toLowerCase();return e.globalScope[t]={valueset:!0,node:null,value:new o(r,e)},h}function we(e,r){for(let t=0;t<r.declarations.length;t++)ee(e,r.declarations[t]);return h}function me(e,r){let t=null===r.init?null:ee(e,r.init);if(t===h&&(t=null),"Identifier"!==r.id.type)throw new Error("Can only assign a regular variable");const n=r.id.name.toLowerCase();return null!==e.localScope?e.localScope[n]={value:t,valueset:!0,node:r.init}:e.globalScope[n]={value:t,valueset:!0,node:r.init},h}let Ee=0;function de(e,r,n){let o;switch(r=r.toLowerCase()){case"hasz":{const r=e.hasZ;return void 0!==r&&r}case"hasm":{const r=e.hasM;return void 0!==r&&r}case"spatialreference":{let r=e.spatialReference._arcadeCacheId;if(void 0===r){let t=!0;Object.freeze&&Object.isFrozen(e.spatialReference)&&(t=!1),t&&(Ee++,e.spatialReference._arcadeCacheId=Ee,r=Ee)}const n=new t({wkt:e.spatialReference.wkt,wkid:e.spatialReference.wkid});return void 0!==r&&(n._arcadeCacheId="SPREF"+r.toString()),n}}switch(e.type){case"extent":switch(r){case"xmin":case"xmax":case"ymin":case"ymax":case"zmin":case"zmax":case"mmin":case"mmax":{const t=e[r];return void 0!==t?t:null}case"type":return"Extent"}break;case"polygon":switch(r){case"rings":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.rings,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polygon"}break;case"point":switch(r){case"x":case"y":case"z":case"m":return void 0!==e[r]?e[r]:null;case"type":return"Point"}break;case"polyline":switch(r){case"paths":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new a(e.paths,e.spatialReference,!0===e.hasZ,!0===e.hasM,o);case"type":return"Polyline"}break;case"multipoint":switch(r){case"points":o=e.cache._arcadeCacheId,void 0===o&&(Ee++,o=Ee,e.cache._arcadeCacheId=o);return new i(e.points,e.spatialReference,!0===e.hasZ,!0===e.hasM,o,1);case"type":return"Multipoint"}}throw new Error(C(n,"RUNTIME","PROPERTYNOTFOUND"))}function ge(e,r){try{const n=ee(e,r.object);if(null===n)throw new Error(C(r,"RUNTIME","NOTFOUND"));if(!1===r.computed){if("Identifier"===r.property.type){if(n instanceof t||N(n))return n.field(r.property.name);if(n instanceof Z)return de(n,r.property.name,r)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}{let o=ee(e,r.property);if(n instanceof t||N(n)){if(m(o))return n.field(o);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(n instanceof Z){if(m(o))return de(n,o,r);throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(E(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(m(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length+o),o>=n.length||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n[o]}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}if(g(n)){if(y(o)&&isFinite(o)&&Math.floor(o)===o){if(o<0&&(o=n.length()+o),o>=n.length()||o<0)throw new Error(C(r,"RUNTIME","OUTOFBOUNDS"));return n.get(o)}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}throw new Error(C(r,"RUNTIME","INVALIDTYPE"))}}catch(n){throw n}}function Ne(e,r){try{const t=ee(e,r.argument);if(l(t)){if("!"===r.operator)return!t;if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);if("~"===r.operator)return~I(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}if("~"===r.operator)return~I(t);if("-"===r.operator)return-1*I(t);if("+"===r.operator)return 1*I(t);throw new Error(C(r,"RUNTIME","NOTSUPPORTEDUNARYOPERATOR"))}catch(t){throw t}}function ye(e,r){try{const t=[];for(let n=0;n<r.elements.length;n++){const o=ee(e,r.elements[n]);if(w(o))throw new Error(C(r,"RUNTIME","FUNCTIONCONTEXTILLEGAL"));o===h?t.push(null):t.push(o)}return t}catch(t){throw t}}function Ie(e,r){try{const t=[ee(e,r.left),ee(e,r.right)],n=t[0],o=t[1];switch(r.operator){case"|":case"<<":case">>":case">>>":case"^":case"&":return O(I(n),I(o),r.operator);case"==":return c(n,o);case"!=":return!c(n,o);case"<":case">":case"<=":case">=":return R(n,o,r.operator);case"+":return m(n)||m(o)?T(n)+T(o):I(n)+I(o);case"-":return I(n)-I(o);case"*":return I(n)*I(o);case"/":return I(n)/I(o);case"%":return I(n)%I(o);default:throw new Error(C(r,"RUNTIME","OPERATORNOTRECOGNISED"))}}catch(t){throw t}}function ve(e,r){try{if("AssignmentExpression"===r.left.type||"UpdateExpression"===r.left.type)throw new Error(C(r.left,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));if("AssignmentExpression"===r.right.type||"UpdateExpression"===r.right.type)throw new Error(C(r.right,"RUNTIME","CANNOT_USE_ASSIGNMENT_IN_CONDITION"));const t=ee(e,r.left);if(l(t))switch(r.operator){case"||":if(!0===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}case"&&":if(!1===t)return t;{const t=ee(e,r.right);if(l(t))return t;throw new Error(C(r,"RUNTIME","ONLYORORAND"))}default:throw new Error(C(r,"RUNTIME","ONLYORORAND"))}throw new Error(C(r,"RUNTIME","ONLYBOOLEAN"))}catch(t){throw t}}function Te(e,r){return r.value?r.value.cooked:""}function Re(e,r){let t="",n=0;for(const o of r.quasis)if(t+=o.value?o.value.cooked:"",!1===o.tail){t+=r.expressions[n]?T(ee(e,r.expressions[n])):"",n++}return t}function Oe(e,r){let t;try{const n=r.name.toLowerCase();if(null!==e.localScope&&void 0!==e.localScope[n])return t=e.localScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;if(void 0!==e.globalScope[n])return t=e.globalScope[n],!0===t.valueset||(t.value=ee(e,t.node),t.valueset=!0),t.value;throw new Error(C(r,"RUNTIME","VARIABLENOTFOUND"))}catch(n){throw n}}function Se(e,r){try{if("Identifier"!==r.callee.type)throw new Error(C(r,"RUNTIME","ONLYNODESSUPPORTED"));if(null!==e.localScope&&void 0!==e.localScope[r.callee.name.toLowerCase()]){const t=e.localScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}if(void 0!==e.globalScope[r.callee.name.toLowerCase()]){const t=e.globalScope[r.callee.name.toLowerCase()];if(t.value instanceof u)return t.value.fn(e,r);if(t.value instanceof o)return Pe(e,r,t.value.definition);throw new Error(C(r,"RUNTIME","NOTAFUNCTION"))}throw new Error(C(r,"RUNTIME","NOTFOUND"))}catch(t){throw t}}const be={};function Ae(n){return null==n?"":E(n)||g(n)?"Array":S(n)?"Date":m(n)?"String":l(n)?"Boolean":y(n)?"Number":n instanceof r?"Attachment":n instanceof e?"Portal":n instanceof t?"Dictionary":N(n)?"Feature":n instanceof W?"Point":n instanceof K?"Polygon":n instanceof X?"Polyline":n instanceof H?"Multipoint":n instanceof q?"Extent":w(n)?"Function":b(n)?"FeatureSet":A(n)?"FeatureSetCollection":n===h?"":"number"==typeof n&&isNaN(n)?"Number":"Unrecognised Type"}function Ue(e,r,t,n){try{const o=ee(e,r.arguments[t]);if(c(o,n))return ee(e,r.arguments[t+1]);{const o=r.arguments.length-t;return 1===o?ee(e,r.arguments[t]):2===o?null:3===o?ee(e,r.arguments[t+2]):Ue(e,r,t+2,n)}}catch(o){throw o}}function Ce(e,r,t,n){try{if(!0===n)return ee(e,r.arguments[t+1]);if(3===r.arguments.length-t)return ee(e,r.arguments[t+2]);{const n=ee(e,r.arguments[t+2]);if(!1===l(n))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,t+2,n)}}catch(o){throw o}}function xe(e,r){const t=e.length,n=Math.floor(t/2);return 0===t?[]:1===t?[e[0]]:Me(xe(e.slice(0,n),r),xe(e.slice(n,t),r),r)}function Me(e,r,t){const n=[];for(;e.length>0||r.length>0;)if(e.length>0&&r.length>0){let o=t(e[0],r[0]);isNaN(o)&&(o=0),o<=0?(n.push(e[0]),e=e.slice(1)):(n.push(r[0]),r=r.slice(1))}else e.length>0?(n.push(e[0]),e=e.slice(1)):r.length>0&&(n.push(r[0]),r=r.slice(1));return n}function Fe(e,r,t){try{const n=e.body;if(t.length!==e.params.length)throw new Error("Invalid Parameter calls to function.");for(let a=0;a<t.length;a++)r.localScope[e.params[a].name.toLowerCase()]={value:t[a],valueset:!0,node:null};const o=ee(r,n);if(o instanceof d)return o.value;if(o===p)throw new Error("Cannot Break from a Function");if(o===f)throw new Error("Cannot Continue from a Function");return o instanceof v?o.value:o}catch(n){throw n}}function Pe(e,r,t){return $(e,r,((r,n,o)=>{const a={spatialReference:e.spatialReference,globalScope:e.globalScope,depthCounter:e.depthCounter+1,console:e.console,lrucache:e.lrucache,interceptor:e.interceptor,localScope:{}};if(a.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(t,a,o)}))}function De(e){const r=function(){const r={spatialReference:e.context.spatialReference,console:e.context.console,lrucache:e.context.lrucache,interceptor:e.context.interceptor,localScope:{},depthCounter:e.context.depthCounter+1,globalScope:e.context.globalScope};if(r.depthCounter>64)throw new Error("Exceeded maximum function depth");return Fe(e.definition,r,arguments)};return r}k(be,$),z(be,$),Y(be,$),V(be,$),G(be,$),B(be,$),be.typeof=function(e,r){return $(e,r,((e,r,t)=>{s(t,1,1);const n=Ae(t[0]);if("Unrecognised Type"===n)throw new Error("Unrecognised Type");return n}))},be.iif=function(e,r){try{s(null===r.arguments?[]:r.arguments,3,3);const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("IF Function must have a boolean test condition");const n=ee(e,r.arguments[1]),o=ee(e,r.arguments[2]);return!0===t?n:o}catch(t){throw t}},be.decode=function(e,r){try{if(r.arguments.length<2)throw new Error("Missing Parameters");if(2===r.arguments.length)return ee(e,r.arguments[1]);{if((r.arguments.length-1)%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);return Ue(e,r,1,t)}}catch(t){throw t}},be.when=function(e,r){try{if(r.arguments.length<3)throw new Error("Missing Parameters");if(r.arguments.length%2==0)throw new Error("Must have a default value result.");const t=ee(e,r.arguments[0]);if(!1===l(t))throw new Error("WHEN needs boolean test conditions");return Ce(e,r,0,t)}catch(t){throw t}},be.top=function(e,r){return $(e,r,((e,r,t)=>{if(s(t,2,2),E(t[0]))return I(t[1])>=t[0].length?t[0].slice(0):t[0].slice(0,I(t[1]));if(g(t[0]))return I(t[1])>=t[0].length()?t[0].slice(0):t[0].slice(0,I(t[1]));throw new Error("Top cannot accept this parameter type")}))},be.first=function(e,r){return $(e,r,((e,r,t)=>(s(t,1,1),E(t[0])?0===t[0].length?null:t[0][0]:g(t[0])?0===t[0].length()?null:t[0].get(0):null)))},be.sort=function(e,r){return $(e,r,((e,r,t)=>{s(t,1,2);let n=t[0];if(g(n)&&(n=n.toArray()),!1===E(n))throw new Error("Illegal Argument");if(t.length>1){if(!1===w(t[1]))throw new Error("Illegal Argument");let e=n;const r=De(t[1]);return e=xe(e,((e,t)=>r(e,t))),e}{let e=n;if(0===e.length)return[];const r={};for(let n=0;n<e.length;n++){const t=Ae(e[n]);""!==t&&(r[t]=!0)}if(!0===r.Array||!0===r.Dictionary||!0===r.Feature||!0===r.Point||!0===r.Polygon||!0===r.Polyline||!0===r.Multipoint||!0===r.Extent||!0===r.Function)return e.slice(0);let t=0,o="";for(const n in r)t++,o=n;return e=t>1||"String"===o?xe(e,((e,r)=>{if(null==e||e===h)return null==r||r===h?0:1;if(null==r||r===h)return-1;const t=T(e),n=T(r);return t<n?-1:t===n?0:1})):"Number"===o?xe(e,((e,r)=>e-r)):"Boolean"===o?xe(e,((e,r)=>e===r?0:r?-1:1)):"Date"===o?xe(e,((e,r)=>r-e)):e.slice(0),e}}))};for(const We in be)be[We]={value:new u(be[We]),valueset:!0,node:null};const Le=function(){};function je(e,r){const o=new Le;e||(e={}),r||(r={});const a=new t({newline:"\n",tab:"\t",singlequote:"'",doublequote:'"',forwardslash:"/",backwardslash:"\\"});a.immutable=!1,o.textformatting={value:a,valueset:!0,node:null};for(const t in r)o[t]={value:new u(r[t]),native:!0,valueset:!0,node:null};for(const t in e)e[t]&&"esri.Graphic"===e[t].declaredClass?o[t]={value:n.createFromGraphic(e[t]),valueset:!0,node:null}:o[t]={value:e[t],valueset:!0,node:null};return o}Le.prototype=be,Le.prototype.infinity={value:Number.POSITIVE_INFINITY,valueset:!0,node:null},Le.prototype.pi={value:Math.PI,valueset:!0,node:null};const _e={fixSpatialReference:U,parseArguments:Q,standardFunction:$};function ke(e){console.log(e)}function Ve(e){const r={mode:"sync",compiled:!1,functions:{},signatures:[],standardFunction:$,evaluateIdentifier:Oe,arcadeCustomFunctionHandler:De};for(let t=0;t<e.length;t++)e[t].registerFunctions(r);for(const t in r.functions)be[t]={value:new u(r.functions[t]),valueset:!0,node:null},Le.prototype[t]=be[t];for(let t=0;t<r.signatures.length;t++)x(r.signatures[t],"async")}function Be(e,r){let t=r.spatialReference;null==t&&(t=new J({wkid:102100}));let n=ee({spatialReference:t,globalScope:je(r.vars,r.customfunctions),localScope:null,console:r.console?r.console:ke,lrucache:r.lrucache,interceptor:r.interceptor,depthCounter:1},e.body[0].body);if(n instanceof d&&(n=n.value),n instanceof v&&(n=n.value),n===h&&(n=null),n===p)throw new Error("Cannot return BREAK");if(n===f)throw new Error("Cannot return CONTINUE");if(n instanceof o)throw new Error("Cannot return FUNCTION");if(n instanceof u)throw new Error("Cannot return FUNCTION");return n}function Ye(e,r){return M(e)}function Ge(e){return F(e)}function ze(e,r){return P(e,r,"simple")}function qe(e,r){return D(e,r)}function Ze(e,r){return L(e,r)}function He(e){return j(e)}Ve([_]);export{Be as executeScript,Ve as extend,Ge as extractExpectedFieldLiterals,Ye as extractFieldLiterals,He as findFunctionCalls,_e as functionHelper,Ze as referencesFunction,qe as referencesMember,ze as validateScript};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{p as e,k as n,f as t,C as r,h as u,D as s,b as o,E as a,F as c}from"../../chunks/languageUtils.js";import{getLocale as i}from"../../intl/locale.js";import{DateTime as l}from"luxon";function f(e){const n=new Date(e.getTime()),t=n.getFullYear(),r=new Date(0);r.setFullYear(t+1,0,4),r.setHours(0,0,0,0);const u=g(r),s=new Date(0);s.setFullYear(t,0,4),s.setHours(0,0,0,0);const o=g(s);return n.getTime()>=u.getTime()?t+1:n.getTime()>=o.getTime()?t:t-1}function g(e){const n=1,t=new Date(e.getTime()),r=t.getDay(),u=(r<n?7:0)+r-n;return t.setDate(t.getDate()-u),t.setHours(0,0,0,0),t}function d(e){const n=f(e),t=new Date(0);t.setFullYear(n,0,4),t.setHours(0,0,0,0);return g(t)}function m(e,n,t){return e+(h(t)?D:N)[n]}function h(e){return e%4==0&&(e%100!=0||e%400==0)}const N=[0,31,59,90,120,151,181,212,243,273,304,334],D=[0,31,60,91,121,152,182,213,244,274,305,335];function w(e){return null===e?e:isNaN(e.getTime())?null:e}function y(h,N){h.today=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);const u=new Date;return u.setHours(0,0,0,0),u}))},h.now=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);return new Date}))},h.timestamp=function(n,t){return N(n,t,(function(n,t,r){e(r,0,0);let u=new Date;return u=new Date(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),u}))},h.toutc=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?null:new Date(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds())}))},h.tolocal=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?null:l.utc(s.getFullYear(),s.getMonth()+1,s.getDate(),s.getHours(),s.getMinutes(),s.getSeconds(),s.getMilliseconds()).toJSDate()}))},h.day=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getDate()}))},h.month=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMonth()}))},h.year=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getFullYear()}))},h.hour=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getHours()}))},h.second=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getSeconds()}))},h.millisecond=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMilliseconds()}))},h.minute=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMinutes()}))},h.week=function(u,s){return N(u,s,(function(u,s,o){e(o,1,2);const a=n(o[0]);if(null===a)return NaN;const c=t(r(o[1],0));if(c<0||c>6)throw new Error("Invalid Parameter");const i=a.getDate(),l=a.getMonth(),f=a.getFullYear(),g=a.getDay(),d=m(i,l,f)-1,h=Math.floor(d/7);return g-c+(g-c<0?7:0)<d-7*h?h+1:h}))},h.weekday=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getDay()}))},h.isoweekday=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);if(null===s)return NaN;let o=s.getDay();return 0===o&&(o=7),o}))},h.isomonth=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:s.getMonth()+1}))},h.isoweek=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);if(null===s)return NaN;const o=g(s).getTime()-d(s).getTime();return Math.round(o/6048e5)+1}))},h.isoyear=function(t,r){return N(t,r,(function(t,r,u){e(u,1,1);const s=n(u[0]);return null===s?NaN:f(s)}))},h.date=function(r,a){return N(r,a,(function(r,a,c){if(e(c,0,7),3===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),0,0,0,0));if(4===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),0,0,0));if(5===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),0,0));if(6===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),t(c[5]),0));if(7===c.length)return w(new Date(t(c[0]),t(c[1]),t(c[2]),t(c[3]),t(c[4]),t(c[5]),t(c[6])));if(2===c.length){let e,n=u(c[1]);return""===n?null:(n=s(n),e="X"===n?l.fromSeconds(t(c[0])):"x"===n?l.fromMillis(t(c[0])):l.fromFormat(u(c[0]),n,{locale:i(),numberingSystem:"latn"}),e.isValid?e.toJSDate():null)}if(1===c.length){if(o(c[0])){if(""===c[0].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(c[0]))return n(c[0]+"-01-01")}const e=t(c[0]);if(!1===isNaN(e))return w(new Date(e));return n(c[0])}return 0===c.length?new Date:void 0}))},h.datediff=function(n,t){return N(n,t,(function(n,t,r){e(r,2,3);const s=a(r[0]),o=a(r[1]);if(null===s||null===o)return NaN;switch(u(r[2]).toLowerCase()){case"days":case"day":case"d":return s.diff(o,"days").days;case"months":case"month":return s.diff(o,"months").months;case"minutes":case"minute":case"m":return"M"===r[2]?s.diff(o,"months").months:s.diff(o,"minutes").minutes;case"seconds":case"second":case"s":return s.diff(o,"seconds").seconds;case"milliseconds":case"millisecond":case"ms":default:return s.diff(o).milliseconds;case"hours":case"hour":case"h":return s.diff(o,"hours").hours;case"years":case"year":case"y":return s.diff(o,"years").years}}))},h.dateadd=function(n,r){return N(n,r,(function(n,r,s){e(s,2,3);const o=a(s[0]);if(null===o)return null;let i=t(s[1]);if(isNaN(i))return o.toJSDate();let l="milliseconds";switch(u(s[2]).toLowerCase()){case"days":case"day":case"d":l="days",i=c(i);break;case"months":case"month":l="months",i=c(i);break;case"minutes":case"minute":case"m":l="M"===s[2]?"months":"minutes";break;case"seconds":case"second":case"s":l="seconds";break;case"milliseconds":case"millisecond":case"ms":l="milliseconds";break;case"hours":case"hour":case"h":l="hours";break;case"years":case"year":case"y":l="years"}return o.plus({[l]:i}).toJSDate()}))}}export{y as registerFunctions};
5
+ import{p as e,k as t,f as n,C as r,h as s,D as u,b as a,E as o,F as c}from"../../chunks/languageUtils.js";import{getLocale as l}from"../../intl/locale.js";import{DateTime as i}from"luxon";function f(e){const t=new Date(e.getTime()),n=t.getFullYear(),r=new Date(0);r.setFullYear(n+1,0,4),r.setHours(0,0,0,0);const s=g(r),u=new Date(0);u.setFullYear(n,0,4),u.setHours(0,0,0,0);const a=g(u);return t.getTime()>=s.getTime()?n+1:t.getTime()>=a.getTime()?n:n-1}function g(e){const t=1,n=new Date(e.getTime()),r=n.getDay(),s=(r<t?7:0)+r-t;return n.setDate(n.getDate()-s),n.setHours(0,0,0,0),n}function d(e){const t=f(e),n=new Date(0);n.setFullYear(t,0,4),n.setHours(0,0,0,0);return g(n)}function m(e,t,n){return e+(h(n)?D:N)[t]}function h(e){return e%4==0&&(e%100!=0||e%400==0)}const N=[0,31,59,90,120,151,181,212,243,273,304,334],D=[0,31,60,91,121,152,182,213,244,274,305,335];function w(e){return null===e?e:isNaN(e.getTime())?null:e}function y(h,N){h.today=function(t,n){return N(t,n,((t,n,r)=>{e(r,0,0);const s=new Date;return s.setHours(0,0,0,0),s}))},h.now=function(t,n){return N(t,n,((t,n,r)=>{e(r,0,0);return new Date}))},h.timestamp=function(t,n){return N(t,n,((t,n,r)=>{e(r,0,0);let s=new Date;return s=new Date(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),s.getUTCHours(),s.getUTCMinutes(),s.getUTCSeconds(),s.getUTCMilliseconds()),s}))},h.toutc=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?null:new Date(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate(),u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds())}))},h.tolocal=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?null:i.utc(u.getFullYear(),u.getMonth()+1,u.getDate(),u.getHours(),u.getMinutes(),u.getSeconds(),u.getMilliseconds()).toJSDate()}))},h.day=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getDate()}))},h.month=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getMonth()}))},h.year=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getFullYear()}))},h.hour=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getHours()}))},h.second=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getSeconds()}))},h.millisecond=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getMilliseconds()}))},h.minute=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getMinutes()}))},h.week=function(s,u){return N(s,u,((s,u,a)=>{e(a,1,2);const o=t(a[0]);if(null===o)return NaN;const c=n(r(a[1],0));if(c<0||c>6)throw new Error("Invalid Parameter");const l=o.getDate(),i=o.getMonth(),f=o.getFullYear(),g=o.getDay(),d=m(l,i,f)-1,h=Math.floor(d/7);return g-c+(g-c<0?7:0)<d-7*h?h+1:h}))},h.weekday=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getDay()}))},h.isoweekday=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);if(null===u)return NaN;let a=u.getDay();return 0===a&&(a=7),a}))},h.isomonth=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:u.getMonth()+1}))},h.isoweek=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);if(null===u)return NaN;const a=g(u).getTime()-d(u).getTime();return Math.round(a/6048e5)+1}))},h.isoyear=function(n,r){return N(n,r,((n,r,s)=>{e(s,1,1);const u=t(s[0]);return null===u?NaN:f(u)}))},h.date=function(r,o){return N(r,o,((r,o,c)=>{if(e(c,0,7),3===c.length)return w(new Date(n(c[0]),n(c[1]),n(c[2]),0,0,0,0));if(4===c.length)return w(new Date(n(c[0]),n(c[1]),n(c[2]),n(c[3]),0,0,0));if(5===c.length)return w(new Date(n(c[0]),n(c[1]),n(c[2]),n(c[3]),n(c[4]),0,0));if(6===c.length)return w(new Date(n(c[0]),n(c[1]),n(c[2]),n(c[3]),n(c[4]),n(c[5]),0));if(7===c.length)return w(new Date(n(c[0]),n(c[1]),n(c[2]),n(c[3]),n(c[4]),n(c[5]),n(c[6])));if(2===c.length){let e,t=s(c[1]);return""===t?null:(t=u(t),e="X"===t?i.fromSeconds(n(c[0])):"x"===t?i.fromMillis(n(c[0])):i.fromFormat(s(c[0]),t,{locale:l(),numberingSystem:"latn"}),e.isValid?e.toJSDate():null)}if(1===c.length){if(a(c[0])){if(""===c[0].replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(c[0]))return t(c[0]+"-01-01")}const e=n(c[0]);if(!1===isNaN(e))return w(new Date(e));return t(c[0])}return 0===c.length?new Date:void 0}))},h.datediff=function(t,n){return N(t,n,((t,n,r)=>{e(r,2,3);const u=o(r[0]),a=o(r[1]);if(null===u||null===a)return NaN;switch(s(r[2]).toLowerCase()){case"days":case"day":case"d":return u.diff(a,"days").days;case"months":case"month":return u.diff(a,"months").months;case"minutes":case"minute":case"m":return"M"===r[2]?u.diff(a,"months").months:u.diff(a,"minutes").minutes;case"seconds":case"second":case"s":return u.diff(a,"seconds").seconds;case"milliseconds":case"millisecond":case"ms":default:return u.diff(a).milliseconds;case"hours":case"hour":case"h":return u.diff(a,"hours").hours;case"years":case"year":case"y":return u.diff(a,"years").years}}))},h.dateadd=function(t,r){return N(t,r,((t,r,u)=>{e(u,2,3);const a=o(u[0]);if(null===a)return null;let l=n(u[1]);if(isNaN(l))return a.toJSDate();let i="milliseconds";switch(s(u[2]).toLowerCase()){case"days":case"day":case"d":i="days",l=c(l);break;case"months":case"month":i="months",l=c(l);break;case"minutes":case"minute":case"m":i="M"===u[2]?"months":"minutes";break;case"seconds":case"second":case"s":i="seconds";break;case"milliseconds":case"millisecond":case"ms":i="milliseconds";break;case"hours":case"hour":case"h":i="hours";break;case"years":case"year":case"y":i="years"}return a.plus({[i]:l}).toJSDate()}))}}export{y as registerFunctions};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{shapeExtent as e}from"../kernel.js";import{H as n,p as t,h as r,y as i}from"../../chunks/languageUtils.js";import a from"../featureset/actions/SpatialFilter.js";import s from"../featureset/sources/Empty.js";import o from"../../geometry/Geometry.js";import{relate as u,crosses as l,touches as c,within as f,overlaps as p,contains as m,intersects as h}from"../../geometry/geometryEngineAsync.js";function w(e){return e instanceof o}function y(t,r,u,y){return y(t,r,(async function(t,r,y){if(y.length<2)throw new Error("Missing Parameters");if(null===(y=n(y))[0]&&null===y[1])return!1;if(i(y[0])){if(y[1]instanceof o)return new a({parentfeatureset:y[0],relation:u,relationGeom:y[1]});if(null===y[1])return new s({parentfeatureset:y[0]});throw new Error("Spatial Relation cannot accept this parameter type")}if(w(y[0])){if(w(y[1])){switch(u){case"esriSpatialRelEnvelopeIntersects":return h(e(y[0]),e(y[1]));case"esriSpatialRelIntersects":return h(y[0],y[1]);case"esriSpatialRelContains":return m(y[0],y[1]);case"esriSpatialRelOverlaps":return p(y[0],y[1]);case"esriSpatialRelWithin":return f(y[0],y[1]);case"esriSpatialRelTouches":return c(y[0],y[1]);case"esriSpatialRelCrosses":return l(y[0],y[1])}throw new Error("Unrecognised Relationship")}if(i(y[1]))return new a({parentfeatureset:y[1],relation:u,relationGeom:y[0]});if(null===y[1])return!1;throw new Error("Spatial Relation cannot accept this parameter type")}if(null!==y[0])throw new Error("Spatial Relation cannot accept this parameter type");return i(y[1])?new s({parentfeatureset:y[1]}):!(y[1]instanceof o||null===y[1])&&void 0}))}function d(e){"async"===e.mode&&(e.functions.intersects=function(n,t){return y(n,t,"esriSpatialRelIntersects",e.standardFunctionAsync)},e.functions.envelopeintersects=function(n,t){return y(n,t,"esriSpatialRelEnvelopeIntersects",e.standardFunctionAsync)},e.signatures.push({name:"envelopeintersects",min:"2",max:"2"}),e.functions.contains=function(n,t){return y(n,t,"esriSpatialRelContains",e.standardFunctionAsync)},e.functions.overlaps=function(n,t){return y(n,t,"esriSpatialRelOverlaps",e.standardFunctionAsync)},e.functions.within=function(n,t){return y(n,t,"esriSpatialRelWithin",e.standardFunctionAsync)},e.functions.touches=function(n,t){return y(n,t,"esriSpatialRelTouches",e.standardFunctionAsync)},e.functions.crosses=function(n,t){return y(n,t,"esriSpatialRelCrosses",e.standardFunctionAsync)},e.functions.relate=function(a,l){return e.standardFunctionAsync(a,l,(function(e,a,l){if(l=n(l),t(l,3,3),w(l[0])&&w(l[1]))return u(l[0],l[1],r(l[2]));if(l[0]instanceof o&&null===l[1])return!1;if(l[1]instanceof o&&null===l[0])return!1;if(i(l[0])&&null===l[1])return new s({parentfeatureset:l[0]});if(i(l[1])&&null===l[0])return new s({parentfeatureset:l[1]});if(i(l[0])&&l[1]instanceof o)return l[0].relate(l[1],r(l[2]));if(i(l[1])&&l[0]instanceof o)return l[1].relate(l[0],r(l[2]));if(null===l[0]&&null===l[1])return!1;throw new Error("Illegal Argument")}))})}export{d as registerFunctions};
5
+ import{shapeExtent as e}from"../kernel.js";import{H as n,p as t,h as r,y as i}from"../../chunks/languageUtils.js";import a from"../featureset/actions/SpatialFilter.js";import s from"../featureset/sources/Empty.js";import o from"../../geometry/Geometry.js";import{relate as u,crosses as l,touches as c,within as f,overlaps as p,contains as m,intersects as h}from"../../geometry/geometryEngineAsync.js";function w(e){return e instanceof o}function y(t,r,u,y){return y(t,r,(async(t,r,y)=>{if(y.length<2)throw new Error("Missing Parameters");if(null===(y=n(y))[0]&&null===y[1])return!1;if(i(y[0])){if(y[1]instanceof o)return new a({parentfeatureset:y[0],relation:u,relationGeom:y[1]});if(null===y[1])return new s({parentfeatureset:y[0]});throw new Error("Spatial Relation cannot accept this parameter type")}if(w(y[0])){if(w(y[1])){switch(u){case"esriSpatialRelEnvelopeIntersects":return h(e(y[0]),e(y[1]));case"esriSpatialRelIntersects":return h(y[0],y[1]);case"esriSpatialRelContains":return m(y[0],y[1]);case"esriSpatialRelOverlaps":return p(y[0],y[1]);case"esriSpatialRelWithin":return f(y[0],y[1]);case"esriSpatialRelTouches":return c(y[0],y[1]);case"esriSpatialRelCrosses":return l(y[0],y[1])}throw new Error("Unrecognised Relationship")}if(i(y[1]))return new a({parentfeatureset:y[1],relation:u,relationGeom:y[0]});if(null===y[1])return!1;throw new Error("Spatial Relation cannot accept this parameter type")}if(null!==y[0])throw new Error("Spatial Relation cannot accept this parameter type");return i(y[1])?new s({parentfeatureset:y[1]}):!(y[1]instanceof o||null===y[1])&&void 0}))}function d(e){"async"===e.mode&&(e.functions.intersects=function(n,t){return y(n,t,"esriSpatialRelIntersects",e.standardFunctionAsync)},e.functions.envelopeintersects=function(n,t){return y(n,t,"esriSpatialRelEnvelopeIntersects",e.standardFunctionAsync)},e.signatures.push({name:"envelopeintersects",min:"2",max:"2"}),e.functions.contains=function(n,t){return y(n,t,"esriSpatialRelContains",e.standardFunctionAsync)},e.functions.overlaps=function(n,t){return y(n,t,"esriSpatialRelOverlaps",e.standardFunctionAsync)},e.functions.within=function(n,t){return y(n,t,"esriSpatialRelWithin",e.standardFunctionAsync)},e.functions.touches=function(n,t){return y(n,t,"esriSpatialRelTouches",e.standardFunctionAsync)},e.functions.crosses=function(n,t){return y(n,t,"esriSpatialRelCrosses",e.standardFunctionAsync)},e.functions.relate=function(a,l){return e.standardFunctionAsync(a,l,((e,a,l)=>{if(l=n(l),t(l,3,3),w(l[0])&&w(l[1]))return u(l[0],l[1],r(l[2]));if(l[0]instanceof o&&null===l[1])return!1;if(l[1]instanceof o&&null===l[0])return!1;if(i(l[0])&&null===l[1])return new s({parentfeatureset:l[0]});if(i(l[1])&&null===l[0])return new s({parentfeatureset:l[1]});if(i(l[0])&&l[1]instanceof o)return l[0].relate(l[1],r(l[2]));if(i(l[1])&&l[0]instanceof o)return l[1].relate(l[0],r(l[2]));if(null===l[0]&&null===l[1])return!1;throw new Error("Illegal Argument")}))})}export{d as registerFunctions};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{p as n,y as t,l as r,b as e,n as a,C as i}from"../../chunks/languageUtils.js";import{calculateStat as u}from"./fieldStats.js";import{WhereClause as c}from"../../core/sql/WhereClause.js";async function o(n,e,o,f,l,d){if(1===f.length){if(r(f[0]))return u(n,f[0],i(f[1],-1));if(a(f[0]))return u(n,f[0].toArray(),i(f[1],-1))}else if(2===f.length){if(r(f[0]))return u(n,f[0],i(f[1],-1));if(a(f[0]))return u(n,f[0].toArray(),i(f[1],-1));if(t(f[0])){const t=await f[0].load(),r=await s(c.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),e.abortSignal)}}else if(3===f.length&&t(f[0])){const t=await f[0].load(),r=await s(c.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),e.abortSignal)}return u(n,f,-1)}async function s(n,t,r){const e=n.getVariables();if(e.length>0){const a=[];for(let n=0;n<e.length;n++){const i={name:e[n]};a.push(await t.evaluateIdentifier(r,i))}const i={};for(let n=0;n<e.length;n++)i[e[n]]=a[n];return n.parameters=i,n}return n}function f(i){"async"===i.mode&&(i.functions.stdev=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("stdev",t,r,e,n,i)}))},i.functions.variance=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("variance",t,r,e,n,i)}))},i.functions.average=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("mean",t,r,e,n,i)}))},i.functions.mean=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("mean",t,r,e,n,i)}))},i.functions.sum=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("sum",t,r,e,n,i)}))},i.functions.min=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("min",t,r,e,n,i)}))},i.functions.max=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("max",t,r,e,n,i)}))},i.functions.count=function(u,c){return i.standardFunctionAsync(u,c,(function(i,u,c){if(n(c,1,1),t(c[0]))return c[0].count(i.abortSignal);if(r(c[0])||e(c[0]))return c[0].length;if(a(c[0]))return c[0].length();throw new Error("Invalid Parameters for Count")}))})}export{f as registerFunctions};
5
+ import{p as n,y as t,l as r,b as a,n as e,C as i}from"../../chunks/languageUtils.js";import{calculateStat as s}from"./fieldStats.js";import{WhereClause as u}from"../../core/sql/WhereClause.js";async function c(n,a,c,f,l,d){if(1===f.length){if(r(f[0]))return s(n,f[0],i(f[1],-1));if(e(f[0]))return s(n,f[0].toArray(),i(f[1],-1))}else if(2===f.length){if(r(f[0]))return s(n,f[0],i(f[1],-1));if(e(f[0]))return s(n,f[0].toArray(),i(f[1],-1));if(t(f[0])){const t=await f[0].load(),r=await o(u.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),a.abortSignal)}}else if(3===f.length&&t(f[0])){const t=await f[0].load(),r=await o(u.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),a.abortSignal)}return s(n,f,-1)}async function o(n,t,r){const a=n.getVariables();if(a.length>0){const e=[];for(let n=0;n<a.length;n++){const i={name:a[n]};e.push(await t.evaluateIdentifier(r,i))}const i={};for(let n=0;n<a.length;n++)i[a[n]]=e[n];return n.parameters=i,n}return n}function f(i){"async"===i.mode&&(i.functions.stdev=function(n,t){return i.standardFunctionAsync(n,t,((t,r,a)=>c("stdev",t,r,a,n,i)))},i.functions.variance=function(n,t){return i.standardFunctionAsync(n,t,((t,r,a)=>c("variance",t,r,a,n,i)))},i.functions.average=function(n,t){return i.standardFunctionAsync(n,t,((t,r,a)=>c("mean",t,r,a,n,i)))},i.functions.mean=function(n,t){return i.standardFunctionAsync(n,t,((t,r,a)=>c("mean",t,r,a,n,i)))},i.functions.sum=function(n,t){return i.standardFunctionAsync(n,t,((t,r,a)=>c("sum",t,r,a,n,i)))},i.functions.min=function(n,t){return i.standardFunctionAsync(n,t,((t,r,a)=>c("min",t,r,a,n,i)))},i.functions.max=function(n,t){return i.standardFunctionAsync(n,t,((t,r,a)=>c("max",t,r,a,n,i)))},i.functions.count=function(s,u){return i.standardFunctionAsync(s,u,((i,s,u)=>{if(n(u,1,1),t(u[0]))return u[0].count(i.abortSignal);if(r(u[0])||a(u[0]))return u[0].length;if(e(u[0]))return u[0].length();throw new Error("Invalid Parameters for Count")}))})}export{f as registerFunctions};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import n from"../Dictionary.js";import{p as a,s as e,T as t,f as r,h as o,y as i,Z as c,Q as s,U as d,_ as u,V as m,$ as f,C as l,t as y,P as v}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as p}from"../featureset/support/shared.js";function w(a){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:a.domain.name,dataType:p[a.field.type],codedValues:a.domain.codedValues.map((n=>({name:n.name,code:n.code})))}):n.convertObjectToArcadeDictionary({type:"range",name:a.domain.name,dataType:p[a.field.type],min:a.domain.min,max:a.domain.max}):null}function h(p){"async"===p.mode&&(p.functions.domain=function(n,s){return p.standardFunctionAsync(n,s,(async function(n,s,d){if(a(d,2,3),e(d[0])){return w(t(d[0],o(d[1]),void 0===d[2]?void 0:r(d[2])))}if(i(d[0])){await d[0]._ensureLoaded();return w(c(o(d[1]),d[0],null,void 0===d[2]?void 0:r(d[2])))}throw new Error("Invalid Parameter")}))},p.functions.subtypes=function(t,r){return p.standardFunctionAsync(t,r,(async function(t,r,o){if(a(o,1,1),e(o[0])){const a=s(o[0]);return a?n.convertObjectToArcadeDictionary(a):null}if(i(o[0])){await o[0]._ensureLoaded();const a=o[0].subtypes();return a?n.convertObjectToArcadeDictionary(a):null}throw new Error("Invalid Parameter")}))},p.functions.domainname=function(n,t){return p.standardFunctionAsync(n,t,(async function(n,t,s){if(a(s,2,4),e(s[0]))return d(s[0],o(s[1]),s[2],void 0===s[3]?void 0:r(s[3]));if(i(s[0])){await s[0]._ensureLoaded();const n=c(o(s[1]),s[0],null,void 0===s[3]?void 0:r(s[3]));return u(n,s[2])}throw new Error("Invalid Parameter")}))},p.signatures.push({name:"domainname",min:"2",max:"4"}),p.functions.domaincode=function(n,t){return p.standardFunctionAsync(n,t,(async function(n,t,s){if(a(s,2,4),e(s[0]))return m(s[0],o(s[1]),s[2],void 0===s[3]?void 0:r(s[3]));if(i(s[0])){await s[0]._ensureLoaded();const n=c(o(s[1]),s[0],null,void 0===s[3]?void 0:r(s[3]));return f(n,s[2])}throw new Error("Invalid Parameter")}))},p.signatures.push({name:"domaincode",min:"2",max:"4"})),p.functions.text=function(n,e){return p.standardFunctionAsync(n,e,(function(n,e,t){if(a(t,1,2),!i(t[0]))return y(t[0],t[1]);{const a=l(t[1],"");if(""===a)return t[0].castToText();if("schema"===a.toLowerCase())return t[0].convertToText("schema",n.abortSignal);if("featureset"===a.toLowerCase())return t[0].convertToText("featureset",n.abortSignal)}}))},p.functions.gdbversion=function(n,t){return p.standardFunctionAsync(n,t,(async function(n,t,r){if(a(r,1,1),e(r[0]))return r[0].gdbVersion();if(i(r[0])){return(await r[0].load()).gdbVersion}throw new Error("Invalid Parameter")}))},p.functions.schema=function(t,r){return p.standardFunctionAsync(t,r,(async function(t,r,o){if(a(o,1,1),i(o[0]))return await o[0].load(),n.convertObjectToArcadeDictionary(o[0].schema());if(e(o[0])){const a=v(o[0]);return a?n.convertObjectToArcadeDictionary(a):null}throw new Error("Invalid Parameter")}))}}export{h as registerFunctions};
5
+ import n from"../Dictionary.js";import{p as a,s as e,T as r,f as t,h as o,y as i,Z as s,Q as c,U as d,_ as u,V as m,$ as f,C as l,t as y,P as v}from"../../chunks/languageUtils.js";import{layerFieldEsriConstants as p}from"../featureset/support/shared.js";function w(a){return a&&a.domain?"coded-value"===a.domain.type||"codedValue"===a.domain.type?n.convertObjectToArcadeDictionary({type:"codedValue",name:a.domain.name,dataType:p[a.field.type],codedValues:a.domain.codedValues.map((n=>({name:n.name,code:n.code})))}):n.convertObjectToArcadeDictionary({type:"range",name:a.domain.name,dataType:p[a.field.type],min:a.domain.min,max:a.domain.max}):null}function h(p){"async"===p.mode&&(p.functions.domain=function(n,c){return p.standardFunctionAsync(n,c,(async(n,c,d)=>{if(a(d,2,3),e(d[0])){return w(r(d[0],o(d[1]),void 0===d[2]?void 0:t(d[2])))}if(i(d[0])){await d[0]._ensureLoaded();return w(s(o(d[1]),d[0],null,void 0===d[2]?void 0:t(d[2])))}throw new Error("Invalid Parameter")}))},p.functions.subtypes=function(r,t){return p.standardFunctionAsync(r,t,(async(r,t,o)=>{if(a(o,1,1),e(o[0])){const a=c(o[0]);return a?n.convertObjectToArcadeDictionary(a):null}if(i(o[0])){await o[0]._ensureLoaded();const a=o[0].subtypes();return a?n.convertObjectToArcadeDictionary(a):null}throw new Error("Invalid Parameter")}))},p.functions.domainname=function(n,r){return p.standardFunctionAsync(n,r,(async(n,r,c)=>{if(a(c,2,4),e(c[0]))return d(c[0],o(c[1]),c[2],void 0===c[3]?void 0:t(c[3]));if(i(c[0])){await c[0]._ensureLoaded();const n=s(o(c[1]),c[0],null,void 0===c[3]?void 0:t(c[3]));return u(n,c[2])}throw new Error("Invalid Parameter")}))},p.signatures.push({name:"domainname",min:"2",max:"4"}),p.functions.domaincode=function(n,r){return p.standardFunctionAsync(n,r,(async(n,r,c)=>{if(a(c,2,4),e(c[0]))return m(c[0],o(c[1]),c[2],void 0===c[3]?void 0:t(c[3]));if(i(c[0])){await c[0]._ensureLoaded();const n=s(o(c[1]),c[0],null,void 0===c[3]?void 0:t(c[3]));return f(n,c[2])}throw new Error("Invalid Parameter")}))},p.signatures.push({name:"domaincode",min:"2",max:"4"})),p.functions.text=function(n,e){return p.standardFunctionAsync(n,e,((n,e,r)=>{if(a(r,1,2),!i(r[0]))return y(r[0],r[1]);{const a=l(r[1],"");if(""===a)return r[0].castToText();if("schema"===a.toLowerCase())return r[0].convertToText("schema",n.abortSignal);if("featureset"===a.toLowerCase())return r[0].convertToText("featureset",n.abortSignal)}}))},p.functions.gdbversion=function(n,r){return p.standardFunctionAsync(n,r,(async(n,r,t)=>{if(a(t,1,1),e(t[0]))return t[0].gdbVersion();if(i(t[0])){return(await t[0].load()).gdbVersion}throw new Error("Invalid Parameter")}))},p.functions.schema=function(r,t){return p.standardFunctionAsync(r,t,(async(r,t,o)=>{if(a(o,1,1),i(o[0]))return await o[0].load(),n.convertObjectToArcadeDictionary(o[0].schema());if(e(o[0])){const a=v(o[0]);return a?n.convertObjectToArcadeDictionary(a):null}throw new Error("Invalid Parameter")}))}}export{h as registerFunctions};