var TYPE = require('../../tokenizer').TYPE; 
 | 
  
 | 
var SEMICOLON = TYPE.Semicolon; 
 | 
var LEFTCURLYBRACKET = TYPE.LeftCurlyBracket; 
 | 
  
 | 
module.exports = { 
 | 
    name: 'AtrulePrelude', 
 | 
    structure: { 
 | 
        children: [[]] 
 | 
    }, 
 | 
    parse: function(name) { 
 | 
        var children = null; 
 | 
  
 | 
        if (name !== null) { 
 | 
            name = name.toLowerCase(); 
 | 
        } 
 | 
  
 | 
        this.scanner.skipSC(); 
 | 
  
 | 
        if (this.atrule.hasOwnProperty(name) && 
 | 
            typeof this.atrule[name].prelude === 'function') { 
 | 
            // custom consumer 
 | 
            children = this.atrule[name].prelude.call(this); 
 | 
        } else { 
 | 
            // default consumer 
 | 
            children = this.readSequence(this.scope.AtrulePrelude); 
 | 
        } 
 | 
  
 | 
        this.scanner.skipSC(); 
 | 
  
 | 
        if (this.scanner.eof !== true && 
 | 
            this.scanner.tokenType !== LEFTCURLYBRACKET && 
 | 
            this.scanner.tokenType !== SEMICOLON) { 
 | 
            this.error('Semicolon or block is expected'); 
 | 
        } 
 | 
  
 | 
        if (children === null) { 
 | 
            children = this.createList(); 
 | 
        } 
 | 
  
 | 
        return { 
 | 
            type: 'AtrulePrelude', 
 | 
            loc: this.getLocationFromList(children), 
 | 
            children: children 
 | 
        }; 
 | 
    }, 
 | 
    generate: function(node) { 
 | 
        this.children(node); 
 | 
    }, 
 | 
    walkContext: 'atrulePrelude' 
 | 
}; 
 |