Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/flo-bit/shapecraft. flo-bit.dev/shapecraft
Something went wrong. Try again.
943 B · 47 lines
JavaScript
at commit 049ef598
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import { Ident } from '../../tokenizer/index.js';
export const name = 'Nth';export const structure = { nth: ['AnPlusB', 'Identifier'], selector: ['SelectorList', null]};
export function parse() { this.skipSC();
const start = this.tokenStart; let end = start; let selector = null; let nth;
if (this.lookupValue(0, 'odd') || this.lookupValue(0, 'even')) { nth = this.Identifier(); } else { nth = this.AnPlusB(); }
end = this.tokenStart; this.skipSC();
if (this.lookupValue(0, 'of')) { this.next();
selector = this.SelectorList(); end = this.tokenStart; }
return { type: 'Nth', loc: this.getLocation(start, end), nth, selector };}
export function generate(node) { this.node(node.nth); if (node.selector !== null) { this.token(Ident, 'of'); this.node(node.selector); }}