#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
pub struct PropertyDeclaration
{
pub vendor_prefix: Option<VendorPrefix>,
pub name: Atom,
pub value: UnparsedPropertyValue,
pub importance: Importance,
}
impl ToCss for PropertyDeclaration
{
fn to_css<W: fmt::Write>(&self, dest: &mut W) -> fmt::Result
{
if let Some(ref vendorPrefix) = self.vendor_prefix
{
vendorPrefix.to_css(dest)?;
}
self.name.to_css(dest)?;
dest.write_char(':')?;
self.value.to_css(dest)?;
self.importance.to_css(dest)?;
dest.write_char(';')
}
}
impl HasVendorPrefix for PropertyDeclaration
{
#[inline(always)]
fn isNotVendorPrefixed(&self) -> bool
{
self.vendor_prefix.is_none()
}
}
impl PropertyDeclaration
{
#[inline(always)]
pub fn hasACustomPropertyName(&self) -> bool
{
self.name.starts_with("--")
}
#[inline(always)]
pub fn hasAsciiNameIgnoringCase(&self, name: &str) -> bool
{
self.name.eq_ignore_ascii_case(name)
}
}