UNPKG

node-less

Version:

Less Compiler For Node

41 lines (35 loc) 1.33 kB
(function (module) { var visitor = require('./visitor.js'); var joinSelectorVisitor = function() { this.contexts = [[]]; this._visitor = new visitor(this); }; joinSelectorVisitor.prototype = { run: function (root) { return this._visitor.visit(root); }, visitRule: function (ruleNode, visitArgs) { visitArgs.visitDeeper = false; }, visitMixinDefinition: function (mixinDefinitionNode, visitArgs) { visitArgs.visitDeeper = false; }, visitRuleset: function (rulesetNode, visitArgs) { var context = this.contexts[this.contexts.length - 1]; var paths = []; this.contexts.push(paths); if (! rulesetNode.root) { rulesetNode.joinSelectors(paths, context, rulesetNode.selectors); rulesetNode.paths = paths; } }, visitRulesetOut: function (rulesetNode) { this.contexts.length = this.contexts.length - 1; }, visitMedia: function (mediaNode, visitArgs) { var context = this.contexts[this.contexts.length - 1]; mediaNode.ruleset.root = (context.length === 0 || context[0].multiMedia); } }; module.exports = joinSelectorVisitor; })(module);