Skip to content

Commit 0cf7bfe

Browse files
add failing type tests
1 parent dff3ae7 commit 0cf7bfe

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

packages/react-start-client/src/tests/createServerFn.test-d.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,39 @@ test.skip('createServerFn returns RSC', () => {
1515
}>
1616
>()
1717
})
18+
19+
test('createServerFn returns async array', () => {
20+
const result: Array<{ a: number }> = [{ a: 1 }]
21+
const serverFn = createServerFn({ method: 'GET' }).handler(async () => {
22+
return result
23+
})
24+
25+
expectTypeOf(serverFn()).toEqualTypeOf<Promise<Array<{ a: number }>>>()
26+
})
27+
28+
test('createServerFn returns sync array', () => {
29+
const result: Array<{ a: number }> = [{ a: 1 }]
30+
const serverFn = createServerFn({ method: 'GET' }).handler(() => {
31+
return result
32+
})
33+
34+
expectTypeOf(serverFn()).toEqualTypeOf<Promise<Array<{ a: number }>>>()
35+
})
36+
37+
test('createServerFn returns async union', () => {
38+
const result = '1' as string | number
39+
const serverFn = createServerFn({ method: 'GET' }).handler(async () => {
40+
return result
41+
})
42+
43+
expectTypeOf(serverFn()).toEqualTypeOf<Promise<string | number>>()
44+
})
45+
46+
test('createServerFn returns sync union', () => {
47+
const result = '1' as string | number
48+
const serverFn = createServerFn({ method: 'GET' }).handler(() => {
49+
return result
50+
})
51+
52+
expectTypeOf(serverFn()).toEqualTypeOf<Promise<string | number>>()
53+
})

0 commit comments

Comments
 (0)