Spaces:
Paused
Paused
| ; | |
| const types = require('../../tokenizer/types.cjs'); | |
| const name = 'AtrulePrelude'; | |
| const walkContext = 'atrulePrelude'; | |
| const structure = { | |
| children: [[]] | |
| }; | |
| function parse(name) { | |
| let children = null; | |
| if (name !== null) { | |
| name = name.toLowerCase(); | |
| } | |
| this.skipSC(); | |
| if (hasOwnProperty.call(this.atrule, 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.skipSC(); | |
| if (this.eof !== true && | |
| this.tokenType !== types.LeftCurlyBracket && | |
| this.tokenType !== types.Semicolon) { | |
| this.error('Semicolon or block is expected'); | |
| } | |
| return { | |
| type: 'AtrulePrelude', | |
| loc: this.getLocationFromList(children), | |
| children | |
| }; | |
| } | |
| function generate(node) { | |
| this.children(node); | |
| } | |
| exports.generate = generate; | |
| exports.name = name; | |
| exports.parse = parse; | |
| exports.structure = structure; | |
| exports.walkContext = walkContext; | |