marko
Version:
UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.
34 lines (28 loc) • 823 B
JavaScript
;var ComponentsContext = require("../../../runtime/components/ComponentsContext");
var getComponentsContext = ComponentsContext.T_;
module.exports = function render(input, out) {
var isComponent = !input.n;
var shouldPreserve = !("i" in input) || input.i;
var componentsContext = out.b_;
if (isComponent) {
out.bf(out.ac_, out.ab_.s_, true);
}
if (input.renderBody) {
if (shouldPreserve) {
var parentPreserved = false;
if (componentsContext) {
parentPreserved = componentsContext.v_;
} else {
componentsContext = getComponentsContext(out);
}
componentsContext.v_ = true;
input.renderBody(out);
componentsContext.v_ = parentPreserved;
} else {
input.renderBody(out);
}
}
if (isComponent) {
out.ef();
}
};