Files
less.js/lib/less/tree/detached-ruleset.js
2014-08-24 18:03:33 +01:00

22 lines
788 B
JavaScript

var Node = require("./node.js"),
contexts = require("../contexts.js");
var DetachedRuleset = function (ruleset, frames) {
this.ruleset = ruleset;
this.frames = frames;
};
DetachedRuleset.prototype = new Node();
DetachedRuleset.prototype.type = "DetachedRuleset";
DetachedRuleset.prototype.evalFirst = true;
DetachedRuleset.prototype.accept = function (visitor) {
this.ruleset = visitor.visit(this.ruleset);
};
DetachedRuleset.prototype.eval = function (env) {
var frames = this.frames || env.frames.slice(0);
return new DetachedRuleset(this.ruleset, frames);
};
DetachedRuleset.prototype.callEval = function (env) {
return this.ruleset.eval(this.frames ? new(contexts.evalEnv)(env, this.frames.concat(env.frames)) : env);
};
module.exports = DetachedRuleset;