// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("../../../Graphic ../../../kernel ../../../request ../../Attachment ../../Dictionary ../support/errorsupport ../support/FeatureSet ../support/IdSet ../support/shared ../support/sqlUtils ../support/stats ../../../core/MD5 ../../../geometry/support/jsonUtils ../../../geometry/support/spatialReferenceUtils ../../../layers/FeatureLayer ../../../rest/query/executeQuery ../../../config ../../../core/RandomLCG ../../../core/has ../../../core/urlUtils ../../../rest/query/support/AttachmentInfo ../../../rest/support/AttachmentQuery ../../../rest/query/executeForCount ../../../geometry ../../../core/Error ../../../core/Logger ../../../geometry/Polygon ../../../geometry/Polyline ../../../geometry/support/normalizeUtilsCommon ../../../geometry/SpatialReference ../../../geometry/support/Ellipsoid ../../../core/pbf ../../../core/unitUtils ../../../geometry/ellipsoidUtils ../../../rest/support/Query ../../../rest/query/executeForIds ../../../rest/query/executeQueryJSON ../../../geometry/support/aaBoundingBox ../../../core/mathUtils ../../../geometry/Extent ../../../rest/support/FeatureSet ../../../rest/support/RelationshipQuery ../../../rest/support/TopFeaturesQuery ../../../rest/support/StatisticDefinition".split(" "), function(z,A,x,E,F,q,G,w,u,r,H,B,I,J,K,L,P,Q,R,S,T,M,N,U,V,W,X,Y,Z,aa,ba,ca,da,ea,t,O,C,fa,ha,ia,ja,ka,la,D){class y extends G{constructor(a){super(a);this.declaredClass="esri.arcade.featureset.sources.FeatureLayerDynamic";this._removeGeometry=!1;this.formulaCredential=this._overrideFields=null;this._requestStandardised=this._pageJustIds=!1;this._useDefinitionExpression=!0;a.spatialReference&&(this.spatialReference=a.spatialReference);this._transparent=!0;this._maxProcessing=1E3;this._layer=a.layer; this._wset=null;void 0!==a.outFields&&(this._overrideFields=a.outFields);void 0!==a.includeGeometry&&(this._removeGeometry=!1===a.includeGeometry)}_maxQueryRate(){return u.defaultMaxRecords}end(){return this._layer}optimisePagingFeatureQueries(a){this._pageJustIds=a}get urlQueryPath(){return this._layer.parsedUrl.path||""}convertQueryToLruCacheKey(a){a=this.urlQueryPath+","+u.stableStringify(a.toJSON());return B.createMD5Hash(a,B.outputTypes.String)}async loadImpl(){if(!0===this._layer.loaded)return this._initialiseFeatureSet(), this;await this._layer.load();this._initialiseFeatureSet();return this}_initialiseFeatureSet(){null==this.spatialReference&&(this.spatialReference=this._layer.spatialReference);this.geometryType=this._layer.geometryType;this.fields=this._layer.fields.slice(0);this.hasZ=!0===this._layer?.capabilities?.data?.supportsZ;this.hasM=!0===this._layer?.capabilities?.data?.supportsM;if(null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{var a= [];const b=[];for(const d of this.fields)if("oid"===d.type)a.push(d),b.push(d.name);else for(const c of this._overrideFields)if(c.toLowerCase()===d.name.toLowerCase()){a.push(d);b.push(d.name);break}this.fields=a;this._overrideFields=b}this._layer.source&&this._layer.source.sourceJSON&&(a=this._layer.source.sourceJSON.currentVersion,!0===this._layer.source.sourceJSON.useStandardizedQueries?(this._databaseType=u.FeatureServiceDatabaseType.StandardisedNoInterval,void 0!==a&&null!==a&&10.61<=a&&(this._databaseType= u.FeatureServiceDatabaseType.Standardised)):void 0!==a&&null!==a&&(10.5<=a&&(this._databaseType=u.FeatureServiceDatabaseType.StandardisedNoInterval,this._requestStandardised=!0),10.61<=a&&(this._databaseType=u.FeatureServiceDatabaseType.Standardised)));this.objectIdField=this._layer.objectIdField;for(const b of this.fields)"global-id"===b.type&&(this.globalIdField=b.name);"subtype-group"===this._layer.type?(this.subtypeField=this._layer.subtypeField??"",this.subtypes=this._layer.subtypes,this.typeIdField= this.types=null):("oriented-imagery"===this._layer.type?this.subtypes=this.subtypeField=null:(this.subtypeField=this._layer.subtypeField,this.subtypes=this._layer.subtypes),this.typeIdField=this._layer.typeIdField??"",this.types=this._layer.types)}_isInFeatureSet(){return u.IdState.InFeatureSet}async _refineSetBlock(a){return a}_candidateIdTransform(a){return a}async _getSet(a){return null===this._wset?(await this._ensureLoaded(),this._wset=a=await this._getFilteredSet("",null,null,null,a)):this._wset}async _runDatabaseProbe(a){await this._ensureLoaded(); const b=new t;this.datesInUnknownTimezone&&(b.timeReferenceUnknownClient=!0);b.where=a.replace("OBJECTID",this._layer.objectIdField);try{return await this._layer.queryObjectIds(b),!0}catch(d){return!1}}_canUsePagination(){return this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsPagination?!0:!1}_cacheableFeatureSetSourceKey(){return this._layer.url}pbfSupportedForQuery(a){const b=this._layer?.capabilities?.query;return!a.outStatistics&&!0===b?.supportsFormatPBF&& !0===b?.supportsQuantizationEditMode}async queryPBF(a){a.quantizationParameters={mode:"edit"};return(await L.executeQuery(this._layer.parsedUrl,a,{format:"pbf"},{})).unquantize()}get gdbVersion(){return this._layer&&this._layer.capabilities&&this._layer.capabilities.data&&this._layer.capabilities.data.isVersioned?this._layer.gdbVersion||"SDE.DEFAULT":""}nativeCapabilities(){return{title:this._layer.title??"",source:this,canQueryRelated:!0,capabilities:this._layer.capabilities,databaseType:this._databaseType, requestStandardised:this._requestStandardised}}executeQuery(a,b){a.returnZ=this.hasZ;a.returnM=this.hasM;const d="execute"===b?C.executeQueryJSON:"executeForCount"===b?N.executeForCount:O.executeForIds,c="execute"===b&&this.pbfSupportedForQuery(a);let e=null;if(this.recentlyUsedQueries){const f=this.convertQueryToLruCacheKey(a);e=this.recentlyUsedQueries.getFromCache(f);null===e&&(e=!0!==c?d(this._layer.parsedUrl.path,a):this.queryPBF(a),this.recentlyUsedQueries.addToCache(f,e),e=e.catch(g=>{this.recentlyUsedQueries?.removeFromCache(f); throw g;}))}this.featureSetQueryInterceptor&&this.featureSetQueryInterceptor.preLayerQueryCallback({layer:this._layer,query:a,method:b});null===e&&(e=!0!==c?d(this._layer.parsedUrl.path,a):this.queryPBF(a));return e}async _getFilteredSet(a,b,d,c,e){const f=await this.databaseType();if(this.isTable()&&b&&null!==a&&""!==a)return new w([],[],!0,null);if(this._canUsePagination())return this._getFilteredSetUsingPaging(a,b,d,c,e);let g="",h=!1;null!==c&&this._layer.capabilities&&this._layer.capabilities.query&& !0===this._layer.capabilities.query.supportsOrderBy&&(g=c.constructClause(),h=!0);c=new t;this.datesInUnknownTimezone&&(c.timeReferenceUnknownClient=!0);c.where=null===d?null===b?"1\x3d1":"":r.toWhereClause(d,f);this._requestStandardised&&(c.sqlFormat="standard");c.spatialRelationship=this._makeRelationshipEnum(a);c.outSpatialReference=this.spatialReference;c.orderByFields=""!==g?g.split(","):null;c.geometry=null===b?null:b;c.relationParameter=this._makeRelationshipParam(a);a=await this.executeQuery(c, "executeForIds");null===a&&(a=[]);this._checkCancelled(e);return new w([],a,h,null)}_expandPagedSet(a,b,d,c,e){return this._expandPagedSetFeatureSet(a,b,d,c,e)}async _getFilteredSetUsingPaging(a,b,d,c,e){let f="",g=!1;null!==c&&this._layer.capabilities&&this._layer.capabilities.query&&!0===this._layer.capabilities.query.supportsOrderBy&&(f=c.constructClause(),g=!0);c=await this.databaseType();d=null===d?null===b?"1\x3d1":"":r.toWhereClause(d,c);this._layer.definitionExpression&&this._useDefinitionExpression&& (d=""!==d?"(("+this._layer.definitionExpression+") AND ("+d+"))":this._layer.definitionExpression);c=this._maxQueryRate();var h=this._layer.capabilities?.query.maxRecordCount;null!=h&&h=this._maxProcessingRate()-1))break}if(f>=d&&0===e.length)break}if(0===e.length)return"success";a=new t;this._requestStandardised&&(a.sqlFormat="standard");this.datesInUnknownTimezone&&(a.timeReferenceUnknownClient=!0);a.objectIds=e;a.outFields=this._overrideFields??this._fieldsIncludingObjectId(["*"]);a.returnGeometry=!0;!0===this._removeGeometry&&(a.returnGeometry=!1);a.outSpatialReference=this.spatialReference;e=await this.executeQuery(a,"execute");this._checkCancelled(c);if(void 0!== e.error)throw new q.FeatureSetError(q.FeatureSetErrorCodes.RequestFailed,{reason:e.error});c=this._layer.objectIdField;for(a=0;a=g);n++);return 0===m.features.length?h:m.features.length===this._layer.capabilities?.query.maxRecordCount&& h.length{const m=this._layer.parsedUrl.path+"/"+a.toString()+"/attachments/"+k.id.toString();let p=null;e&&k.exifInfo&&(p=F.convertJsonToArcade(k.exifInfo, "system",!0));h.push(new E(k.id,k.name,k.contentType,k.size,m,p,k.keywords??null))});return h}return[]}async queryRelatedFeatures(a){var b={f:"json",relationshipId:a.relationshipId.toString(),definitionExpression:a.where,outFields:a.outFields?.join(","),returnGeometry:a.returnGeometry.toString()};void 0!==a.resultOffset&&null!==a.resultOffset&&(b.resultOffset=a.resultOffset.toString());void 0!==a.resultRecordCount&&null!==a.resultRecordCount&&(b.resultRecordCount=a.resultRecordCount.toString());a.orderByFields&& (b.orderByFields=a.orderByFields.join(","));a.objectIds&&0