Files
less.js/lib/less/tree/quoted.js
Alexis Sellier 9939ba5076 better JavaScript evaluation
- support for returning Array values
- Expressions/Values are passed as arrays to JavaScript
- fixed some edge cases
2011-05-17 20:47:42 -04:00

29 lines
800 B
JavaScript

(function (tree) {
tree.Quoted = function (str, content, escaped, i) {
this.escaped = escaped;
this.value = content || '';
this.quote = str.charAt(0);
this.index = i;
};
tree.Quoted.prototype = {
toCSS: function () {
if (this.escaped) {
return this.value;
} else {
return this.quote + this.value + this.quote;
}
},
eval: function (env) {
var that = this;
this.value = this.value.replace(/`([^`]+)`/g, function (_, exp) {
return new(tree.JavaScript)(exp, that.index, true).eval(env).value;
}).replace(/@\{([\w-]+)\}/g, function (_, name) {
return new(tree.Variable)('@' + name, that.index).eval(env).value;
});
return this;
}
};
})(require('less/tree'));