maskData function

Map<String, dynamic> maskData(
  1. Map<String, dynamic> data,
  2. MaskOptions maskOptions
)

Implementation

Map<String, dynamic> maskData(
    Map<String, dynamic> data, MaskOptions maskOptions) {
  for (final key in data.keys) {
    final keyLower = key.toLowerCase();

    final shouldMaskField =
        maskOptions.fields.any((field) => field.toLowerCase() == keyLower);

    final shouldMaskPrefix = maskOptions.prefixes
        .any((prefix) => keyLower.startsWith(prefix.toLowerCase()));

    if (shouldMaskField || shouldMaskPrefix) {
      data[key] = maskOptions.maskWith * 5;
      LogService.logger.i('Masked key: $key with value: ${data[key]}');
    }
  }
  return data;
}