ClassSelector.js 712 B

123456789101112131415161718192021222324252627282930
  1. var TYPE = require('../../tokenizer').TYPE;
  2. var CHARCODE = require('../../tokenizer').CHARCODE;
  3. var IDENT = TYPE.Ident;
  4. var FULLSTOP = CHARCODE.FullStop;
  5. // '.' ident
  6. module.exports = {
  7. name: 'ClassSelector',
  8. structure: {
  9. name: String
  10. },
  11. parse: function() {
  12. if (!this.scanner.isDelim(FULLSTOP)) {
  13. this.error('Full stop is expected');
  14. }
  15. this.scanner.next();
  16. return {
  17. type: 'ClassSelector',
  18. loc: this.getLocation(this.scanner.tokenStart - 1, this.scanner.tokenEnd),
  19. name: this.consume(IDENT)
  20. };
  21. },
  22. generate: function(node) {
  23. this.chunk('.');
  24. this.chunk(node.name);
  25. }
  26. };