var BaseExpression = require("./base");
function RootExpression(children) {
this.childNodes = children;
BaseExpression.apply(this, arguments);
}
BaseExpression.extend(RootExpression, {
type: "rootNode",
toJavaScript: function() {
var buffer = "(function(fragment, block, element, text, comment, parser, modifiers) { ";
var element;
Eif (this.childNodes.type === "array") {
if (this.childNodes.expressions.expressions.length > 1) {
element = "fragment(" + this.childNodes.toJavaScript() + ")";
} else Eif (this.childNodes.expressions.expressions.length) {
element = this.childNodes.expressions.expressions[0].toJavaScript();
} else {
return buffer + "})";
}
} else {
element = this.childNodes.toJavaScript();
}
return buffer + "return " + element + "; })";
}
});
module.exports = RootExpression;
|