You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.1 KiB
						
					
					
				import { LeftCurlyBracket } from '../../tokenizer/index.js'; | 
						|
 | 
						|
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 !== LeftCurlyBracket) { | 
						|
        this.error(); | 
						|
    } | 
						|
 | 
						|
    return prelude; | 
						|
} | 
						|
 | 
						|
export const name = 'Rule'; | 
						|
export const walkContext = 'rule'; | 
						|
export const structure = { | 
						|
    prelude: ['SelectorList', 'Raw'], | 
						|
    block: ['Block'] | 
						|
}; | 
						|
 | 
						|
export 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 | 
						|
    }; | 
						|
} | 
						|
export function generate(node) { | 
						|
    this.node(node.prelude); | 
						|
    this.node(node.block); | 
						|
} | 
						|
 | 
						|
 |