// 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 ../../../Graphic ../../kernel ../support/errorsupport ../support/FeatureSet ../support/IdSet ../support/shared ../support/sqlUtils ../../../core/maybe ../../../core/sql/WhereClause ../../../geometry/SpatialReference".split(" "),function(q,z,A,p,B,u,n,m,C,r,D){class t{constructor(a){this.field=a;this.sqlRewritable=!1}postInitialization(a,b){}}class v extends t{constructor(a){super(a);this.sqlRewritable=!0}extractValue(a){return a.attributes[this.field.name]}rewriteSql(a){return{rewritten:this.sqlRewritable, where:a}}}class x extends t{constructor(a,b,d){super(n.cloneField(a));this.originalField=a;this.sqlRewritable=!0;this.field.name=b;this.field.alias=d}rewriteSql(a,b){return{rewritten:this.sqlRewritable,where:m.reformulateWithoutField(a,this.field.name,this.originalField.name,b.getFieldsIndex())}}extractValue(a){return a.attributes[this.originalField.name]}}class k extends t{constructor(a,b,d){super(a);this.codefield=b;this.lkp=d;this.reverseLkp={};for(const e in d)this.reverseLkp[d[e]]=e;this.sqlRewritable= !0}rewriteSql(a,b){const d=this.evaluateNodeToWhereClause(a.parseTree,n.FeatureServiceDatabaseType.Standardised,this.field.name,this.codefield instanceof r.WhereClause?m.toWhereClause(this.codefield,n.FeatureServiceDatabaseType.Standardised):this.codefield,a.parameters);return d.includes(k.BADNESS)?{rewritten:!1,where:a}:{rewritten:this.sqlRewritable,where:r.WhereClause.create(d,b._parent.getFieldsIndex(),b.dateFieldsTimeZoneDefaultUTC)}}evaluateNodeToWhereClause(a,b,d=null,e=null,c){var f;switch(a.type){case "interval":return m.convertIntervalToSql(this.evaluateNodeToWhereClause(a.value, b,d,e,c),a.qualifier,a.op);case "case-expression":e=" CASE ";"simple"===a.format&&(e+=this.evaluateNodeToWhereClause(a.operand,b,d,k.BADNESS,c));for(f=0;f=f));g++);if(0===c.length)return"success";a=new u([],c,a._ordered,null);b=Math.min(c.length,d);await this._parent?._getFeatures(a,-1,b,e); this._checkCancelled(e);a=[];for(e=0;e