Spaces:
Paused
Paused
| ; | |
| const types = require('../../tokenizer/types.cjs'); | |
| // var( <ident> , <value>? ) | |
| 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; | |