marko
Version:
UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.
29 lines (27 loc) • 638 B
JavaScript
;var encoder = new TextEncoder();
var noop = function () {};
module.exports = function (data) {
var transformStream = new TransformStream();
var writer = transformStream.writable.getWriter();
var facade = {
write: function (string) {
writer.write(encoder.encode(string));
},
end: function () {
writer.close();
}
};
var out = this.createOut(
data && data.$global,
facade,
undefined,
this._X_
);
out.once("error", (err) => {
facade.write = facade.end = noop;
writer.abort(err);
});
this.render(data, out);
out.end();
return transformStream.readable;
};