umya_spreadsheet/structs/
item_values.rs1use super::EnumTrait;
2use std::str::FromStr;
3#[derive(Debug, Clone, Eq, Ord, PartialEq, PartialOrd)]
4pub enum ItemValues {
5 Average,
6 Blank,
7 Count,
8 CountA,
9 Data,
10 Default,
11 Grand,
12 Maximum,
13 Minimum,
14 Product,
15 StandardDeviation,
16 StandardDeviationP,
17 Sum,
18 Variance,
19 VarianceP,
20}
21impl Default for ItemValues {
22 #[inline]
23 fn default() -> Self {
24 Self::Default
25 }
26}
27impl EnumTrait for ItemValues {
28 #[inline]
29 fn get_value_string(&self) -> &str {
30 match &self {
31 Self::Average => "avg",
32 Self::Blank => "blank",
33 Self::Count => "count",
34 Self::CountA => "countA",
35 Self::Data => "data",
36 Self::Default => "default",
37 Self::Grand => "grand",
38 Self::Maximum => "max",
39 Self::Minimum => "min",
40 Self::Product => "product",
41 Self::StandardDeviation => "stdDev",
42 Self::StandardDeviationP => "stdDevP",
43 Self::Sum => "sum",
44 Self::Variance => "var",
45 Self::VarianceP => "varP",
46 }
47 }
48}
49impl FromStr for ItemValues {
50 type Err = ();
51
52 #[inline]
53 fn from_str(input: &str) -> Result<Self, Self::Err> {
54 match input {
55 "avg" => Ok(Self::Average),
56 "blank" => Ok(Self::Blank),
57 "count" => Ok(Self::Count),
58 "countA" => Ok(Self::CountA),
59 "data" => Ok(Self::Data),
60 "default" => Ok(Self::Default),
61 "grand" => Ok(Self::Grand),
62 "max" => Ok(Self::Maximum),
63 "min" => Ok(Self::Minimum),
64 "product" => Ok(Self::Product),
65 "stdDev" => Ok(Self::StandardDeviation),
66 "stdDevP" => Ok(Self::StandardDeviationP),
67 "sum" => Ok(Self::Sum),
68 "var" => Ok(Self::Variance),
69 "varP" => Ok(Self::VarianceP),
70 _ => Err(()),
71 }
72 }
73}