| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import { Comma, WhiteSpace } from '../../tokenizer/index.js';
- // var( <ident> , <value>? )
- export default function() {
- 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 === 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) === WhiteSpace) {
- value.children.appendData({
- type: 'WhiteSpace',
- loc: null,
- value: ' '
- });
- break;
- }
- }
- }
- children.push(value);
- }
- return children;
- };
|