/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ import"../geometry.js";import{p as e,c as r,e as n,a as t,r as o,l as i,b as s,d as a,f as u,s as l,g as c}from"../chunks/arcade.js";export{h as arcade}from"../chunks/arcade.js";import f from"../arcade/Dictionary.js";export{default as Dictionary}from"../arcade/Dictionary.js";import p from"../arcade/Feature.js";export{default as arcadeFeature}from"../arcade/Feature.js";import{l as m,n as y,j as d,b as x,i as g,a as v,s as j,y as w,z as b}from"../chunks/languageUtils.js";import{clone as E}from"../core/lang.js";import{isSizeVariable as F}from"../renderers/visualVariables/support/sizeVariableUtils.js";import S from"../geometry/Point.js";import $ from"../geometry/Polygon.js";import R from"../geometry/Polyline.js";import z from"../geometry/Multipoint.js";import C from"../geometry/Extent.js";const M=/^\$(feature|aggregatedFeatures)\./i,P={vars:{$feature:"any",$view:"any"},spatialReference:null};function k(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}function I(e){return null==e?null:m(e)||y(e)?"array":d(e)?"date":x(e)?"text":g(e)?"boolean":v(e)?"number":e instanceof f?"dictionary":j(e)?"feature":e instanceof S?"point":e instanceof $?"polygon":e instanceof R?"polyline":e instanceof z?"multipoint":e instanceof C?"extent":w(e)?"featureSet":b(e)?"featureSetCollection":null}function A(r){if(!r)return null;try{return e(r)}catch(n){}return null}function D(e,n){const t="string"==typeof e?A(e):e;if(!t)return null;try{return n=n||E(P),r(t,n)}catch(o){}return null}function G(e,r){return{vars:{$feature:null==e?new p:p.createFromGraphic(e),$view:r&&r.view},spatialReference:r&&r.sr}}function V(e,r,n){return p.createFromGraphicLikeObject(r,e,n)}function L(e,r){e.vars.$feature=r}function U(e,r){let t;try{t=n(e,r)}catch(o){t=null}return t}function q(e,r){let n;try{n=e?e(r):null}catch(t){n=null}return n}function O(e,r){try{return e?e(r):Promise.resolve(null)}catch(n){return Promise.resolve(null)}}function T(e,r){if(!e)return[];const n="string"==typeof e?A(e):e;if(!n)return[];const o=t(n);let i=new Array;o.forEach((e=>{M.test(e)&&(e=e.replace(M,""),i.push(e))}));const s=i.filter((e=>e.includes("*")));return i=i.filter((e=>!s.includes(e))),r&&s.forEach((e=>{const n=new RegExp(`^${e.split(/\*+/).map(k).join(".*")}$`,"i");r.forEach((e=>n.test(e)?i.push(e):null))})),[...new Set(i.sort())]}function B(e){return o(e,"$view")}function H(e,r){return!!e&&o(e,r)}function J(e){if(!e||null==e.spatialReference&&(null==e.scale||null==e.viewingMode))return;return{view:e.viewingMode&&null!=e.scale?new f({viewingMode:e.viewingMode,scale:e.scale}):null,sr:e.spatialReference}}function K({url:e,spatialReference:r,lrucache:n,interceptor:t}){const o=u();return o?o.createFeatureSetCollectionFromService(e,r,n,t):null}function N({layer:e,spatialReference:r,outFields:n,returnGeometry:t,lrucache:o,interceptor:i}){if(null===e)return null;const s=u();return s?s.constructFeatureSet(e,r,n,t??!0,o,i):null}function Q(e){if(null===e?.map)return null;const r=u();return r?r.createFeatureSetCollectionFromMap(e.map,e.spatialReference,e.lrucache,e.interceptor):null}function W(e,r,n=[]){return i(e,r,n)}function X(){return s()}function Y(){return a()}function Z(e){return"simple"===e.type||"class-breaks"===e.type||"unique-value"===e.type||"dot-density"===e.type||"dictionary"===e.type||"pie-chart"===e.type}function _(e){return"esri.layers.support.LabelClass"===e.declaredClass}function ee(e){return"esri.PopupTemplate"===e.declaredClass}function re(e,r){if(!e)return!1;if("string"==typeof e)return r(e);const n=e;if(Z(n)){if("dot-density"===n.type){const e=n.attributes.some((e=>r(e.valueExpression)));if(e)return e}const e=n.visualVariables,t=!!e&&e.some((e=>{let n=r(e.valueExpression);return"size"===e.type&&(F(e.minSize)&&(n=n||r(e.minSize.valueExpression)),F(e.maxSize)&&(n=n||r(e.maxSize.valueExpression))),n}));return!(!("valueExpression"in n)||!r(n.valueExpression))||t}if(_(n)){const e=n.labelExpressionInfo&&n.labelExpressionInfo.expression;return!(!e||!r(e))||!1}return!!ee(n)&&(!!n.expressionInfos&&n.expressionInfos.some((e=>r(e.expression)))||Array.isArray(n.content)&&n.content.some((e=>"expression"===e.type&&r(e.expressionInfo?.expression))))}function ne(e){const r=A(e);return!!r&&l(r)}function te(e){return re(e,ne)}function oe(e){const r=A(e);return!!r&&c(r)}function ie(e){return re(e,oe)}export{N as convertFeatureLayerToFeatureSet,Q as convertMapToFeatureSetCollection,K as convertServiceUrlToWorkspace,G as createExecContext,V as createFeature,D as createFunction,A as createSyntaxTree,B as dependsOnView,Y as enableFeatureSetOperations,X as enableGeometryOperations,U as evalSyntaxTree,O as executeAsyncFunction,q as executeFunction,T as extractFieldNames,I as getArcadeType,J as getViewInfo,te as hasGeometryFunctions,ie as hasGeometryOperations,H as hasVariable,W as loadScriptDependencies,L as updateExecContext};