---
source: crates/nautilus-codegen/tests/snapshot_tests.rs
assertion_line: 106
expression: enums_code
---
//! Generated enum types.
/// Status enum.
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum Status {
ACTIVE,
INACTIVE,
PENDING,
}
impl nautilus_core::FromValue for Status {
fn from_value(value: &nautilus_core::Value) -> nautilus_core::Result<Self> {
match value {
nautilus_core::Value::String(s) => match s.as_str() {
"ACTIVE" => Ok(Status::ACTIVE),
"INACTIVE" => Ok(Status::INACTIVE),
"PENDING" => Ok(Status::PENDING),
other => Err(nautilus_core::Error::TypeError(
format!("Invalid Status variant: {}", other)
)),
},
nautilus_core::Value::Null => Err(nautilus_core::Error::TypeError(
"NULL value for Status".to_string()
)),
_ => Err(nautilus_core::Error::TypeError(format!(
"expected String for Status, got {:?}", value
))),
}
}
}
impl From<Status> for nautilus_core::Value {
fn from(e: Status) -> Self {
match e {
Status::ACTIVE => nautilus_core::Value::String("ACTIVE".to_string()),
Status::INACTIVE => nautilus_core::Value::String("INACTIVE".to_string()),
Status::PENDING => nautilus_core::Value::String("PENDING".to_string()),
}
}
}