use serde::{Deserialize, Serialize};
#[derive(
Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, Default,
)]
pub enum TypeName {
#[serde(rename = "TYPE_NAME_UNSPECIFIED")]
#[default]
TypeNameUnspecified,
#[serde(rename = "TYPE_NAME_ANY")]
TypeNameAny,
#[serde(rename = "TYPE_NAME_BOOL")]
TypeNameBool,
#[serde(rename = "TYPE_NAME_STRING")]
TypeNameString,
#[serde(rename = "TYPE_NAME_INT")]
TypeNameInt,
#[serde(rename = "TYPE_NAME_UINT")]
TypeNameUint,
#[serde(rename = "TYPE_NAME_DOUBLE")]
TypeNameDouble,
#[serde(rename = "TYPE_NAME_DURATION")]
TypeNameDuration,
#[serde(rename = "TYPE_NAME_TIMESTAMP")]
TypeNameTimestamp,
#[serde(rename = "TYPE_NAME_MAP")]
TypeNameMap,
#[serde(rename = "TYPE_NAME_LIST")]
TypeNameList,
#[serde(rename = "TYPE_NAME_IPADDRESS")]
TypeNameIpaddress,
}
impl std::fmt::Display for TypeName {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::TypeNameUnspecified => write!(f, "TYPE_NAME_UNSPECIFIED"),
Self::TypeNameAny => write!(f, "TYPE_NAME_ANY"),
Self::TypeNameBool => write!(f, "TYPE_NAME_BOOL"),
Self::TypeNameString => write!(f, "TYPE_NAME_STRING"),
Self::TypeNameInt => write!(f, "TYPE_NAME_INT"),
Self::TypeNameUint => write!(f, "TYPE_NAME_UINT"),
Self::TypeNameDouble => write!(f, "TYPE_NAME_DOUBLE"),
Self::TypeNameDuration => write!(f, "TYPE_NAME_DURATION"),
Self::TypeNameTimestamp => write!(f, "TYPE_NAME_TIMESTAMP"),
Self::TypeNameMap => write!(f, "TYPE_NAME_MAP"),
Self::TypeNameList => write!(f, "TYPE_NAME_LIST"),
Self::TypeNameIpaddress => write!(f, "TYPE_NAME_IPADDRESS"),
}
}
}