UNPKG

pomljs

Version:

Prompt Orchestration Markup Language

48 lines (45 loc) 1.35 kB
import { renderToPipeableStream } from 'react-dom/server'; import { Writable } from 'stream'; const pipeableStreamToString = async (stream) => { return new Promise((resolve, reject) => { const chunks = []; const writable = new 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(writable); }); }; const reactRender = (element, shellOnly) => { const promise = new Promise((resolve, reject) => { const { pipe } = renderToPipeableStream(element, { onAllReady: () => { { resolve(pipeableStreamToString(pipe)); } }, onError: (error, errorInfo) => { console.error(errorInfo); reject(error); }, onShellError: error => { reject(error); }, onShellReady: () => { } }); }); return promise; }; export { reactRender }; //# sourceMappingURL=reactRender.js.map