normalized method
Returns a canonical search state with trimmed text and normalized field keys.
An empty search term normalizes to the default inactive state.
Implementation
FdcDataSetSearchState normalized() {
final trimmed = text.trim();
if (trimmed.isEmpty) {
return const FdcDataSetSearchState();
}
return FdcDataSetSearchState(
text: trimmed,
mode: mode,
caseSensitive: caseSensitive,
fields: fields == null
? null
: Set<String>.unmodifiable(
fields!
.map(FdcFieldName.normalize)
.where((name) => name.isNotEmpty),
),
fieldTextFormatters: fieldTextFormatters == null
? null
: Map<String, FdcSearchFieldTextFormatter>.unmodifiable(
<String, FdcSearchFieldTextFormatter>{
for (final entry in fieldTextFormatters!.entries)
if (FdcFieldName.normalize(entry.key).isNotEmpty)
FdcFieldName.normalize(entry.key): entry.value,
},
),
fieldFormatSettings: fieldFormatSettings == null
? null
: Map<String, FdcFormatSettings>.unmodifiable(
<String, FdcFormatSettings>{
for (final entry in fieldFormatSettings!.entries)
if (FdcFieldName.normalize(entry.key).isNotEmpty)
FdcFieldName.normalize(entry.key): entry.value,
},
),
formatSettings: formatSettings,
);
}