1use serde::{Deserialize, Serialize};
2use strum::IntoEnumIterator;
3use strum_macros::{Display, EnumIter, EnumString};
4
5#[derive(Serialize, Deserialize, Debug, Clone, Copy, Display, EnumIter, EnumString)]
6#[strum(ascii_case_insensitive)]
7pub enum DefinedTag {
8 Aerospace,
9 Business,
10 ComputerScience,
11 Economics,
12 Education,
13 Engineering,
14 Geography,
15 HealthMedicine,
16 History,
17 LanguageArts,
18 LiberalArts,
19 Mathematics,
20 Politics,
21 Psychology,
22 Science,
23}
24
25impl From<DefinedTag> for String {
26 fn from(tag: DefinedTag) -> Self {
27 tag.to_string()
28 }
29}
30
31impl DefinedTag {
32 pub fn to_vec() -> Vec<DefinedTag> {
33 DefinedTag::iter().collect()
34 }
35}