rwsdk
Version:
Build fast, server-driven webapps on Cloudflare with SSR, RSC, and realtime
20 lines (19 loc) • 686 B
JavaScript
import { createModuleMap } from "./createModuleMap.js";
import ReactServerDom from "react-server-dom-webpack/client.edge";
import { renderRscThenableToHtmlStream } from "rwsdk/__ssr_bridge";
const { createFromReadableStream } = ReactServerDom;
export const transformRscToHtmlStream = ({ stream, Document, requestInfo, onError, }) => {
const thenable = createFromReadableStream(stream, {
serverConsumerManifest: {
moduleMap: createModuleMap(),
moduleLoading: null,
},
});
return renderRscThenableToHtmlStream({
thenable,
Document,
requestInfo,
shouldSSR: requestInfo.rw.ssr,
onError,
});
};