/*
* opensearch-client
*
* Rust Client for OpenSearch
*
* The version of the OpenAPI document: 3.1.0
* Contact: alberto.paro@gmail.com
* Generated by Paro OpenAPI Generator
*/
use serde::{Deserialize, Serialize};
$$DOCUMENTATION$$
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum $$NAME$$ {
$$STRING_VALUE$$(String),
$$NUMBER_VALUE$$($$NUMBER_TYPE$$),
}
impl std::fmt::Display for $$NAME$$ {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
$$NAME$$::$$STRING_VALUE$$(s) => write!(f, "{}", s),
$$NAME$$::$$NUMBER_VALUE$$(n) => write!(f, "{}", n),
}
}
}
impl $$NAME$$ {
pub fn as_str(&self) -> String {
match self {
$$NAME$$::$$STRING_VALUE$$(s) => s.clone(),
$$NAME$$::$$NUMBER_VALUE$$(n) => n.to_string(),
}
}
pub fn as_num(&self) -> Option<$$NUMBER_TYPE$$> {
match self {
$$NAME$$::$$NUMBER_VALUE$$(n) => Some(*n),
_ => None,
}
}
}
impl From<$$NUMBER_TYPE$$> for $$NAME$$ {
fn from(n: $$NUMBER_TYPE$$) -> Self {
$$NAME$$::$$NUMBER_VALUE$$(n)
}
}
impl From<&str> for $$NAME$$ {
fn from(s: &str) -> Self {
$$NAME$$::$$STRING_VALUE$$(s.to_string())
}
}
impl From<String> for $$NAME$$ {
fn from(s: String) -> Self {
$$NAME$$::$$STRING_VALUE$$(s)
}
}