From 44ea4b12d51e5eda9ad9f096bcd8a79fc1926da6 Mon Sep 17 00:00:00 2001 From: Marco Pasqualetti Date: Tue, 25 Nov 2025 20:05:17 +0100 Subject: [PATCH] fix(types): add `walkUniversal` declaration --- postcss-selector-parser.d.ts | 1 + postcss-selector-parser.test.ts | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) 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");