UNPKG

marko

Version:

UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.

34 lines (28 loc) 823 B
"use strict";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(); } };