removeNulls method
dynamic
removeNulls(
- dynamic params
Recursively removes null values from a data structure.
params
is the input data structure (Map, List, or primitive).
Returns a cleaned version of params
with all null values removed.
If the result is empty, returns null.
Implementation
dynamic removeNulls(dynamic params) {
if (params is Map) {
final map = {};
params.forEach((key, value) {
final value0 = removeNulls(value);
if (value0 != null) {
map[key] = value0;
}
});
if (map.isNotEmpty) {
return map;
}
} else if (params is List) {
final list = [];
for (final val in params) {
final value = removeNulls(val);
if (value != null) {
list.add(value);
}
}
if (list.isNotEmpty) return list;
} else if (params != null) {
return params;
}
return null;
}