diff --git a/postcss-selector-parser.d.ts b/postcss-selector-parser.d.ts index 4efbc10..f98bde5 100644 --- a/postcss-selector-parser.d.ts +++ b/postcss-selector-parser.d.ts @@ -263,6 +263,7 @@ declare namespace parser { callback: (node: Pseudo) => boolean | void ): boolean | undefined; walkTags(callback: (node: Tag) => boolean | void): boolean | undefined; + walkUniversals(callback: (node: Universal) => boolean | void): boolean | undefined; split(callback: (node: Child) => boolean): [Child[], Child[]]; map(callback: (node: Child) => T): T[]; reduce( diff --git a/postcss-selector-parser.test.ts b/postcss-selector-parser.test.ts index bd7a01a..5ba3fa7 100644 --- a/postcss-selector-parser.test.ts +++ b/postcss-selector-parser.test.ts @@ -2,11 +2,18 @@ import * as parser from './postcss-selector-parser'; parser((root) => { root.each((node, index) => { - node as parser.Selector; - index as number; + node satisfies parser.Selector; + index satisfies number; }); root.walk((node, index) => { - node as parser.Selector; - index as number; + node satisfies parser.Node; + index satisfies number; + + if (node.type === 'selector') { + node satisfies parser.Selector; + } + }); + root.walkUniversals((node) => { + node satisfies parser.Universal; }); }).processSync("a b > c");