surql_parser/upstream/sql/
language.rs1use 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}