mirror of
https://github.com/less/less.js.git
synced 2026-01-23 22:27:57 -05:00
36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
var Node = function() {
|
|
};
|
|
Node.prototype.toCSS = function (env) {
|
|
var strs = [];
|
|
this.genCSS(env, {
|
|
add: function(chunk, fileInfo, index) {
|
|
strs.push(chunk);
|
|
},
|
|
isEmpty: function () {
|
|
return strs.length === 0;
|
|
}
|
|
});
|
|
return strs.join('');
|
|
};
|
|
Node.prototype.genCSS = function (env, output) {
|
|
output.add(this.value);
|
|
};
|
|
Node.prototype.accept = function (visitor) {
|
|
this.value = visitor.visit(this.value);
|
|
};
|
|
Node.prototype.eval = function () { return this; };
|
|
Node.prototype._operate = function (env, op, a, b) {
|
|
switch (op) {
|
|
case '+': return a + b;
|
|
case '-': return a - b;
|
|
case '*': return a * b;
|
|
case '/': return a / b;
|
|
}
|
|
};
|
|
Node.prototype.fround = function(env, value) {
|
|
var precision = env && env.numPrecision;
|
|
//add "epsilon" to ensure numbers like 1.000000005 (represented as 1.000000004999....) are properly rounded...
|
|
return (precision == null) ? value : Number((value + 2e-16).toFixed(precision));
|
|
};
|
|
module.exports = Node;
|