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.
39 lines
781 B
39 lines
781 B
'use strict'; |
|
|
|
const name = 'Selector'; |
|
const structure = { |
|
children: [[ |
|
'TypeSelector', |
|
'IdSelector', |
|
'ClassSelector', |
|
'AttributeSelector', |
|
'PseudoClassSelector', |
|
'PseudoElementSelector', |
|
'Combinator', |
|
'WhiteSpace' |
|
]] |
|
}; |
|
|
|
function parse() { |
|
const children = this.readSequence(this.scope.Selector); |
|
|
|
// nothing were consumed |
|
if (this.getFirstListNode(children) === null) { |
|
this.error('Selector is expected'); |
|
} |
|
|
|
return { |
|
type: 'Selector', |
|
loc: this.getLocationFromList(children), |
|
children |
|
}; |
|
} |
|
|
|
function generate(node) { |
|
this.children(node); |
|
} |
|
|
|
exports.generate = generate; |
|
exports.name = name; |
|
exports.parse = parse; |
|
exports.structure = structure;
|
|
|