var TYPE = require('../../tokenizer').TYPE; var IDENTIFIER = TYPE.Identifier; var COMMA = TYPE.Comma; var SEMICOLON = TYPE.Semicolon; var HYPHENMINUS = TYPE.HyphenMinus; var EXCLAMATIONMARK = TYPE.ExclamationMark; // var '(' ident (',' ? )? ')' module.exports = function() { var children = this.createList(); this.scanner.skipSC(); var identStart = this.scanner.tokenStart; this.scanner.eat(HYPHENMINUS); if (this.scanner.source.charCodeAt(this.scanner.tokenStart) !== HYPHENMINUS) { this.scanner.error('HyphenMinus is expected'); } this.scanner.eat(IDENTIFIER); children.push({ type: 'Identifier', loc: this.getLocation(identStart, this.scanner.tokenStart), name: this.scanner.substrToCursor(identStart) }); this.scanner.skipSC(); if (this.scanner.tokenType === COMMA) { children.push(this.Operator()); children.push(this.parseCustomProperty ? this.Value(null) : this.Raw(this.scanner.currentToken, EXCLAMATIONMARK, SEMICOLON, false, false) ); } return children; };