Skip to main content

umya_spreadsheet/structs/
totals_row_function_values.rs

1use std::str::FromStr;
2
3use super::EnumTrait;
4#[derive(Clone, Debug)]
5pub enum TotalsRowFunctionValues {
6    Average,
7    Count,
8    CountNumbers,
9    Custom,
10    Maximum,
11    Minimum,
12    None,
13    StandardDeviation,
14    Sum,
15    Variance,
16}
17impl Default for TotalsRowFunctionValues {
18    #[inline]
19    fn default() -> Self {
20        Self::None
21    }
22}
23impl EnumTrait for TotalsRowFunctionValues {
24    #[inline]
25    fn value_string(&self) -> &str {
26        match &self {
27            Self::Average => "average",
28            Self::Count => "count",
29            Self::CountNumbers => "countNums",
30            Self::Custom => "custom",
31            Self::Maximum => "max",
32            Self::Minimum => "min",
33            Self::None => "none",
34            Self::StandardDeviation => "stdDev",
35            Self::Sum => "sum",
36            Self::Variance => "var",
37        }
38    }
39}
40impl FromStr for TotalsRowFunctionValues {
41    type Err = ();
42
43    #[inline]
44    fn from_str(input: &str) -> Result<Self, Self::Err> {
45        match input {
46            "average" => Ok(Self::Average),
47            "count" => Ok(Self::Count),
48            "countNums" => Ok(Self::CountNumbers),
49            "custom" => Ok(Self::Custom),
50            "max" => Ok(Self::Maximum),
51            "min" => Ok(Self::Minimum),
52            "none" => Ok(Self::None),
53            "stdDev" => Ok(Self::StandardDeviation),
54            "sum" => Ok(Self::Sum),
55            "var" => Ok(Self::Variance),
56            _ => Err(()),
57        }
58    }
59}