surrealdb_expr/expr/
language.rs1use 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}