@tanstack/svelte-query 5.0.0-alpha.34 → 5.0.0-alpha.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/__tests__/CreateQuery.svelte.d.ts +2 -2
- package/build/lib/createBaseQuery.d.ts +2 -2
- package/build/lib/createInfiniteQuery.d.ts +2 -2
- package/build/lib/createMutation.d.ts +2 -2
- package/build/lib/createQueries.d.ts +10 -10
- package/build/lib/createQuery.d.ts +3 -3
- package/build/lib/types.d.ts +18 -21
- package/package.json +1 -1
- package/src/createBaseQuery.ts +7 -7
- package/src/createInfiniteQuery.ts +7 -10
- package/src/createMutation.ts +1 -4
- package/src/createQueries.ts +28 -17
- package/src/createQuery.ts +3 -10
- package/src/types.ts +39 -36
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import type { CreateQueryOptions
|
|
2
|
+
import type { CreateQueryOptions } from '../types';
|
|
3
3
|
declare const __propDef: {
|
|
4
4
|
props: {
|
|
5
|
-
options:
|
|
5
|
+
options: CreateQueryOptions<any>;
|
|
6
6
|
};
|
|
7
7
|
events: {
|
|
8
8
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core';
|
|
2
|
-
import type { CreateBaseQueryOptions, CreateBaseQueryResult
|
|
3
|
-
export declare function createBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>(options:
|
|
2
|
+
import type { CreateBaseQueryOptions, CreateBaseQueryResult } from './types';
|
|
3
|
+
export declare function createBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey>(options: CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, Observer: typeof QueryObserver, queryClient?: QueryClient): CreateBaseQueryResult<TData, TError>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { QueryKey, QueryClient, DefaultError, InfiniteData } from '@tanstack/query-core';
|
|
2
|
-
import type { CreateInfiniteQueryOptions, CreateInfiniteQueryResult
|
|
3
|
-
export declare function createInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options:
|
|
2
|
+
import type { CreateInfiniteQueryOptions, CreateInfiniteQueryResult } from './types';
|
|
3
|
+
export declare function createInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>, queryClient?: QueryClient): CreateInfiniteQueryResult<TData, TError>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { QueryClient, DefaultError } from '@tanstack/query-core';
|
|
2
|
-
import type { CreateMutationOptions, CreateMutationResult
|
|
3
|
-
export declare function createMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(options:
|
|
2
|
+
import type { CreateMutationOptions, CreateMutationResult } from './types';
|
|
3
|
+
export declare function createMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(options: CreateMutationOptions<TData, TError, TVariables, TContext>, queryClient?: QueryClient): CreateMutationResult<TData, TError, TVariables, TContext>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { QueryKey, QueryFunction, QueryClient, QueriesPlaceholderDataFunction, QueryObserverResult, DefaultError } from '@tanstack/query-core';
|
|
1
|
+
import type { QueryKey, QueryFunction, QueryClient, QueriesPlaceholderDataFunction, QueryObserverResult, DefaultError, QueryObserverOptions } from '@tanstack/query-core';
|
|
2
2
|
import { type Readable } from 'svelte/store';
|
|
3
|
-
import type {
|
|
4
|
-
declare type
|
|
3
|
+
import type { WritableOrVal } from './types';
|
|
4
|
+
declare type QueryObserverOptionsForCreateQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<QueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'placeholderData'> & {
|
|
5
5
|
placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
|
|
6
6
|
};
|
|
7
7
|
declare type MAXIMUM_DEPTH = 20;
|
|
@@ -9,18 +9,18 @@ declare type GetOptions<T> = T extends {
|
|
|
9
9
|
queryFnData: infer TQueryFnData;
|
|
10
10
|
error?: infer TError;
|
|
11
11
|
data: infer TData;
|
|
12
|
-
} ?
|
|
12
|
+
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends {
|
|
13
13
|
queryFnData: infer TQueryFnData;
|
|
14
14
|
error?: infer TError;
|
|
15
|
-
} ?
|
|
15
|
+
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError> : T extends {
|
|
16
16
|
data: infer TData;
|
|
17
17
|
error?: infer TError;
|
|
18
|
-
} ?
|
|
18
|
+
} ? QueryObserverOptionsForCreateQueries<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError> : T extends [infer TQueryFnData] ? QueryObserverOptionsForCreateQueries<TQueryFnData> : T extends {
|
|
19
19
|
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
|
|
20
20
|
select: (data: any) => infer TData;
|
|
21
|
-
} ?
|
|
21
|
+
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, Error, TData, TQueryKey> : T extends {
|
|
22
22
|
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
|
|
23
|
-
} ?
|
|
23
|
+
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, Error, TQueryFnData, TQueryKey> : QueryObserverOptionsForCreateQueries;
|
|
24
24
|
declare type GetResults<T> = T extends {
|
|
25
25
|
queryFnData: any;
|
|
26
26
|
error?: infer TError;
|
|
@@ -40,11 +40,11 @@ declare type GetResults<T> = T extends {
|
|
|
40
40
|
/**
|
|
41
41
|
* QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
|
|
42
42
|
*/
|
|
43
|
-
export declare type QueriesOptions<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ?
|
|
43
|
+
export declare type QueriesOptions<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? QueryObserverOptionsForCreateQueries[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]> : unknown[] extends T ? T : T extends QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>[] : QueryObserverOptionsForCreateQueries[];
|
|
44
44
|
/**
|
|
45
45
|
* QueriesResults reducer recursively maps type param to results
|
|
46
46
|
*/
|
|
47
|
-
export declare type QueriesResults<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? QueryObserverResult[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]> : T extends
|
|
47
|
+
export declare type QueriesResults<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? QueryObserverResult[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]> : T extends QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, any>[] ? QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>[] : QueryObserverResult[];
|
|
48
48
|
export declare function createQueries<T extends any[], TCombinedResult = QueriesResults<T>>({ queries, ...options }: {
|
|
49
49
|
queries: WritableOrVal<[...QueriesOptions<T>]>;
|
|
50
50
|
combine?: (result: QueriesResults<T>) => TCombinedResult;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { QueryKey, QueryClient, DefaultError } from '@tanstack/query-core';
|
|
2
|
-
import type { DefinedCreateQueryResult, CreateQueryOptions, CreateQueryResult
|
|
2
|
+
import type { DefinedCreateQueryResult, CreateQueryOptions, CreateQueryResult } from './types';
|
|
3
3
|
declare type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
4
4
|
initialData?: undefined;
|
|
5
5
|
};
|
|
6
6
|
declare type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
7
7
|
initialData: TQueryFnData | (() => TQueryFnData);
|
|
8
8
|
};
|
|
9
|
-
export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options:
|
|
10
|
-
export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options:
|
|
9
|
+
export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): CreateQueryResult<TData, TError>;
|
|
10
|
+
export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): DefinedCreateQueryResult<TData, TError>;
|
|
11
11
|
export {};
|
package/build/lib/types.d.ts
CHANGED
|
@@ -1,28 +1,25 @@
|
|
|
1
1
|
import type { InfiniteQueryObserverOptions, InfiniteQueryObserverResult, MutationObserverResult, QueryObserverOptions, QueryObserverResult, QueryKey, MutationObserverOptions, MutateFunction, DefinedQueryObserverResult, DefaultError } from '@tanstack/query-core';
|
|
2
|
-
import type { QueryClient } from '@tanstack/query-core';
|
|
3
2
|
import type { Readable, Writable } from 'svelte/store';
|
|
3
|
+
/** Allows a type to be either the base object or a store of that object */
|
|
4
4
|
export declare type WritableOrVal<T> = T | Writable<T>;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
export interface CreateQueryResult<TData = unknown, TError = DefaultError> extends CreateBaseQueryResult<TData, TError> {
|
|
18
|
-
}
|
|
19
|
-
export interface CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam> {
|
|
20
|
-
}
|
|
5
|
+
/** Options for createBaseQuery */
|
|
6
|
+
export declare type CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = WritableOrVal<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>>;
|
|
7
|
+
/** Result from createBaseQuery */
|
|
8
|
+
export declare type CreateBaseQueryResult<TData = unknown, TError = DefaultError> = Readable<QueryObserverResult<TData, TError>>;
|
|
9
|
+
/** Options for createQuery */
|
|
10
|
+
export declare type CreateQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>;
|
|
11
|
+
/** Result from createQuery */
|
|
12
|
+
export declare type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBaseQueryResult<TData, TError>;
|
|
13
|
+
/** Options for createInfiniteQuery */
|
|
14
|
+
export declare type CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = WritableOrVal<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>>;
|
|
15
|
+
/** Result from createInfiniteQuery */
|
|
21
16
|
export declare type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = Readable<InfiniteQueryObserverResult<TData, TError>>;
|
|
17
|
+
/** Options for createBaseQuery with initialData */
|
|
22
18
|
export declare type DefinedCreateBaseQueryResult<TData = unknown, TError = DefaultError> = Readable<DefinedQueryObserverResult<TData, TError>>;
|
|
19
|
+
/** Options for createQuery with initialData */
|
|
23
20
|
export declare type DefinedCreateQueryResult<TData = unknown, TError = DefaultError> = DefinedCreateBaseQueryResult<TData, TError>;
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
/** Options for createMutation */
|
|
22
|
+
export declare type CreateMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = WritableOrVal<Omit<MutationObserverOptions<TData, TError, TVariables, TContext>, '_defaulted' | 'variables'>>;
|
|
26
23
|
export declare type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
|
|
27
24
|
export declare type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutateFunction<TData, TError, TVariables, TContext>;
|
|
28
25
|
export declare type CreateBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TContext>, {
|
|
@@ -30,8 +27,8 @@ export declare type CreateBaseMutationResult<TData = unknown, TError = DefaultEr
|
|
|
30
27
|
}> & {
|
|
31
28
|
mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>;
|
|
32
29
|
};
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
/** Result from createMutation */
|
|
31
|
+
export declare type CreateMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = Readable<CreateBaseMutationResult<TData, TError, TVariables, TContext>>;
|
|
35
32
|
declare type Override<A, B> = {
|
|
36
33
|
[K in keyof A]: K extends keyof B ? B[K] : A[K];
|
|
37
34
|
};
|
package/package.json
CHANGED
package/src/createBaseQuery.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import type { QueryClient, QueryKey, QueryObserver } from '@tanstack/query-core'
|
|
2
2
|
import { notifyManager } from '@tanstack/query-core'
|
|
3
|
-
import type {
|
|
4
|
-
CreateBaseQueryOptions,
|
|
5
|
-
CreateBaseQueryResult,
|
|
6
|
-
WritableOrVal,
|
|
7
|
-
} from './types'
|
|
3
|
+
import type { CreateBaseQueryOptions, CreateBaseQueryResult } from './types'
|
|
8
4
|
import { useQueryClient } from './useQueryClient'
|
|
9
5
|
import { derived, get, readable, writable } from 'svelte/store'
|
|
10
6
|
import { isWritable } from './utils'
|
|
@@ -16,8 +12,12 @@ export function createBaseQuery<
|
|
|
16
12
|
TQueryData,
|
|
17
13
|
TQueryKey extends QueryKey,
|
|
18
14
|
>(
|
|
19
|
-
options:
|
|
20
|
-
|
|
15
|
+
options: CreateBaseQueryOptions<
|
|
16
|
+
TQueryFnData,
|
|
17
|
+
TError,
|
|
18
|
+
TData,
|
|
19
|
+
TQueryData,
|
|
20
|
+
TQueryKey
|
|
21
21
|
>,
|
|
22
22
|
Observer: typeof QueryObserver,
|
|
23
23
|
queryClient?: QueryClient,
|
|
@@ -9,7 +9,6 @@ import { InfiniteQueryObserver } from '@tanstack/query-core'
|
|
|
9
9
|
import type {
|
|
10
10
|
CreateInfiniteQueryOptions,
|
|
11
11
|
CreateInfiniteQueryResult,
|
|
12
|
-
WritableOrVal,
|
|
13
12
|
} from './types'
|
|
14
13
|
import { createBaseQuery } from './createBaseQuery'
|
|
15
14
|
|
|
@@ -20,15 +19,13 @@ export function createInfiniteQuery<
|
|
|
20
19
|
TQueryKey extends QueryKey = QueryKey,
|
|
21
20
|
TPageParam = unknown,
|
|
22
21
|
>(
|
|
23
|
-
options:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
TPageParam
|
|
31
|
-
>
|
|
22
|
+
options: CreateInfiniteQueryOptions<
|
|
23
|
+
TQueryFnData,
|
|
24
|
+
TError,
|
|
25
|
+
TData,
|
|
26
|
+
TQueryFnData,
|
|
27
|
+
TQueryKey,
|
|
28
|
+
TPageParam
|
|
32
29
|
>,
|
|
33
30
|
queryClient?: QueryClient,
|
|
34
31
|
): CreateInfiniteQueryResult<TData, TError> {
|
package/src/createMutation.ts
CHANGED
|
@@ -5,7 +5,6 @@ import type {
|
|
|
5
5
|
CreateMutateFunction,
|
|
6
6
|
CreateMutationOptions,
|
|
7
7
|
CreateMutationResult,
|
|
8
|
-
WritableOrVal,
|
|
9
8
|
} from './types'
|
|
10
9
|
import { useQueryClient } from './useQueryClient'
|
|
11
10
|
import { isWritable } from './utils'
|
|
@@ -16,9 +15,7 @@ export function createMutation<
|
|
|
16
15
|
TVariables = void,
|
|
17
16
|
TContext = unknown,
|
|
18
17
|
>(
|
|
19
|
-
options:
|
|
20
|
-
CreateMutationOptions<TData, TError, TVariables, TContext>
|
|
21
|
-
>,
|
|
18
|
+
options: CreateMutationOptions<TData, TError, TVariables, TContext>,
|
|
22
19
|
queryClient?: QueryClient,
|
|
23
20
|
): CreateMutationResult<TData, TError, TVariables, TContext> {
|
|
24
21
|
const client = useQueryClient(queryClient)
|
package/src/createQueries.ts
CHANGED
|
@@ -6,24 +6,25 @@ import type {
|
|
|
6
6
|
QueryObserverResult,
|
|
7
7
|
DefaultError,
|
|
8
8
|
QueriesObserverOptions,
|
|
9
|
+
QueryObserverOptions,
|
|
9
10
|
} from '@tanstack/query-core'
|
|
10
11
|
|
|
11
12
|
import { notifyManager, QueriesObserver } from '@tanstack/query-core'
|
|
12
13
|
import { derived, get, readable, writable, type Readable } from 'svelte/store'
|
|
13
14
|
|
|
14
|
-
import type {
|
|
15
|
+
import type { WritableOrVal } from './types'
|
|
15
16
|
import { useQueryClient } from './useQueryClient'
|
|
16
17
|
import { isWritable } from './utils'
|
|
17
18
|
|
|
18
19
|
// This defines the `CreateQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.
|
|
19
20
|
// `placeholderData` function does not have a parameter
|
|
20
|
-
type
|
|
21
|
+
type QueryObserverOptionsForCreateQueries<
|
|
21
22
|
TQueryFnData = unknown,
|
|
22
23
|
TError = DefaultError,
|
|
23
24
|
TData = TQueryFnData,
|
|
24
25
|
TQueryKey extends QueryKey = QueryKey,
|
|
25
26
|
> = Omit<
|
|
26
|
-
|
|
27
|
+
QueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>,
|
|
27
28
|
'placeholderData'
|
|
28
29
|
> & {
|
|
29
30
|
placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>
|
|
@@ -39,33 +40,38 @@ type GetOptions<T> =
|
|
|
39
40
|
error?: infer TError
|
|
40
41
|
data: infer TData
|
|
41
42
|
}
|
|
42
|
-
?
|
|
43
|
+
? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData>
|
|
43
44
|
: T extends { queryFnData: infer TQueryFnData; error?: infer TError }
|
|
44
|
-
?
|
|
45
|
+
? QueryObserverOptionsForCreateQueries<TQueryFnData, TError>
|
|
45
46
|
: T extends { data: infer TData; error?: infer TError }
|
|
46
|
-
?
|
|
47
|
+
? QueryObserverOptionsForCreateQueries<unknown, TError, TData>
|
|
47
48
|
: // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]
|
|
48
49
|
T extends [infer TQueryFnData, infer TError, infer TData]
|
|
49
|
-
?
|
|
50
|
+
? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData>
|
|
50
51
|
: T extends [infer TQueryFnData, infer TError]
|
|
51
|
-
?
|
|
52
|
+
? QueryObserverOptionsForCreateQueries<TQueryFnData, TError>
|
|
52
53
|
: T extends [infer TQueryFnData]
|
|
53
|
-
?
|
|
54
|
+
? QueryObserverOptionsForCreateQueries<TQueryFnData>
|
|
54
55
|
: // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided
|
|
55
56
|
T extends {
|
|
56
57
|
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>
|
|
57
58
|
select: (data: any) => infer TData
|
|
58
59
|
}
|
|
59
|
-
?
|
|
60
|
+
? QueryObserverOptionsForCreateQueries<
|
|
61
|
+
TQueryFnData,
|
|
62
|
+
Error,
|
|
63
|
+
TData,
|
|
64
|
+
TQueryKey
|
|
65
|
+
>
|
|
60
66
|
: T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }
|
|
61
|
-
?
|
|
67
|
+
? QueryObserverOptionsForCreateQueries<
|
|
62
68
|
TQueryFnData,
|
|
63
69
|
Error,
|
|
64
70
|
TQueryFnData,
|
|
65
71
|
TQueryKey
|
|
66
72
|
>
|
|
67
73
|
: // Fallback
|
|
68
|
-
|
|
74
|
+
QueryObserverOptionsForCreateQueries
|
|
69
75
|
|
|
70
76
|
type GetResults<T> =
|
|
71
77
|
// Part 1: responsible for mapping explicit type parameter to function result, if object
|
|
@@ -101,7 +107,7 @@ export type QueriesOptions<
|
|
|
101
107
|
Result extends any[] = [],
|
|
102
108
|
Depth extends ReadonlyArray<number> = [],
|
|
103
109
|
> = Depth['length'] extends MAXIMUM_DEPTH
|
|
104
|
-
?
|
|
110
|
+
? QueryObserverOptionsForCreateQueries[]
|
|
105
111
|
: T extends []
|
|
106
112
|
? []
|
|
107
113
|
: T extends [infer Head]
|
|
@@ -112,15 +118,20 @@ export type QueriesOptions<
|
|
|
112
118
|
? T
|
|
113
119
|
: // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!
|
|
114
120
|
// use this to infer the param types in the case of Array.map() argument
|
|
115
|
-
T extends
|
|
121
|
+
T extends QueryObserverOptionsForCreateQueries<
|
|
116
122
|
infer TQueryFnData,
|
|
117
123
|
infer TError,
|
|
118
124
|
infer TData,
|
|
119
125
|
infer TQueryKey
|
|
120
126
|
>[]
|
|
121
|
-
?
|
|
127
|
+
? QueryObserverOptionsForCreateQueries<
|
|
128
|
+
TQueryFnData,
|
|
129
|
+
TError,
|
|
130
|
+
TData,
|
|
131
|
+
TQueryKey
|
|
132
|
+
>[]
|
|
122
133
|
: // Fallback
|
|
123
|
-
|
|
134
|
+
QueryObserverOptionsForCreateQueries[]
|
|
124
135
|
|
|
125
136
|
/**
|
|
126
137
|
* QueriesResults reducer recursively maps type param to results
|
|
@@ -137,7 +148,7 @@ export type QueriesResults<
|
|
|
137
148
|
? [...Result, GetResults<Head>]
|
|
138
149
|
: T extends [infer Head, ...infer Tail]
|
|
139
150
|
? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>
|
|
140
|
-
: T extends
|
|
151
|
+
: T extends QueryObserverOptionsForCreateQueries<
|
|
141
152
|
infer TQueryFnData,
|
|
142
153
|
infer TError,
|
|
143
154
|
infer TData,
|
package/src/createQuery.ts
CHANGED
|
@@ -5,7 +5,6 @@ import type {
|
|
|
5
5
|
DefinedCreateQueryResult,
|
|
6
6
|
CreateQueryOptions,
|
|
7
7
|
CreateQueryResult,
|
|
8
|
-
WritableOrVal,
|
|
9
8
|
} from './types'
|
|
10
9
|
|
|
11
10
|
type UndefinedInitialDataOptions<
|
|
@@ -32,9 +31,7 @@ export function createQuery<
|
|
|
32
31
|
TData = TQueryFnData,
|
|
33
32
|
TQueryKey extends QueryKey = QueryKey,
|
|
34
33
|
>(
|
|
35
|
-
options:
|
|
36
|
-
UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
|
|
37
|
-
>,
|
|
34
|
+
options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
38
35
|
queryClient?: QueryClient,
|
|
39
36
|
): CreateQueryResult<TData, TError>
|
|
40
37
|
|
|
@@ -44,9 +41,7 @@ export function createQuery<
|
|
|
44
41
|
TData = TQueryFnData,
|
|
45
42
|
TQueryKey extends QueryKey = QueryKey,
|
|
46
43
|
>(
|
|
47
|
-
options:
|
|
48
|
-
DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
|
|
49
|
-
>,
|
|
44
|
+
options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
50
45
|
queryClient?: QueryClient,
|
|
51
46
|
): DefinedCreateQueryResult<TData, TError>
|
|
52
47
|
|
|
@@ -56,9 +51,7 @@ export function createQuery<
|
|
|
56
51
|
TData = TQueryFnData,
|
|
57
52
|
TQueryKey extends QueryKey = QueryKey,
|
|
58
53
|
>(
|
|
59
|
-
options:
|
|
60
|
-
CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>
|
|
61
|
-
>,
|
|
54
|
+
options: CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
62
55
|
queryClient?: QueryClient,
|
|
63
56
|
) {
|
|
64
57
|
return createBaseQuery(options, QueryObserver, queryClient)
|
package/src/types.ts
CHANGED
|
@@ -10,87 +10,91 @@ import type {
|
|
|
10
10
|
DefinedQueryObserverResult,
|
|
11
11
|
DefaultError,
|
|
12
12
|
} from '@tanstack/query-core'
|
|
13
|
-
import type { QueryClient } from '@tanstack/query-core'
|
|
14
13
|
import type { Readable, Writable } from 'svelte/store'
|
|
15
14
|
|
|
15
|
+
/** Allows a type to be either the base object or a store of that object */
|
|
16
16
|
export type WritableOrVal<T> = T | Writable<T>
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* Use this to pass your Svelte Query context. Otherwise, `defaultContext` will be used.
|
|
21
|
-
*/
|
|
22
|
-
context?: QueryClient | undefined
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface CreateBaseQueryOptions<
|
|
18
|
+
/** Options for createBaseQuery */
|
|
19
|
+
export type CreateBaseQueryOptions<
|
|
26
20
|
TQueryFnData = unknown,
|
|
27
21
|
TError = DefaultError,
|
|
28
22
|
TData = TQueryFnData,
|
|
29
23
|
TQueryData = TQueryFnData,
|
|
30
24
|
TQueryKey extends QueryKey = QueryKey,
|
|
31
|
-
>
|
|
32
|
-
|
|
25
|
+
> = WritableOrVal<
|
|
26
|
+
QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>
|
|
27
|
+
>
|
|
33
28
|
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
/** Result from createBaseQuery */
|
|
30
|
+
export type CreateBaseQueryResult<
|
|
31
|
+
TData = unknown,
|
|
32
|
+
TError = DefaultError,
|
|
33
|
+
> = Readable<QueryObserverResult<TData, TError>>
|
|
36
34
|
|
|
37
|
-
|
|
35
|
+
/** Options for createQuery */
|
|
36
|
+
export type CreateQueryOptions<
|
|
38
37
|
TQueryFnData = unknown,
|
|
39
38
|
TError = DefaultError,
|
|
40
39
|
TData = TQueryFnData,
|
|
41
40
|
TQueryKey extends QueryKey = QueryKey,
|
|
42
|
-
>
|
|
43
|
-
TQueryFnData,
|
|
44
|
-
TError,
|
|
45
|
-
TData,
|
|
46
|
-
TQueryFnData,
|
|
47
|
-
TQueryKey
|
|
48
|
-
> {}
|
|
41
|
+
> = CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>
|
|
49
42
|
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
/** Result from createQuery */
|
|
44
|
+
export type CreateQueryResult<
|
|
45
|
+
TData = unknown,
|
|
46
|
+
TError = DefaultError,
|
|
47
|
+
> = CreateBaseQueryResult<TData, TError>
|
|
52
48
|
|
|
53
|
-
|
|
49
|
+
/** Options for createInfiniteQuery */
|
|
50
|
+
export type CreateInfiniteQueryOptions<
|
|
54
51
|
TQueryFnData = unknown,
|
|
55
52
|
TError = DefaultError,
|
|
56
53
|
TData = TQueryFnData,
|
|
57
54
|
TQueryData = TQueryFnData,
|
|
58
55
|
TQueryKey extends QueryKey = QueryKey,
|
|
59
56
|
TPageParam = unknown,
|
|
60
|
-
>
|
|
57
|
+
> = WritableOrVal<
|
|
58
|
+
InfiniteQueryObserverOptions<
|
|
61
59
|
TQueryFnData,
|
|
62
60
|
TError,
|
|
63
61
|
TData,
|
|
64
62
|
TQueryData,
|
|
65
63
|
TQueryKey,
|
|
66
64
|
TPageParam
|
|
67
|
-
>
|
|
65
|
+
>
|
|
66
|
+
>
|
|
68
67
|
|
|
68
|
+
/** Result from createInfiniteQuery */
|
|
69
69
|
export type CreateInfiniteQueryResult<
|
|
70
70
|
TData = unknown,
|
|
71
71
|
TError = DefaultError,
|
|
72
72
|
> = Readable<InfiniteQueryObserverResult<TData, TError>>
|
|
73
73
|
|
|
74
|
+
/** Options for createBaseQuery with initialData */
|
|
74
75
|
export type DefinedCreateBaseQueryResult<
|
|
75
76
|
TData = unknown,
|
|
76
77
|
TError = DefaultError,
|
|
77
78
|
> = Readable<DefinedQueryObserverResult<TData, TError>>
|
|
78
79
|
|
|
80
|
+
/** Options for createQuery with initialData */
|
|
79
81
|
export type DefinedCreateQueryResult<
|
|
80
82
|
TData = unknown,
|
|
81
83
|
TError = DefaultError,
|
|
82
84
|
> = DefinedCreateBaseQueryResult<TData, TError>
|
|
83
85
|
|
|
84
|
-
|
|
86
|
+
/** Options for createMutation */
|
|
87
|
+
export type CreateMutationOptions<
|
|
85
88
|
TData = unknown,
|
|
86
89
|
TError = DefaultError,
|
|
87
90
|
TVariables = void,
|
|
88
91
|
TContext = unknown,
|
|
89
|
-
>
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
> = WritableOrVal<
|
|
93
|
+
Omit<
|
|
94
|
+
MutationObserverOptions<TData, TError, TVariables, TContext>,
|
|
95
|
+
'_defaulted' | 'variables'
|
|
96
|
+
>
|
|
97
|
+
>
|
|
94
98
|
|
|
95
99
|
export type CreateMutateFunction<
|
|
96
100
|
TData = unknown,
|
|
@@ -120,13 +124,12 @@ export type CreateBaseMutationResult<
|
|
|
120
124
|
mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>
|
|
121
125
|
}
|
|
122
126
|
|
|
123
|
-
|
|
127
|
+
/** Result from createMutation */
|
|
128
|
+
export type CreateMutationResult<
|
|
124
129
|
TData = unknown,
|
|
125
130
|
TError = DefaultError,
|
|
126
131
|
TVariables = unknown,
|
|
127
132
|
TContext = unknown,
|
|
128
|
-
>
|
|
129
|
-
CreateBaseMutationResult<TData, TError, TVariables, TContext>
|
|
130
|
-
> {}
|
|
133
|
+
> = Readable<CreateBaseMutationResult<TData, TError, TVariables, TContext>>
|
|
131
134
|
|
|
132
135
|
type Override<A, B> = { [K in keyof A]: K extends keyof B ? B[K] : A[K] }
|