pub mod ala_lc;
pub mod ala_lc_alt;
pub mod bgn_pcgn;
pub mod bgn_pcgn_alt;
pub mod bs_2979;
pub mod bs_2979_alt;
pub mod gost_16876;
pub mod gost_16876_alt;
pub mod gost_52290;
pub mod gost_52535;
pub mod gost_7034;
pub mod gost_779;
pub mod gost_779_alt;
pub mod icao_doc_9303;
pub mod iso_9_1954;
pub mod iso_9_1968;
pub mod iso_9_1968_alt;
pub mod mosmetro;
pub mod mvd_310;
pub mod mvd_310_fr;
pub mod mvd_782;
pub mod scientific;
pub mod telegram;
pub mod ungegn_1987;
pub mod wikipedia;
pub mod yandex_maps;
pub mod yandex_money;
use crate::Schema;
use crate::UnknownSchemaError;
pub fn transliterate(input: &str, schema_name: &str) -> Result<String, UnknownSchemaError> {
match schema_name {
"ala_lc" => Ok(ala_lc::AlaLc::transliterate(input)),
"ala_lc_alt" => Ok(ala_lc_alt::AlaLcAlt::transliterate(input)),
"bgn_pcgn" => Ok(bgn_pcgn::BgnPcgn::transliterate(input)),
"bgn_pcgn_alt" => Ok(bgn_pcgn_alt::BgnPcgnAlt::transliterate(input)),
"bs_2979" => Ok(bs_2979::Bs2979::transliterate(input)),
"bs_2979_alt" => Ok(bs_2979_alt::Bs2979Alt::transliterate(input)),
"gost_16876" => Ok(gost_16876::Gost16876::transliterate(input)),
"gost_16876_alt" => Ok(gost_16876_alt::Gost16876Alt::transliterate(input)),
"gost_52290" => Ok(gost_52290::Gost52290::transliterate(input)),
"gost_52535" => Ok(gost_52535::Gost52535::transliterate(input)),
"gost_7034" => Ok(gost_7034::Gost7034::transliterate(input)),
"gost_779" | "iso_9_1995" => Ok(gost_779::Gost779::transliterate(input)),
"gost_779_alt" => Ok(gost_779_alt::Gost779Alt::transliterate(input)),
"icao_doc_9303" => Ok(icao_doc_9303::IcaoDoc9303::transliterate(input)),
"iso_9_1954" => Ok(iso_9_1954::Iso91954::transliterate(input)),
"iso_9_1968" => Ok(iso_9_1968::Iso91968::transliterate(input)),
"iso_9_1968_alt" => Ok(iso_9_1968_alt::Iso91968Alt::transliterate(input)),
"mosmetro" => Ok(mosmetro::Mosmetro::transliterate(input)),
"mvd_310" => Ok(mvd_310::Mvd310::transliterate(input)),
"mvd_310_fr" => Ok(mvd_310_fr::Mvd310Fr::transliterate(input)),
"mvd_782" => Ok(mvd_782::Mvd782::transliterate(input)),
"scientific" => Ok(scientific::Scientific::transliterate(input)),
"telegram" => Ok(telegram::Telegram::transliterate(input)),
"ungegn_1987" => Ok(ungegn_1987::Ungegn1987::transliterate(input)),
"wikipedia" => Ok(wikipedia::Wikipedia::transliterate(input)),
"yandex_maps" => Ok(yandex_maps::YandexMaps::transliterate(input)),
"yandex_money" => Ok(yandex_money::YandexMoney::transliterate(input)),
_ => Err(UnknownSchemaError::new(schema_name)),
}
}
pub fn schema_names() -> &'static [&'static str] {
&[
"ala_lc",
"ala_lc_alt",
"bgn_pcgn",
"bgn_pcgn_alt",
"bs_2979",
"bs_2979_alt",
"gost_16876",
"gost_16876_alt",
"gost_52290",
"gost_52535",
"gost_7034",
"gost_779",
"gost_779_alt",
"icao_doc_9303",
"iso_9_1954",
"iso_9_1968",
"iso_9_1968_alt",
"iso_9_1995",
"mosmetro",
"mvd_310",
"mvd_310_fr",
"mvd_782",
"scientific",
"telegram",
"ungegn_1987",
"wikipedia",
"yandex_maps",
"yandex_money",
]
}