Skip to main content

nominal_api_conjure/conjure/objects/scout/compute/api/
enum_multivariate_aggregation.rs

1#![allow(deprecated)]
2use std::fmt;
3use std::str;
4/// Aggregations for enum series in multivariate queries.
5#[derive(
6    Debug,
7    Clone,
8    PartialEq,
9    Eq,
10    PartialOrd,
11    Ord,
12    Hash,
13    conjure_object::serde::Deserialize,
14    conjure_object::serde::Serialize,
15    conjure_object::log_safety::derive::LogSafe
16)]
17#[serde(crate = "conjure_object::serde")]
18pub enum EnumMultivariateAggregation {
19    #[serde(rename = "MODE")]
20    Mode,
21    /// An unknown variant.
22    #[serde(untagged)]
23    Unknown(Unknown),
24}
25impl EnumMultivariateAggregation {
26    /// Returns the string representation of the enum.
27    #[inline]
28    pub fn as_str(&self) -> &str {
29        match self {
30            EnumMultivariateAggregation::Mode => "MODE",
31            EnumMultivariateAggregation::Unknown(v) => &*v,
32        }
33    }
34}
35impl fmt::Display for EnumMultivariateAggregation {
36    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
37        fmt::Display::fmt(self.as_str(), fmt)
38    }
39}
40impl conjure_object::Plain for EnumMultivariateAggregation {
41    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
42        conjure_object::Plain::fmt(self.as_str(), fmt)
43    }
44}
45impl str::FromStr for EnumMultivariateAggregation {
46    type Err = conjure_object::plain::ParseEnumError;
47    #[inline]
48    fn from_str(
49        v: &str,
50    ) -> Result<EnumMultivariateAggregation, conjure_object::plain::ParseEnumError> {
51        match v {
52            "MODE" => Ok(EnumMultivariateAggregation::Mode),
53            v => v.parse().map(|v| EnumMultivariateAggregation::Unknown(Unknown(v))),
54        }
55    }
56}
57impl conjure_object::FromPlain for EnumMultivariateAggregation {
58    type Err = conjure_object::plain::ParseEnumError;
59    #[inline]
60    fn from_plain(
61        v: &str,
62    ) -> Result<EnumMultivariateAggregation, conjure_object::plain::ParseEnumError> {
63        v.parse()
64    }
65}
66///An unknown variant of the EnumMultivariateAggregation enum.
67#[derive(
68    Debug,
69    Clone,
70    PartialEq,
71    Eq,
72    PartialOrd,
73    Ord,
74    Hash,
75    conjure_object::serde::Deserialize,
76    conjure_object::serde::Serialize,
77    conjure_object::log_safety::derive::LogSafe,
78)]
79#[serde(crate = "conjure_object::serde", transparent)]
80pub struct Unknown(conjure_object::private::Variant);
81impl std::ops::Deref for Unknown {
82    type Target = str;
83    #[inline]
84    fn deref(&self) -> &str {
85        &self.0
86    }
87}
88impl fmt::Display for Unknown {
89    #[inline]
90    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
91        fmt::Display::fmt(&self.0, fmt)
92    }
93}