toLeet property
Transforms the String
to 1337 alphabet.
The letters are randomized since each letter can have multiple variations.
Example
String foo = 'esentis';
String leet = foo.toLeet ; // returns '€5£п+!$';
Implementation
String get toLeet {
if (isBlank) {
return blankIfNull;
}
final letters = split('');
final leetLetters = [];
for (var e in letters) {
final count = leetAlphabet[e]?.length ?? 0;
final random = randomInt(0, count - 1);
leetLetters.add(leetAlphabet[e]?[random] ?? e);
}
return leetLetters.join();
}