#[derive(Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
pub enum Importance
{
Normal,
Important,
}
impl Default for Importance
{
#[inline(always)]
fn default() -> Self
{
Importance::Normal
}
}
impl ToCss for Importance
{
fn to_css<W: fmt::Write>(&self, dest: &mut W) -> fmt::Result
{
match *self
{
Normal => Ok(()),
Important => dest.write_str("!important"),
}
}
}
impl HasImportance for Importance
{
#[inline(always)]
fn validateParsedImportance<'i>(importance: Importance) -> Result<Self, ParseError<'i, CustomParseError<'i>>>
{
Ok(importance)
}
#[inline(always)]
fn isImportant(&self) -> bool
{
match *self
{
Normal => false,
Important => true,
}
}
}
impl Importance
{
#[inline(always)]
pub fn from_bool(isImportant: bool) -> Self
{
if isImportant
{
Important
}
else
{
Normal
}
}
#[inline(always)]
pub(crate) fn parse<'i, 't>(input: &mut Parser<'i, 't>) -> Self
{
Self::from_bool(input.try(parse_important).is_ok())
}
}