From 76cb9c2a39d477a64824a985ade40507e3bbade1 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Fri, 13 Feb 2026 21:34:48 -0800 Subject: feat(vanilla): add testing infrastructure and tests (NK-wjnczv) --- .../css-tree/cjs/syntax/function/var.cjs | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 vanilla/node_modules/css-tree/cjs/syntax/function/var.cjs (limited to 'vanilla/node_modules/css-tree/cjs/syntax/function/var.cjs') diff --git a/vanilla/node_modules/css-tree/cjs/syntax/function/var.cjs b/vanilla/node_modules/css-tree/cjs/syntax/function/var.cjs new file mode 100644 index 0000000..f688eab --- /dev/null +++ b/vanilla/node_modules/css-tree/cjs/syntax/function/var.cjs @@ -0,0 +1,43 @@ +'use strict'; + +const types = require('../../tokenizer/types.cjs'); + +// var( , ? ) +function varFn() { + const children = this.createList(); + + this.skipSC(); + + // NOTE: Don't check more than a first argument is an ident, rest checks are for lexer + children.push(this.Identifier()); + + this.skipSC(); + + if (this.tokenType === types.Comma) { + children.push(this.Operator()); + + const startIndex = this.tokenIndex; + const value = this.parseCustomProperty + ? this.Value(null) + : this.Raw(this.consumeUntilExclamationMarkOrSemicolon, false); + + if (value.type === 'Value' && value.children.isEmpty) { + for (let offset = startIndex - this.tokenIndex; offset <= 0; offset++) { + if (this.lookupType(offset) === types.WhiteSpace) { + value.children.appendData({ + type: 'WhiteSpace', + loc: null, + value: ' ' + }); + break; + } + } + } + + children.push(value); + } + + return children; +} + +module.exports = varFn; -- cgit v1.2.3