| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 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    });};
 |