algorithmSuggestion function

List<String> algorithmSuggestion(
  1. String latin
)

Implementation

List<String> algorithmSuggestion(String latin) {
  latin = latin.replaceAll('ng', 'N');
  final List<String> menkStrings = [''];
  for (int i = 0; i < latin.length; i++) {
    final currentLetter = latin[i];
    final length = menkStrings.length;
    for (var j = 0; j < length; j++) {
      final menkString = menkStrings[j];
      final converterContext = Context(
        index: i,
        latin: latin,
        previousCode: menkString.isNotEmpty
            ? menkString.codeUnitAt(menkString.length - 1)
            : null,
      );
      final codes = converters[currentLetter]?.call(converterContext);
      if (codes == null) continue;
      menkStrings[j] = menkString + String.fromCharCode(codes[0]);
      if (codes.length > 1) {
        for (var k = 1; k < codes.length; k++) {
          menkStrings.add(menkString + String.fromCharCode(codes[k]));
        }
      }
    }
  }
  return menkStrings;
}