#[cfg(feature = "serde")]
use serde::Serialize;
use crate::raw::drawing::effect::effect::XlsxEffect;
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
pub enum EffectReferenceTypeValues {
Container(String),
Fill,
Line,
FillLine,
Children,
}
impl EffectReferenceTypeValues {
pub(crate) fn from_raw(raw: Option<XlsxEffect>) -> Option<Self> {
let Some(raw) = raw else { return None };
let Some(s) = raw.r#ref else { return None };
return Some(match s.as_ref() {
"fill" => Self::Fill,
"line" => Self::Line,
"fillLine" => Self::FillLine,
"children" => Self::Children,
s => Self::Container(s.to_string()),
});
}
}