redact static method

Map<String, dynamic> redact(
  1. Map<String, dynamic> input
)

Implementation

static Map<String, dynamic> redact(Map<String, dynamic> input) {
  final result = <String, dynamic>{};
  for (final entry in input.entries) {
    if (isSensitive(entry.key)) {
      result[entry.key] = _redacted;
    } else if (entry.value is Map<String, dynamic>) {
      result[entry.key] = redact(entry.value as Map<String, dynamic>);
    } else if (entry.value is List) {
      result[entry.key] = (entry.value as List).map((item) {
        if (item is Map<String, dynamic>) return redact(item);
        return item;
      }).toList();
    } else {
      result[entry.key] = entry.value;
    }
  }
  return result;
}