123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- var TYPE = require('../../tokenizer').TYPE;
- var IDENTIFIER = TYPE.Identifier;
- var NUMBER = TYPE.Number;
- var NUMBERSIGN = TYPE.NumberSign;
- var LEFTSQUAREBRACKET = TYPE.LeftSquareBracket;
- var PLUSSIGN = TYPE.PlusSign;
- var SOLIDUS = TYPE.Solidus;
- var ASTERISK = TYPE.Asterisk;
- var FULLSTOP = TYPE.FullStop;
- var COLON = TYPE.Colon;
- var GREATERTHANSIGN = TYPE.GreaterThanSign;
- var VERTICALLINE = TYPE.VerticalLine;
- var TILDE = TYPE.Tilde;
- function getNode(context) {
- switch (this.scanner.tokenType) {
- case PLUSSIGN:
- case GREATERTHANSIGN:
- case TILDE:
- context.space = null;
- context.ignoreWSAfter = true;
- return this.Combinator();
- case SOLIDUS: // /deep/
- return this.Combinator();
- case FULLSTOP:
- return this.ClassSelector();
- case LEFTSQUAREBRACKET:
- return this.AttributeSelector();
- case NUMBERSIGN:
- return this.IdSelector();
- case COLON:
- if (this.scanner.lookupType(1) === COLON) {
- return this.PseudoElementSelector();
- } else {
- return this.PseudoClassSelector();
- }
- case IDENTIFIER:
- case ASTERISK:
- case VERTICALLINE:
- return this.TypeSelector();
- case NUMBER:
- return this.Percentage();
- }
- };
- module.exports = {
- getNode: getNode
- };
|