use {
super::consume_any_value::consume_any_value,
crate::CustomParseError,
cssparser::{ParseError, Parser, ToCss},
std::fmt,
};
#[derive(Debug, Clone)]
pub struct SupportsPropertyDeclaration(pub String);
impl ToCss for SupportsPropertyDeclaration {
fn to_css<W: fmt::Write>(&self, dest: &mut W) -> fmt::Result {
dest.write_str(&self.0)
}
}
impl SupportsPropertyDeclaration {
pub(crate) fn parse<'i, 't>(
input: &mut Parser<'i, 't>,
) -> Result<Self, ParseError<'i, CustomParseError<'i>>> {
let pos = input.position();
input.expect_ident()?;
input.expect_colon()?;
consume_any_value(input)?;
Ok(SupportsPropertyDeclaration(
input.slice_from(pos).to_owned(),
))
}
}