UNPKG

svelte-ast-print

Version:

Serialize Svelte AST nodes into stringified syntax. A.k.a parse in reverse.

43 lines 2.17 kB
/** * Printers related to Svelte **CSS**-related AST nodes only. * @module svelte-ast-print/css */ import { printCSSAtrule, printCSSBlock, printCSSDeclaration, printCSSRule } from "./css/rule.js"; import { printCSSAttributeSelector, printCSSClassSelector, printCSSCombinator, printCSSComplexSelector, printCSSIdSelector, printCSSNestingSelector, printCSSNth, printCSSPercentage, printCSSPseudoClassSelector, printCSSPseudoElementSelector, printCSSRelativeSelector, printCSSSelectorList, printCSSTypeSelector, } from "./css/selector.js"; import { printCSSStyleSheet } from "./template/root.js"; /** * @see {@link https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors} * * @example syntax * ```css * [name<?matcher><?"value"> flags?] * ``` * * @since 1.0.0 * @__NO_SIDE_EFFECTS__ */ export function printCSSNode(n, opts = {}) { // biome-ignore format: Prettier // prettier-ignore switch (n.type) { case "Block": return printCSSBlock(n, opts); case "Combinator": return printCSSCombinator(n, opts); case "Declaration": return printCSSDeclaration(n, opts); case "AttributeSelector": return printCSSAttributeSelector(n, opts); case "ClassSelector": return printCSSClassSelector(n, opts); case "ComplexSelector": return printCSSComplexSelector(n, opts); case "IdSelector": return printCSSIdSelector(n, opts); case "NestingSelector": return printCSSNestingSelector(n, opts); case "PseudoClassSelector": return printCSSPseudoClassSelector(n, opts); case "PseudoElementSelector": return printCSSPseudoElementSelector(n, opts); case "RelativeSelector": return printCSSRelativeSelector(n, opts); case "TypeSelector": return printCSSTypeSelector(n, opts); case "SelectorList": return printCSSSelectorList(n, opts); case "Nth": return printCSSNth(n, opts); case "Percentage": return printCSSPercentage(n, opts); case "Atrule": return printCSSAtrule(n, opts); case "Rule": return printCSSRule(n, opts); case "StyleSheet": return printCSSStyleSheet(n, opts); } } //# sourceMappingURL=css.js.map