Skip to content

Commit

Permalink
feat: make InfiniteQueryObserver's type more robust (#3571)
Browse files Browse the repository at this point in the history
Co-authored-by: 廖璇 <[email protected]>
  • Loading branch information
liaoliao666 and 廖璇 authored Jun 5, 2022
1 parent f77f6f4 commit 97484dc
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 9 deletions.
4 changes: 2 additions & 2 deletions src/core/infiniteQueryBehavior.ts
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ export function getPreviousPageParam(
* Returns `undefined` if it cannot be determined.
*/
export function hasNextPage(
options: QueryOptions<any, any>,
options: QueryOptions<any, any, any, any>,
pages?: unknown
): boolean | undefined {
if (options.getNextPageParam && Array.isArray(pages)) {
Expand All @@ -200,7 +200,7 @@ export function hasNextPage(
* Returns `undefined` if it cannot be determined.
*/
export function hasPreviousPage(
options: QueryOptions<any, any>,
options: QueryOptions<any, any, any, any>,
pages?: unknown
): boolean | undefined {
if (options.getPreviousPageParam && Array.isArray(pages)) {
Expand Down
21 changes: 14 additions & 7 deletions src/core/infiniteQueryObserver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type {
InfiniteData,
InfiniteQueryObserverOptions,
InfiniteQueryObserverResult,
QueryKey,
} from './types'
import type { QueryClient } from './queryClient'
import {
Expand All @@ -27,12 +28,14 @@ export class InfiniteQueryObserver<
TQueryFnData = unknown,
TError = unknown,
TData = TQueryFnData,
TQueryData = TQueryFnData
TQueryData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey
> extends QueryObserver<
TQueryFnData,
TError,
InfiniteData<TData>,
InfiniteData<TQueryData>
InfiniteData<TQueryData>,
TQueryKey
> {
// Type override
subscribe!: (
Expand All @@ -54,7 +57,8 @@ export class InfiniteQueryObserver<
TQueryFnData,
TError,
TData,
TQueryData
TQueryData,
TQueryKey
>
) {
super(client, options)
Expand All @@ -71,7 +75,8 @@ export class InfiniteQueryObserver<
TQueryFnData,
TError,
TData,
TQueryData
TQueryData,
TQueryKey
>,
notifyOptions?: NotifyOptions
): void {
Expand All @@ -89,7 +94,8 @@ export class InfiniteQueryObserver<
TQueryFnData,
TError,
TData,
TQueryData
TQueryData,
TQueryKey
>
): InfiniteQueryObserverResult<TData, TError> {
options.behavior = infiniteQueryBehavior()
Expand Down Expand Up @@ -125,12 +131,13 @@ export class InfiniteQueryObserver<
}

protected createResult(
query: Query<TQueryFnData, TError, InfiniteData<TQueryData>>,
query: Query<TQueryFnData, TError, InfiniteData<TQueryData>, TQueryKey>,
options: InfiniteQueryObserverOptions<
TQueryFnData,
TError,
TData,
TQueryData
TQueryData,
TQueryKey
>
): InfiniteQueryObserverResult<TData, TError> {
const { state } = query
Expand Down

0 comments on commit 97484dc

Please sign in to comment.