// 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 ../../core/has ../../core/Logger ./Field ./FieldsIndex ./fieldUtils".split(" "),function(d,f,e,g,h,k){d.defineFieldProperties=function(){return{fields:{type:[g],value:null,set:function(a){if(a&&f("big-integer-warning-enabled")){var b=a.filter(c=>"big-integer"===c.type||"oid"===c.type&&8<=(c.length||0));b.length&&(b=b.map(c=>`'${c.name}'`).join(", "),e.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${b}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`))}this._set("fields", a)}},fieldsIndex:{readOnly:!0,get(){return h.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(a){this._userOutFields=a;this.notifyChange("outFields")},get:function(){const a=this._userOutFields;if(!a?.length)return null;if(a.includes("*"))return["*"];if(!this.fields)return a;for(const b of a)this.fieldsIndex?.has(b)||e.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${b} found in outFields`,{layer:this,outFields:a}); return k.fixFields(this.fieldsIndex,a)}}}};Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});