Skip to content

Commit df47f2c

Browse files
committed
[AI] refactor renderToStream options for readability
1 parent 8ca54a2 commit df47f2c

1 file changed

Lines changed: 15 additions & 32 deletions

File tree

packages/vike-react/src/integration/onRenderHtml.tsx

Lines changed: 15 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -80,38 +80,21 @@ async function renderPageToHtml(pageContext: PageContextServer) {
8080
const pageHtmlString = renderToString(pageContext.page, renderToStringOptions)
8181
pageContext.pageHtmlString = pageHtmlString
8282
} else {
83-
const renderOptions: RenderToStreamOptions = {
84-
...renderToStreamOptions,
85-
...(!streamSetting.type
86-
? {}
87-
: {
88-
webStream: streamSetting.type === 'web',
89-
}),
90-
...((
91-
pageContext.headers?.['user-agent'] ||
92-
// TO-DO/eventually: remove old way of acccessing the User Agent header.
93-
// @ts-ignore
94-
pageContext.userAgent
95-
)
96-
? {
97-
userAgent:
98-
pageContext.headers?.['user-agent'] ||
99-
// TO-DO/eventually: remove old way of acccessing the User Agent header.
100-
// @ts-ignore
101-
pageContext.userAgent,
102-
}
103-
: {}),
104-
...(
105-
// +stream.require is true => default +stream.enable is true
106-
// +stream.require is false => default +stream.enable is false
107-
streamSetting.enable === false
108-
? { disable: true }
109-
: /* Don't override disabling when bot is detected.
110-
false,
111-
*/
112-
{}
113-
),
114-
}
83+
const userAgent =
84+
pageContext.headers?.['user-agent'] ||
85+
// TO-DO/eventually: remove old way of acccessing the User Agent header.
86+
// @ts-ignore
87+
pageContext.userAgent
88+
// Properties are set conditionally (instead of being assigned `undefined`) to satisfy `exactOptionalPropertyTypes`.
89+
const renderOptions: RenderToStreamOptions = {}
90+
// When streamSetting.type is null: let react-streaming decide the stream type
91+
if (streamSetting.type) renderOptions.webStream = streamSetting.type === 'web'
92+
if (userAgent) renderOptions.userAgent = userAgent
93+
// +stream.require is true => default +stream.enable is true
94+
// +stream.require is false => default +stream.enable is false
95+
// Don't override disabling when a bot is detected.
96+
if (streamSetting.enable === false) renderOptions.disable = true
97+
Object.assign(renderOptions, renderToStreamOptions)
11598
const pageHtmlStream = await renderToStream(pageContext.page, renderOptions)
11699
pageContext.pageHtmlStream = pageHtmlStream
117100
}

0 commit comments

Comments
 (0)