UNPKG

postcss-minify-selectors

Version:

Minify selectors with PostCSS.

42 lines (38 loc) • 970 B
import { normalizeArena } from './normalizeArena.js'; import { parseSelectorArena } from './parseArena.js'; import { serializeNormalized } from './serializeArena.js'; /** * @param {string} source * @param {boolean} [sort] * @param {boolean} [convertToIs] * @param {boolean} [keyframe] * @param {boolean} [hasDefaultNamespace] */ function normalizeList( source, sort = true, convertToIs = true, keyframe = false, hasDefaultNamespace = false ) { const arena = parseSelectorArena(source, { keyframe, hasDefaultNamespace, verifyArena: false, }); return serializeNormalized( arena, normalizeArena(arena, { sort, convertToIs, keyframe, hasDefaultNamespace, }) ); } /** @param {string} source */ function specificityOf(source) { const arena = parseSelectorArena(source, { verifyArena: false }); return (arena.nodes[0].specificity ?? [0, 0, 0]).join(','); } export { normalizeList, specificityOf };