Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/flo-bit/shapecraft. flo-bit.dev/shapecraft
Something went wrong. Try again.
1.2 kB · 58 lines
at commit da69385e
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859'use strict';
const types = require('../../tokenizer/types.cjs');
function consumeRaw() { return this.Raw(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;