maskSensitiveData function
Implementation
Map<String, dynamic> maskSensitiveData(
Map<String, dynamic> data, List<String>? keysToMask) {
if (keysToMask == null || keysToMask.isEmpty) {
return data;
}
return data.map((key, value) {
if (keysToMask.contains(key)) {
return MapEntry(key, '***');
}
if (value is Map<String, dynamic>) {
return MapEntry(key, maskSensitiveData(value, keysToMask));
}
if (value is List) {
return MapEntry(
key,
value.map((e) {
if (e is Map<String, dynamic>) {
return maskSensitiveData(e, keysToMask);
}
return e;
}).toList());
}
return MapEntry(key, value);
});
}