var TYPE = require('../../tokenizer').TYPE; var rawMode = require('../node/Raw').mode; var COMMA = TYPE.Comma; var WHITESPACE = TYPE.WhiteSpace; // var( , ? ) module.exports = function() { var children = this.createList(); this.scanner.skipSC(); // NOTE: Don't check more than a first argument is an ident, rest checks are for lexer children.push(this.Identifier()); this.scanner.skipSC(); if (this.scanner.tokenType === COMMA) { children.push(this.Operator()); const startIndex = this.scanner.tokenIndex; const value = this.parseCustomProperty ? this.Value(null) : this.Raw(this.scanner.tokenIndex, rawMode.exclamationMarkOrSemicolon, false); if (value.type === 'Value' && value.children.isEmpty()) { for (let offset = startIndex - this.scanner.tokenIndex; offset <= 0; offset++) { if (this.scanner.lookupType(offset) === WHITESPACE) { value.children.appendData({ type: 'WhiteSpace', loc: null, value: ' ' }); break; } } } children.push(value); } return children; };