generateVariations method
Generates variations of a word for fuzzy matching
Implementation
@override
List<String> generateVariations(String word) {
  final variations = <String>{word};
  const typoSubstitutions = {
    'ا': ['أ', 'إ', 'آ'],
    'ه': ['ة'],
    'ي': ['ى', 'ئ'],
    'و': ['ؤ']
  };
  for (var letter in typoSubstitutions.keys) {
    if (word.contains(letter)) {
      for (var replacement in typoSubstitutions[letter]!) {
        variations.add(word.replaceAll(letter, replacement));
      }
    }
  }
  return variations.toList();
}