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>(
input: &mut Parser<'i, 't>,
options: &'a ParserOptions<'o, 'i>,
) -> Result<Self, ParseError<'i, ParserError<'i>>>
pub fn parse<'a, 'o, 't>( input: &mut Parser<'i, 't>, options: &'a ParserOptions<'o, 'i>, ) -> Result<Self, ParseError<'i, ParserError<'i>>>
Parses a declaration block from CSS syntax.
Sourcepub fn parse_string<'o>(
input: &'i str,
options: ParserOptions<'o, 'i>,
) -> Result<Self, ParseError<'i, ParserError<'i>>>
pub fn parse_string<'o>( input: &'i str, options: ParserOptions<'o, 'i>, ) -> 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> Default for DeclarationBlock<'i>
impl<'i> Default for DeclarationBlock<'i>
Source§fn default() -> DeclarationBlock<'i>
fn default() -> DeclarationBlock<'i>
Source§impl<'de: 'i, 'i> Deserialize<'de> for DeclarationBlock<'i>
impl<'de: 'i, 'i> Deserialize<'de> for DeclarationBlock<'i>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'any, 'i> IntoOwned<'any> for DeclarationBlock<'i>
impl<'any, 'i> IntoOwned<'any> for DeclarationBlock<'i>
Source§fn into_owned(self) -> Self::Owned
fn into_owned(self) -> Self::Owned
Consumes the value and returns an owned clone.
Source§type Owned = DeclarationBlock<'any>
type Owned = DeclarationBlock<'any>
Self
with a new lifetime.Source§impl<'i> JsonSchema for DeclarationBlock<'i>
impl<'i> JsonSchema for DeclarationBlock<'i>
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moreSource§impl<'i> PartialEq for DeclarationBlock<'i>
impl<'i> PartialEq for DeclarationBlock<'i>
Source§impl<'i> Serialize for DeclarationBlock<'i>
impl<'i> Serialize for DeclarationBlock<'i>
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 moreSource§impl<'i, __T: Visit<'i, __T, __V>, __V: ?Sized + Visitor<'i, __T>> Visit<'i, __T, __V> for DeclarationBlock<'i>
impl<'i, __T: Visit<'i, __T, __V>, __V: ?Sized + Visitor<'i, __T>> Visit<'i, __T, __V> for DeclarationBlock<'i>
Source§const CHILD_TYPES: VisitTypes
const CHILD_TYPES: VisitTypes
visitor
only.impl<'i> StructuralPartialEq for DeclarationBlock<'i>
Auto Trait Implementations§
impl<'i> Freeze for DeclarationBlock<'i>
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§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more