@tanstack/svelte-query 5.40.0 → 5.40.3

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,11 +1,12 @@
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, SkipToken, ThrowOnError } from '@tanstack/query-core';
4
+ import type { DefaultError, 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
+ type SkipTokenForUseQueries = symbol;
9
10
  type GetOptions<T> = T extends {
10
11
  queryFnData: infer TQueryFnData;
11
12
  error?: infer TError;
@@ -17,13 +18,10 @@ type GetOptions<T> = T extends {
17
18
  data: infer TData;
18
19
  error?: infer TError;
19
20
  } ? 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 {
20
- queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipToken;
21
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipTokenForUseQueries;
21
22
  select?: (data: any) => infer TData;
22
23
  throwOnError?: ThrowOnError<any, infer TError, any, any>;
23
- } ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey> : T extends {
24
- queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipToken;
25
- throwOnError?: ThrowOnError<any, infer TError, any, any>;
26
- } ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TQueryFnData, TQueryKey> : QueryObserverOptionsForCreateQueries;
24
+ } ? QueryObserverOptionsForCreateQueries<TQueryFnData, unknown extends TError ? DefaultError : TError, unknown extends TData ? TQueryFnData : TData, TQueryKey> : QueryObserverOptionsForCreateQueries;
27
25
  type GetResults<T> = T extends {
28
26
  queryFnData: any;
29
27
  error?: infer TError;
@@ -35,13 +33,10 @@ type GetResults<T> = T extends {
35
33
  data: infer TData;
36
34
  error?: infer TError;
37
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
- queryFn?: QueryFunction<infer TQueryFnData, any> | SkipToken;
36
+ queryFn?: QueryFunction<infer TQueryFnData, any> | SkipTokenForUseQueries;
39
37
  select?: (data: any) => infer TData;
40
38
  throwOnError?: ThrowOnError<any, infer TError, any, any>;
41
- } ? QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : T extends {
42
- queryFn?: QueryFunction<infer TQueryFnData, any> | SkipToken;
43
- throwOnError?: ThrowOnError<any, infer TError, any, any>;
44
- } ? QueryObserverResult<TQueryFnData, unknown extends TError ? DefaultError : TError> : QueryObserverResult;
39
+ } ? QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : QueryObserverResult;
45
40
  /**
46
41
  * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
47
42
  */
@@ -53,7 +48,7 @@ export type QueriesOptions<T extends Array<any>, TResult extends Array<any> = []
53
48
  ], [
54
49
  ...TDepth,
55
50
  1
56
- ]> : Readonly<unknown> extends T ? T : T extends Array<QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>> : Array<QueryObserverOptionsForCreateQueries>;
51
+ ]> : ReadonlyArray<unknown> extends T ? T : T extends Array<QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>> : Array<QueryObserverOptionsForCreateQueries>;
57
52
  /**
58
53
  * QueriesResults reducer recursively maps type param to results
59
54
  */
@@ -1,4 +1,4 @@
1
- import type { DefaultError, QueryKey } from '@tanstack/query-core';
1
+ import type { DataTag, DefaultError, QueryKey } from '@tanstack/query-core';
2
2
  import type { CreateQueryOptions } from './types';
3
3
  export type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
4
4
  initialData?: undefined;
@@ -7,6 +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>;
11
- 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>;
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> & {
11
+ queryKey: DataTag<TQueryKey, TQueryFnData>;
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> & {
14
+ queryKey: DataTag<TQueryKey, TQueryFnData>;
15
+ };
12
16
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/svelte-query",
3
- "version": "5.40.0",
3
+ "version": "5.40.3",
4
4
  "description": "Primitives for managing, caching and syncing asynchronous and remote data in Svelte",
5
5
  "author": "Lachlan Collins",
6
6
  "license": "MIT",
@@ -15,7 +15,6 @@ import type {
15
15
  QueryKey,
16
16
  QueryObserverOptions,
17
17
  QueryObserverResult,
18
- SkipToken,
19
18
  ThrowOnError,
20
19
  } from '@tanstack/query-core'
21
20
 
@@ -36,6 +35,9 @@ type QueryObserverOptionsForCreateQueries<
36
35
  // Avoid TS depth-limit error in case of large array literal
37
36
  type MAXIMUM_DEPTH = 20
38
37
 
38
+ // Widen the type of the symbol to enable type inference even if skipToken is not immutable.
39
+ type SkipTokenForUseQueries = symbol
40
+
39
41
  type GetOptions<T> =
40
42
  // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }
41
43
  T extends {
@@ -59,30 +61,18 @@ type GetOptions<T> =
59
61
  T extends {
60
62
  queryFn?:
61
63
  | QueryFunction<infer TQueryFnData, infer TQueryKey>
62
- | SkipToken
64
+ | SkipTokenForUseQueries
63
65
  select?: (data: any) => infer TData
64
66
  throwOnError?: ThrowOnError<any, infer TError, any, any>
65
67
  }
66
68
  ? QueryObserverOptionsForCreateQueries<
67
69
  TQueryFnData,
68
- TError,
69
- TData,
70
+ unknown extends TError ? DefaultError : TError,
71
+ unknown extends TData ? TQueryFnData : TData,
70
72
  TQueryKey
71
73
  >
72
- : T extends {
73
- queryFn?:
74
- | QueryFunction<infer TQueryFnData, infer TQueryKey>
75
- | SkipToken
76
- throwOnError?: ThrowOnError<any, infer TError, any, any>
77
- }
78
- ? QueryObserverOptionsForCreateQueries<
79
- TQueryFnData,
80
- TError,
81
- TQueryFnData,
82
- TQueryKey
83
- >
84
- : // Fallback
85
- QueryObserverOptionsForCreateQueries
74
+ : // Fallback
75
+ QueryObserverOptionsForCreateQueries
86
76
 
87
77
  type GetResults<T> =
88
78
  // Part 1: responsible for mapping explicit type parameter to function result, if object
@@ -101,7 +91,9 @@ type GetResults<T> =
101
91
  ? QueryObserverResult<TQueryFnData>
102
92
  : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided
103
93
  T extends {
104
- queryFn?: QueryFunction<infer TQueryFnData, any> | SkipToken
94
+ queryFn?:
95
+ | QueryFunction<infer TQueryFnData, any>
96
+ | SkipTokenForUseQueries
105
97
  select?: (data: any) => infer TData
106
98
  throwOnError?: ThrowOnError<any, infer TError, any, any>
107
99
  }
@@ -109,18 +101,8 @@ type GetResults<T> =
109
101
  unknown extends TData ? TQueryFnData : TData,
110
102
  unknown extends TError ? DefaultError : TError
111
103
  >
112
- : T extends {
113
- queryFn?:
114
- | QueryFunction<infer TQueryFnData, any>
115
- | SkipToken
116
- throwOnError?: ThrowOnError<any, infer TError, any, any>
117
- }
118
- ? QueryObserverResult<
119
- TQueryFnData,
120
- unknown extends TError ? DefaultError : TError
121
- >
122
- : // Fallback
123
- QueryObserverResult
104
+ : // Fallback
105
+ QueryObserverResult
124
106
 
125
107
  /**
126
108
  * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
@@ -141,7 +123,7 @@ export type QueriesOptions<
141
123
  [...TResult, GetOptions<Head>],
142
124
  [...TDepth, 1]
143
125
  >
144
- : Readonly<unknown> extends T
126
+ : ReadonlyArray<unknown> extends T
145
127
  ? T
146
128
  : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!
147
129
  // use this to infer the param types in the case of Array.map() argument
@@ -224,13 +206,7 @@ export function createQueries<
224
206
  ([$queries, $isRestoring]) => {
225
207
  return $queries.map((opts) => {
226
208
  const defaultedOptions = client.defaultQueryOptions(
227
- opts as QueryObserverOptions<
228
- unknown,
229
- Error,
230
- unknown,
231
- unknown,
232
- QueryKey
233
- >,
209
+ opts as QueryObserverOptions,
234
210
  )
235
211
  // Make sure the results are already in fetching state before subscribing or updating options
236
212
  defaultedOptions._optimisticResults = $isRestoring
@@ -1,4 +1,4 @@
1
- import type { DefaultError, QueryKey } from '@tanstack/query-core'
1
+ import type { DataTag, DefaultError, QueryKey } from '@tanstack/query-core'
2
2
  import type { CreateQueryOptions } from './types'
3
3
 
4
4
  export type UndefinedInitialDataOptions<
@@ -30,7 +30,9 @@ export function queryOptions<
30
30
  TQueryKey extends QueryKey = QueryKey,
31
31
  >(
32
32
  options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
33
- ): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
33
+ ): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
34
+ queryKey: DataTag<TQueryKey, TQueryFnData>
35
+ }
34
36
 
35
37
  export function queryOptions<
36
38
  TQueryFnData = unknown,
@@ -39,7 +41,9 @@ export function queryOptions<
39
41
  TQueryKey extends QueryKey = QueryKey,
40
42
  >(
41
43
  options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
42
- ): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
44
+ ): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
45
+ queryKey: DataTag<TQueryKey, TQueryFnData>
46
+ }
43
47
 
44
48
  export function queryOptions(options: unknown) {
45
49
  return options