UNPKG

carto

Version:

Mapnik Stylesheet Compiler

40 lines (32 loc) 879 B
(function(tree) { var _ = require('lodash'); tree.Expression = function Expression(value) { this.value = value; }; tree.Expression.prototype = { is: 'expression', ev: function(env) { if (this.value.length > 1) { return new tree.Expression(this.value.map(function(e) { return e.ev(env); })); } else { return this.value[0].ev(env); } }, toString: function(env) { var containsObj = false, mappedVal = this.value.map(function(e) { var result = e.toString(env); if (_.isObject(result)) { containsObj = true; } return result; }); if (containsObj) { return mappedVal; } return mappedVal.join(' '); } }; })(require('../tree'));