You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
26 KiB
54 lines
26 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../ArcadeDate ../ArcadePortal ../Dictionary ../executionError ../Feature ../featureSetUtils ../ImmutableArray ../../chunks/languageUtils ../portalUtils ../featureset/actions/Adapted ../featureset/actions/AttributeFilter ../featureset/actions/OrderBy ../featureset/actions/Top ../featureset/sources/Empty ../featureset/sources/FeatureLayerMemory ../featureset/support/OrderbyClause ../featureset/support/shared ../featureset/support/sqlUtils ./fieldStats ../../core/promiseUtils ../../core/sql/WhereClause ../../layers/FeatureLayer ../../layers/support/Field ../../portal/Portal".split(" "), |
|
function(O,T,U,y,l,V,z,W,d,X,t,H,Y,Z,aa,ba,ca,I,P,J,da,u,K,D,Q){async function L(h,c,e){const b=h.getVariables();if(0<b.length){const f=[];for(let a=0;a<b.length;a++)f.push(await c.evaluateIdentifier(e,{name:b[a]}));c={};for(e=0;e<b.length;e++)c[b[e]]=f[e];h.parameters=c}return h}function q(h,c,e=null){for(const b in h)if(b.toLowerCase()===c.toLowerCase())return h[b];return e}function R(h){if(null===h)return null;const c={type:q(h,"type",""),name:q(h,"name","")};if("range"===c.type)c.range=q(h,"range", |
|
[]);else{c.codedValues=[];for(const e of q(h,"codedValues",[]))c.codedValues.push({name:q(e,"name",""),code:q(e,"code",null)})}return c}function M(h){if(null===h)return null;const c={},e=q(h,"wkt");null!==e&&(c.wkt=e);h=q(h,"wkid");null!==h&&(c.wkid=h);return c}function S(h){if(null===h)return null;const c={hasZ:q(h,"hasz",!1),hasM:q(h,"hasm",!1)};var e=q(h,"spatialreference");null!=e&&(c.spatialReference=M(e));e=q(h,"x",null);if(null!==e)return c.x=e,c.y=q(h,"y",null),c.hasZ&&(c.z=q(h,"z",null)), |
|
c.hasM&&(c.m=q(h,"m",null)),c;e=q(h,"rings",null);if(null!==e)return c.rings=e,c;e=q(h,"paths",null);if(null!==e)return c.paths=e,c;e=q(h,"points",null);if(null!==e)return c.points=e,c;for(const b of"xmin xmax ymin ymax zmin zmax mmin mmax".split(" "))e=q(h,b,null),null!==e&&(c[b]=e);return c}function C(h){return"utc"===h?.toLowerCase()?"UTC":"unknown"===h?.toLowerCase()?"Unknown":h}O.registerFunctions=function(h){"async"===h.mode&&(h.functions.timezone=function(c,e){return h.standardFunctionAsync(c, |
|
e,async(b,f,a)=>{d.pcCheck(a,1,2,c,e);if(d.isTime(a[0])||d.isDateOnly(a[0]))return"Unknown";if(d.isFeatureSet(a[0])){await a[0].load();if(1===a.length||null===a[1])return a[0].datesInUnknownTimezone?C("unknown"):C(a[0].dateFieldsTimeZone);if(!(a[1]instanceof y)||!1===a[1].hasField("type"))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);b=a[1].field("type");if(!1===d.isString(b))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);switch(d.toString(b).toLowerCase()){case "preferredtimezone":return C(a[0].preferredTimeZone); |
|
case "editfieldsinfo":return C(a[0].editFieldsInfo?.timeZone??null);case "timeinfo":return C(a[0].timeInfo?.timeZone??null);case "field":if(a[1].hasField("fieldname")&&d.isString(a[1].field("fieldname")))return C(a[0].fieldTimeZone(d.toString(a[1].field("fieldname"))))}throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);}a=d.toDate(a[0],d.defaultTimeZone(c));if(null===a)return null;a=a.timeZone;return"system"===a?T.ArcadeDate.systemTimeZoneCanonicalName:"utc"===a.toLowerCase()? |
|
"UTC":"unknown"===a.toLowerCase()?"Unknown":a})},h.functions.sqltimestamp=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,1,3,c,e);b=a[0];if(d.isDate(b)){if(1===a.length)return b.toSQLWithKeyword();if(2===a.length)return b.changeTimeZone(d.toString(a[1])).toSQLWithKeyword();throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);}if(d.isDateOnly(b))return b.toSQLWithKeyword();if(d.isFeatureSet(b)){if(3!==a.length)throw new l.ArcadeExecutionError(c, |
|
l.ExecutionErrorCodes.InvalidParameter,e);await b.load();f=d.toString(a[1]);if(d.isDateOnly(a[2]))return a[2].toSQLWithKeyword();if(!1===d.isDate(a[2]))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);b=b.fieldTimeZone(f);return null===b?a[2].toSQLWithKeyword():a[2].changeTimeZone(b).toSQLWithKeyword()}throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"sqltimestamp",min:2,max:4}),h.functions.featuresetbyid=function(c, |
|
e){return h.standardFunctionAsync(c,e,(b,f,a)=>{d.pcCheck(a,2,4,c,e);if(d.isFeatureSetCollection(a[0])){b=d.toString(a[1]);f=d.defaultUndefined(a[2],null);const k=d.toBoolean(d.defaultUndefined(a[3],!0));null===f&&(f=["*"]);if(!1===d.isArray(f))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);return a[0].featureSetById(b,k,f)}throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"featuresetbyid",min:2,max:4}),h.functions.getfeatureset= |
|
function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,1,2,c,e);if(d.isFeature(a[0]))return b=d.defaultUndefined(a[1],"datasource"),null===b&&(b="datasource"),b=d.toString(b).toLowerCase(),z.convertToFeatureSet(a[0].fullSchema(),b,c.lrucache,c.interceptor,c.spatialReference??null);throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"getfeatureset",min:1,max:2}),h.functions.featuresetbyportalitem=function(c,e){return h.standardFunctionAsync(c, |
|
e,(b,f,a)=>{d.pcCheck(a,2,5,c,e);if(null===a[0])throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.PortalRequired,e);if(a[0]instanceof U){b=d.toString(a[1]);f=d.toString(a[2]);var k=d.defaultUndefined(a[3],null);const n=d.toBoolean(d.defaultUndefined(a[4],!0));null===k&&(k=["*"]);if(!1===d.isArray(k))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);let g;g=c.services?.portal?c.services.portal:Q.getDefault();g=X.getPortal(a[0],g);return z.constructFeatureSetFromPortalItem(b, |
|
f,c.spatialReference??null,k,n,g,c.lrucache,c.interceptor)}if(!1===d.isString(a[0]))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.PortalRequired,e);b=d.toString(a[0]);f=d.toString(a[1]);k=d.defaultUndefined(a[2],null);a=d.toBoolean(d.defaultUndefined(a[3],!0));null===k&&(k=["*"]);if(!1===d.isArray(k))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);return z.constructFeatureSetFromPortalItem(b,f,c.spatialReference??null,k,a,c.services?.portal??Q.getDefault(), |
|
c.lrucache,c.interceptor)})},h.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),h.functions.featuresetbyname=function(c,e){return h.standardFunctionAsync(c,e,(b,f,a)=>{d.pcCheck(a,2,4,c,e);if(d.isFeatureSetCollection(a[0])){b=d.toString(a[1]);f=d.defaultUndefined(a[2],null);const k=d.toBoolean(d.defaultUndefined(a[3],!0));null===f&&(f=["*"]);if(!1===d.isArray(f))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);return a[0].featureSetByName(b,k,f)}throw new l.ArcadeExecutionError(c, |
|
l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"featuresetbyname",min:2,max:4}),h.functions.featureset=function(c,e){return h.standardFunction(c,e,(b,f,a)=>{d.pcCheck(a,1,1,c,e);b={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",hasM:!1,hasZ:!1,fields:[]},featureSet:{geometryType:"",features:[]}};if(d.isString(a[0])){var k=JSON.parse(a[0]);void 0!==k.layerDefinition?(b.layerDefinition=k.layerDefinition,b.featureSet=k.featureSet,k.layerDefinition.spatialReference&& |
|
(b.layerDefinition.spatialReference=k.layerDefinition.spatialReference)):(b.featureSet.features=k.features,b.featureSet.geometryType=k.geometryType,b.layerDefinition.geometryType=b.featureSet.geometryType,b.layerDefinition.objectIdField=k.objectIdFieldName??"",b.layerDefinition.typeIdField=k.typeIdFieldName,b.layerDefinition.globalIdField=k.globalIdFieldName,b.layerDefinition.fields=k.fields,k.spatialReference&&(b.layerDefinition.spatialReference=k.spatialReference))}else if(a[0]instanceof y)if(a= |
|
JSON.parse(a[0].castToText(!0)),f=q(a,"layerdefinition"),null!==f){b.layerDefinition.geometryType=q(f,"geometrytype","");b.featureSet.geometryType=b.layerDefinition.geometryType;b.layerDefinition.globalIdField=q(f,"globalidfield","");b.layerDefinition.objectIdField=q(f,"objectidfield","");b.layerDefinition.typeIdField=q(f,"typeidfield","");b.layerDefinition.hasZ=!0===q(f,"hasz",!1);b.layerDefinition.hasM=!0===q(f,"hasm",!1);if(k=q(f,"spatialreference"))b.layerDefinition.spatialReference=M(k);k=[]; |
|
for(const p of q(f,"fields",[])){var n={name:q(p,"name",""),alias:q(p,"alias",""),type:q(p,"type",""),nullable:q(p,"nullable",!0),editable:q(p,"editable",!0),length:q(p,"length",null),domain:R(q(p,"domain"))};k.push(n)}b.layerDefinition.fields=k;if(a=q(a,"featureset")){n={};for(const p of k)n[p.name.toLowerCase()]=p.name;for(var g of q(a,"features",[])){k={};a=q(g,"attributes",{});for(var m in a)k[n[m.toLowerCase()]]=a[m];b.featureSet.features.push({attributes:k,geometry:S(q(g,"geometry"))})}}}else{b.layerDefinition.hasZ= |
|
!0===q(a,"hasz",!1);b.layerDefinition.hasM=!0===q(a,"hasm",!1);b.layerDefinition.geometryType=q(a,"geometrytype","");b.featureSet.geometryType=b.layerDefinition.geometryType;b.layerDefinition.objectIdField=q(a,"objectidfieldname","");b.layerDefinition.typeIdField=q(a,"typeidfieldname","");if(g=q(a,"spatialreference"))b.layerDefinition.spatialReference=M(g);g=[];m=q(a,"fields",null);if(d.isArray(m)){for(const p of m)m={name:q(p,"name",""),alias:q(p,"alias",""),type:q(p,"type",""),nullable:q(p,"nullable", |
|
!0),editable:q(p,"editable",!0),length:q(p,"length",null),domain:R(q(p,"domain"))},g.push(m);b.layerDefinition.fields=g}else throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);m={};for(const p of g)m[p.name.toLowerCase()]=p.name;g=q(a,"features",null);if(d.isArray(g))for(k of g){g={};a=q(k,"attributes",{});for(n in a)g[m[n.toLowerCase()]]=a[n];b.featureSet.features.push({attributes:g,geometry:S(q(k,"geometry",null))})}else b.featureSet.features=null}else throw new l.ArcadeExecutionError(c, |
|
l.ExecutionErrorCodes.InvalidParameter,e);if(b.layerDefinition&&b.featureSet){b:{k=["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"];for(r of k)if(r===b.layerDefinition.geometryType){var r=!0;break b}r=!1}r=!1===r||!1===d.isArray(b.layerDefinition.fields)||!1===d.isArray(b.featureSet.features)?!1:!0}else r=!1;if(!1===r)throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);b.layerDefinition.geometryType|| |
|
(b.layerDefinition.geometryType="esriGeometryNull");return ba.create(b,c.spatialReference)})},h.signatures.push({name:"featureset",min:1,max:1}),h.functions.filter=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,2,2,c,e);if(d.isArray(a[0])||d.isImmutableArray(a[0])){b=[];f=a[0];f instanceof W&&(f=f.toArray());if(d.isFunctionParameter(a[1]))a=a[1].createFunction(c);else throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);for(var k of f)f=a(k),da.isPromiseLike(f)? |
|
!0===await f&&b.push(k):!0===f&&b.push(k);return b}if(d.isFeatureSet(a[0])){k=await a[0].load();k=u.WhereClause.create(a[1],k.getFieldsIndex(),k.dateFieldsTimeZoneDefaultUTC);b=k.getVariables();if(0<b.length){f=[];for(var n=0;n<b.length;n++)f.push(await h.evaluateIdentifier(c,{name:b[n]}));n={};for(let g=0;g<b.length;g++)n[b[g]]=f[g];k.parameters=n}return new H({parentfeatureset:a[0],whereclause:k})}throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"filter", |
|
min:2,max:2}),h.functions.orderby=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,2,2,c,e);if(d.isFeatureSet(a[0]))return b=new ca(a[1]),new Y({parentfeatureset:a[0],orderbyclause:b});throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"orderby",min:2,max:2}),h.functions.top=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,2,2,c,e);if(d.isFeatureSet(a[0]))return new Z({parentfeatureset:a[0], |
|
topnum:a[1]});if(d.isArray(a[0]))return d.toNumber(a[1])>=a[0].length?a[0].slice(0):a[0].slice(0,d.toNumber(a[1]));if(d.isImmutableArray(a[0]))return d.toNumber(a[1])>=a[0].length()?a[0].slice(0):a[0].slice(0,d.toNumber(a[1]));throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"top",min:2,max:2}),h.functions.first=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,1,1,c,e);return d.isFeatureSet(a[0])?(b=await a[0].first(b.abortSignal), |
|
null!==b?(a=V.createFromGraphicLikeObject(b.geometry,b.attributes,a[0],c.timeZone),a._underlyingGraphic=b,a):b):d.isArray(a[0])?0===a[0].length?null:a[0][0]:d.isImmutableArray(a[0])?0===a[0].length()?null:a[0].get(0):null})},h.signatures.push({name:"first",min:1,max:1}),h.functions.attachments=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,1,2,c,e);f=b=-1;var k=null,n=!1;if(1<a.length)if(a[1]instanceof y){if(a[1].hasField("minsize")&&(b=d.toNumber(a[1].field("minsize"))), |
|
a[1].hasField("metadata")&&(n=d.toBoolean(a[1].field("metadata"))),a[1].hasField("maxsize")&&(f=d.toNumber(a[1].field("maxsize"))),a[1].hasField("types")){var g=d.toStringArray(a[1].field("types"),!1);0<g.length&&(k=g)}}else if(null!==a[1])throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);if(d.isFeature(a[0])){g=a[0]._layer;g instanceof K&&(g=z.constructFeatureSet(g,c.spatialReference,["*"],!0,c.lrucache,c.interceptor));if(null===g||!1===d.isFeatureSet(g))return[];await g.load(); |
|
return g.queryAttachments(a[0].field(g.objectIdField),b,f,k,n)}if(null===a[0])return[];throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"attachments",min:1,max:2}),h.functions.featuresetbyrelationshipname=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,2,4,c,e);b=a[0];const k=d.toString(a[1]);f=d.defaultUndefined(a[2],null);var n=d.toBoolean(d.defaultUndefined(a[3],!0));null===f&&(f=["*"]);if(!1===d.isArray(f))throw new l.ArcadeExecutionError(c, |
|
l.ExecutionErrorCodes.InvalidParameter,e);if(null===a[0])return null;if(!d.isFeature(a[0]))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);a=b._layer;a instanceof K&&(a=z.constructFeatureSet(a,c.spatialReference,["*"],!0,c.lrucache,c.interceptor));if(null===a||!1===d.isFeatureSet(a))return null;a=await a.load();const g=a.relationshipMetaData().filter(r=>r.name===k);if(0===g.length)return null;if(void 0!==g[0].relationshipTableId&&null!==g[0].relationshipTableId&&-1<g[0].relationshipTableId)return z.constructFeatureSetFromRelationship(a, |
|
g[0],b.field(a.objectIdField),a.spatialReference,f,n,c.lrucache,c.interceptor);let m=a.serviceUrl();if(!m)return null;m="/"===m.charAt(m.length-1)?m+g[0].relatedTableId.toString():m+"/"+g[0].relatedTableId.toString();f=await z.constructFeatureSetFromUrl(m,a.spatialReference,f,n,c.lrucache,c.interceptor);await f.load();n=f.relationshipMetaData();n=n.filter(r=>r.id===g[0].id);if(!1===b.hasField(g[0].keyField)||null===b.field(g[0].keyField))return(b=await a.getFeatureByObjectId(b.field(a.objectIdField), |
|
[g[0].keyField]))?(a=u.WhereClause.create(n[0].keyField+"\x3d @id",f.getFieldsIndex(),f.dateFieldsTimeZoneDefaultUTC),a.parameters={id:b.attributes[g[0].keyField]},f.filter(a)):new aa({parentfeatureset:f});a=u.WhereClause.create(n[0].keyField+"\x3d @id",f.getFieldsIndex(),f.dateFieldsTimeZoneDefaultUTC);a.parameters={id:b.field(g[0].keyField)};return f.filter(a)})},h.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),h.functions.featuresetbyassociation=function(c,e){return h.standardFunctionAsync(c, |
|
e,async(b,f,a)=>{d.pcCheck(a,2,3,c,e);var k=a[0],n=d.toString(d.defaultUndefined(a[1],"")).toLowerCase(),g=d.isString(a[2])?d.toString(a[2]):null;if(null===a[0])return null;if(!d.isFeature(a[0]))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);var m=k._layer;m instanceof K&&(m=z.constructFeatureSet(m,c.spatialReference,["*"],!0,c.lrucache,c.interceptor));if(null===m||!1===d.isFeatureSet(m))return null;await m.load();a=m.serviceUrl();a=await z.constructAssociationMetaDataFeatureSetFromUrl(a, |
|
c.spatialReference);let r=f=null;b=!1;if(null!==g&&""!==g&&void 0!==g){for(var p of a.terminals)p.terminalName===g&&(r=p.terminalId);null===r&&(b=!0)}var v=a.associations.getFieldsIndex();p=v.get("TOGLOBALID").name;g=v.get("FROMGLOBALID").name;const w=v.get("TOTERMINALID").name,N=v.get("FROMTERMINALID").name,E=v.get("FROMNETWORKSOURCEID").name,F=v.get("TONETWORKSOURCEID").name,B=v.get("ASSOCIATIONTYPE").name,ea=v.get("ISCONTENTVISIBLE").name,fa=v.get("OBJECTID").name;for(var G of m.fields)if("global-id"=== |
|
G.type){f=k.field(G.name);break}let A=null;G=new t.SqlExpressionAdapted(new D({name:"percentalong",alias:"percentalong",type:"double"}),u.WhereClause.create("0",a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC));k=new t.SqlExpressionAdapted(new D({name:"side",alias:"side",type:"string"}),u.WhereClause.create("''",a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC));m={};for(var x in a.lkp)m[x]=a.lkp[x].sourceId;x=new t.StringToCodeAdapted(new D({name:"classname", |
|
alias:"classname",type:"string"}),null,m);m="";switch(n){case "midspan":m=`((${p}='${f}') OR ( ${g}='${f}')) AND (${B} IN (5))`;x.codefield=u.WhereClause.create(`CASE WHEN (${p}='${f}') THEN ${E} ELSE ${F} END`,a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC);n=I.cloneField(t.AdaptedFeatureSet.findField(a.associations.fields,g));n.name="globalid";n.alias="globalid";A=new t.SqlExpressionAdapted(n,u.WhereClause.create(`CASE WHEN (${g}='${f}') THEN ${p} ELSE ${g} END`,a.associations.getFieldsIndex(), |
|
a.associations.dateFieldsTimeZoneDefaultUTC));G=4<=a.unVersion?new t.OriginalField(t.AdaptedFeatureSet.findField(a.associations.fields,v.get("PERCENTALONG").name)):new t.SqlExpressionAdapted(new D({name:"percentalong",alias:"percentalong",type:"double"}),u.WhereClause.create("0",a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC));break;case "junctionedge":m=`((${p}='${f}') OR ( ${g}='${f}')) AND (${B} IN (4,6))`;x.codefield=u.WhereClause.create(`CASE WHEN (${p}='${f}') THEN ${E} ELSE ${F} END`, |
|
a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC);n=I.cloneField(t.AdaptedFeatureSet.findField(a.associations.fields,g));n.name="globalid";n.alias="globalid";A=new t.SqlExpressionAdapted(n,u.WhereClause.create(`CASE WHEN (${g}='${f}') THEN ${p} ELSE ${g} END`,a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC));k=new t.SqlExpressionAdapted(new D({name:"side",alias:"side",type:"string"}),u.WhereClause.create(`CASE WHEN (${B}=4) THEN 'from' ELSE 'to' END`, |
|
a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC));break;case "connected":n=`${p}='@T'`;v=`${g}='@T'`;null!==r&&(n+=` AND ${w}=@A`,v+=` AND ${N}=@A`);m="(("+n+") OR ("+v+"))";m=d.multiReplace(m,"@T",f??"");n=d.multiReplace(n,"@T",f??"");null!==r&&(n=d.multiReplace(n,"@A",r.toString()),m=d.multiReplace(m,"@A",r.toString()));x.codefield=u.WhereClause.create("CASE WHEN "+n+` THEN ${E} ELSE ${F} END`,a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC); |
|
f=I.cloneField(t.AdaptedFeatureSet.findField(a.associations.fields,g));f.name="globalid";f.alias="globalid";A=new t.SqlExpressionAdapted(f,u.WhereClause.create("CASE WHEN "+n+` THEN ${g} ELSE ${p} END`,a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC));break;case "container":m=`${p}='${f}' AND ${B} = 2`;null!==r&&(m+=` AND ${w} = `+r.toString());x.codefield=E;m="( "+m+" )";A=new t.FieldRename(t.AdaptedFeatureSet.findField(a.associations.fields,g),"globalid","globalid"); |
|
break;case "content":m=`(${g}='${f}' AND ${B} = 2)`;null!==r&&(m+=` AND ${N} = `+r.toString());x.codefield=F;m="( "+m+" )";A=new t.FieldRename(t.AdaptedFeatureSet.findField(a.associations.fields,p),"globalid","globalid");break;case "structure":m=`(${p}='${f}' AND ${B} = 3)`;null!==r&&(m+=` AND ${w} = `+r.toString());x.codefield=E;m="( "+m+" )";A=new t.FieldRename(t.AdaptedFeatureSet.findField(a.associations.fields,g),"globalid","globalId");break;case "attached":m=`(${g}='${f}' AND ${B} = 3)`;null!== |
|
r&&(m+=` AND ${N} = `+r.toString());x.codefield=F;m="( "+m+" )";A=new t.FieldRename(t.AdaptedFeatureSet.findField(a.associations.fields,p),"globalid","globalId");break;default:throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);}b&&(m="1 \x3c\x3e 1");return new t.AdaptedFeatureSet({parentfeatureset:a.associations,adaptedFields:[new t.OriginalField(t.AdaptedFeatureSet.findField(a.associations.fields,fa)),new t.OriginalField(t.AdaptedFeatureSet.findField(a.associations.fields, |
|
ea)),A,k,x,G],extraFilter:m?u.WhereClause.create(m,a.associations.getFieldsIndex(),a.associations.dateFieldsTimeZoneDefaultUTC):null})})},h.signatures.push({name:"featuresetbyassociation",min:2,max:6}),h.functions.groupby=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,3,3,c,e);if(!d.isFeatureSet(a[0]))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);const k=await a[0].load();b=[];f=[];let n=!1;var g=[];if(d.isString(a[1]))g.push(a[1]);else if(a[1]instanceof |
|
y)g.push(a[1]);else if(d.isArray(a[1]))g=a[1];else if(d.isImmutableArray(a[1]))g=a[1].toArray();else throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);for(var m of g)if(d.isString(m)){g=u.WhereClause.create(d.toString(m),k.getFieldsIndex(),k.dateFieldsTimeZoneDefaultUTC);var r=!0===P.isSingleField(g)?d.toString(m):"%%%%FIELDNAME";b.push({name:r,expression:g});"%%%%FIELDNAME"===r&&(n=!0)}else if(m instanceof y){g=m.hasField("name")?m.field("name"):"%%%%FIELDNAME";r=m.hasField("expression")? |
|
m.field("expression"):"";"%%%%FIELDNAME"===g&&(n=!0);if(!g)throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);b.push({name:g,expression:u.WhereClause.create(r||g,k.getFieldsIndex(),k.dateFieldsTimeZoneDefaultUTC)})}else throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);g=[];if(d.isString(a[2]))g.push(a[2]);else if(d.isArray(a[2]))g=a[2];else if(d.isImmutableArray(a[2]))g=a[2].toArray();else if(a[2]instanceof y)g.push(a[2]);else throw new l.ArcadeExecutionError(c, |
|
l.ExecutionErrorCodes.InvalidParameter,e);for(var p of g)if(p instanceof y){m=p.hasField("name")?p.field("name"):"";g=p.hasField("statistic")?p.field("statistic"):"";r=p.hasField("expression")?p.field("expression"):"";if(!m||!g||!r)throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);f.push({name:m,statistic:g.toLowerCase(),expression:u.WhereClause.create(r,k.getFieldsIndex(),k.dateFieldsTimeZoneDefaultUTC)})}else throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter, |
|
e);if(n){p={};for(var v of k.fields)p[v.name.toLowerCase()]=1;for(const w of b)"%%%%FIELDNAME"!==w.name&&(p[w.name.toLowerCase()]=1);for(const w of f)"%%%%FIELDNAME"!==w.name&&(p[w.name.toLowerCase()]=1);v=0;for(const w of b)if("%%%%FIELDNAME"===w.name){for(;1===p["field_"+v.toString()];)v++;p["field_"+v.toString()]=1;w.name="FIELD_"+v.toString()}}for(const w of b)await L(w.expression,h,c);for(const w of f)await L(w.expression,h,c);return a[0].groupby(b,f)})},h.signatures.push({name:"groupby",min:3, |
|
max:3}),h.functions.distinct=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{if(d.isFeatureSet(a[0])){d.pcCheck(a,2,2,c,e);f=await a[0].load();b=[];var k=[];if(d.isString(a[1]))k.push(a[1]);else if(a[1]instanceof y)k.push(a[1]);else if(d.isArray(a[1]))k=a[1];else if(d.isImmutableArray(a[1]))k=a[1].toArray();else throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);let r=!1;for(var n of k)if(d.isString(n)){k=u.WhereClause.create(d.toString(n),f.getFieldsIndex(), |
|
f.dateFieldsTimeZoneDefaultUTC);var g=!0===P.isSingleField(k)?d.toString(n):"%%%%FIELDNAME";b.push({name:g,expression:k});"%%%%FIELDNAME"===g&&(r=!0)}else if(n instanceof y){k=n.hasField("name")?n.field("name"):"%%%%FIELDNAME";g=n.hasField("expression")?n.field("expression"):"";"%%%%FIELDNAME"===k&&(r=!0);if(!k)throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);b.push({name:k,expression:u.WhereClause.create(g||k,f.getFieldsIndex(),f.dateFieldsTimeZoneDefaultUTC)})}else throw new l.ArcadeExecutionError(c, |
|
l.ExecutionErrorCodes.InvalidParameter,e);if(r){n={};for(var m of f.fields)n[m.name.toLowerCase()]=1;for(const p of b)"%%%%FIELDNAME"!==p.name&&(n[p.name.toLowerCase()]=1);m=0;for(const p of b)if("%%%%FIELDNAME"===p.name){for(;1===n["field_"+m.toString()];)m++;n["field_"+m.toString()]=1;p.name="FIELD_"+m.toString()}}for(const p of b)await L(p.expression,h,c);return a[0].groupby(b,[])}a:{if(1===a.length){if(d.isArray(a[0])){a=J.calculateStat("distinct",a[0],-1);break a}if(d.isImmutableArray(a[0])){a= |
|
J.calculateStat("distinct",a[0].toArray(),-1);break a}}a=J.calculateStat("distinct",a,-1)}return a})},h.functions.getfeaturesetinfo=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,1,1,c,e);return d.isFeatureSet(a[0])?(b=await a[0].getFeatureSetInfo())?y.convertObjectToArcadeDictionary({layerId:b.layerId,layerName:b.layerName,itemId:b.itemId,serviceLayerUrl:b.serviceLayerUrl,webMapLayerId:b.webMapLayerId??null,webMapLayerTitle:b.webMapLayerTitle??null,className:null,objectClassId:null}, |
|
d.defaultTimeZone(c),!1,!1):null:null})},h.signatures.push({name:"getfeaturesetinfo",min:1,max:1}),h.functions.filterbysubtypecode=function(c,e){return h.standardFunctionAsync(c,e,async(b,f,a)=>{d.pcCheck(a,2,2,c,e);if(d.isFeatureSet(a[0])){b=await a[0].load();if(!d.isInteger(a[1]))throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);if(b.subtypeField)return b=u.WhereClause.create(`${b.subtypeField}= ${a[1]}`,b.getFieldsIndex(),b.dateFieldsTimeZoneDefaultUTC),new H({parentfeatureset:a[0], |
|
whereclause:b});if(null===b.typeIdField||""===b.typeIdField)throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.FeatureSetDoesNotHaveSubtypes,e);b=u.WhereClause.create(`${b.typeIdField}= ${a[1]}`,b.getFieldsIndex(),b.dateFieldsTimeZoneDefaultUTC);return new H({parentfeatureset:a[0],whereclause:b})}throw new l.ArcadeExecutionError(c,l.ExecutionErrorCodes.InvalidParameter,e);})},h.signatures.push({name:"filterbysubtypecode",min:2,max:2}))};Object.defineProperty(O,Symbol.toStringTag,{value:"Module"})}); |