28 lines
		
	
	
		
			569 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			569 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| 
 | |
| let Container = require('./container')
 | |
| let list = require('./list')
 | |
| 
 | |
| class Rule extends Container {
 | |
|   get selectors() {
 | |
|     return list.comma(this.selector)
 | |
|   }
 | |
| 
 | |
|   set selectors(values) {
 | |
|     let match = this.selector ? this.selector.match(/,\s*/) : null
 | |
|     let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')
 | |
|     this.selector = values.join(sep)
 | |
|   }
 | |
| 
 | |
|   constructor(defaults) {
 | |
|     super(defaults)
 | |
|     this.type = 'rule'
 | |
|     if (!this.nodes) this.nodes = []
 | |
|   }
 | |
| }
 | |
| 
 | |
| module.exports = Rule
 | |
| Rule.default = Rule
 | |
| 
 | |
| Container.registerRule(Rule)
 |