mask method

String mask({
  1. int? start,
  2. int? end,
  3. String maskChar = '*',
})

Masks part of the string for privacy.

Example:

"1234567890".mask(start: 3, end: 7); // "123****890"

Implementation

String mask({int? start, int? end, String maskChar = '*'}) {
  if (this == null || this!.isEmpty) return '';
  final s = this!;

  if (start == null && end == null) return s;
  start ??= 0;
  end ??= this!.length;

  if (start >= s.length || end <= start) return s;

  final masked = s.replaceRange(
    start,
    end > s.length ? s.length : end,
    maskChar * (end - start),
  );

  return masked;
}