@tanstack/react-query 5.0.0-beta.15 → 5.0.0-beta.16
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/legacy/queryOptions.cjs.map +1 -1
- package/build/legacy/queryOptions.d.cts +2 -1
- package/build/legacy/queryOptions.d.ts +2 -1
- package/build/legacy/queryOptions.js.map +1 -1
- package/build/modern/queryOptions.cjs.map +1 -1
- package/build/modern/queryOptions.d.cts +2 -1
- package/build/modern/queryOptions.d.ts +2 -1
- package/build/modern/queryOptions.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/useQuery.types.test.tsx +20 -0
- package/src/queryOptions.ts +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData
|
|
1
|
+
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends UndefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends DefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions(options: unknown) {\n return options\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmDO,SAAS,aAAa,SAAkB;AAC7C,SAAO;AACT;","names":[]}
|
|
@@ -4,8 +4,9 @@ import { UseQueryOptions } from './types.cjs';
|
|
|
4
4
|
type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
5
5
|
initialData?: undefined;
|
|
6
6
|
};
|
|
7
|
+
type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
7
8
|
type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
8
|
-
initialData: TQueryFnData | (() => TQueryFnData);
|
|
9
|
+
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
|
|
9
10
|
};
|
|
10
11
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
11
12
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
@@ -4,8 +4,9 @@ import { UseQueryOptions } from './types.js';
|
|
|
4
4
|
type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
5
5
|
initialData?: undefined;
|
|
6
6
|
};
|
|
7
|
+
type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
7
8
|
type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
8
|
-
initialData: TQueryFnData | (() => TQueryFnData);
|
|
9
|
+
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
|
|
9
10
|
};
|
|
10
11
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
11
12
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData
|
|
1
|
+
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends UndefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends DefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions(options: unknown) {\n return options\n}\n"],"mappings":";AAmDO,SAAS,aAAa,SAAkB;AAC7C,SAAO;AACT;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData
|
|
1
|
+
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends UndefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends DefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions(options: unknown) {\n return options\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmDO,SAAS,aAAa,SAAkB;AAC7C,SAAO;AACT;","names":[]}
|
|
@@ -4,8 +4,9 @@ import { UseQueryOptions } from './types.cjs';
|
|
|
4
4
|
type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
5
5
|
initialData?: undefined;
|
|
6
6
|
};
|
|
7
|
+
type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
7
8
|
type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
8
|
-
initialData: TQueryFnData | (() => TQueryFnData);
|
|
9
|
+
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
|
|
9
10
|
};
|
|
10
11
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
11
12
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
@@ -4,8 +4,9 @@ import { UseQueryOptions } from './types.js';
|
|
|
4
4
|
type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
5
5
|
initialData?: undefined;
|
|
6
6
|
};
|
|
7
|
+
type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
7
8
|
type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
8
|
-
initialData: TQueryFnData | (() => TQueryFnData);
|
|
9
|
+
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
|
|
9
10
|
};
|
|
10
11
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
11
12
|
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TOptions extends DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>(options: TOptions): TOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData
|
|
1
|
+
{"version":3,"sources":["../../src/queryOptions.ts"],"sourcesContent":["import type { DefaultError, QueryKey } from '@tanstack/query-core'\nimport type { UseQueryOptions } from './types'\n\nexport type UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n}\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends UndefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TOptions extends DefinedInitialDataOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n > = DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n>(options: TOptions): TOptions\n\nexport function queryOptions(options: unknown) {\n return options\n}\n"],"mappings":";AAmDO,SAAS,aAAa,SAAkB;AAC7C,SAAO;AACT;","names":[]}
|
package/package.json
CHANGED
|
@@ -111,6 +111,26 @@ describe('initialData', () => {
|
|
|
111
111
|
return result
|
|
112
112
|
})
|
|
113
113
|
})
|
|
114
|
+
|
|
115
|
+
it('TData should be narrowed after an isSuccess check when initialData is provided as a function which can return undefined', () => {
|
|
116
|
+
doNotExecute(() => {
|
|
117
|
+
const { data, isSuccess } = useQuery({
|
|
118
|
+
queryKey: ['key'],
|
|
119
|
+
queryFn: () => {
|
|
120
|
+
return {
|
|
121
|
+
wow: true,
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
initialData: () => undefined as { wow: boolean } | undefined,
|
|
125
|
+
})
|
|
126
|
+
|
|
127
|
+
if (isSuccess) {
|
|
128
|
+
const result: Expect<Equal<{ wow: boolean }, typeof data>> = true
|
|
129
|
+
return result
|
|
130
|
+
}
|
|
131
|
+
return false
|
|
132
|
+
})
|
|
133
|
+
})
|
|
114
134
|
})
|
|
115
135
|
|
|
116
136
|
describe('custom hook', () => {
|
package/src/queryOptions.ts
CHANGED
|
@@ -10,13 +10,17 @@ export type UndefinedInitialDataOptions<
|
|
|
10
10
|
initialData?: undefined
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
type NonUndefinedGuard<T> = T extends undefined ? never : T
|
|
14
|
+
|
|
13
15
|
export type DefinedInitialDataOptions<
|
|
14
16
|
TQueryFnData = unknown,
|
|
15
17
|
TError = DefaultError,
|
|
16
18
|
TData = TQueryFnData,
|
|
17
19
|
TQueryKey extends QueryKey = QueryKey,
|
|
18
20
|
> = UseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
19
|
-
initialData:
|
|
21
|
+
initialData:
|
|
22
|
+
| NonUndefinedGuard<TQueryFnData>
|
|
23
|
+
| (() => NonUndefinedGuard<TQueryFnData>)
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
export function queryOptions<
|