Skip to main content

surql_parser/upstream/sql/
language.rs

1use std::fmt;
2use std::fmt::Display;
3use surrealdb_types::{SqlFormat, ToSql};
4#[derive(Clone, Copy, Eq, PartialEq, Hash, Debug)]
5#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
6pub enum Language {
7	Arabic,
8	Danish,
9	Dutch,
10	English,
11	Finnish,
12	French,
13	German,
14	Greek,
15	Hungarian,
16	Italian,
17	Norwegian,
18	Portuguese,
19	Romanian,
20	Russian,
21	Spanish,
22	Swedish,
23	Tamil,
24	Turkish,
25}
26impl Language {
27	pub fn as_str(&self) -> &'static str {
28		match self {
29			Self::Arabic => "ARABIC",
30			Self::Danish => "DANISH",
31			Self::Dutch => "DUTCH",
32			Self::English => "ENGLISH",
33			Self::Finnish => "FINNISH",
34			Self::French => "FRENCH",
35			Self::German => "GERMAN",
36			Self::Greek => "GREEK",
37			Self::Hungarian => "HUNGARIAN",
38			Self::Italian => "ITALIAN",
39			Self::Norwegian => "NORWEGIAN",
40			Self::Portuguese => "PORTUGUESE",
41			Self::Romanian => "ROMANIAN",
42			Self::Russian => "RUSSIAN",
43			Self::Spanish => "SPANISH",
44			Self::Swedish => "SWEDISH",
45			Self::Tamil => "TAMIL",
46			Self::Turkish => "TURKISH",
47		}
48	}
49}
50impl Display for Language {
51	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
52		f.write_str(self.as_str())
53	}
54}
55impl ToSql for Language {
56	fn fmt_sql(&self, f: &mut String, _fmt: SqlFormat) {
57		f.push_str(self.as_str())
58	}
59}