Files
less.js/lib/less/tree/variable.js
2011-05-11 11:29:27 -04:00

25 lines
691 B
JavaScript

(function (tree) {
tree.Variable = function (name, index) { this.name = name, this.index = index };
tree.Variable.prototype = {
eval: function (env) {
var variable, v, name = this.name;
if (name.indexOf('@@') == 0) {
name = '@' + new(tree.Variable)(name.slice(1)).eval(env).value;
}
if (variable = tree.find(env.frames, function (frame) {
if (v = frame.variable(name)) {
return v.value.eval(env);
}
})) { return variable }
else {
throw { message: "variable " + name + " is undefined",
index: this.index };
}
}
};
})(require('less/tree'));