diff options
Diffstat (limited to 'node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs')
| -rw-r--r-- | node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs b/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs deleted file mode 100644 index 1a1f90ce..00000000 --- a/node_modules/csso/cjs/restructure/2-initialMergeRuleset.cjs +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -const cssTree = require('css-tree'); -const utils = require('./utils.cjs'); - -function processRule(node, item, list) { - const selectors = node.prelude.children; - const declarations = node.block.children; - - list.prevUntil(item.prev, function(prev) { - // skip non-ruleset node if safe - if (prev.type !== 'Rule') { - return utils.unsafeToSkipNode.call(selectors, prev); - } - - const prevSelectors = prev.prelude.children; - const prevDeclarations = prev.block.children; - - // try to join rulesets with equal pseudo signature - if (node.pseudoSignature === prev.pseudoSignature) { - // try to join by selectors - if (utils.isEqualSelectors(prevSelectors, selectors)) { - prevDeclarations.appendList(declarations); - list.remove(item); - return true; - } - - // try to join by declarations - if (utils.isEqualDeclarations(declarations, prevDeclarations)) { - utils.addSelectors(prevSelectors, selectors); - list.remove(item); - return true; - } - } - - // go to prev ruleset if has no selector similarities - return utils.hasSimilarSelectors(selectors, prevSelectors); - }); -} - -// NOTE: direction should be left to right, since rulesets merge to left -// ruleset. When direction right to left unmerged rulesets may prevent lookup -// TODO: remove initial merge -function initialMergeRule(ast) { - cssTree.walk(ast, { - visit: 'Rule', - enter: processRule - }); -} - -module.exports = initialMergeRule; |
