#[derive(Serialize, Deserialize, Clone, Copy)]
#[non_exhaustive]
#[repr(u8)]
pub enum Pronouns {
HeHim = 0,
HeIt = 1,
HeShe = 2,
HeThey = 3,
ItHim = 4,
ItIts = 5,
ItShe = 6,
ItThey = 7,
SheHe = 8,
SheHer = 9,
SheIt = 10,
SheThey = 11,
TheyHe = 12,
TheyIt = 13,
TheyShe = 14,
TheyThem = 15,
Any = 16,
OtherAsk = 17,
Avoid = 18,
}
impl Pronouns {
#[must_use]
pub const fn from_i16(x: i16) -> Option<Self> {
#[allow(clippy::enum_glob_use)]
use Pronouns::*;
match x {
0 => Some(HeHim),
1 => Some(HeIt),
2 => Some(HeShe),
3 => Some(HeThey),
4 => Some(ItHim),
5 => Some(ItIts),
6 => Some(ItShe),
7 => Some(ItThey),
8 => Some(SheHe),
9 => Some(SheHer),
10 => Some(SheIt),
11 => Some(SheThey),
12 => Some(TheyHe),
13 => Some(TheyIt),
14 => Some(TheyShe),
15 => Some(TheyThem),
16 => Some(Any),
17 => Some(OtherAsk),
18 => Some(Avoid),
_ => None,
}
}
}