UNPKG

cssnano

Version:

A modular CSS minifier, built on top of the PostCSS ecosystem.

53 lines • 1.92 kB
import type { ChildNode, Container, Declaration, Rule } from 'postcss'; import type MergeState from './mergeState.js'; /** @import {ChildNode, Container, Declaration, Rule} from 'postcss' */ /** @import MergeState from './mergeState.js' */ /** * A rule made only of declarations. Comments and nested rules would be * stranded or reordered by moving declarations out of the rule. * * @param {ChildNode} node * @return {node is Rule} */ export declare const isDeclarationRule: (node: ChildNode) => node is Rule; /** * The positions in `later` of declarations that repeat every one of * `declarations`, or null when a repeat does not stand first for its * property, since removing it would then change what `later` sets. * * @param {Declaration[]} declarations * @param {Declaration[]} later * @return {Set<number> | null} */ export declare function claimRepeats(declarations: Declaration[], later: Declaration[]): Set<number> | null; export type Group = { rule: Rule; position: number; declarations: Declaration[]; /** * declaration keys, in order */ keys: number[]; /** * listed selectors, built on demand */ selectors: Set<string> | null; /** * declaration bytes, each with its separator, or -1 */ bytes: number; }; /** * A later rule that repeats all declarations of an earlier rule adds its * selectors to that rule, and gives up the repeated declarations, when no * node between them sets a property they also set: the earlier rule then * applies the declarations to the same elements as before. The earlier * rule, the group, keeps its position and its declarations, so it can take * further rules. * * @param {Container} parent * @param {MergeState} mergeState * @return {boolean} */ export default function joinByDeclarations(parent: Container, mergeState: MergeState): boolean; //# sourceMappingURL=declarationJoin.d.ts.map