From 83c39062d14fdb501aa0aee29477c205914506de Mon Sep 17 00:00:00 2001 From: Arnoud de Vries <6420061+arnoud-dv@users.noreply.github.com> Date: Sat, 6 Jan 2024 03:18:29 +0100 Subject: [PATCH] fix(angular-query): align types to React Query --- .../src/create-base-query.ts | 5 +-- .../src/inject-query.ts | 12 +++--- .../src/query-options.ts | 10 +++-- .../angular-query-experimental/src/types.ts | 40 ++++++++++--------- 4 files changed, 35 insertions(+), 32 deletions(-) diff --git a/packages/angular-query-experimental/src/create-base-query.ts b/packages/angular-query-experimental/src/create-base-query.ts index 548757fb51..3b85bf5b59 100644 --- a/packages/angular-query-experimental/src/create-base-query.ts +++ b/packages/angular-query-experimental/src/create-base-query.ts @@ -13,7 +13,6 @@ import type { CreateBaseQueryOptions, CreateBaseQueryResult } from './types' /** * Base implementation for `injectQuery` and `injectInfiniteQuery`. - * @internal */ export function createBaseQuery< TQueryFnData, @@ -60,9 +59,7 @@ export function createBaseQuery< >(queryClient, defaultedOptionsSignal()) const resultSignal = signal( - observer.getOptimisticResult( - queryClient.defaultQueryOptions(defaultedOptionsSignal()), - ), + observer.getOptimisticResult(defaultedOptionsSignal()), ) effect( diff --git a/packages/angular-query-experimental/src/inject-query.ts b/packages/angular-query-experimental/src/inject-query.ts index cfaa1478d3..81df496fc9 100644 --- a/packages/angular-query-experimental/src/inject-query.ts +++ b/packages/angular-query-experimental/src/inject-query.ts @@ -14,11 +14,6 @@ import type { UndefinedInitialDataOptions, } from './query-options' -/** - * Create a Query. - * @param options - * @param injector - */ export function injectQuery< TQueryFnData = unknown, TError = DefaultError, @@ -44,7 +39,7 @@ export function injectQuery< ): DefinedCreateQueryResult export function injectQuery< - TQueryFnData, + TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, @@ -53,6 +48,11 @@ export function injectQuery< client: QueryClient, ) => CreateQueryOptions, injector?: Injector, +): CreateQueryResult + +export function injectQuery( + options: (client: QueryClient) => CreateQueryOptions, + injector?: Injector, ) { return assertInjector(injectQuery, injector, () => { const queryClient = injectQueryClient() diff --git a/packages/angular-query-experimental/src/query-options.ts b/packages/angular-query-experimental/src/query-options.ts index 166fa43484..6269a5f00c 100644 --- a/packages/angular-query-experimental/src/query-options.ts +++ b/packages/angular-query-experimental/src/query-options.ts @@ -1,4 +1,4 @@ -import type { DefaultError, QueryKey } from '@tanstack/query-core' +import type { DataTag, DefaultError, QueryKey } from '@tanstack/query-core' import type { CreateQueryOptions } from './types' export type UndefinedInitialDataOptions< @@ -30,7 +30,9 @@ export function queryOptions< TQueryKey extends QueryKey = QueryKey, >( options: UndefinedInitialDataOptions, -): UndefinedInitialDataOptions +): UndefinedInitialDataOptions & { + queryKey: DataTag +} export function queryOptions< TQueryFnData = unknown, @@ -39,7 +41,9 @@ export function queryOptions< TQueryKey extends QueryKey = QueryKey, >( options: DefinedInitialDataOptions, -): DefinedInitialDataOptions +): DefinedInitialDataOptions & { + queryKey: DataTag +} export function queryOptions(options: unknown) { return options diff --git a/packages/angular-query-experimental/src/types.ts b/packages/angular-query-experimental/src/types.ts index 0e9f3c61dd..8bd069c42e 100644 --- a/packages/angular-query-experimental/src/types.ts +++ b/packages/angular-query-experimental/src/types.ts @@ -11,35 +11,46 @@ import type { QueryKey, QueryObserverOptions, QueryObserverResult, + WithRequired, } from '@tanstack/query-core' import type { MapToSignals } from './signal-proxy' -/** Options for createBaseQuery */ -export type CreateBaseQueryOptions< +export interface CreateBaseQueryOptions< TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, -> = QueryObserverOptions +> extends WithRequired< + QueryObserverOptions, + 'queryKey' + > {} -/** Result from createBaseQuery */ export type CreateBaseQueryResult< TData = unknown, TError = DefaultError, State = QueryObserverResult, > = MapToSignals -/** Result from createBaseQuery */ -/** Options for createQuery */ -export type CreateQueryOptions< +export interface CreateQueryOptions< TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, -> = CreateBaseQueryOptions +> extends Omit< + WithRequired< + CreateBaseQueryOptions< + TQueryFnData, + TError, + TData, + TQueryFnData, + TQueryKey + >, + 'queryKey' + >, + 'suspense' + > {} -/** Result from createQuery */ export type CreateQueryResult< TData = unknown, TError = DefaultError, @@ -62,26 +73,17 @@ export type CreateInfiniteQueryOptions< TPageParam > -/** Result from createInfiniteQuery */ export type CreateInfiniteQueryResult< TData = unknown, TError = DefaultError, > = Signal> -/** Options for createBaseQuery with initialData */ -export type DefinedCreateBaseQueryResult< +export type DefinedCreateQueryResult< TData = unknown, TError = DefaultError, DefinedQueryObserver = DefinedQueryObserverResult, > = MapToSignals -/** Options for createQuery with initialData */ -export type DefinedCreateQueryResult< - TData = unknown, - TError = DefaultError, -> = DefinedCreateBaseQueryResult - -/** Options for createMutation */ export type CreateMutationOptions< TData = unknown, TError = DefaultError,