@tanstack/svelte-query 5.51.8 → 5.51.11

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.
@@ -1,13 +1,13 @@
1
1
  /// <reference types="svelte" />
2
2
  import type { Readable } from 'svelte/store';
3
3
  import type { StoreOrVal } from './types';
4
- import type { DefaultError, OmitKeyof, QueriesPlaceholderDataFunction, QueryClient, QueryFunction, QueryKey, QueryObserverOptions, QueryObserverResult, ThrowOnError } from '@tanstack/query-core';
4
+ import type { DefaultError, DefinedQueryObserverResult, OmitKeyof, QueriesPlaceholderDataFunction, QueryClient, QueryFunction, QueryKey, QueryObserverOptions, QueryObserverResult, ThrowOnError } from '@tanstack/query-core';
5
5
  type QueryObserverOptionsForCreateQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<QueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'placeholderData'> & {
6
6
  placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
7
7
  };
8
8
  type MAXIMUM_DEPTH = 20;
9
9
  type SkipTokenForUseQueries = symbol;
10
- type GetOptions<T> = T extends {
10
+ type GetQueryObserverOptionsForCreateQueries<T> = T extends {
11
11
  queryFnData: infer TQueryFnData;
12
12
  error?: infer TError;
13
13
  data: infer TData;
@@ -22,29 +22,32 @@ type GetOptions<T> = T extends {
22
22
  select?: (data: any) => infer TData;
23
23
  throwOnError?: ThrowOnError<any, infer TError, any, any>;
24
24
  } ? QueryObserverOptionsForCreateQueries<TQueryFnData, unknown extends TError ? DefaultError : TError, unknown extends TData ? TQueryFnData : TData, TQueryKey> : QueryObserverOptionsForCreateQueries;
25
- type GetResults<T> = T extends {
25
+ type GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {
26
+ initialData?: infer TInitialData;
27
+ } ? unknown extends TInitialData ? QueryObserverResult<TData, TError> : TInitialData extends TData ? DefinedQueryObserverResult<TData, TError> : TInitialData extends () => infer TInitialDataResult ? unknown extends TInitialDataResult ? QueryObserverResult<TData, TError> : TInitialDataResult extends TData ? DefinedQueryObserverResult<TData, TError> : QueryObserverResult<TData, TError> : QueryObserverResult<TData, TError> : QueryObserverResult<TData, TError>;
28
+ type GetCreateQueryResult<T> = T extends {
26
29
  queryFnData: any;
27
30
  error?: infer TError;
28
31
  data: infer TData;
29
- } ? QueryObserverResult<TData, TError> : T extends {
32
+ } ? GetDefinedOrUndefinedQueryResult<T, TData, TError> : T extends {
30
33
  queryFnData: infer TQueryFnData;
31
34
  error?: infer TError;
32
- } ? QueryObserverResult<TQueryFnData, TError> : T extends {
35
+ } ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError> : T extends {
33
36
  data: infer TData;
34
37
  error?: infer TError;
35
- } ? QueryObserverResult<TData, TError> : T extends [any, infer TError, infer TData] ? QueryObserverResult<TData, TError> : T extends [infer TQueryFnData, infer TError] ? QueryObserverResult<TQueryFnData, TError> : T extends [infer TQueryFnData] ? QueryObserverResult<TQueryFnData> : T extends {
38
+ } ? GetDefinedOrUndefinedQueryResult<T, TData, TError> : T extends [any, infer TError, infer TData] ? GetDefinedOrUndefinedQueryResult<T, TData, TError> : T extends [infer TQueryFnData, infer TError] ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError> : T extends [infer TQueryFnData] ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData> : T extends {
36
39
  queryFn?: QueryFunction<infer TQueryFnData, any> | SkipTokenForUseQueries;
37
40
  select?: (data: any) => infer TData;
38
41
  throwOnError?: ThrowOnError<any, infer TError, any, any>;
39
- } ? QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : QueryObserverResult;
42
+ } ? GetDefinedOrUndefinedQueryResult<T, unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : QueryObserverResult;
40
43
  /**
41
44
  * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
42
45
  */
43
- export type QueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverOptionsForCreateQueries> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[
44
- ...Tail
46
+ export type QueriesOptions<T extends Array<any>, TResults extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverOptionsForCreateQueries> : T extends [] ? [] : T extends [infer Head] ? [...TResults, GetQueryObserverOptionsForCreateQueries<Head>] : T extends [infer Head, ...infer Tails] ? QueriesOptions<[
47
+ ...Tails
45
48
  ], [
46
- ...TResult,
47
- GetOptions<Head>
49
+ ...TResults,
50
+ GetQueryObserverOptionsForCreateQueries<Head>
48
51
  ], [
49
52
  ...TDepth,
50
53
  1
@@ -52,11 +55,11 @@ export type QueriesOptions<T extends Array<any>, TResult extends Array<any> = []
52
55
  /**
53
56
  * QueriesResults reducer recursively maps type param to results
54
57
  */
55
- export type QueriesResults<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverResult> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[
56
- ...Tail
58
+ export type QueriesResults<T extends Array<any>, TResults extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverResult> : T extends [] ? [] : T extends [infer Head] ? [...TResults, GetCreateQueryResult<Head>] : T extends [infer Head, ...infer Tails] ? QueriesResults<[
59
+ ...Tails
57
60
  ], [
58
- ...TResult,
59
- GetResults<Head>
61
+ ...TResults,
62
+ GetCreateQueryResult<Head>
60
63
  ], [
61
64
  ...TDepth,
62
65
  1
@@ -1,5 +1,6 @@
1
1
  import type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core';
2
- import type { CreateQueryResult, DefinedCreateQueryResult, StoreOrVal } from './types';
2
+ import type { CreateQueryOptions, CreateQueryResult, DefinedCreateQueryResult, StoreOrVal } from './types';
3
3
  import type { DefinedInitialDataOptions, UndefinedInitialDataOptions } from './queryOptions';
4
- export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: StoreOrVal<UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>, queryClient?: QueryClient): CreateQueryResult<TData, TError>;
5
4
  export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: StoreOrVal<DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>, queryClient?: QueryClient): DefinedCreateQueryResult<TData, TError>;
5
+ export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: StoreOrVal<UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>, queryClient?: QueryClient): CreateQueryResult<TData, TError>;
6
+ export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: StoreOrVal<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>>, queryClient?: QueryClient): CreateQueryResult<TData, TError>;
@@ -7,10 +7,10 @@ type NonUndefinedGuard<T> = T extends undefined ? never : T;
7
7
  export type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
8
8
  initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
9
9
  };
10
- export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
10
+ export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
11
11
  queryKey: DataTag<TQueryKey, TQueryFnData>;
12
12
  };
13
- export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
13
+ export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
14
14
  queryKey: DataTag<TQueryKey, TQueryFnData>;
15
15
  };
16
16
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/svelte-query",
3
- "version": "5.51.8",
3
+ "version": "5.51.11",
4
4
  "description": "Primitives for managing, caching and syncing asynchronous and remote data in Svelte",
5
5
  "author": "Lachlan Collins",
6
6
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "src"
33
33
  ],
34
34
  "dependencies": {
35
- "@tanstack/query-core": "5.51.8"
35
+ "@tanstack/query-core": "5.51.9"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@sveltejs/package": "^2.3.1",
@@ -7,6 +7,7 @@ import type { Readable } from 'svelte/store'
7
7
  import type { StoreOrVal } from './types'
8
8
  import type {
9
9
  DefaultError,
10
+ DefinedQueryObserverResult,
10
11
  OmitKeyof,
11
12
  QueriesObserverOptions,
12
13
  QueriesPlaceholderDataFunction,
@@ -19,7 +20,7 @@ import type {
19
20
  } from '@tanstack/query-core'
20
21
 
21
22
  // This defines the `CreateQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.
22
- // `placeholderData` function does not have a parameter
23
+ // `placeholderData` function always gets undefined passed
23
24
  type QueryObserverOptionsForCreateQueries<
24
25
  TQueryFnData = unknown,
25
26
  TError = DefaultError,
@@ -38,7 +39,7 @@ type MAXIMUM_DEPTH = 20
38
39
  // Widen the type of the symbol to enable type inference even if skipToken is not immutable.
39
40
  type SkipTokenForUseQueries = symbol
40
41
 
41
- type GetOptions<T> =
42
+ type GetQueryObserverOptionsForCreateQueries<T> =
42
43
  // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }
43
44
  T extends {
44
45
  queryFnData: infer TQueryFnData
@@ -74,21 +75,38 @@ type GetOptions<T> =
74
75
  : // Fallback
75
76
  QueryObserverOptionsForCreateQueries
76
77
 
77
- type GetResults<T> =
78
+ // A defined initialData setting should return a DefinedQueryObserverResult rather than CreateQueryResult
79
+ type GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {
80
+ initialData?: infer TInitialData
81
+ }
82
+ ? unknown extends TInitialData
83
+ ? QueryObserverResult<TData, TError>
84
+ : TInitialData extends TData
85
+ ? DefinedQueryObserverResult<TData, TError>
86
+ : TInitialData extends () => infer TInitialDataResult
87
+ ? unknown extends TInitialDataResult
88
+ ? QueryObserverResult<TData, TError>
89
+ : TInitialDataResult extends TData
90
+ ? DefinedQueryObserverResult<TData, TError>
91
+ : QueryObserverResult<TData, TError>
92
+ : QueryObserverResult<TData, TError>
93
+ : QueryObserverResult<TData, TError>
94
+
95
+ type GetCreateQueryResult<T> =
78
96
  // Part 1: responsible for mapping explicit type parameter to function result, if object
79
97
  T extends { queryFnData: any; error?: infer TError; data: infer TData }
80
- ? QueryObserverResult<TData, TError>
98
+ ? GetDefinedOrUndefinedQueryResult<T, TData, TError>
81
99
  : T extends { queryFnData: infer TQueryFnData; error?: infer TError }
82
- ? QueryObserverResult<TQueryFnData, TError>
100
+ ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>
83
101
  : T extends { data: infer TData; error?: infer TError }
84
- ? QueryObserverResult<TData, TError>
102
+ ? GetDefinedOrUndefinedQueryResult<T, TData, TError>
85
103
  : // Part 2: responsible for mapping explicit type parameter to function result, if tuple
86
104
  T extends [any, infer TError, infer TData]
87
- ? QueryObserverResult<TData, TError>
105
+ ? GetDefinedOrUndefinedQueryResult<T, TData, TError>
88
106
  : T extends [infer TQueryFnData, infer TError]
89
- ? QueryObserverResult<TQueryFnData, TError>
107
+ ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>
90
108
  : T extends [infer TQueryFnData]
91
- ? QueryObserverResult<TQueryFnData>
109
+ ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData>
92
110
  : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided
93
111
  T extends {
94
112
  queryFn?:
@@ -97,7 +115,8 @@ type GetResults<T> =
97
115
  select?: (data: any) => infer TData
98
116
  throwOnError?: ThrowOnError<any, infer TError, any, any>
99
117
  }
100
- ? QueryObserverResult<
118
+ ? GetDefinedOrUndefinedQueryResult<
119
+ T,
101
120
  unknown extends TData ? TQueryFnData : TData,
102
121
  unknown extends TError ? DefaultError : TError
103
122
  >
@@ -109,18 +128,18 @@ type GetResults<T> =
109
128
  */
110
129
  export type QueriesOptions<
111
130
  T extends Array<any>,
112
- TResult extends Array<any> = [],
131
+ TResults extends Array<any> = [],
113
132
  TDepth extends ReadonlyArray<number> = [],
114
133
  > = TDepth['length'] extends MAXIMUM_DEPTH
115
134
  ? Array<QueryObserverOptionsForCreateQueries>
116
135
  : T extends []
117
136
  ? []
118
137
  : T extends [infer Head]
119
- ? [...TResult, GetOptions<Head>]
120
- : T extends [infer Head, ...infer Tail]
138
+ ? [...TResults, GetQueryObserverOptionsForCreateQueries<Head>]
139
+ : T extends [infer Head, ...infer Tails]
121
140
  ? QueriesOptions<
122
- [...Tail],
123
- [...TResult, GetOptions<Head>],
141
+ [...Tails],
142
+ [...TResults, GetQueryObserverOptionsForCreateQueries<Head>],
124
143
  [...TDepth, 1]
125
144
  >
126
145
  : ReadonlyArray<unknown> extends T
@@ -151,18 +170,18 @@ export type QueriesOptions<
151
170
  */
152
171
  export type QueriesResults<
153
172
  T extends Array<any>,
154
- TResult extends Array<any> = [],
173
+ TResults extends Array<any> = [],
155
174
  TDepth extends ReadonlyArray<number> = [],
156
175
  > = TDepth['length'] extends MAXIMUM_DEPTH
157
176
  ? Array<QueryObserverResult>
158
177
  : T extends []
159
178
  ? []
160
179
  : T extends [infer Head]
161
- ? [...TResult, GetResults<Head>]
162
- : T extends [infer Head, ...infer Tail]
180
+ ? [...TResults, GetCreateQueryResult<Head>]
181
+ : T extends [infer Head, ...infer Tails]
163
182
  ? QueriesResults<
164
- [...Tail],
165
- [...TResult, GetResults<Head>],
183
+ [...Tails],
184
+ [...TResults, GetCreateQueryResult<Head>],
166
185
  [...TDepth, 1]
167
186
  >
168
187
  : T extends Array<
@@ -19,10 +19,10 @@ export function createQuery<
19
19
  TQueryKey extends QueryKey = QueryKey,
20
20
  >(
21
21
  options: StoreOrVal<
22
- UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
22
+ DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
23
23
  >,
24
24
  queryClient?: QueryClient,
25
- ): CreateQueryResult<TData, TError>
25
+ ): DefinedCreateQueryResult<TData, TError>
26
26
 
27
27
  export function createQuery<
28
28
  TQueryFnData = unknown,
@@ -31,13 +31,13 @@ export function createQuery<
31
31
  TQueryKey extends QueryKey = QueryKey,
32
32
  >(
33
33
  options: StoreOrVal<
34
- DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
34
+ UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
35
35
  >,
36
36
  queryClient?: QueryClient,
37
- ): DefinedCreateQueryResult<TData, TError>
37
+ ): CreateQueryResult<TData, TError>
38
38
 
39
39
  export function createQuery<
40
- TQueryFnData,
40
+ TQueryFnData = unknown,
41
41
  TError = DefaultError,
42
42
  TData = TQueryFnData,
43
43
  TQueryKey extends QueryKey = QueryKey,
@@ -46,6 +46,11 @@ export function createQuery<
46
46
  CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>
47
47
  >,
48
48
  queryClient?: QueryClient,
49
+ ): CreateQueryResult<TData, TError>
50
+
51
+ export function createQuery(
52
+ options: StoreOrVal<CreateQueryOptions>,
53
+ queryClient?: QueryClient,
49
54
  ) {
50
55
  return createBaseQuery(options, QueryObserver, queryClient)
51
56
  }
@@ -29,8 +29,8 @@ export function queryOptions<
29
29
  TData = TQueryFnData,
30
30
  TQueryKey extends QueryKey = QueryKey,
31
31
  >(
32
- options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
33
- ): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
32
+ options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
33
+ ): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
34
34
  queryKey: DataTag<TQueryKey, TQueryFnData>
35
35
  }
36
36
 
@@ -40,8 +40,8 @@ export function queryOptions<
40
40
  TData = TQueryFnData,
41
41
  TQueryKey extends QueryKey = QueryKey,
42
42
  >(
43
- options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
44
- ): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
43
+ options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
44
+ ): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
45
45
  queryKey: DataTag<TQueryKey, TQueryFnData>
46
46
  }
47
47