toLeet property

String get toLeet

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();
}