Skip to content

Commit

Permalink
fix(angular-query): reorder query function declarations
Browse files Browse the repository at this point in the history
  • Loading branch information
arnoud-dv committed Aug 6, 2024
1 parent 1a1708b commit 8b1cc33
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import type { EnvironmentProviders } from '@angular/core';
import type { InfiniteData } from '@tanstack/query-core';
import type { InfiniteQueryObserverOptions } from '@tanstack/query-core';
import type { InfiniteQueryObserverResult } from '@tanstack/query-core';
import type { InitialDataFunction } from '@tanstack/query-core';
import { InjectOptions } from '@angular/core';
import { Injector } from '@angular/core';
import type { MutateFunction } from '@tanstack/query-core';
Expand Down Expand Up @@ -111,7 +112,7 @@ export type DefinedCreateQueryResult<TData = unknown, TError = DefaultError, TDe

// @public (undocumented)
export type DefinedInitialDataInfiniteOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam> & {
initialData: NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>> | (() => NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>>);
initialData: NonUndefinedGuard_2<InfiniteData<TQueryFnData, TPageParam>> | (() => NonUndefinedGuard_2<InfiniteData<TQueryFnData, TPageParam>>);
};

// @public (undocumented)
Expand All @@ -120,20 +121,20 @@ export type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultEr
};

// @public
export function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & {
export function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & {
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>>;
};

// @public
export function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & {
export function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & {
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>>;
};

// @public
export function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, injector?: Injector): CreateInfiniteQueryResult<TData, TError>;
export function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, injector?: Injector): DefinedCreateInfiniteQueryResult<TData, TError>;

// @public
export function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, injector?: Injector): DefinedCreateInfiniteQueryResult<TData, TError>;
export function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, injector?: Injector): CreateInfiniteQueryResult<TData, TError>;

// @public
export function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>, injector?: Injector): CreateInfiniteQueryResult<TData, TError>;
Expand Down Expand Up @@ -186,9 +187,6 @@ export const injectQueryClient: {
}): QueryClient;
};

// @public (undocumented)
export type NonUndefinedGuard<T> = T extends undefined ? never : T;

// @public
export function provideAngularQuery(queryClient: QueryClient): EnvironmentProviders;

Expand Down Expand Up @@ -224,12 +222,12 @@ GetResults<Head>
]> : T extends Array<QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, any>> ? Array<QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>> : Array<QueryObserverResult>;

// @public
export function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
export function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
queryKey: DataTag<TQueryKey, TQueryFnData>;
};

// @public
export function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
export function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
queryKey: DataTag<TQueryKey, TQueryFnData>;
};

Expand All @@ -240,12 +238,17 @@ export type UndefinedInitialDataInfiniteOptions<TQueryFnData, TError = DefaultEr

// @public (undocumented)
export type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
initialData?: undefined;
initialData?: undefined | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>;
};


export * from "@tanstack/query-core";

// Warnings were encountered during analysis:
//
// build/infinite-query-options.d.ts:14:5 - (ae-forgotten-export) The symbol "NonUndefinedGuard_2" needs to be exported by the entry point index.d.ts
// build/query-options.d.ts:14:5 - (ae-forgotten-export) The symbol "NonUndefinedGuard" needs to be exported by the entry point index.d.ts

// (No @packageDocumentation comment for this package)

```
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type {
InfiniteData,
QueryKey,
} from '@tanstack/query-core'
import type { CreateInfiniteQueryOptions, NonUndefinedGuard } from './types'
import type { CreateInfiniteQueryOptions } from './types'

/**
* @public
Expand All @@ -26,6 +26,8 @@ export type UndefinedInitialDataInfiniteOptions<
initialData?: undefined
}

type NonUndefinedGuard<T> = T extends undefined ? never : T

/**
* @public
*/
Expand Down Expand Up @@ -63,14 +65,14 @@ export function infiniteQueryOptions<
TQueryKey extends QueryKey = QueryKey,
TPageParam = unknown,
>(
options: UndefinedInitialDataInfiniteOptions<
options: DefinedInitialDataInfiniteOptions<
TQueryFnData,
TError,
TData,
TQueryKey,
TPageParam
>,
): UndefinedInitialDataInfiniteOptions<
): DefinedInitialDataInfiniteOptions<
TQueryFnData,
TError,
TData,
Expand All @@ -95,14 +97,14 @@ export function infiniteQueryOptions<
TQueryKey extends QueryKey = QueryKey,
TPageParam = unknown,
>(
options: DefinedInitialDataInfiniteOptions<
options: UndefinedInitialDataInfiniteOptions<
TQueryFnData,
TError,
TData,
TQueryKey,
TPageParam
>,
): DefinedInitialDataInfiniteOptions<
): UndefinedInitialDataInfiniteOptions<
TQueryFnData,
TError,
TData,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ export function injectInfiniteQuery<
>(
optionsFn: (
client: QueryClient,
) => UndefinedInitialDataInfiniteOptions<
) => DefinedInitialDataInfiniteOptions<
TQueryFnData,
TError,
TData,
TQueryKey,
TPageParam
>,
injector?: Injector,
): CreateInfiniteQueryResult<TData, TError>
): DefinedCreateInfiniteQueryResult<TData, TError>

/**
* Injects an infinite query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
Expand All @@ -63,15 +63,15 @@ export function injectInfiniteQuery<
>(
optionsFn: (
client: QueryClient,
) => DefinedInitialDataInfiniteOptions<
) => UndefinedInitialDataInfiniteOptions<
TQueryFnData,
TError,
TData,
TQueryKey,
TPageParam
>,
injector?: Injector,
): DefinedCreateInfiniteQueryResult<TData, TError>
): CreateInfiniteQueryResult<TData, TError>

/**
* Injects an infinite query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
Expand Down
12 changes: 7 additions & 5 deletions packages/angular-query-experimental/src/query-options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type {
InitialDataFunction,
QueryKey,
} from '@tanstack/query-core'
import type { CreateQueryOptions, NonUndefinedGuard } from './types'
import type { CreateQueryOptions } from './types'

/**
* @public
Expand All @@ -18,6 +18,8 @@ export type UndefinedInitialDataOptions<
initialData?: undefined | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>
}

type NonUndefinedGuard<T> = T extends undefined ? never : T

/**
* @public
*/
Expand Down Expand Up @@ -60,8 +62,8 @@ export function queryOptions<
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
>(
options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
queryKey: DataTag<TQueryKey, TQueryFnData>
}

Expand Down Expand Up @@ -93,8 +95,8 @@ export function queryOptions<
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
>(
options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
queryKey: DataTag<TQueryKey, TQueryFnData>
}

Expand Down
5 changes: 0 additions & 5 deletions packages/angular-query-experimental/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,3 @@ type Override<TTargetA, TTargetB> = {
? TTargetB[AKey]
: TTargetA[AKey]
}

/**
* @public
*/
export type NonUndefinedGuard<T> = T extends undefined ? never : T
6 changes: 6 additions & 0 deletions packages/angular-query-experimental/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,11 @@
"target": "ES2022",
"types": ["vitest/globals"]
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
"strictTemplates": true
},
"include": ["src", "eslint.config.js", "vite.config.ts"]
}

0 comments on commit 8b1cc33

Please sign in to comment.