From 14f3b29fa7f48dc91eeb1d514b3592f88ae178a6 Mon Sep 17 00:00:00 2001 From: Damian Osipiuk Date: Wed, 25 Oct 2023 15:30:38 +0200 Subject: [PATCH] perf(vue-query): remove redundant type wrappers --- packages/vue-query/src/useBaseQuery.ts | 1 - packages/vue-query/src/useInfiniteQuery.ts | 26 +++---------------- packages/vue-query/src/useQuery.ts | 29 ++++++++-------------- 3 files changed, 14 insertions(+), 42 deletions(-) diff --git a/packages/vue-query/src/useBaseQuery.ts b/packages/vue-query/src/useBaseQuery.ts index 3c5f047dab..0c42c2ab41 100644 --- a/packages/vue-query/src/useBaseQuery.ts +++ b/packages/vue-query/src/useBaseQuery.ts @@ -29,7 +29,6 @@ export type UseBaseQueryReturnType< | 'fetchNextPage' | 'fetchPreviousPage' | 'refetch' - | 'remove' ? Result[K] : ToRef[K]> } & { diff --git a/packages/vue-query/src/useInfiniteQuery.ts b/packages/vue-query/src/useInfiniteQuery.ts index 3478a82d1e..6c0512e177 100644 --- a/packages/vue-query/src/useInfiniteQuery.ts +++ b/packages/vue-query/src/useInfiniteQuery.ts @@ -12,12 +12,7 @@ import type { import type { UseBaseQueryReturnType } from './useBaseQuery' -import type { - DeepUnwrapRef, - DistributiveOmit, - MaybeRefDeep, - MaybeRefOrGetter, -} from './types' +import type { DeepUnwrapRef, MaybeRefDeep, MaybeRefOrGetter } from './types' import type { QueryClient } from './queryClient' export type UseInfiniteQueryOptions< @@ -69,22 +64,11 @@ export type UseInfiniteQueryOptions< > } -type InfiniteQueryReturnType = UseBaseQueryReturnType< +export type UseInfiniteQueryReturnType = UseBaseQueryReturnType< TData, TError, InfiniteQueryObserverResult > -export type UseInfiniteQueryReturnType = DistributiveOmit< - InfiniteQueryReturnType, - 'fetchNextPage' | 'fetchPreviousPage' | 'refetch' -> & { - fetchNextPage: InfiniteQueryObserverResult['fetchNextPage'] - fetchPreviousPage: InfiniteQueryObserverResult< - TData, - TError - >['fetchPreviousPage'] - refetch: InfiniteQueryObserverResult['refetch'] -} export function useInfiniteQuery< TQueryFnData, @@ -103,11 +87,9 @@ export function useInfiniteQuery< >, queryClient?: QueryClient, ): UseInfiniteQueryReturnType { - const result = useBaseQuery( + return useBaseQuery( InfiniteQueryObserver as typeof QueryObserver, options, queryClient, - ) as InfiniteQueryReturnType - - return result + ) as UseInfiniteQueryReturnType } diff --git a/packages/vue-query/src/useQuery.ts b/packages/vue-query/src/useQuery.ts index 94b0b5efac..44265d8b30 100644 --- a/packages/vue-query/src/useQuery.ts +++ b/packages/vue-query/src/useQuery.ts @@ -1,18 +1,15 @@ import { QueryObserver } from '@tanstack/query-core' import { useBaseQuery } from './useBaseQuery' -import type { ToRefs } from 'vue-demi' import type { DefaultError, DefinedQueryObserverResult, QueryKey, QueryObserverOptions, - QueryObserverResult, WithRequired, } from '@tanstack/query-core' import type { UseBaseQueryReturnType } from './useBaseQuery' import type { DeepUnwrapRef, - DistributiveOmit, MaybeRef, MaybeRefDeep, MaybeRefOrGetter, @@ -86,20 +83,16 @@ export type DefinedInitialQueryOptions< | (() => NonUndefinedGuard) } -export type UseQueryReturnType = DistributiveOmit< - UseBaseQueryReturnType, - 'refetch' -> & { - refetch: QueryObserverResult['refetch'] -} +export type UseQueryReturnType = UseBaseQueryReturnType< + TData, + TError +> -export type UseQueryDefinedReturnType = DistributiveOmit< - ToRefs>>, - 'refetch' -> & { - suspense: () => Promise> - refetch: QueryObserverResult['refetch'] -} +export type UseQueryDefinedReturnType = UseBaseQueryReturnType< + TData, + TError, + DefinedQueryObserverResult +> export function useQuery< TQueryFnData = unknown, @@ -154,7 +147,5 @@ export function useQuery< ): | UseQueryReturnType | UseQueryDefinedReturnType { - const result = useBaseQuery(QueryObserver, options, queryClient) - - return result + return useBaseQuery(QueryObserver, options, queryClient) }