obscuredMail property

String get obscuredMail

Implementation

String get obscuredMail {
  if (this == null) return '';
  final email = this!;
  final atIdx = email.indexOf('@');
  if (atIdx <= 3) return email; // Not enough chars to obscure

  final start = atIdx - 3 >= 1 ? atIdx - 3 : 1;
  final end = atIdx - 1;
  final buffer = StringBuffer();

  for (int i = 0; i < email.length; i++) {
    if (i >= start && i <= end) {
      buffer.write('*');
    } else {
      buffer.write(email[i]);
    }
  }
  return buffer.toString();
}