polished_css/data_type/
hue.rs1use super::{Angle, Number, NumberStorage};
2
3#[derive(
5 Clone,
6 Debug,
7 PartialEq,
8 strum_macros::EnumIs,
9 polished_css_macros::Display,
10 polished_css_macros::DataTypeFromDataTypes,
11)]
12#[display(on_enum = true)]
13pub enum Hue {
14 Angle(Angle),
16 Number(Number),
18 None,
22}
23
24impl From<f64> for Hue {
25 fn from(value: f64) -> Self {
26 Self::number(value)
27 }
28}
29
30#[polished_css_macros::create_trait_from_enum_impl(constructor_arg_type = Hue)]
31impl Hue {
32 }
34
35#[cfg(test)]
36mod test {
37 #[test]
38 fn display() {
39 use crate::data_type::{DegreeStorage, NumberStorage};
40 assert_eq!(super::Hue::deg(0.1).to_string(), String::from("0.1deg"));
41 assert_eq!(super::Hue::number(13.37).to_string(), String::from("13.37"));
42 }
43}