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