move visitors to a different namespace

This commit is contained in:
Luke Page
2014-03-02 12:28:04 +00:00
parent e5b0fb6967
commit 7f34acd6d1
8 changed files with 31 additions and 23 deletions

View File

@@ -6,16 +6,11 @@ var less = {
};
less.tree = (require('./tree'))(less);
less.Parser = (require('./parser'))(less, less.tree);
less.visitor = require('./visitor/index.js')(less, less.tree);
less.Parser = (require('./parser'))(less, less.tree, less.visitor);
less.tree.functions = (require('./functions'))(less, less.tree);
require('./env')(less.tree);
less.tree.visitor = require('./visitor.js')(less.tree);
less.tree.importVisitor = require('./import-visitor.js')(less.tree);
less.tree.extendVisitor = require('./extend-visitor.js')(less.tree);
less.tree.joinSelectorVisitor = require('./join-selector-visitor.js')(less.tree.visitor);
less.tree.toCSSVisitor = require('./to-css-visitor.js')(less.tree);
less.tree.sourceMapOutput = require('./source-map-output.js')(less);
module.exports = less;

View File

@@ -1,4 +1,4 @@
module.exports = function(less, tree) {
module.exports = function(less, tree, visitor) {
//
// less.js - parser
//
@@ -557,9 +557,9 @@ var Parser = function Parser(env) {
try {
var preEvalVisitors = [],
visitors = [
new(tree.joinSelectorVisitor)(),
new(tree.extendVisitor)(),
new(tree.toCSSVisitor)({compress: Boolean(options.compress)})
new(visitor.joinSelectorVisitor)(),
new(visitor.extendVisitor)(),
new(visitor.toCSSVisitor)({compress: Boolean(options.compress)})
], i, root = this;
if (options.plugins) {
@@ -679,7 +679,7 @@ var Parser = function Parser(env) {
};
if (env.processImports !== false) {
new tree.importVisitor(this.imports, finish)
new visitor.importVisitor(this.imports, finish)
.run(root);
} else {
return finish();

View File

@@ -1,8 +1,8 @@
module.exports = function (tree) {
module.exports = function (visitor, tree) {
/*jshint loopfunc:true */
var extendFinderVisitor = function() {
this._visitor = new tree.visitor(this);
this._visitor = new visitor(this);
this.contexts = [];
this.allExtendsStack = [[]];
};
@@ -86,7 +86,7 @@ module.exports = function (tree) {
};
var processExtendsVisitor = function() {
this._visitor = new tree.visitor(this);
this._visitor = new visitor(this);
};
processExtendsVisitor.prototype = {

View File

@@ -1,6 +1,6 @@
module.exports = function (tree) {
var importVisitor = function(importer, finish, evalEnv, onceFileDetectionMap, recursionDetector) {
this._visitor = new tree.visitor(this);
module.exports = function (visitor, tree) {
var ImportVisitor = function(importer, finish, evalEnv, onceFileDetectionMap, recursionDetector) {
this._visitor = new visitor(this);
this._importer = importer;
this._finish = finish;
this.env = evalEnv || new tree.evalEnv();
@@ -16,7 +16,7 @@ module.exports = function (tree) {
}
};
importVisitor.prototype = {
ImportVisitor.prototype = {
isReplacing: true,
run: function (root) {
var error;
@@ -92,7 +92,7 @@ module.exports = function (tree) {
if (!inlineCSS && (env.importMultiple || !duplicateImport)) {
importVisitor.recursionDetector[fullPath] = true;
new(tree.importVisitor)(importVisitor._importer, subFinish, env, importVisitor.onceFileDetectionMap, importVisitor.recursionDetector)
new(ImportVisitor)(importVisitor._importer, subFinish, env, importVisitor.onceFileDetectionMap, importVisitor.recursionDetector)
.run(root);
return;
}
@@ -138,5 +138,5 @@ module.exports = function (tree) {
this.env.frames.shift();
}
};
return importVisitor;
return ImportVisitor;
};

13
lib/less/visitor/index.js Normal file
View File

@@ -0,0 +1,13 @@
module.exports = function(less, tree) {
var visitor = require("./visitor")(tree),
visitors = {
visitor: visitor
};
visitors.importVisitor = require('./import-visitor.js')(visitor, tree);
visitors.extendVisitor = require('./extend-visitor.js')(visitor, tree);
visitors.joinSelectorVisitor = require('./join-selector-visitor.js')(visitor);
visitors.toCSSVisitor = require('./to-css-visitor.js')(visitor, tree);
return visitors;
};

View File

@@ -1,6 +1,6 @@
module.exports = function (tree) {
module.exports = function (visitor, tree) {
var toCSSVisitor = function(env) {
this._visitor = new tree.visitor(this);
this._visitor = new visitor(this);
this._env = env;
};