Skip to content

Commit 4947e2b

Browse files
committed
angular adapter
1 parent 6d0ebdb commit 4947e2b

File tree

5 files changed

+418
-107
lines changed

5 files changed

+418
-107
lines changed

packages/angular-query-experimental/src/__tests__/infinite-query-options.test-d.ts

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,30 @@ describe('infiniteQueryOptions', () => {
4848
expectTypeOf(data()).toEqualTypeOf<
4949
InfiniteData<string, unknown> | undefined
5050
>()
51-
expectTypeOf(fetchNextPage).parameters.toEqualTypeOf<
52-
[options: { pageParam: number; cancelRefetch?: boolean; throwOnError?: boolean }]
53-
>()
51+
fetchNextPage({ pageParam: 2 })
52+
53+
// @ts-expect-error pageParam is required in imperative mode
54+
fetchNextPage()
55+
})
56+
57+
it('should preserve imperative fetch method types', () => {
58+
const options = infiniteQueryOptions({
59+
queryKey: ['key'],
60+
queryFn: ({ pageParam }) => {
61+
expectTypeOf(pageParam).toEqualTypeOf<number>()
62+
return pageParam * 5
63+
},
64+
initialPageParam: 1,
65+
mode: 'imperative',
66+
})
67+
68+
const { fetchNextPage, fetchPreviousPage } = injectInfiniteQuery(() => options)
69+
70+
fetchNextPage({ pageParam: 2 })
71+
fetchPreviousPage({ pageParam: 0 })
72+
73+
// @ts-expect-error pageParam is required in imperative mode
74+
fetchNextPage()
5475
})
5576

5677
it('should work when passed to fetchInfiniteQuery', async () => {
@@ -166,21 +187,21 @@ describe('infiniteQueryOptions', () => {
166187
initialPageParam: 1,
167188
})
168189

190+
// @ts-expect-error getNextPageParam is not allowed in imperative mode
169191
infiniteQueryOptions({
170192
queryKey: ['key'],
171193
queryFn: () => Promise.resolve('string'),
172194
initialPageParam: 1,
173195
mode: 'imperative',
174-
// @ts-expect-error getNextPageParam is not allowed in imperative mode
175196
getNextPageParam: () => 1,
176197
})
177198

199+
// @ts-expect-error getPreviousPageParam is not allowed in imperative mode
178200
infiniteQueryOptions({
179201
queryKey: ['key'],
180202
queryFn: () => Promise.resolve('string'),
181203
initialPageParam: 1,
182204
mode: 'imperative',
183-
// @ts-expect-error getPreviousPageParam is not allowed in imperative mode
184205
getPreviousPageParam: () => 0,
185206
})
186207
})

packages/angular-query-experimental/src/__tests__/inject-infinite-query.test-d.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,10 @@ describe('injectInfiniteQuery', () => {
5050
}))
5151
})
5252

53-
expectTypeOf(query.fetchNextPage).parameters.toEqualTypeOf<
54-
[options: { pageParam: number; cancelRefetch?: boolean; throwOnError?: boolean }]
55-
>()
53+
query.fetchNextPage({ pageParam: 1 })
54+
query.fetchPreviousPage({ pageParam: 0 })
5655

57-
expectTypeOf(query.fetchPreviousPage).parameters.toEqualTypeOf<
58-
[options: { pageParam: number; cancelRefetch?: boolean; throwOnError?: boolean }]
59-
>()
56+
// @ts-expect-error pageParam is required in imperative mode
57+
query.fetchNextPage()
6058
})
6159
})

0 commit comments

Comments
 (0)