Skip to content

Commit 11300cb

Browse files
committed
clean up small bit
1 parent 374f1ff commit 11300cb

1 file changed

Lines changed: 19 additions & 28 deletions

File tree

src/entry-server.tsx

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ import { SSRDataProvider } from '~/lib/ssr-data'
88
import { runLoaders } from '~/loaders.server'
99
import { matchRoutes } from '~/route-gen'
1010

11-
export async function loadData(
12-
request: Request,
13-
): Promise<{
11+
type LoaderResult = {
1412
data: Record<string, unknown>
1513
redirect?: string
1614
statusCode?: number
1715
title?: string
1816
description?: string
19-
}> {
17+
}
18+
19+
export async function loadData(request: Request): Promise<LoaderResult> {
2020
return runLoaders(matchRoutes(routes, request.url), request)
2121
}
2222

@@ -30,27 +30,18 @@ export async function render(request: Request): Promise<{
3030
}> {
3131
const pathname = new URL(request.url, 'http://localhost').pathname
3232

33-
let ssrData: Record<string, unknown>
34-
let redirect: string | undefined
35-
let statusCode: number | undefined
36-
let title: string | undefined
37-
let description: string | undefined
38-
39-
try {
40-
const result = await loadData(request)
41-
ssrData = result.data
42-
redirect = result.redirect
43-
statusCode = result.statusCode
44-
title = result.title
45-
description = result.description
46-
} catch (err) {
33+
const result = await loadData(request).catch((err: unknown) => {
4734
console.error('Loader error:', err)
48-
ssrData = {}
49-
statusCode = 500
50-
}
35+
return { data: {}, statusCode: 500 } as LoaderResult
36+
})
5137

52-
if (redirect) {
53-
return { html: '', ssrData: {}, redirect, statusCode: statusCode ?? 302 }
38+
if (result.redirect) {
39+
return {
40+
html: '',
41+
ssrData: {},
42+
redirect: result.redirect,
43+
statusCode: result.statusCode ?? 302,
44+
}
5445
}
5546

5647
return new Promise((resolve, reject) => {
@@ -62,7 +53,7 @@ export async function render(request: Request): Promise<{
6253

6354
const { pipe } = renderToPipeableStream(
6455
<StaticRouter location={pathname}>
65-
<SSRDataProvider data={ssrData}>
56+
<SSRDataProvider data={result.data}>
6657
<App />
6758
</SSRDataProvider>
6859
</StaticRouter>,
@@ -72,10 +63,10 @@ export async function render(request: Request): Promise<{
7263
passthrough.on('end', () =>
7364
resolve({
7465
html,
75-
ssrData,
76-
...(statusCode !== undefined && { statusCode }),
77-
...(title !== undefined && { title }),
78-
...(description !== undefined && { description }),
66+
ssrData: result.data,
67+
...(result.statusCode !== undefined && { statusCode: result.statusCode }),
68+
...(result.title !== undefined && { title: result.title }),
69+
...(result.description !== undefined && { description: result.description }),
7970
}),
8071
)
8172
},

0 commit comments

Comments
 (0)