Struct lightningcss::declaration::DeclarationBlock
source · pub struct DeclarationBlock<'i> {
pub important_declarations: Vec<Property<'i>>,
pub declarations: Vec<Property<'i>>,
}
Expand description
A CSS declaration block.
Properties are separated into a list of !important
declararations,
and a list of normal declarations. This reduces memory usage compared
with storing a boolean along with each property.
Fields§
§important_declarations: Vec<Property<'i>>
A list of !important
declarations in the block.
declarations: Vec<Property<'i>>
A list of normal declarations in the block.
Implementations§
source§impl<'i> DeclarationBlock<'i>
impl<'i> DeclarationBlock<'i>
sourcepub fn parse<'a, 'o, 't, T>(
input: &mut Parser<'i, 't>,
options: &'a ParserOptions<'o, 'i, T>
) -> Result<Self, ParseError<'i, ParserError<'i>>>
pub fn parse<'a, 'o, 't, T>(
input: &mut Parser<'i, 't>,
options: &'a ParserOptions<'o, 'i, T>
) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parses a declaration block from CSS syntax.
sourcepub fn parse_string<'o, T>(
input: &'i str,
options: ParserOptions<'o, 'i, T>
) -> Result<Self, ParseError<'i, ParserError<'i>>>
pub fn parse_string<'o, T>(
input: &'i str,
options: ParserOptions<'o, 'i, T>
) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parses a declaration block from a string.
source§impl<'i> DeclarationBlock<'i>
impl<'i> DeclarationBlock<'i>
sourcepub fn to_css_block<W>(
&self,
dest: &mut Printer<'_, '_, '_, W>
) -> Result<(), PrinterError>where
W: Write,
pub fn to_css_block<W>(
&self,
dest: &mut Printer<'_, '_, '_, W>
) -> Result<(), PrinterError>where
W: Write,
Writes the declarations to a CSS block, including starting and ending braces.
source§impl<'i> DeclarationBlock<'i>
impl<'i> DeclarationBlock<'i>
source§impl<'i> DeclarationBlock<'i>
impl<'i> DeclarationBlock<'i>
sourcepub fn iter(&self) -> impl DoubleEndedIterator<Item = (&Property<'i>, bool)>
pub fn iter(&self) -> impl DoubleEndedIterator<Item = (&Property<'i>, bool)>
Returns an iterator over all properties in the declaration.
sourcepub fn iter_mut(&mut self) -> impl DoubleEndedIterator<Item = &mut Property<'i>>
pub fn iter_mut(&mut self) -> impl DoubleEndedIterator<Item = &mut Property<'i>>
Returns a mutable iterator over all properties in the declaration.
sourcepub fn get<'a>(
&'a self,
property_id: &PropertyId<'_>
) -> Option<(Cow<'a, Property<'i>>, bool)>
pub fn get<'a>(
&'a self,
property_id: &PropertyId<'_>
) -> Option<(Cow<'a, Property<'i>>, bool)>
Returns the value for a given property id based on the properties in this declaration block.
If the property is a shorthand, the result will be a combined value of all of the included
longhands, or None
if some of the longhands are not declared. Otherwise, the value will be
either an explicitly declared longhand, or a value extracted from a shorthand property.
sourcepub fn set(&mut self, property: Property<'i>, important: bool)
pub fn set(&mut self, property: Property<'i>, important: bool)
Sets the value and importance for a given property, replacing any existing declarations.
If the property already exists within the declaration block, it is updated in place. Otherwise, a new declaration is appended. When updating a longhand property and a shorthand is defined which includes the longhand, the shorthand will be updated rather than appending a new declaration.
sourcepub fn remove(&mut self, property_id: &PropertyId<'_>)
pub fn remove(&mut self, property_id: &PropertyId<'_>)
Removes all declarations of the given property id from the declaration block.
When removing a longhand property and a shorthand is defined which includes the longhand, the shorthand will be split apart into its component longhand properties, minus the property to remove. When removing a shorthand, all included longhand properties are also removed.
Trait Implementations§
source§impl<'i> Clone for DeclarationBlock<'i>
impl<'i> Clone for DeclarationBlock<'i>
source§fn clone(&self) -> DeclarationBlock<'i>
fn clone(&self) -> DeclarationBlock<'i>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'i> Debug for DeclarationBlock<'i>
impl<'i> Debug for DeclarationBlock<'i>
source§impl<'i> PartialEq<DeclarationBlock<'i>> for DeclarationBlock<'i>
impl<'i> PartialEq<DeclarationBlock<'i>> for DeclarationBlock<'i>
source§fn eq(&self, other: &DeclarationBlock<'i>) -> bool
fn eq(&self, other: &DeclarationBlock<'i>) -> bool
source§impl<'i> ToCss for DeclarationBlock<'i>
impl<'i> ToCss for DeclarationBlock<'i>
source§fn to_css<W>(
&self,
dest: &mut Printer<'_, '_, '_, W>
) -> Result<(), PrinterError>where
W: Write,
fn to_css<W>(
&self,
dest: &mut Printer<'_, '_, '_, W>
) -> Result<(), PrinterError>where
W: Write,
self
in CSS syntax, writing to dest
.source§fn to_css_string(
&self,
options: PrinterOptions<'_>
) -> Result<String, PrinterError>
fn to_css_string(
&self,
options: PrinterOptions<'_>
) -> Result<String, PrinterError>
self
in CSS syntax and return a string. Read more