mask static method
Masks a portion of string with character, starting at index for length.
Str.mask('user@example.com', '*', 3); // 'use*************'
Str.mask('user@example.com', '*', 3, 5); // 'use*****mple.com'
Implementation
static String mask(
String string,
String character,
int index, [
int? length,
]) {
if (character.isEmpty) return string;
final start = index < 0 ? string.length + index : index;
if (start >= string.length) return string;
final end = length == null
? string.length
: (start + length.abs()).clamp(start, string.length);
final maskLen = end - start;
return string.substring(0, start) +
character[0] * maskLen +
string.substring(end);
}