Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 2x 2x 2x 2x 2x 2x 2x 2x 367x 367x 2x 2x 2x 2x 96x 76x 76x 2x 2x 138x 2x 2x 2x 2x 1248x 206x 206x 206x 206x 1248x 1248x 2x 2x 1234x 6x 1234x 1228x 1228x 1234x 2x | import { walk } from 'zimmerframe'; import * as w from '../../../warnings.js'; import { is_keyframes_node } from '../../css.js'; /** * @param {import('#compiler').Css.StyleSheet} stylesheet */ export function warn_unused(stylesheet) { walk(stylesheet, { stylesheet }, visitors); } /** @type {import('zimmerframe').Visitors<import('#compiler').Css.Node, { stylesheet: import('#compiler').Css.StyleSheet }>} */ const visitors = { Atrule(node, context) { if (!is_keyframes_node(node)) { context.next(); } }, PseudoClassSelector(node, context) { if (node.name === 'is' || node.name === 'where') { context.next(); } }, ComplexSelector(node, context) { if (!node.metadata.used) { const content = context.state.stylesheet.content; const text = content.styles.substring(node.start - content.start, node.end - content.start); w.css_unused_selector(node, text); } context.next(); }, Rule(node, context) { if (node.metadata.is_global_block) { context.visit(node.prelude); } else { context.next(); } } }; |