pub struct StyleSheet<'i, 'o, T = DefaultAtRule> {
    pub rules: CssRuleList<'i, T>,
    pub sources: Vec<String>,
    /* private fields */
}
Expand description

A CSS style sheet, representing a .css file or inline <style> element.

Style sheets can be parsed from a string, constructed from scratch, or created using a Bundler. Then, they can be minified and transformed for a set of target browsers, and serialied to a string.

Example

use lightningcss::stylesheet::{
  StyleSheet, ParserOptions, MinifyOptions, PrinterOptions
};

// Parse a style sheet from a string.
let mut stylesheet = StyleSheet::parse(
  r#"
  .foo {
    color: red;
  }

  .bar {
    color: red;
  }
  "#,
  ParserOptions::default()
).unwrap();

// Minify the stylesheet.
stylesheet.minify(MinifyOptions::default()).unwrap();

// Serialize it to a string.
let res = stylesheet.to_css(PrinterOptions::default()).unwrap();
assert_eq!(res.code, ".foo, .bar {\n  color: red;\n}\n");

Fields§

§rules: CssRuleList<'i, T>

A list of top-level rules within the style sheet.

§sources: Vec<String>

A list of file names for all source files included within the style sheet. Sources are referenced by index in the loc property of each rule.

Implementations§

source§

impl<'i, 'o> StyleSheet<'i, 'o, DefaultAtRule>

source

pub fn parse( code: &'i str, options: ParserOptions<'o, 'i> ) -> Result<Self, Error<ParserError<'i>>>

Parse a style sheet from a string.

source§

impl<'i, 'o, T> StyleSheet<'i, 'o, T>where T: ToCss,

source

pub fn new( sources: Vec<String>, rules: CssRuleList<'i, T>, options: ParserOptions<'o, 'i> ) -> StyleSheet<'i, 'o, T>

Creates a new style sheet with the given source filenames and rules.

source

pub fn parse_with<P: AtRuleParser<'i, AtRule = T>>( code: &'i str, options: ParserOptions<'o, 'i>, at_rule_parser: &mut P ) -> Result<Self, Error<ParserError<'i>>>

Parse a style sheet from a string.

source

pub fn source_map_url(&self, source_index: usize) -> Option<&String>

Returns the source map URL for the source at the given index.

source

pub fn source_map(&self, source_index: usize) -> Option<SourceMap>

Available on crate feature sourcemap only.

Returns the inline source map associated with the source at the given index.

source

pub fn minify( &mut self, options: MinifyOptions ) -> Result<(), Error<MinifyErrorKind>>

Minify and transform the style sheet for the provided browser targets.

source

pub fn to_css( &self, options: PrinterOptions<'_> ) -> Result<ToCssResult, Error<PrinterErrorKind>>

Serialize the style sheet to a CSS string.

Trait Implementations§

source§

impl<'i, 'o, T: Debug> Debug for StyleSheet<'i, 'o, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de: 'i, 'i, 'o, T> Deserialize<'de> for StyleSheet<'i, 'o, T>where T: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'i, 'o, T> JsonSchema for StyleSheet<'i, 'o, T>where T: JsonSchema,

source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
source§

fn json_schema(gen: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
source§

impl<'i, 'o, T> Serialize for StyleSheet<'i, 'o, T>where T: Serialize,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'i, 'o, T, V> Visit<'i, T, V> for StyleSheet<'i, 'o, T>where T: Visit<'i, T, V>, V: Visitor<'i, T>,

Available on crate feature visitor only.
source§

const CHILD_TYPES: VisitTypes = _

The types of values contained within this value and its children. This is used to skip branches that don’t have any values requested by the Visitor.
source§

fn visit_children(&mut self, visitor: &mut V) -> Result<(), V::Error>

Visit the children of this value.
source§

fn visit(&mut self, visitor: &mut V) -> Result<(), V::Error>

Visits the value by calling an appropriate method on the Visitor. If no corresponding visitor method exists, then the children are visited.

Auto Trait Implementations§

§

impl<'i, 'o, T> RefUnwindSafe for StyleSheet<'i, 'o, T>where T: RefUnwindSafe,

§

impl<'i, 'o, T> Send for StyleSheet<'i, 'o, T>where T: Send,

§

impl<'i, 'o, T> Sync for StyleSheet<'i, 'o, T>where T: Sync,

§

impl<'i, 'o, T> Unpin for StyleSheet<'i, 'o, T>where T: Unpin,

§

impl<'i, 'o, T> UnwindSafe for StyleSheet<'i, 'o, T>where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

§

fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,