walkValues
walkValues(
values: Token[],
root?:
| AstStyleSheet
| AstAtRule
| AstRule
| AstKeyframesAtRule
| AstKeyframesRule
| AstInvalidRule
| AstComment
| AstDeclaration
| AstInvalidAtRule
| AstInvalidDeclaration
| CssVariableToken
| CssVariableImportTokenType
| WhitespaceToken
| InvalidClassSelectorToken
| InvalidAttrToken
| LiteralToken
| IdentToken
| IdentListToken
| DashedIdentToken
| WrappedValuesToken
| CommaToken
| ColonToken
| DoubleColonToken
| SemiColonToken
| ClassSelectorToken
| UniversalSelectorToken
| ChildCombinatorToken
| DescendantCombinatorToken
| NextSiblingCombinatorToken
| SubsequentCombinatorToken
| ColumnCombinatorToken
| NestingSelectorToken
| WhenElseUnaryConditionToken
| WhenElseQueryConditionToken
| SupportsQueryUnaryConditionToken
| SupportsQueryConditionToken
| MediaQueryConditionToken
| MediaFeatureToken
| MediaQueryUnaryFeatureToken
| IfConditionToken
| IfElseConditionToken
| NotToken
| MediaFeatureOnlyToken
| AndToken
| OrToken
| MediaRangeQueryToken
| ContainerStyleRangeToken
| NumberToken
| AtRuleToken
| PercentageToken
| FlexToken
| FunctionURLToken
| FunctionImageToken
| TimingFunctionToken
| TimelineFunctionToken
| FunctionToken
| GridTemplateFuncToken
| DimensionToken
| LengthToken
| AngleToken
| StringToken
| TimeToken
| FrequencyToken
| ResolutionToken
| UnclosedStringToken
| HashToken
| BadStringToken
| BlockStartToken
| BlockEndToken
| AttrStartToken
| AttrEndToken
| ParensStartToken
| ParensEndToken
| ParensToken
| CDOCommentToken
| BadCDOCommentToken
| CommentToken
| BadCommentToken
| IncludeMatchToken
| StartMatchToken
| EndMatchToken
| ContainMatchToken
| MatchExpressionToken
| NameSpaceAttributeToken
| ComposesSelectorToken
| DashMatchToken
| EqualMatchToken
| LessThanToken
| LessThanOrEqualToken
| GreaterThanToken
| GreaterThanOrEqualToken
| ListToken
| PseudoClassToken
| PseudoPageToken
| PseudoElementToken
| PseudoClassFunctionToken
| DelimToken
| BinaryExpressionToken
| UnaryExpression
| FractionToken
| AddToken
| SubToken
| DivToken
| MulToken
| BadUrlToken
| UrlToken
| ImportantToken
| ColorToken
| AttrToken
| FunctionDefToken
| RawNodeToken
| InvalidMediaQueryToken
| EOFToken
| null,
filter?:
| WalkerValueFilter
| {
event?: WalkerEvent;
fn?: WalkerValueFilter;
type?: EnumToken
| EnumToken[]
| ((token: Token) => boolean);
}
| null,
reverse?: boolean,
): Generator<WalkAttributesResult>
Parameters
values: Token[]root:
| AstStyleSheet
| AstAtRule
| AstRule
| AstKeyframesAtRule
| AstKeyframesRule
| AstInvalidRule
| AstComment
| AstDeclaration
| AstInvalidAtRule
| AstInvalidDeclaration
| CssVariableToken
| CssVariableImportTokenType
| WhitespaceToken
| InvalidClassSelectorToken
| InvalidAttrToken
| LiteralToken
| IdentToken
| IdentListToken
| DashedIdentToken
| WrappedValuesToken
| CommaToken
| ColonToken
| DoubleColonToken
| SemiColonToken
| ClassSelectorToken
| UniversalSelectorToken
| ChildCombinatorToken
| DescendantCombinatorToken
| NextSiblingCombinatorToken
| SubsequentCombinatorToken
| ColumnCombinatorToken
| NestingSelectorToken
| WhenElseUnaryConditionToken
| WhenElseQueryConditionToken
| SupportsQueryUnaryConditionToken
| SupportsQueryConditionToken
| MediaQueryConditionToken
| MediaFeatureToken
| MediaQueryUnaryFeatureToken
| IfConditionToken
| IfElseConditionToken
| NotToken
| MediaFeatureOnlyToken
| AndToken
| OrToken
| MediaRangeQueryToken
| ContainerStyleRangeToken
| NumberToken
| AtRuleToken
| PercentageToken
| FlexToken
| FunctionURLToken
| FunctionImageToken
| TimingFunctionToken
| TimelineFunctionToken
| FunctionToken
| GridTemplateFuncToken
| DimensionToken
| LengthToken
| AngleToken
| StringToken
| TimeToken
| FrequencyToken
| ResolutionToken
| UnclosedStringToken
| HashToken
| BadStringToken
| BlockStartToken
| BlockEndToken
| AttrStartToken
| AttrEndToken
| ParensStartToken
| ParensEndToken
| ParensToken
| CDOCommentToken
| BadCDOCommentToken
| CommentToken
| BadCommentToken
| IncludeMatchToken
| StartMatchToken
| EndMatchToken
| ContainMatchToken
| MatchExpressionToken
| NameSpaceAttributeToken
| ComposesSelectorToken
| DashMatchToken
| EqualMatchToken
| LessThanToken
| LessThanOrEqualToken
| GreaterThanToken
| GreaterThanOrEqualToken
| ListToken
| PseudoClassToken
| PseudoPageToken
| PseudoElementToken
| PseudoClassFunctionToken
| DelimToken
| BinaryExpressionToken
| UnaryExpression
| FractionToken
| AddToken
| SubToken
| DivToken
| MulToken
| BadUrlToken
| UrlToken
| ImportantToken
| ColorToken
| AttrToken
| FunctionDefToken
| RawNodeToken
| InvalidMediaQueryToken
| EOFToken
| null = nullOptionalfilter:
| WalkerValueFilter
| {
event?: WalkerEvent;
fn?: WalkerValueFilter;
type?: EnumToken
| EnumToken[]
| ((token: Token) => boolean);
}
| nullOptionalreverse: booleanExample:
import {AstDeclaration, EnumToken, transform, walkValues} from '@tbela99/css-parser';
const css = `
body { color: color(from var(--base-color) display-p3 r calc(g + 0.24) calc(b + 0.15)); }
`;
const result = await transform(css);
const declaration = result.ast.chi[0].chi[0] as AstDeclaration;
// walk the node attribute's tokens in reverse order
for (const {value} of walkValues(declaration.val, null, null,true)) {
console.error([EnumToken[value.typ], value.val]);
}
// [ "Color", "color" ]
// [ "FunctionTokenType", "calc" ]
// [ "Number", 0.15 ]
// [ "Add", undefined ]
// [ "Iden", "b" ]
// [ "Whitespace", undefined ]
// [ "FunctionTokenType", "calc" ]
// [ "Number", 0.24 ]
// [ "Add", undefined ]
// [ "Iden", "g" ]
// [ "Whitespace", undefined ]
// [ "Iden", "r" ]
// [ "Whitespace", undefined ]
// [ "Iden", "display-p3" ]
// [ "Whitespace", undefined ]
// [ "FunctionTokenType", "var" ]
// [ "DashedIden", "--base-color" ]
// [ "Whitespace", undefined ]
// [ "Iden", "from" ]
Walk ast node value tokens