namespace PoyoLang.Dictionary;

public static class Alphabet
{
    public static char[] OVariations { get; } =
    [
        'o',
        'ó',
        'ò',
        'ô',
        'ö',
        'õ',
        'ō',
        'ǒ'
    ];

    public static char[] VowelVariations { get; } =
    [

        // o
        'o', 'ó', 'ò', 'ô', 'ö', 'õ', 'ō', 'ǒ',

        // a
        'a', 'á', 'à', 'â', 'ä', 'ã', 'ā', 'ǎ',

        // i
        'i', 'í', 'ì', 'î', 'ï', 'ĩ', 'ī', 'ǐ',

        // u
        'u', 'ú', 'ù', 'û', 'ü', 'ũ', 'ū', 'ǔ',

        // e
        'e', 'é', 'è', 'ê', 'ë', 'ẽ', 'ē', 'ě'
    ];

    public static string[] BaseAlphabet { get; } = VowelVariations
        .Select(leftVowel =>
                OVariations.Select(rightVowel => $"p{leftVowel}y{rightVowel}")
            )
        .SelectMany(x => x)
        .ToArray();


}