From 630a7f225cab209da39bc5b85728713a1ba5f5b0 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 17:18:01 +0100 Subject: [PATCH 01/10] feat(select): defer TData inference --- packages/query-core/src/types.ts | 8 +++--- .../__tests__/useInfiniteQuery.type.test.tsx | 25 ++++++++++++++++--- packages/react-query/src/useInfiniteQuery.ts | 3 ++- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/packages/query-core/src/types.ts b/packages/query-core/src/types.ts index 9d003a474b..a82ea0c6be 100644 --- a/packages/query-core/src/types.ts +++ b/packages/query-core/src/types.ts @@ -310,7 +310,7 @@ export interface InfiniteQueryObserverOptions< > extends QueryObserverOptions< TQueryFnData, TError, - InfiniteData, + TData, InfiniteData, TQueryKey, TPageParam @@ -501,7 +501,7 @@ export type QueryObserverResult = export interface InfiniteQueryObserverBaseResult< TData = unknown, TError = RegisteredError, -> extends QueryObserverBaseResult, TError> { +> extends QueryObserverBaseResult { fetchNextPage: ( options?: FetchNextPageOptions, ) => Promise> @@ -546,7 +546,7 @@ export interface InfiniteQueryObserverRefetchErrorResult< TData = unknown, TError = RegisteredError, > extends InfiniteQueryObserverBaseResult { - data: InfiniteData + data: TData error: TError isError: true isPending: false @@ -560,7 +560,7 @@ export interface InfiniteQueryObserverSuccessResult< TData = unknown, TError = RegisteredError, > extends InfiniteQueryObserverBaseResult { - data: InfiniteData + data: TData error: null isError: false isPending: false diff --git a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx index eff3e3aab3..9bbe7451cf 100644 --- a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx +++ b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx @@ -62,6 +62,24 @@ describe('pageParam', () => { }) describe('select', () => { + it('should still return paginated data if no select result', () => { + doNotExecute(() => { + const infiniteQuery = useInfiniteQuery({ + queryKey: ['key'], + queryFn: ({ pageParam }) => { + return pageParam * 5 + }, + defaultPageParam: 1, + getNextPageParam: () => undefined, + }) + + const result: Expect< + Equal | undefined, typeof infiniteQuery['data']> + > = true + return result + }) + }) + it('should be able to transform data to arbitrary result', () => { doNotExecute(() => { const infiniteQuery = useInfiniteQuery({ @@ -77,9 +95,8 @@ describe('select', () => { }, }) - const result: Expect< - Equal - > = true + type T0 = typeof infiniteQuery['data'] + const result: Expect> = true return result }) }) @@ -105,7 +122,7 @@ describe('select', () => { }) const result: Expect< - Equal | undefined, (typeof infiniteQuery)['data']> + Equal | undefined, typeof infiniteQuery['data']> > = true return result }) diff --git a/packages/react-query/src/useInfiniteQuery.ts b/packages/react-query/src/useInfiniteQuery.ts index 004d6ebbf6..46124d137e 100644 --- a/packages/react-query/src/useInfiniteQuery.ts +++ b/packages/react-query/src/useInfiniteQuery.ts @@ -3,6 +3,7 @@ import type { QueryKey, QueryClient, RegisteredError, + InfiniteData, } from '@tanstack/query-core' import { InfiniteQueryObserver } from '@tanstack/query-core' import type { UseInfiniteQueryOptions, UseInfiniteQueryResult } from './types' @@ -12,7 +13,7 @@ import { useBaseQuery } from './useBaseQuery' export function useInfiniteQuery< TQueryFnData, TError = RegisteredError, - TData = TQueryFnData, + TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( From d44b7d261b19e6382878dd07e6adf9331d7f2ad4 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 17:25:27 +0100 Subject: [PATCH 02/10] test(select): restore test --- .../react-query/src/__tests__/useInfiniteQuery.type.test.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx index 9bbe7451cf..30f585f6eb 100644 --- a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx +++ b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx @@ -95,8 +95,9 @@ describe('select', () => { }, }) - type T0 = typeof infiniteQuery['data'] - const result: Expect> = true + const result: Expect< + Equal + > = true return result }) }) From 51f2158757bc373a39d885abdb1d95b1f57042fd Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 17:32:00 +0100 Subject: [PATCH 03/10] fix(select): change InfiniteQuery Observer definition --- packages/query-core/src/infiniteQueryObserver.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/query-core/src/infiniteQueryObserver.ts b/packages/query-core/src/infiniteQueryObserver.ts index 73e432dc07..12a7c3f39b 100644 --- a/packages/query-core/src/infiniteQueryObserver.ts +++ b/packages/query-core/src/infiniteQueryObserver.ts @@ -25,13 +25,13 @@ type InfiniteQueryObserverListener = ( export class InfiniteQueryObserver< TQueryFnData = unknown, TError = RegisteredError, - TData = TQueryFnData, + TData = InfiniteData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, > extends QueryObserver< TQueryFnData, TError, - InfiniteData, + TData, InfiniteData, TQueryKey > { From fcd3cba51370f3c2d3aa202d289a6385bf4c3618 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 17:47:27 +0100 Subject: [PATCH 04/10] fix(infinite-queries): fix solid type inference select --- .../__tests__/createInfiniteQuery.test.tsx | 33 ++++++++++--------- .../solid-query/src/createInfiniteQuery.ts | 3 +- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/packages/solid-query/src/__tests__/createInfiniteQuery.test.tsx b/packages/solid-query/src/__tests__/createInfiniteQuery.test.tsx index 1d491234f5..4e93a79c28 100644 --- a/packages/solid-query/src/__tests__/createInfiniteQuery.test.tsx +++ b/packages/solid-query/src/__tests__/createInfiniteQuery.test.tsx @@ -54,7 +54,7 @@ describe('useInfiniteQuery', () => { it('should return the correct states for a successful query', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -191,7 +191,7 @@ describe('useInfiniteQuery', () => { it('should keep the previous data when placeholderData is set', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const [order, setOrder] = createSignal('desc') @@ -286,7 +286,7 @@ describe('useInfiniteQuery', () => { it('should be able to select a part of the data', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -326,8 +326,9 @@ describe('useInfiniteQuery', () => { it('should be able to select a new result and not cause infinite renders', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult<{ count: number; id: number }>[] = - [] + const states: CreateInfiniteQueryResult< + InfiniteData<{ count: number; id: number }> + >[] = [] let selectCalled = 0 function Page() { @@ -372,7 +373,7 @@ describe('useInfiniteQuery', () => { it('should be able to reverse the data', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -436,7 +437,7 @@ describe('useInfiniteQuery', () => { it('should be able to fetch a previous page', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const start = 10 @@ -515,7 +516,7 @@ describe('useInfiniteQuery', () => { it('should be able to refetch when providing page params automatically', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -629,7 +630,7 @@ describe('useInfiniteQuery', () => { it('should silently cancel any ongoing fetch when fetching more', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const start = 10 @@ -865,7 +866,7 @@ describe('useInfiniteQuery', () => { it('should keep fetching first page when not loaded yet and triggering fetch more', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const start = 10 @@ -975,7 +976,7 @@ describe('useInfiniteQuery', () => { it('should be able to set new pages with the query client', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const [firstPage, setFirstPage] = createSignal(0) @@ -1063,7 +1064,7 @@ describe('useInfiniteQuery', () => { it('should only refetch the first page when initialData is provided', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -1134,7 +1135,7 @@ describe('useInfiniteQuery', () => { it('should set hasNextPage to false if getNextPageParam returns undefined', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -1178,7 +1179,7 @@ describe('useInfiniteQuery', () => { it('should compute hasNextPage correctly using initialData', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -1222,7 +1223,7 @@ describe('useInfiniteQuery', () => { it('should compute hasNextPage correctly for falsy getFetchMore return value using initialData', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ @@ -1266,7 +1267,7 @@ describe('useInfiniteQuery', () => { it('should not use selected data when computing hasNextPage', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const state = createInfiniteQuery(() => ({ diff --git a/packages/solid-query/src/createInfiniteQuery.ts b/packages/solid-query/src/createInfiniteQuery.ts index 3f8d22bd3b..18cc7fe591 100644 --- a/packages/solid-query/src/createInfiniteQuery.ts +++ b/packages/solid-query/src/createInfiniteQuery.ts @@ -3,6 +3,7 @@ import type { QueryKey, QueryClient, RegisteredError, + InfiniteData, } from '@tanstack/query-core' import { InfiniteQueryObserver } from '@tanstack/query-core' import type { @@ -15,7 +16,7 @@ import { createMemo } from 'solid-js' export function createInfiniteQuery< TQueryFnData, TError = RegisteredError, - TData = TQueryFnData, + TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( From e8e43c305f71914bab237f2174ebf5573ae15083 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 17:51:59 +0100 Subject: [PATCH 05/10] fix(infinite-queries): fix solid type inference select --- packages/solid-query/src/__tests__/suspense.test.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/solid-query/src/__tests__/suspense.test.tsx b/packages/solid-query/src/__tests__/suspense.test.tsx index eec685ad28..69588d94ca 100644 --- a/packages/solid-query/src/__tests__/suspense.test.tsx +++ b/packages/solid-query/src/__tests__/suspense.test.tsx @@ -8,7 +8,11 @@ import { Show, Suspense, } from 'solid-js' -import type { CreateInfiniteQueryResult, CreateQueryResult } from '..' +import type { + CreateInfiniteQueryResult, + CreateQueryResult, + InfiniteData, +} from '..' import { createInfiniteQuery, createQuery, @@ -79,7 +83,7 @@ describe("useQuery's in Suspense mode", () => { it('should return the correct states for a successful infinite query', async () => { const key = queryKey() - const states: CreateInfiniteQueryResult[] = [] + const states: CreateInfiniteQueryResult>[] = [] function Page() { const [multiplier, setMultiplier] = createSignal(1) From 08501ea306ec7df63e6ef6b2c90e619a7ef85d71 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 17:52:31 +0100 Subject: [PATCH 06/10] chore(infinite-queries): fix prettier --- packages/query-core/src/queryObserver.ts | 6 +++--- packages/react-query-devtools/src/index.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/query-core/src/queryObserver.ts b/packages/query-core/src/queryObserver.ts index 71d829424d..580e158477 100644 --- a/packages/query-core/src/queryObserver.ts +++ b/packages/query-core/src/queryObserver.ts @@ -695,9 +695,9 @@ function shouldFetchOnMount( function shouldFetchOn( query: Query, options: QueryObserverOptions, - field: (typeof options)['refetchOnMount'] & - (typeof options)['refetchOnWindowFocus'] & - (typeof options)['refetchOnReconnect'], + field: typeof options['refetchOnMount'] & + typeof options['refetchOnWindowFocus'] & + typeof options['refetchOnReconnect'], ) { if (options.enabled !== false) { const value = typeof field === 'function' ? field(query) : field diff --git a/packages/react-query-devtools/src/index.ts b/packages/react-query-devtools/src/index.ts index 97b2ab1880..81a5e16865 100644 --- a/packages/react-query-devtools/src/index.ts +++ b/packages/react-query-devtools/src/index.ts @@ -1,13 +1,13 @@ import * as devtools from './devtools' -export const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'] = +export const ReactQueryDevtools: typeof devtools['ReactQueryDevtools'] = process.env.NODE_ENV !== 'development' ? function () { return null } : devtools.ReactQueryDevtools -export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] = +export const ReactQueryDevtoolsPanel: typeof devtools['ReactQueryDevtoolsPanel'] = process.env.NODE_ENV !== 'development' ? (function () { return null From 736173e2032b51c5f1867b232eed29e869b1af20 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 18:00:04 +0100 Subject: [PATCH 07/10] fix(infinite-queries): fix vue and svelte types --- packages/svelte-query/src/createInfiniteQuery.ts | 3 ++- packages/vue-query/src/useInfiniteQuery.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/svelte-query/src/createInfiniteQuery.ts b/packages/svelte-query/src/createInfiniteQuery.ts index 84fe4bc39b..2aaca7c84d 100644 --- a/packages/svelte-query/src/createInfiniteQuery.ts +++ b/packages/svelte-query/src/createInfiniteQuery.ts @@ -3,6 +3,7 @@ import type { QueryKey, QueryClient, RegisteredError, + InfiniteData, } from '@tanstack/query-core' import { InfiniteQueryObserver } from '@tanstack/query-core' import type { @@ -14,7 +15,7 @@ import { createBaseQuery } from './createBaseQuery' export function createInfiniteQuery< TQueryFnData, TError = RegisteredError, - TData = TQueryFnData, + TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( diff --git a/packages/vue-query/src/useInfiniteQuery.ts b/packages/vue-query/src/useInfiniteQuery.ts index f73ddc8b8b..2ae95037c8 100644 --- a/packages/vue-query/src/useInfiniteQuery.ts +++ b/packages/vue-query/src/useInfiniteQuery.ts @@ -1,4 +1,4 @@ -import { InfiniteQueryObserver } from '@tanstack/query-core' +import { InfiniteData, InfiniteQueryObserver } from '@tanstack/query-core' import type { QueryObserver, WithRequired, @@ -74,7 +74,7 @@ export type UseInfiniteQueryReturnType = DistributiveOmit< export function useInfiniteQuery< TQueryFnData, TError = RegisteredError, - TData = TQueryFnData, + TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( From 8a0bfde7f26cd2fd4c9b446cf564ca91430e1f66 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 18:06:41 +0100 Subject: [PATCH 08/10] fix(infinite-queries): fix react type inference select --- .../src/__tests__/suspense.test.tsx | 4 +-- .../src/__tests__/useInfiniteQuery.test.tsx | 32 ++++++++++--------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/packages/react-query/src/__tests__/suspense.test.tsx b/packages/react-query/src/__tests__/suspense.test.tsx index 5f9e4fe954..15daf6edec 100644 --- a/packages/react-query/src/__tests__/suspense.test.tsx +++ b/packages/react-query/src/__tests__/suspense.test.tsx @@ -1,7 +1,7 @@ import { fireEvent, waitFor } from '@testing-library/react' import * as React from 'react' import { ErrorBoundary } from 'react-error-boundary' -import type { UseInfiniteQueryResult, UseQueryResult } from '..' +import type { InfiniteData, UseInfiniteQueryResult, UseQueryResult } from '..' import { QueryCache, QueryErrorResetBoundary, @@ -68,7 +68,7 @@ describe("useQuery's in Suspense mode", () => { it('should return the correct states for a successful infinite query', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const [multiplier, setMultiplier] = React.useState(1) diff --git a/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx b/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx index c2f8307956..b1ea73a243 100644 --- a/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx +++ b/packages/react-query/src/__tests__/useInfiniteQuery.test.tsx @@ -45,7 +45,7 @@ describe('useInfiniteQuery', () => { it('should return the correct states for a successful query', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -172,7 +172,7 @@ describe('useInfiniteQuery', () => { it('should keep the previous data when placeholderData is set', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const [order, setOrder] = React.useState('desc') @@ -268,7 +268,7 @@ describe('useInfiniteQuery', () => { it('should be able to select a part of the data', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -305,7 +305,9 @@ describe('useInfiniteQuery', () => { it('should be able to select a new result and not cause infinite renders', async () => { const key = queryKey() - const states: UseInfiniteQueryResult<{ count: number; id: number }>[] = [] + const states: UseInfiniteQueryResult< + InfiniteData<{ count: number; id: number }> + >[] = [] let selectCalled = 0 function Page() { @@ -353,7 +355,7 @@ describe('useInfiniteQuery', () => { it('should be able to reverse the data', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -410,7 +412,7 @@ describe('useInfiniteQuery', () => { it('should be able to fetch a previous page', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const start = 10 @@ -493,7 +495,7 @@ describe('useInfiniteQuery', () => { it('should be able to refetch when providing page params automatically', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -602,7 +604,7 @@ describe('useInfiniteQuery', () => { it('should silently cancel any ongoing fetch when fetching more', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const start = 10 @@ -821,7 +823,7 @@ describe('useInfiniteQuery', () => { it('should keep fetching first page when not loaded yet and triggering fetch more', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const start = 10 @@ -920,7 +922,7 @@ describe('useInfiniteQuery', () => { it('should be able to set new pages with the query client', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const [firstPage, setFirstPage] = React.useState(0) @@ -1002,7 +1004,7 @@ describe('useInfiniteQuery', () => { it('should only refetch the first page when initialData is provided', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -1067,7 +1069,7 @@ describe('useInfiniteQuery', () => { it('should set hasNextPage to false if getNextPageParam returns undefined', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -1105,7 +1107,7 @@ describe('useInfiniteQuery', () => { it('should compute hasNextPage correctly using initialData', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -1144,7 +1146,7 @@ describe('useInfiniteQuery', () => { it('should compute hasNextPage correctly for falsy getFetchMore return value using initialData', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ @@ -1183,7 +1185,7 @@ describe('useInfiniteQuery', () => { it('should not use selected data when computing hasNextPage', async () => { const key = queryKey() - const states: UseInfiniteQueryResult[] = [] + const states: UseInfiniteQueryResult>[] = [] function Page() { const state = useInfiniteQuery({ From c838e0bb718d7cf4974d1d90680b33d8ddacae02 Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 18:12:03 +0100 Subject: [PATCH 09/10] chore(infinite-queries): fix imports --- .../react-query/src/__tests__/useInfiniteQuery.type.test.tsx | 4 ++-- packages/vue-query/src/useInfiniteQuery.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx index 30f585f6eb..b449fced6d 100644 --- a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx +++ b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx @@ -1,9 +1,9 @@ +import type { InfiniteData } from '@tanstack/query-core' +import { QueryClient } from '@tanstack/query-core' import { useInfiniteQuery } from '../useInfiniteQuery' import { useQuery } from '../useQuery' import type { Expect, Equal } from './utils' import { doNotExecute } from './utils' -import type { InfiniteData } from '@tanstack/query-core' -import { QueryClient } from '@tanstack/query-core' describe('pageParam', () => { it('defaultPageParam should define type of param passed to queryFunctionContext', () => { diff --git a/packages/vue-query/src/useInfiniteQuery.ts b/packages/vue-query/src/useInfiniteQuery.ts index 2ae95037c8..72989ab93a 100644 --- a/packages/vue-query/src/useInfiniteQuery.ts +++ b/packages/vue-query/src/useInfiniteQuery.ts @@ -1,5 +1,6 @@ -import { InfiniteData, InfiniteQueryObserver } from '@tanstack/query-core' +import { InfiniteQueryObserver } from '@tanstack/query-core' import type { + InfiniteData, QueryObserver, WithRequired, QueryKey, From 942c58460c83e499f9c974c2701d560b0b47b05e Mon Sep 17 00:00:00 2001 From: ecyrbe Date: Sun, 26 Feb 2023 18:21:42 +0100 Subject: [PATCH 10/10] style: fix prettier warnings --- packages/query-core/src/queryObserver.ts | 6 +++--- packages/react-query-devtools/src/index.ts | 4 ++-- .../src/__tests__/useInfiniteQuery.type.test.tsx | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/query-core/src/queryObserver.ts b/packages/query-core/src/queryObserver.ts index 580e158477..71d829424d 100644 --- a/packages/query-core/src/queryObserver.ts +++ b/packages/query-core/src/queryObserver.ts @@ -695,9 +695,9 @@ function shouldFetchOnMount( function shouldFetchOn( query: Query, options: QueryObserverOptions, - field: typeof options['refetchOnMount'] & - typeof options['refetchOnWindowFocus'] & - typeof options['refetchOnReconnect'], + field: (typeof options)['refetchOnMount'] & + (typeof options)['refetchOnWindowFocus'] & + (typeof options)['refetchOnReconnect'], ) { if (options.enabled !== false) { const value = typeof field === 'function' ? field(query) : field diff --git a/packages/react-query-devtools/src/index.ts b/packages/react-query-devtools/src/index.ts index 81a5e16865..97b2ab1880 100644 --- a/packages/react-query-devtools/src/index.ts +++ b/packages/react-query-devtools/src/index.ts @@ -1,13 +1,13 @@ import * as devtools from './devtools' -export const ReactQueryDevtools: typeof devtools['ReactQueryDevtools'] = +export const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'] = process.env.NODE_ENV !== 'development' ? function () { return null } : devtools.ReactQueryDevtools -export const ReactQueryDevtoolsPanel: typeof devtools['ReactQueryDevtoolsPanel'] = +export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] = process.env.NODE_ENV !== 'development' ? (function () { return null diff --git a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx index b449fced6d..d2a5884058 100644 --- a/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx +++ b/packages/react-query/src/__tests__/useInfiniteQuery.type.test.tsx @@ -74,7 +74,7 @@ describe('select', () => { }) const result: Expect< - Equal | undefined, typeof infiniteQuery['data']> + Equal | undefined, (typeof infiniteQuery)['data']> > = true return result }) @@ -96,7 +96,7 @@ describe('select', () => { }) const result: Expect< - Equal + Equal > = true return result }) @@ -123,7 +123,7 @@ describe('select', () => { }) const result: Expect< - Equal | undefined, typeof infiniteQuery['data']> + Equal | undefined, (typeof infiniteQuery)['data']> > = true return result })