{"version":3,"sources":["node_modules/@arcgis/core/layers/support/FieldsIndex.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from \"../../core/Error.js\";\nimport { isSerializable as i } from \"../../core/JSONSupport.js\";\nimport t from \"../../core/Logger.js\";\nimport { isDateField as s, isNumericField as n, isObjectIDField as l, isGlobalIDField as r, getFieldDefaultValue as d, isTimeOnlyField as o, normalizeFieldName as a } from \"./fieldUtils.js\";\nimport { utc as m, unknown as u, fromTimeReference as f } from \"../../time/timeZoneUtils.js\";\nfunction F(e) {\n return \"timeZone\" in e;\n}\nfunction h(e) {\n return \"timeZone\" in e;\n}\nfunction p(e) {\n return \"dateFieldsTimeZone\" in e;\n}\nclass c {\n static fromJSON(e) {\n return new c(e.fields, e.timeZoneByFieldName);\n }\n static fromLayer(e) {\n return new c(e.fields ?? [], T(e));\n }\n static fromLayerJSON(e) {\n return new c(e.fields ?? [], T(e));\n }\n constructor(e = [], i) {\n this._fieldsMap = new Map(), this._normalizedFieldsMap = new Map(), this._dateFieldsSet = new Set(), this._numericFieldsSet = new Set(), this._requiredFields = null, this.dateFields = [], this.numericFields = [], this.fields = e || [], this._timeZoneByFieldName = i ? new Map(i) : null;\n const t = [];\n for (const d of this.fields) {\n const e = d?.name,\n i = _(e);\n if (e && i) {\n const o = y(e);\n this._fieldsMap.set(e, d), this._fieldsMap.set(o, d), this._normalizedFieldsMap.set(i, d), t.push(`${o}:${d.type}:${this._timeZoneByFieldName?.get(e)}`), s(d) ? (this.dateFields.push(d), this._dateFieldsSet.add(d)) : n(d) && (this._numericFieldsSet.add(d), this.numericFields.push(d)), l(d) || r(d) || (d.editable = null == d.editable || !!d.editable, d.nullable = null == d.nullable || !!d.nullable);\n }\n }\n t.sort(), this.uid = t.join();\n }\n get requiredFields() {\n if (!this._requiredFields) {\n this._requiredFields = [];\n for (const e of this.fields) l(e) || r(e) || e.nullable || void 0 !== d(e) || this._requiredFields.push(e);\n }\n return this._requiredFields;\n }\n equals(e) {\n return this.uid === e?.uid;\n }\n has(e) {\n return null != this.get(e);\n }\n get(e) {\n if (!e) return;\n let i = this._fieldsMap.get(e);\n return i || (i = this._fieldsMap.get(y(e)) ?? this._normalizedFieldsMap.get(_(e)), i && this._fieldsMap.set(e, i), i);\n }\n getTimeZone(i) {\n const s = this.get(i && \"string\" != typeof i ? i.name : i);\n return s ? this._timeZoneByFieldName ? this._timeZoneByFieldName.get(s.name) : \"date\" === s.type || \"esriFieldTypeDate\" === s.type ? (t.getLogger(\"esri.layers.support.FieldsIndex\").error(new e(\"getTimeZone:no-timezone-information\", `no time zone information for field '${s.name}'`)), m) : g.has(s.type) ? u : null : null;\n }\n isDateField(e) {\n return this._dateFieldsSet.has(this.get(e));\n }\n isTimeOnlyField(e) {\n return o(this.get(e));\n }\n isNumericField(e) {\n return this._numericFieldsSet.has(this.get(e));\n }\n normalizeFieldName(e) {\n return this.get(e)?.name ?? void 0;\n }\n toJSON() {\n return {\n fields: this.fields.map(e => i(e) ? e.toJSON() : e),\n timeZoneByFieldName: this._timeZoneByFieldName ? Array.from(this._timeZoneByFieldName.entries()) : null\n };\n }\n}\nfunction y(e) {\n return e.trim().toLowerCase();\n}\nfunction _(e) {\n return a(e)?.toLowerCase() ?? \"\";\n}\nconst g = new Set([\"time-only\", \"date-only\", \"timestamp-offset\", \"esriFieldTypeDateOnly\", \"esriFieldTypeTimeOnly\", \"esriFieldTypeTimestampOffset\"]);\nfunction T(e) {\n const i = new Map();\n if (!e.fields) return i;\n const t = !0 === e.datesInUnknownTimezone,\n {\n timeInfo: s,\n editFieldsInfo: n\n } = e,\n l = (s ? \"startField\" in s ? s.startField : s.startTimeField : \"\") ?? \"\",\n r = (s ? \"endField\" in s ? s.endField : s.endTimeField : \"\") ?? \"\",\n d = p(e) ? e.dateFieldsTimeZone ?? null : e.dateFieldsTimeReference ? f(e.dateFieldsTimeReference) : null,\n o = n ? F(n) ? n.timeZone ?? d : n.dateFieldsTimeReference ? f(n.dateFieldsTimeReference) : d ?? m : null,\n a = s ? h(s) ? s.timeZone ?? d : s.timeReference ? f(s.timeReference) : d : null,\n c = new Map([[y(n?.creationDateField ?? \"\"), o], [y(n?.editDateField ?? \"\"), o], [y(l), a], [y(r), a]]);\n for (const {\n name: m,\n type: f\n } of e.fields) if (g.has(f)) i.set(m, u);else if (\"date\" !== f && \"esriFieldTypeDate\" !== f) i.set(m, null);else if (t) i.set(m, u);else {\n const e = c.get(y(m ?? \"\")) ?? d;\n i.set(m, e);\n }\n return i;\n}\nexport { c as default };"],"mappings":"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","names":["i","d","e","s","r","a","c","f"],"x_google_ignoreList":[0]}