1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
use serde::ser::{Serialize, Serializer};
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub enum SimpleQueryStringQueryFlags {
All,
And,
Escape,
Fuzzy,
Near,
None,
Not,
Or,
Phrase,
Precedence,
Prefix,
Slop,
Whitespace,
}
impl From<SimpleQueryStringQueryFlags> for &'static str {
fn from(value: SimpleQueryStringQueryFlags) -> Self {
match value {
SimpleQueryStringQueryFlags::All => "ALL",
SimpleQueryStringQueryFlags::And => "AND",
SimpleQueryStringQueryFlags::Escape => "ESCAPE",
SimpleQueryStringQueryFlags::Fuzzy => "FUZZY",
SimpleQueryStringQueryFlags::Near => "NEAR",
SimpleQueryStringQueryFlags::None => "NONE",
SimpleQueryStringQueryFlags::Not => "NOT",
SimpleQueryStringQueryFlags::Or => "OR",
SimpleQueryStringQueryFlags::Phrase => "PHRASE",
SimpleQueryStringQueryFlags::Precedence => "PRECEDENCE",
SimpleQueryStringQueryFlags::Prefix => "PREFIX",
SimpleQueryStringQueryFlags::Slop => "SLOP",
SimpleQueryStringQueryFlags::Whitespace => "WHITESPACE",
}
}
}
impl From<SimpleQueryStringQueryFlags> for String {
fn from(value: SimpleQueryStringQueryFlags) -> Self {
<&'static str>::from(value).to_string()
}
}
impl std::fmt::Display for SimpleQueryStringQueryFlags {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
<&'static str>::from(*self).fmt(f)
}
}
impl Serialize for SimpleQueryStringQueryFlags {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
<&'static str>::from(*self).serialize(serializer)
}
}