MCPcopy Create free account
hub / github.com/adobe/react-spectrum / prerenderHTML

Function prerenderHTML

packages/dev/s2-docs/ssg.tsx:102–126  ·  view source on GitHub ↗
(
  root: any,
  options?: RSCToHTMLOptions
)

Source from the content-addressed store, hash-verified

100}
101
102async function prerenderHTML(
103 root: any,
104 options?: RSCToHTMLOptions
105): Promise<{html: Readable; rsc: Readable}> {
106 let stream = renderToReadableStream(root, options);
107
108 // Use client react to render the RSC payload to HTML.
109 let [s1, renderStream] = stream.tee();
110 let [injectStream, rscStream] = s1.tee();
111 let data: Promise<ReactNode>;
112 function Content() {
113 data ??= createFromReadableStream<ReactNode>(renderStream);
114 return data;
115 }
116
117 let {prelude} = await prerender(<Content />, {
118 ...options,
119 bootstrapScriptContent: (options?.component as any)?.bootstrapScript
120 });
121
122 return {
123 html: Readable.fromWeb(prelude.pipeThrough(injectRSCPayload(injectStream)) as any),
124 rsc: Readable.fromWeb(rscStream)
125 };
126}

Callers 1

renderFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected