mask method

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

Masks characters from start to end with maskChar.

Example:

"123456789".mask(start: 2, end: 7); // "12*****89"

Implementation

String mask({int start = 0, int? end, String maskChar = '*'}) {
  if (isEmpty) return '';
  final actualEnd = (end ?? length).clamp(0, length);
  final actualStart = start.clamp(0, actualEnd);
  final prefix = substring(0, actualStart);
  final masked = maskChar * (actualEnd - actualStart);
  final suffix = substring(actualEnd);
  return '$prefix$masked$suffix';
}