filterEmptyEntries static method
Implementation
static Map<String, dynamic> filterEmptyEntries(Map<String, dynamic> input) {
final filtered = <String, dynamic>{};
input.forEach((key, value) {
if (value is Map<String, dynamic>) {
// Recursively filter nested maps
final nestedFiltered = filterEmptyEntries(value);
if (nestedFiltered.isNotEmpty) {
filtered[key] = nestedFiltered;
}
} else if (value is List) {
// Filter lists recursively
final filteredList = value
.map((item) => item is Map<String, dynamic> ? filterEmptyEntries(item) : item)
.where((item) => item != null && item.toString().trim().isNotEmpty)
.toList();
if (filteredList.isNotEmpty) {
filtered[key] = filteredList;
}
} else if (value != null && value.toString().trim().isNotEmpty) {
// Add non-empty primitive values
filtered[key] = value;
}
});
return filtered;
}