UNPKG

rwsdk

Version:

Build fast, server-driven webapps on Cloudflare with SSR, RSC, and realtime

27 lines (26 loc) 757 B
import { renderToStream } from "./renderToStream"; export const renderToString = async (element, options) => { const stream = await new Promise((resolve, reject) => renderToStream(element, { ...options, onError: reject, }) .then(resolve) .catch(reject)); const reader = stream.getReader(); const decoder = new TextDecoder(); let result = ""; try { while (true) { const { done, value } = await reader.read(); if (done) break; result += decoder.decode(value, { stream: true }); } // Flush any remaining bytes result += decoder.decode(); return result; } finally { reader.releaseLock(); } };