pub struct CssAnalytics {Show 23 fields
pub total_declarations: u32,
pub important_declarations: u32,
pub rule_count: u32,
pub empty_rule_count: u32,
pub max_nesting_depth: u8,
pub notable_rules: Vec<CssRuleMetric>,
pub notable_truncated: bool,
pub colors: Vec<String>,
pub font_sizes: Vec<String>,
pub z_indexes: Vec<String>,
pub box_shadows: Vec<String>,
pub border_radii: Vec<String>,
pub line_heights: Vec<String>,
pub defined_custom_properties: Vec<String>,
pub referenced_custom_properties: Vec<String>,
pub defined_keyframes: Vec<String>,
pub referenced_keyframes: Vec<String>,
pub registered_custom_properties: Vec<String>,
pub declared_layers: Vec<String>,
pub populated_layers: Vec<String>,
pub defined_font_faces: Vec<String>,
pub referenced_font_families: Vec<String>,
pub declaration_blocks: Vec<CssDeclarationBlock>,
}Expand description
Stylesheet-level structural CSS analytics, computed from the parsed CSS
syntax tree. Feeds fallow health penalty weights and located findings,
never a standalone CSS score.
Fields§
§total_declarations: u32Total declarations across every style rule (normal plus !important).
important_declarations: u32Total !important declarations across every style rule.
rule_count: u32Number of style rules.
empty_rule_count: u32Number of style rules with no declarations.
max_nesting_depth: u8Deepest style-rule nesting depth observed (0 = no nesting).
notable_rules: Vec<CssRuleMetric>Rules that crossed the structural floor, in source order. Bounded; see
Self::notable_truncated. The scalar aggregates above always reflect
the full stylesheet regardless of truncation.
notable_truncated: booltrue when more rules crossed the structural floor than notable_rules
retains (compiled utility CSS can emit thousands of !important rules),
so consumers can note that per-rule findings were capped.
colors: Vec<String>Distinct color VALUES in the stylesheet, sorted (a palette-size /
design-token-sprawl signal). The parser canonicalizes notation, so the
authored format is NOT preserved: red, #f00, #ff0000, and
rgb(255,0,0) all collapse to one entry, and every legacy sRGB notation
renders as hex. Notation-MIXING (hex vs rgb vs hsl) is therefore not
detectable from this set; it would need a separate raw-token pass.
font_sizes: Vec<String>Distinct font-size declaration values in the stylesheet, sorted.
z_indexes: Vec<String>Distinct z-index declaration values in the stylesheet, sorted.
box_shadows: Vec<String>Distinct box-shadow declaration values in the stylesheet, sorted. A
high count signals an uncontrolled shadow scale (design-token sprawl).
border_radii: Vec<String>Distinct border-radius declaration values in the stylesheet, sorted.
line_heights: Vec<String>Distinct line-height declaration values in the stylesheet, sorted.
defined_custom_properties: Vec<String>Distinct custom properties (--x) DEFINED in the stylesheet, sorted.
referenced_custom_properties: Vec<String>Distinct custom properties REFERENCED via var() in the stylesheet.
defined_keyframes: Vec<String>Distinct @keyframes names DEFINED in the stylesheet, sorted.
referenced_keyframes: Vec<String>Distinct @keyframes names REFERENCED via animation / animation-name.
registered_custom_properties: Vec<String>Distinct custom properties REGISTERED via an @property rule, sorted.
declared_layers: Vec<String>Distinct cascade layers DECLARED (via @layer a, b; statements or named
@layer a { } blocks), sorted.
populated_layers: Vec<String>Distinct cascade layers POPULATED by a named @layer a { } block, sorted.
A layer declared but never populated (and not imported into) is a
cleanup candidate.
defined_font_faces: Vec<String>Distinct font families DECLARED by an @font-face rule in the stylesheet,
sorted. A declared family referenced by no font-family anywhere is a
dead web-font payload (cleanup candidate).
referenced_font_families: Vec<String>Distinct font families REFERENCED via font-family / font in the
stylesheet, sorted (generic keywords like serif excluded).
declaration_blocks: Vec<CssDeclarationBlock>Per-rule declaration-block fingerprints for rules at or above the minimum
block size, used to detect duplicate declaration blocks across the
project. Internal staging consumed by the health layer; never serialized
(the public output is the grouped duplicate_declaration_blocks).
Trait Implementations§
Source§impl Clone for CssAnalytics
impl Clone for CssAnalytics
Source§fn clone(&self) -> CssAnalytics
fn clone(&self) -> CssAnalytics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CssAnalytics
impl Debug for CssAnalytics
Source§impl Default for CssAnalytics
impl Default for CssAnalytics
Source§fn default() -> CssAnalytics
fn default() -> CssAnalytics
Auto Trait Implementations§
impl Freeze for CssAnalytics
impl RefUnwindSafe for CssAnalytics
impl Send for CssAnalytics
impl Sync for CssAnalytics
impl Unpin for CssAnalytics
impl UnsafeUnpin for CssAnalytics
impl UnwindSafe for CssAnalytics
Blanket Implementations§
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<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more