pomljs
Version:
Prompt Orchestration Markup Language
50 lines (46 loc) • 1.38 kB
JavaScript
var server = require('react-dom/server');
var stream = require('stream');
const pipeableStreamToString = async (stream$1) => {
return new Promise((resolve, reject) => {
const chunks = [];
const writable = new stream.Writable({
write(chunk, encoding, callback) {
chunks.push(chunk);
callback();
},
final(callback) {
resolve(Buffer.concat(chunks).toString());
callback();
},
destroy(err, callback) {
reject(err);
callback(err);
}
});
stream$1(writable);
});
};
const reactRender = (element, shellOnly) => {
const promise = new Promise((resolve, reject) => {
const { pipe } = server.renderToPipeableStream(element, {
onAllReady: () => {
{
resolve(pipeableStreamToString(pipe));
}
},
onError: (error, errorInfo) => {
console.error(errorInfo);
reject(error);
},
onShellError: error => {
reject(error);
},
onShellReady: () => {
}
});
});
return promise;
};
exports.reactRender = reactRender;
//# sourceMappingURL=reactRender.cjs.map
;