stylelint
Version:
A mighty CSS linter that helps you avoid errors and enforce conventions.
18 lines (15 loc) • 466 B
JavaScript
import selectorParser from 'postcss-selector-parser';
const SELECTOR_CONTAINING_PSEUDO_CLASSES = new Set(
['is', 'matches', 'not', 'where', 'host'].map((s) => `:${s}`),
);
/**
* @param {unknown} node
* @returns {node is selectorParser.Pseudo}
*/
export default function isSelectorContainingPseudoClass(node) {
return (
selectorParser.isPseudoClass(node) &&
node.nodes.length > 0 &&
SELECTOR_CONTAINING_PSEUDO_CLASSES.has(node.value.toLowerCase())
);
}