use super::{Angle, Number, NumberStorage};
#[derive(
Clone,
Debug,
PartialEq,
strum_macros::EnumIs,
polished_css_macros::Display,
polished_css_macros::DataTypeFromDataTypes,
)]
#[display(on_enum = true)]
pub enum Hue {
Angle(Angle),
Number(Number),
None,
}
impl From<f64> for Hue {
fn from(value: f64) -> Self {
Self::number(value)
}
}
#[polished_css_macros::create_trait_from_enum_impl(constructor_arg_type = Hue)]
impl Hue {
}
#[cfg(test)]
mod test {
#[test]
fn display() {
use crate::data_type::{DegreeStorage, NumberStorage};
assert_eq!(super::Hue::deg(0.1).to_string(), String::from("0.1deg"));
assert_eq!(super::Hue::number(13.37).to_string(), String::from("13.37"));
}
}