finish timeago parser, refactor codegen
This commit is contained in:
parent
500ea77788
commit
513bf1dc9c
12 changed files with 641 additions and 895 deletions
|
|
@ -1,10 +1,10 @@
|
|||
// This file is automatically generated. DO NOT EDIT.
|
||||
use std::{fmt::Display, str::FromStr};
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
// GENERATED SECTION START //
|
||||
#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
pub enum Language {
|
||||
/// Afrikaans
|
||||
Af,
|
||||
|
|
@ -185,7 +185,7 @@ pub enum Language {
|
|||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
|
||||
#[serde(rename_all = "UPPERCASE")]
|
||||
pub enum Country {
|
||||
/// United Arab Emirates
|
||||
Ae,
|
||||
|
|
@ -406,7 +406,410 @@ pub enum Country {
|
|||
/// Zimbabwe
|
||||
Zw,
|
||||
}
|
||||
// GENERATED SECTION END //
|
||||
|
||||
pub const LANGUAGES: [Language; 83] = [
|
||||
Language::Af,
|
||||
Language::Am,
|
||||
Language::Ar,
|
||||
Language::As,
|
||||
Language::Az,
|
||||
Language::Be,
|
||||
Language::Bg,
|
||||
Language::Bn,
|
||||
Language::Bs,
|
||||
Language::Ca,
|
||||
Language::Cs,
|
||||
Language::Da,
|
||||
Language::De,
|
||||
Language::El,
|
||||
Language::En,
|
||||
Language::EnGb,
|
||||
Language::EnIn,
|
||||
Language::Es,
|
||||
Language::Es419,
|
||||
Language::EsUs,
|
||||
Language::Et,
|
||||
Language::Eu,
|
||||
Language::Fa,
|
||||
Language::Fi,
|
||||
Language::Fil,
|
||||
Language::Fr,
|
||||
Language::FrCa,
|
||||
Language::Gl,
|
||||
Language::Gu,
|
||||
Language::Hi,
|
||||
Language::Hr,
|
||||
Language::Hu,
|
||||
Language::Hy,
|
||||
Language::Id,
|
||||
Language::Is,
|
||||
Language::It,
|
||||
Language::Iw,
|
||||
Language::Ja,
|
||||
Language::Ka,
|
||||
Language::Kk,
|
||||
Language::Km,
|
||||
Language::Kn,
|
||||
Language::Ko,
|
||||
Language::Ky,
|
||||
Language::Lo,
|
||||
Language::Lt,
|
||||
Language::Lv,
|
||||
Language::Mk,
|
||||
Language::Ml,
|
||||
Language::Mn,
|
||||
Language::Mr,
|
||||
Language::Ms,
|
||||
Language::My,
|
||||
Language::Ne,
|
||||
Language::Nl,
|
||||
Language::No,
|
||||
Language::Or,
|
||||
Language::Pa,
|
||||
Language::Pl,
|
||||
Language::Pt,
|
||||
Language::PtPt,
|
||||
Language::Ro,
|
||||
Language::Ru,
|
||||
Language::Si,
|
||||
Language::Sk,
|
||||
Language::Sl,
|
||||
Language::Sq,
|
||||
Language::Sr,
|
||||
Language::SrLatn,
|
||||
Language::Sv,
|
||||
Language::Sw,
|
||||
Language::Ta,
|
||||
Language::Te,
|
||||
Language::Th,
|
||||
Language::Tr,
|
||||
Language::Uk,
|
||||
Language::Ur,
|
||||
Language::Uz,
|
||||
Language::Vi,
|
||||
Language::ZhCn,
|
||||
Language::ZhHk,
|
||||
Language::ZhTw,
|
||||
Language::Zu,
|
||||
];
|
||||
|
||||
pub const COUNTRIES: [Country; 109] = [
|
||||
Country::Ae,
|
||||
Country::Ar,
|
||||
Country::At,
|
||||
Country::Au,
|
||||
Country::Az,
|
||||
Country::Ba,
|
||||
Country::Bd,
|
||||
Country::Be,
|
||||
Country::Bg,
|
||||
Country::Bh,
|
||||
Country::Bo,
|
||||
Country::Br,
|
||||
Country::By,
|
||||
Country::Ca,
|
||||
Country::Ch,
|
||||
Country::Cl,
|
||||
Country::Co,
|
||||
Country::Cr,
|
||||
Country::Cy,
|
||||
Country::Cz,
|
||||
Country::De,
|
||||
Country::Dk,
|
||||
Country::Do,
|
||||
Country::Dz,
|
||||
Country::Ec,
|
||||
Country::Ee,
|
||||
Country::Eg,
|
||||
Country::Es,
|
||||
Country::Fi,
|
||||
Country::Fr,
|
||||
Country::Gb,
|
||||
Country::Ge,
|
||||
Country::Gh,
|
||||
Country::Gr,
|
||||
Country::Gt,
|
||||
Country::Hk,
|
||||
Country::Hn,
|
||||
Country::Hr,
|
||||
Country::Hu,
|
||||
Country::Id,
|
||||
Country::Ie,
|
||||
Country::Il,
|
||||
Country::In,
|
||||
Country::Iq,
|
||||
Country::Is,
|
||||
Country::It,
|
||||
Country::Jm,
|
||||
Country::Jo,
|
||||
Country::Jp,
|
||||
Country::Ke,
|
||||
Country::Kh,
|
||||
Country::Kr,
|
||||
Country::Kw,
|
||||
Country::Kz,
|
||||
Country::La,
|
||||
Country::Lb,
|
||||
Country::Li,
|
||||
Country::Lk,
|
||||
Country::Lt,
|
||||
Country::Lu,
|
||||
Country::Lv,
|
||||
Country::Ly,
|
||||
Country::Ma,
|
||||
Country::Me,
|
||||
Country::Mk,
|
||||
Country::Mt,
|
||||
Country::Mx,
|
||||
Country::My,
|
||||
Country::Ng,
|
||||
Country::Ni,
|
||||
Country::Nl,
|
||||
Country::No,
|
||||
Country::Np,
|
||||
Country::Nz,
|
||||
Country::Om,
|
||||
Country::Pa,
|
||||
Country::Pe,
|
||||
Country::Pg,
|
||||
Country::Ph,
|
||||
Country::Pk,
|
||||
Country::Pl,
|
||||
Country::Pr,
|
||||
Country::Pt,
|
||||
Country::Py,
|
||||
Country::Qa,
|
||||
Country::Ro,
|
||||
Country::Rs,
|
||||
Country::Ru,
|
||||
Country::Sa,
|
||||
Country::Se,
|
||||
Country::Sg,
|
||||
Country::Si,
|
||||
Country::Sk,
|
||||
Country::Sn,
|
||||
Country::Sv,
|
||||
Country::Th,
|
||||
Country::Tn,
|
||||
Country::Tr,
|
||||
Country::Tw,
|
||||
Country::Tz,
|
||||
Country::Ua,
|
||||
Country::Ug,
|
||||
Country::Us,
|
||||
Country::Uy,
|
||||
Country::Ve,
|
||||
Country::Vn,
|
||||
Country::Ye,
|
||||
Country::Za,
|
||||
Country::Zw,
|
||||
];
|
||||
|
||||
impl Language {
|
||||
pub fn name(&self) -> &str {
|
||||
match self {
|
||||
Language::Af => "Afrikaans",
|
||||
Language::Am => "አማርኛ",
|
||||
Language::Ar => "العربية",
|
||||
Language::As => "অসমীয়া",
|
||||
Language::Az => "Azərbaycan",
|
||||
Language::Be => "Беларуская",
|
||||
Language::Bg => "Български",
|
||||
Language::Bn => "বাংলা",
|
||||
Language::Bs => "Bosanski",
|
||||
Language::Ca => "Català",
|
||||
Language::Cs => "Čeština",
|
||||
Language::Da => "Dansk",
|
||||
Language::De => "Deutsch",
|
||||
Language::El => "Ελληνικά",
|
||||
Language::En => "English (US)",
|
||||
Language::EnGb => "English (UK)",
|
||||
Language::EnIn => "English (India)",
|
||||
Language::Es => "Español (España)",
|
||||
Language::Es419 => "Español (Latinoamérica)",
|
||||
Language::EsUs => "Español (US)",
|
||||
Language::Et => "Eesti",
|
||||
Language::Eu => "Euskara",
|
||||
Language::Fa => "فارسی",
|
||||
Language::Fi => "Suomi",
|
||||
Language::Fil => "Filipino",
|
||||
Language::Fr => "Français",
|
||||
Language::FrCa => "Français (Canada)",
|
||||
Language::Gl => "Galego",
|
||||
Language::Gu => "ગુજરાતી",
|
||||
Language::Hi => "हिन्दी",
|
||||
Language::Hr => "Hrvatski",
|
||||
Language::Hu => "Magyar",
|
||||
Language::Hy => "Հայերեն",
|
||||
Language::Id => "Bahasa Indonesia",
|
||||
Language::Is => "Íslenska",
|
||||
Language::It => "Italiano",
|
||||
Language::Iw => "עברית",
|
||||
Language::Ja => "日本語",
|
||||
Language::Ka => "ქართული",
|
||||
Language::Kk => "Қазақ Тілі",
|
||||
Language::Km => "ខ្មែរ",
|
||||
Language::Kn => "ಕನ್ನಡ",
|
||||
Language::Ko => "한국어",
|
||||
Language::Ky => "Кыргызча",
|
||||
Language::Lo => "ລາວ",
|
||||
Language::Lt => "Lietuvių",
|
||||
Language::Lv => "Latviešu valoda",
|
||||
Language::Mk => "Македонски",
|
||||
Language::Ml => "മലയാളം",
|
||||
Language::Mn => "Монгол",
|
||||
Language::Mr => "मराठी",
|
||||
Language::Ms => "Bahasa Malaysia",
|
||||
Language::My => "ဗမာ",
|
||||
Language::Ne => "नेपाली",
|
||||
Language::Nl => "Nederlands",
|
||||
Language::No => "Norsk",
|
||||
Language::Or => "ଓଡ଼ିଆ",
|
||||
Language::Pa => "ਪੰਜਾਬੀ",
|
||||
Language::Pl => "Polski",
|
||||
Language::Pt => "Português (Brasil)",
|
||||
Language::PtPt => "Português",
|
||||
Language::Ro => "Română",
|
||||
Language::Ru => "Русский",
|
||||
Language::Si => "සිංහල",
|
||||
Language::Sk => "Slovenčina",
|
||||
Language::Sl => "Slovenščina",
|
||||
Language::Sq => "Shqip",
|
||||
Language::Sr => "Српски",
|
||||
Language::SrLatn => "Srpski",
|
||||
Language::Sv => "Svenska",
|
||||
Language::Sw => "Kiswahili",
|
||||
Language::Ta => "தமிழ்",
|
||||
Language::Te => "తెలుగు",
|
||||
Language::Th => "ภาษาไทย",
|
||||
Language::Tr => "Türkçe",
|
||||
Language::Uk => "Українська",
|
||||
Language::Ur => "اردو",
|
||||
Language::Uz => "O‘zbek",
|
||||
Language::Vi => "Tiếng Việt",
|
||||
Language::ZhCn => "中文 (简体)",
|
||||
Language::ZhHk => "中文 (香港)",
|
||||
Language::ZhTw => "中文 (繁體)",
|
||||
Language::Zu => "IsiZulu",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Country {
|
||||
pub fn name(&self) -> &str {
|
||||
match self {
|
||||
Country::Ae => "United Arab Emirates",
|
||||
Country::Ar => "Argentina",
|
||||
Country::At => "Austria",
|
||||
Country::Au => "Australia",
|
||||
Country::Az => "Azerbaijan",
|
||||
Country::Ba => "Bosnia and Herzegovina",
|
||||
Country::Bd => "Bangladesh",
|
||||
Country::Be => "Belgium",
|
||||
Country::Bg => "Bulgaria",
|
||||
Country::Bh => "Bahrain",
|
||||
Country::Bo => "Bolivia",
|
||||
Country::Br => "Brazil",
|
||||
Country::By => "Belarus",
|
||||
Country::Ca => "Canada",
|
||||
Country::Ch => "Switzerland",
|
||||
Country::Cl => "Chile",
|
||||
Country::Co => "Colombia",
|
||||
Country::Cr => "Costa Rica",
|
||||
Country::Cy => "Cyprus",
|
||||
Country::Cz => "Czechia",
|
||||
Country::De => "Germany",
|
||||
Country::Dk => "Denmark",
|
||||
Country::Do => "Dominican Republic",
|
||||
Country::Dz => "Algeria",
|
||||
Country::Ec => "Ecuador",
|
||||
Country::Ee => "Estonia",
|
||||
Country::Eg => "Egypt",
|
||||
Country::Es => "Spain",
|
||||
Country::Fi => "Finland",
|
||||
Country::Fr => "France",
|
||||
Country::Gb => "United Kingdom",
|
||||
Country::Ge => "Georgia",
|
||||
Country::Gh => "Ghana",
|
||||
Country::Gr => "Greece",
|
||||
Country::Gt => "Guatemala",
|
||||
Country::Hk => "Hong Kong",
|
||||
Country::Hn => "Honduras",
|
||||
Country::Hr => "Croatia",
|
||||
Country::Hu => "Hungary",
|
||||
Country::Id => "Indonesia",
|
||||
Country::Ie => "Ireland",
|
||||
Country::Il => "Israel",
|
||||
Country::In => "India",
|
||||
Country::Iq => "Iraq",
|
||||
Country::Is => "Iceland",
|
||||
Country::It => "Italy",
|
||||
Country::Jm => "Jamaica",
|
||||
Country::Jo => "Jordan",
|
||||
Country::Jp => "Japan",
|
||||
Country::Ke => "Kenya",
|
||||
Country::Kh => "Cambodia",
|
||||
Country::Kr => "South Korea",
|
||||
Country::Kw => "Kuwait",
|
||||
Country::Kz => "Kazakhstan",
|
||||
Country::La => "Laos",
|
||||
Country::Lb => "Lebanon",
|
||||
Country::Li => "Liechtenstein",
|
||||
Country::Lk => "Sri Lanka",
|
||||
Country::Lt => "Lithuania",
|
||||
Country::Lu => "Luxembourg",
|
||||
Country::Lv => "Latvia",
|
||||
Country::Ly => "Libya",
|
||||
Country::Ma => "Morocco",
|
||||
Country::Me => "Montenegro",
|
||||
Country::Mk => "North Macedonia",
|
||||
Country::Mt => "Malta",
|
||||
Country::Mx => "Mexico",
|
||||
Country::My => "Malaysia",
|
||||
Country::Ng => "Nigeria",
|
||||
Country::Ni => "Nicaragua",
|
||||
Country::Nl => "Netherlands",
|
||||
Country::No => "Norway",
|
||||
Country::Np => "Nepal",
|
||||
Country::Nz => "New Zealand",
|
||||
Country::Om => "Oman",
|
||||
Country::Pa => "Panama",
|
||||
Country::Pe => "Peru",
|
||||
Country::Pg => "Papua New Guinea",
|
||||
Country::Ph => "Philippines",
|
||||
Country::Pk => "Pakistan",
|
||||
Country::Pl => "Poland",
|
||||
Country::Pr => "Puerto Rico",
|
||||
Country::Pt => "Portugal",
|
||||
Country::Py => "Paraguay",
|
||||
Country::Qa => "Qatar",
|
||||
Country::Ro => "Romania",
|
||||
Country::Rs => "Serbia",
|
||||
Country::Ru => "Russia",
|
||||
Country::Sa => "Saudi Arabia",
|
||||
Country::Se => "Sweden",
|
||||
Country::Sg => "Singapore",
|
||||
Country::Si => "Slovenia",
|
||||
Country::Sk => "Slovakia",
|
||||
Country::Sn => "Senegal",
|
||||
Country::Sv => "El Salvador",
|
||||
Country::Th => "Thailand",
|
||||
Country::Tn => "Tunisia",
|
||||
Country::Tr => "Turkey",
|
||||
Country::Tw => "Taiwan",
|
||||
Country::Tz => "Tanzania",
|
||||
Country::Ua => "Ukraine",
|
||||
Country::Ug => "Uganda",
|
||||
Country::Us => "United States",
|
||||
Country::Uy => "Uruguay",
|
||||
Country::Ve => "Venezuela",
|
||||
Country::Vn => "Vietnam",
|
||||
Country::Ye => "Yemen",
|
||||
Country::Za => "South Africa",
|
||||
Country::Zw => "Zimbabwe",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Display for Language {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
|
|
@ -426,7 +829,6 @@ impl Display for Country {
|
|||
|
||||
impl FromStr for Language {
|
||||
type Err = serde_json::Error;
|
||||
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
serde_json::from_str(&format!("\"{}\"", s))
|
||||
}
|
||||
|
|
@ -434,7 +836,6 @@ impl FromStr for Language {
|
|||
|
||||
impl FromStr for Country {
|
||||
type Err = serde_json::Error;
|
||||
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
serde_json::from_str(&format!("\"{}\"", s))
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue