use crate::utils::{binary_search, split_line_and_convert};
static CHAR_DICT: [(char, char); 80] = [
('ँ', 'ઁ'),
('ं', 'ં'),
('ः', 'ઃ'),
('अ', 'અ'),
('आ', 'આ'),
('इ', 'ઇ'),
('ई', 'ઈ'),
('उ', 'ઉ'),
('ऊ', 'ઊ'),
('ऋ', 'ઋ'),
('ऌ', 'ઌ'),
('ए', 'એ'),
('ऐ', 'ઐ'),
('ओ', 'ઓ'),
('औ', 'ઔ'),
('क', 'ક'),
('ख', 'ખ'),
('ग', 'ગ'),
('घ', 'ઘ'),
('ङ', 'ઙ'),
('च', 'ચ'),
('छ', 'છ'),
('ज', 'જ'),
('झ', 'ઝ'),
('ञ', 'ઞ'),
('ट', 'ટ'),
('ठ', 'ઠ'),
('ड', 'ડ'),
('ढ', 'ઢ'),
('ण', 'ણ'),
('त', 'ત'),
('थ', 'થ'),
('द', 'દ'),
('ध', 'ધ'),
('न', 'ન'),
('प', 'પ'),
('फ', 'ફ'),
('ब', 'બ'),
('भ', 'ભ'),
('म', 'મ'),
('य', 'ય'),
('र', 'ર'),
('ल', 'લ'),
('ळ', 'ળ'),
('व', 'વ'),
('श', 'શ'),
('ष', 'ષ'),
('स', 'સ'),
('ह', 'હ'),
('ऽ', 'ઽ'),
('ा', 'ા'),
('ि', 'િ'),
('ी', 'ી'),
('ु', 'ુ'),
('ू', 'ૂ'),
('ृ', 'ૃ'),
('ॄ', 'ૄ'),
('े', 'ે'),
('ै', 'ૈ'),
('ो', 'ો'),
('ौ', 'ૌ'),
('्', '્'),
('ॐ', 'ૐ'),
('ॠ', 'ૠ'),
('ॡ', 'ૡ'),
('ॢ', 'ૢ'),
('ॣ', 'ૣ'),
('।', '।'),
('॥', '॥'),
('०', '૦'),
('१', '૧'),
('२', '૨'),
('३', '૩'),
('४', '૪'),
('५', '૫'),
('६', '૬'),
('७', '૭'),
('८', '૮'),
('९', '૯'),
('॰', '૰'),
];
fn get_char(c: char) -> Option<char> {
binary_search(&CHAR_DICT, c, |i| i)
}
fn convertor(dn: &str) -> String {
dn.chars().filter_map(get_char).collect()
}
pub fn devanāgarī_to_gujarātī(dn: &str) -> String {
split_line_and_convert(convertor, dn)
}