| 12345678910111213141516171819202122232425262728293031323334 |
- var Node = require("./node");
- var Value = function (value) {
- this.value = value;
- if (!value) {
- throw new Error("Value requires an array argument");
- }
- };
- Value.prototype = new Node();
- Value.prototype.type = "Value";
- Value.prototype.accept = function (visitor) {
- if (this.value) {
- this.value = visitor.visitArray(this.value);
- }
- };
- Value.prototype.eval = function (context) {
- if (this.value.length === 1) {
- return this.value[0].eval(context);
- } else {
- return new Value(this.value.map(function (v) {
- return v.eval(context);
- }));
- }
- };
- Value.prototype.genCSS = function (context, output) {
- var i;
- for (i = 0; i < this.value.length; i++) {
- this.value[i].genCSS(context, output);
- if (i + 1 < this.value.length) {
- output.add((context && context.compress) ? ',' : ', ');
- }
- }
- };
- module.exports = Value;
|