removeEmptyField function
Implementation
Map<String, Object?> removeEmptyField(Map<String, Object?> raw) {
final Map<String, Object?> ret = {};
for (final kv in raw.entries) {
final v = kv.value;
if (v != null) {
if (v is List) {
if (v.isNotEmpty) {
final newList = [];
for (final item in v) {
if (item != null) {
if (item is Map<String, Object?>) {
newList.add(removeEmptyField(item));
} else {
newList.add(item);
}
}
}
ret[kv.key] = newList;
} else {
//removed
}
} else if (v is Map<String, Object?>) {
final newV = removeEmptyField(v);
if (newV.isNotEmpty) {
ret[kv.key] = newV;
} else {
//removed
}
} else if (v is String) {
if (v.trim().isNotEmpty) {
ret[kv.key] = v;
}
} else {
ret[kv.key] = v;
}
}
}
return ret;
}