Skip to main content

surrealdb_expr/expr/
language.rs

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