sanitize method

  1. @override
Map<String, dynamic> sanitize(
  1. Map<String, dynamic> data
)
override

Returns a new sanitized map. The input is never mutated.

Implementation

@override
Map<String, dynamic> sanitize(Map<String, dynamic> data) {
  Object walk(Object? v) {
    if (v is Map<String, dynamic>) {
      return v.map((k, val) => MapEntry(k, walk(val)));
    } else if (v is List) {
      return v.map(walk).toList();
    } else if (v is String) {
      var s = v;
      for (final entry in rules.entries) {
        s = s.replaceAll(entry.key, entry.value);
      }
      return s;
    }
    return v ?? '';
  }

  return walk(data) as Map<String, dynamic>;
}