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.
|
|
var List = require('css-tree').List; var walk = require('css-tree').walk;
function processRule(node, item, list) { var selectors = node.prelude.children;
// generate new rule sets:
// .a, .b { color: red; }
// ->
// .a { color: red; }
// .b { color: red; }
// while there are more than 1 simple selector split for rulesets
while (selectors.head !== selectors.tail) { var newSelectors = new List(); newSelectors.insert(selectors.remove(selectors.head));
list.insert(list.createItem({ type: 'Rule', loc: node.loc, prelude: { type: 'SelectorList', loc: node.prelude.loc, children: newSelectors }, block: { type: 'Block', loc: node.block.loc, children: node.block.children.copy() }, pseudoSignature: node.pseudoSignature }), item); } }
module.exports = function disjoinRule(ast) { walk(ast, { visit: 'Rule', reverse: true, enter: processRule }); };
|