Spaces:
Configuration error
Configuration error
; | |
const types = require('../../tokenizer/types.cjs'); | |
function consumeRaw(startToken) { | |
return this.Raw(startToken, this.consumeUntilLeftCurlyBracket, true); | |
} | |
function consumePrelude() { | |
const prelude = this.SelectorList(); | |
if (prelude.type !== 'Raw' && | |
this.eof === false && | |
this.tokenType !== types.LeftCurlyBracket) { | |
this.error(); | |
} | |
return prelude; | |
} | |
const name = 'Rule'; | |
const walkContext = 'rule'; | |
const structure = { | |
prelude: ['SelectorList', 'Raw'], | |
block: ['Block'] | |
}; | |
function parse() { | |
const startToken = this.tokenIndex; | |
const startOffset = this.tokenStart; | |
let prelude; | |
let block; | |
if (this.parseRulePrelude) { | |
prelude = this.parseWithFallback(consumePrelude, consumeRaw); | |
} else { | |
prelude = consumeRaw.call(this, startToken); | |
} | |
block = this.Block(true); | |
return { | |
type: 'Rule', | |
loc: this.getLocation(startOffset, this.tokenStart), | |
prelude, | |
block | |
}; | |
} | |
function generate(node) { | |
this.node(node.prelude); | |
this.node(node.block); | |
} | |
exports.generate = generate; | |
exports.name = name; | |
exports.parse = parse; | |
exports.structure = structure; | |
exports.walkContext = walkContext; | |