@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 5.88 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{compileScript as e,enableAsyncSupport as r,extend as t}from"../arcade/arcadeCompiler.js";import{toSymbolId as n}from"../arcade/arcadeEnvironment.js";import{ArcadeModuleResolver as s}from"../arcade/ArcadeModuleResolver.js";import{prepareScript as a,executeScript as o,extend as c}from"../arcade/arcadeRuntime.js";import{ArcadeExecutionError as i}from"../arcade/executionError.js";import{parseScript as u}from"../arcade/parser.js";import{findExpectedFieldLiterals as l,findLiteralMemberAccesses as p,findModuleImports as d,referencesFunction as f,referencesMember as m,findScriptDependencies as y,findFunctionCalls as S}from"../arcade/treeAnalysis.js";import{loadOperators as w}from"../arcade/functions/geomsync.js";import{loadOperators as b}from"../arcade/functions/track.js";import has from"../core/has.js";import{assertIsSome as A}from"../core/maybe.js";const h=new Set(["feature","angle","bearing","centroid","envelopeintersects","extent","geometry","ringisclockwise","trackgeometrywindow"]),k=new Set(["TrackAccelerationAt","TrackAccelerationWindow","TrackCurrentAcceleration","TrackCurrentDistance","TrackCurrentSpeed","TrackDistanceAt","TrackDistanceWindow","TrackSpeedAt","TrackSpeedWindow"].map(e=>n(e))),T=new Set([...k,"TrackCurrentTime","TrackDuration","TrackFieldWindow","TrackGeometryWindow","TrackIndex","TrackStartTime","TrackWindow"].map(e=>n(e)));let j=!1,g=!1,x=null,v=[],F=!1;function M(r,t){if(!0===t.useAsync||!0===r.isAsync)return G(r,t);if(has("esri-csp-restrictions"))return a(r,t);try{return e(r,t)}catch(n){if("esri.arcade.arcadeuncompilableerror"===n.declaredRootClass)return a(r,t);throw n}}function G(r,t){if(null===x)throw new i(null,"AsyncNotEnabled",null);if(has("esri-csp-restrictions"))return x.prepareScript(r,t);try{return e(r,t,!0)}catch(n){if("esri.arcade.arcadeuncompilableerror"===n.declaredRootClass)return x.prepareScript(r,t);throw n}}function C(e){c(e),t(e,"sync"),null===x?v.push(e):(t(e,"async"),x.extend(e))}function E(e,r=[]){return u(e,r)}function I(e,r,t=[]){return D(u(e,t),r)}function D(e,r){if(!0===r.useAsync||!0===e.isAsync){if(null===x)throw new i(null,"AsyncNotEnabled",null);return x.executeScript(e,r)}return o(e,r)}function U(e,r){return m(e,r)}function W(e,r){return f(e,r)}function _(e,r=!1){return void 0===r&&(r=!1),p(e).map(({varId:e,memberId:r})=>`${e}.${r}`)}function R(e){return l(e)}function O(e,r=[]){return void 0===e.usesGeometry&&y(e,r),!0===e.usesGeometry}let P=null;function z(){return P||(P=L(),P)}async function L(){return await w(),g=!0,!0}let $=null;function N(){return null!==$||($=q()),$}async function q(){await r(),x=await import("../arcade/arcadeAsyncRuntime.js");for(const e of v)x.extend(e),t(e,"async");return v=null,!0}function B(){return j}function V(){return!!x}function H(){return g}let J,K=null;function Q(){return K||(K=X(),K)}async function X(){await N();const[e,r,n,s,a,o]=await Promise.all([import("../arcade/featureSetUtils.js"),import("../arcade/functions/featuresetbase.js"),import("../arcade/functions/featuresetgeom.js"),import("../arcade/functions/featuresetstats.js"),import("../arcade/functions/featuresetstring.js"),import("../arcade/functions/knowledgegraph.js")]);return ie=e,x.extend([r,n,s,a,o]),t([r,n,s,a,o],"async"),j=!0,!0}function Y(){return J??=b().then(()=>{F=!0})}function Z(e,r=[]){return void 0===e.usesFeatureSet&&y(e,r),!0===e.usesFeatureSet}function ee(e,r=[]){return void 0===e.isAsync&&y(e,r),!0===e.isAsync}function re(e,r){if(r){for(const t of r)if(U(e,t))return!0;return!1}return!1}async function te(e,r,t=[],n=!1,s=null){return ne(new Set,e,r,t,n,s)}async function ne(e,r,t,n=[],s=!1,a=null){const o="string"==typeof r?E(r):r,c=[];return o&&(!1===H()&&(O(o)||s)&&c.push(z()),!1===V()&&(!0===o.isAsync||t)&&c.push(N()),!1===B()&&(Z(o)||re(o,n))&&c.push(Q()),F||le(o)&&c.push(Y())),c.length&&await Promise.all(c),await ae(e,o,a,t,s),!0}function se(e,r=[]){return void 0===e.usesModules&&y(e,r),!0===e.usesModules}async function ae(e,r,t=null,n=!1,a=!1){const o=d(r);null===t&&o.length>0&&(t=s.getDefault()),r.loadedModules={};for(const s of o){A(t);const o=t.normalizeModuleUri(s.source);if(e.has(o.uri))throw new i(null,"CircularModules",null);e.add(o.uri);const c=await t.fetchModule(o);await ne(e,c,n,[],a,t),e.delete(o.uri),c.isAsync&&(r.isAsync=!0),c.usesFeatureSet&&(r.usesFeatureSet=!0),c.usesGeometry&&(r.usesGeometry=!0),r.loadedModules[s.libname]={uri:o.uri,script:c}}}function oe(e){if(O(e))return!0;const r=S(e);let t=!1;for(let n=0;n<r.length;n++)if(h.has(r[n])){t=!0;break}return t}function ce(e,r){const t=null==r?null:new Set(r.map(e=>e.toLowerCase()));return p(e).some(({varId:e,memberId:r})=>"$view"===e&&(null==t||t.has(r)))}let ie=null;function ue(){return ie}function le(e){return S(e).some(e=>k.has(e))}function pe(e){return S(e).some(e=>T.has(e))}const de=Object.freeze(Object.defineProperty({__proto__:null,_loadScriptDependenciesImpl:ne,compileScript:M,enableAsyncSupport:N,enableAsyncSupportImpl:q,enableFeatureSetSupport:Q,enableFeatureSetSupportImpl:X,enableGeometrySupport:z,enableGeometrySupportImpl:L,executeScript:D,extend:C,extractExpectedFieldLiterals:R,extractFieldLiterals:_,featureSetUtils:ue,isAsyncEnabled:V,isFeatureSetSupportEnabled:B,isGeometryEnabled:H,loadDependentModules:ae,loadScriptDependencies:te,loadTrackGeometryOperators:Y,parseAndExecuteScript:I,parseScript:E,referencesFunction:W,referencesMember:U,scriptIsAsync:ee,scriptTouchesGeometry:oe,scriptUsesFeatureSet:Z,scriptUsesGeometryEngine:O,scriptUsesModules:se,scriptUsesTrack:pe,scriptUsesViewProperties:ce},Symbol.toStringTag,{value:"Module"}));export{ee as A,Z as B,se as C,ce as D,ne as _,z as a,D as b,M as c,R as d,Q as e,ue as f,oe as g,O as h,de as i,N as j,q as k,te as l,X as m,L as n,C as o,E as p,_ as q,U as r,pe as s,V as t,B as u,H as v,ae as w,Y as x,I as y,W as z};