cranberry 0.1.0

A versatile Rust library for Russian Cyrillic transliteration
Documentation
mod alias;
mod engine;
mod handler;

pub mod alphabet;

pub enum Scheme {
    Cranberry,
    Soviet1,
    Soviet2,
    Soviet3,
    ISO1954,
    ISO1968Base,
    ISO1968Alt1,
    ISO1968Alt2,
    ISO1995,
    ALALC,
    Scientific1905,
    Scientific1939,
    Scientific1951,
    Ost8483,
    Gost16876,
    StSev1362,
    Gost779,
    Gost52290,
    Gost52535,
    Ungegn,
    Bs2979,
    BgnPcgn,
    Passport1997,
    Passport2010,
    Passport2013,
}

impl Scheme {
    pub fn init(&self) -> engine::Engine {
        match self {
            Scheme::Cranberry => engine::Engine::smart(alphabet::cranberry::get(), handler::cranberry::process),
            Scheme::Soviet1 => engine::Engine::smart(alphabet::soviet1::get(), handler::soviet::process),
            Scheme::Soviet2 => engine::Engine::smart(alphabet::soviet2::get(), handler::soviet::process),
            Scheme::Soviet3 => engine::Engine::smart(alphabet::soviet3::get(), handler::soviet::process),
            Scheme::ISO1954 => engine::Engine::basic(alphabet::iso1954::get()),
            Scheme::ISO1968Base => engine::Engine::basic(alphabet::iso1968base::get()),
            Scheme::ISO1968Alt1 => engine::Engine::basic(alphabet::iso1968alt1::get()),
            Scheme::ISO1968Alt2 => engine::Engine::basic(alphabet::iso1968alt2::get()),
            Scheme::ISO1995 => engine::Engine::basic(alphabet::iso1995::get()),
            Scheme::ALALC => engine::Engine::basic(alphabet::alalc::get()),
            Scheme::Scientific1905 => engine::Engine::basic(alphabet::scientific1905::get()),
            Scheme::Scientific1939 => engine::Engine::basic(alphabet::scientific1939::get()),
            Scheme::Scientific1951 => engine::Engine::basic(alphabet::scientific1951::get()),
            Scheme::Ost8483 => engine::Engine::basic(alphabet::ost8483::get()),
            Scheme::Gost16876 => engine::Engine::basic(alphabet::gost16876::get()),
            Scheme::StSev1362 => engine::Engine::basic(alphabet::gost16876::get()),
            Scheme::Gost779 => engine::Engine::basic(alphabet::iso1995::get()), 
            Scheme::Gost52290 => engine::Engine::basic(alphabet::gost52290::get()),
            Scheme::Gost52535 => engine::Engine::basic(alphabet::gost52535::get()),
            Scheme::Ungegn => engine::Engine::basic(alphabet::ungegn::get()),
            Scheme::Bs2979 => engine::Engine::basic(alphabet::bs2979::get()),
            Scheme::BgnPcgn => engine::Engine::basic(alphabet::bgn_pcgn::get()),
            Scheme::Passport1997 => engine::Engine::basic(alphabet::passport1997::get()),
            Scheme::Passport2010 => engine::Engine::basic(alphabet::passport2010::get()),
            Scheme::Passport2013 => engine::Engine::basic(alphabet::passport2013::get()),
        }
    }
}