use crate::{CssGroup, CssRuleset, ToText, DEFAULT_CSS_INDENT, DEFAULT_CSS_OFFSET};
use std::fmt;
use std::fmt::{Display, Write};
#[derive(Debug, Clone)]
pub enum CssElement {
Ruleset(CssRuleset),
Group(CssGroup),
}
impl ToText for CssElement {
fn to_text(&self, offset: usize, indent: usize) -> String {
let mut style = String::new();
match self {
CssElement::Ruleset(ruleset) => {
let _ = write!(&mut style, "{}", ruleset.to_text(offset, indent));
}
CssElement::Group(group) => {
let _ = write!(&mut style, "{}", group.to_text(offset, indent));
}
}
style
}
}
impl Display for CssElement {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.to_text(DEFAULT_CSS_OFFSET, DEFAULT_CSS_INDENT))
}
}