Struct parcel_css::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
sourceimpl<'i> DeclarationBlock<'i>
impl<'i> DeclarationBlock<'i>
sourcepub fn parse<'t>(
input: &mut Parser<'i, 't>,
options: &ParserOptions
) -> Result<Self, ParseError<'i, ParserError<'i>>>
pub fn parse<'t>(
input: &mut Parser<'i, 't>,
options: &ParserOptions
) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parses a declaration block from CSS syntax.
sourcepub fn parse_string(
input: &'i str,
options: ParserOptions
) -> Result<Self, ParseError<'i, ParserError<'i>>>
pub fn parse_string(
input: &'i str,
options: ParserOptions
) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parses a declaration block from a string.
sourceimpl<'i> DeclarationBlock<'i>
impl<'i> DeclarationBlock<'i>
sourceimpl<'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
sourceimpl<'i> Clone for DeclarationBlock<'i>
impl<'i> Clone for DeclarationBlock<'i>
sourcefn clone(&self) -> DeclarationBlock<'i>
fn clone(&self) -> DeclarationBlock<'i>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'i> Debug for DeclarationBlock<'i>
impl<'i> Debug for DeclarationBlock<'i>
sourceimpl<'i> PartialEq<DeclarationBlock<'i>> for DeclarationBlock<'i>
impl<'i> PartialEq<DeclarationBlock<'i>> for DeclarationBlock<'i>
sourcefn eq(&self, other: &DeclarationBlock<'i>) -> bool
fn eq(&self, other: &DeclarationBlock<'i>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &DeclarationBlock<'i>) -> bool
fn ne(&self, other: &DeclarationBlock<'i>) -> bool
This method tests for !=
.
sourceimpl<'i> ToCss for DeclarationBlock<'i>
impl<'i> ToCss for DeclarationBlock<'i>
sourcefn 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,
Serialize self
in CSS syntax, writing to dest
.
sourcefn to_css_string(
&self,
options: PrinterOptions<'_>
) -> Result<String, PrinterError>
fn to_css_string(
&self,
options: PrinterOptions<'_>
) -> Result<String, PrinterError>
Serialize self
in CSS syntax and return a string. Read more
impl<'i> StructuralPartialEq for DeclarationBlock<'i>
Auto Trait Implementations
impl<'i> RefUnwindSafe for DeclarationBlock<'i>
impl<'i> Send for DeclarationBlock<'i>
impl<'i> Sync for DeclarationBlock<'i>
impl<'i> Unpin for DeclarationBlock<'i>
impl<'i> UnwindSafe for DeclarationBlock<'i>
Blanket Implementations
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more