1
- export type RouterResponseInit = ResponseInit & { revalidate ?: string | string [ ] } ;
1
+ export type RouterResponseInit = Omit < ResponseInit , "body" > & { revalidate ?: string | string [ ] } ;
2
2
3
3
export function redirect ( url : string , init : number | RouterResponseInit = 302 ) {
4
4
let responseInit : ResponseInit ;
@@ -24,21 +24,25 @@ export function redirect(url: string, init: number | RouterResponseInit = 302) {
24
24
return response as never ;
25
25
}
26
26
27
- export function reload ( init : RouterResponseInit ) {
27
+ export function reload ( init : RouterResponseInit = { } ) {
28
28
const { revalidate, ...responseInit } = init ;
29
+ const headers = new Headers ( responseInit . headers ) ;
30
+ revalidate && headers . set ( "X-Revalidate" , revalidate . toString ( ) ) ;
31
+
29
32
return new Response ( null , {
30
33
...responseInit ,
31
- ...( revalidate
32
- ? { headers : new Headers ( responseInit . headers ) . set ( "X-Revalidate" , revalidate . toString ( ) ) }
33
- : { } )
34
+ headers
34
35
} ) as never ;
35
36
}
36
37
37
- export function json < T > ( data : T , init ?: Omit < ResponseInit , "body" > ) {
38
- const headers = new Headers ( ( init || { } ) . headers ) ;
38
+ export function json < T > ( data : T , init : RouterResponseInit = { } ) {
39
+ const { revalidate, ...responseInit } = init ;
40
+ const headers = new Headers ( responseInit . headers ) ;
41
+ revalidate && headers . set ( "X-Revalidate" , revalidate . toString ( ) ) ;
39
42
headers . set ( "Content-Type" , "application/json" ) ;
43
+
40
44
const response = new Response ( JSON . stringify ( data ) , {
41
- ...init ,
45
+ ...responseInit ,
42
46
headers
43
47
} ) ;
44
48
( response as any ) . customBody = ( ) => data ;
0 commit comments