umya_spreadsheet/structs/
totals_row_function_values.rs1use 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}