getFieldsValuesFromMap method
Map<String, Object?>
getFieldsValuesFromMap(
- List<
String> fieldsNames, - Map<
String, Object?> map, { - Map<
String, int> ? fieldsNamesIndexes, - List<
String> ? fieldsNamesLC, - List<
String> ? fieldsNamesSimple, - bool includeAbsentFields = false,
- List<
String> ? returnMapUsedKeys,
inherited
Returns a Map with the fields values populated from the provided map
.
The field name resolution is case insensitive. See getFieldValueFromMap.
Implementation
Map<String, Object?> getFieldsValuesFromMap(
List<String> fieldsNames,
Map<String, Object?> map, {
Map<String, int>? fieldsNamesIndexes,
List<String>? fieldsNamesLC,
List<String>? fieldsNamesSimple,
bool includeAbsentFields = false,
List<String>? returnMapUsedKeys,
}) {
var mapLC = <String, String>{};
var mapSimple = <String, String>{};
var returnMapField = returnMapUsedKeys != null ? <String>[''] : null;
var fields = <String, Object?>{};
for (var f in fieldsNames) {
String? fLC, fSimple;
if (fieldsNamesIndexes != null) {
var idx = fieldsNamesIndexes[f]!;
fLC = fieldsNamesLC?[idx];
fSimple = fieldsNamesSimple?[idx];
}
var entry = _getFieldValueFromMapImpl(
f, fLC, fSimple, map, mapLC, mapSimple, returnMapField);
if (entry == null) {
if (includeAbsentFields) {
fields[f] = null;
}
} else {
if (returnMapUsedKeys != null) {
var mapField = returnMapField![0];
returnMapUsedKeys.add(mapField);
}
fields[entry.key] = entry.value;
}
}
return fields;
}