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