@suspensive/react-query-4 3.2.3 → 3.3.1

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.
Files changed (91) hide show
  1. package/dist/SuspenseInfiniteQuery.cjs.map +1 -1
  2. package/dist/SuspenseInfiniteQuery.d.cts +0 -1
  3. package/dist/SuspenseInfiniteQuery.d.ts +0 -1
  4. package/dist/SuspenseInfiniteQuery.js +2 -2
  5. package/dist/SuspenseQueries.cjs +1 -33
  6. package/dist/SuspenseQueries.cjs.map +1 -1
  7. package/dist/SuspenseQueries.d.cts +1 -4
  8. package/dist/SuspenseQueries.d.ts +1 -4
  9. package/dist/SuspenseQueries.js +1 -2
  10. package/dist/SuspenseQuery.cjs +1 -28
  11. package/dist/SuspenseQuery.cjs.map +1 -1
  12. package/dist/SuspenseQuery.d.cts +1 -3
  13. package/dist/SuspenseQuery.d.ts +1 -3
  14. package/dist/SuspenseQuery.js +1 -2
  15. package/dist/{chunk-MMV3JWIQ.js → chunk-7AETAPCD.js} +2 -4
  16. package/dist/chunk-7AETAPCD.js.map +1 -0
  17. package/dist/chunk-A6D2XGKX.js +12 -0
  18. package/dist/chunk-A6D2XGKX.js.map +1 -0
  19. package/dist/{chunk-ENNHXSGH.js → chunk-BOUCJMBU.js} +1 -1
  20. package/dist/chunk-BOUCJMBU.js.map +1 -0
  21. package/dist/{chunk-PKNFF4OT.js → chunk-CLWCIHTL.js} +2 -2
  22. package/dist/{chunk-3OKEPIW3.js → chunk-IJFXQRYI.js} +1 -1
  23. package/dist/chunk-IJFXQRYI.js.map +1 -0
  24. package/dist/{chunk-D5FKB2PY.js → chunk-QYGYB5UC.js} +4 -4
  25. package/dist/chunk-QYGYB5UC.js.map +1 -0
  26. package/dist/chunk-WCKC4M3O.js +12 -0
  27. package/dist/chunk-WCKC4M3O.js.map +1 -0
  28. package/dist/chunk-YFVQ7O2B.js +12 -0
  29. package/dist/chunk-YFVQ7O2B.js.map +1 -0
  30. package/dist/index.cjs +20 -36
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.cts +0 -2
  33. package/dist/index.d.ts +0 -2
  34. package/dist/index.js +12 -12
  35. package/dist/infiniteQueryOptions.cjs.map +1 -1
  36. package/dist/infiniteQueryOptions.d.cts +9 -5
  37. package/dist/infiniteQueryOptions.d.ts +9 -5
  38. package/dist/infiniteQueryOptions.js +1 -1
  39. package/dist/queryOptions.cjs +2 -3
  40. package/dist/queryOptions.cjs.map +1 -1
  41. package/dist/queryOptions.d.cts +17 -11
  42. package/dist/queryOptions.d.ts +17 -11
  43. package/dist/queryOptions.js +1 -1
  44. package/dist/useSuspenseInfiniteQuery.cjs.map +1 -1
  45. package/dist/useSuspenseInfiniteQuery.d.cts +1 -2
  46. package/dist/useSuspenseInfiniteQuery.d.ts +1 -2
  47. package/dist/useSuspenseInfiniteQuery.js +1 -1
  48. package/dist/useSuspenseQueries.cjs +1 -28
  49. package/dist/useSuspenseQueries.cjs.map +1 -1
  50. package/dist/useSuspenseQueries.d.cts +25 -46
  51. package/dist/useSuspenseQueries.d.ts +25 -46
  52. package/dist/useSuspenseQueries.js +1 -1
  53. package/dist/useSuspenseQuery.cjs +1 -25
  54. package/dist/useSuspenseQuery.cjs.map +1 -1
  55. package/dist/useSuspenseQuery.d.cts +29 -10
  56. package/dist/useSuspenseQuery.d.ts +29 -10
  57. package/dist/useSuspenseQuery.js +1 -1
  58. package/package.json +4 -4
  59. package/src/PrefetchQuery.test-d.tsx +1 -1
  60. package/src/SuspenseQueries.test-d.tsx +1 -3
  61. package/src/SuspenseQueries.tsx +1 -1
  62. package/src/SuspenseQuery.test-d.tsx +5 -6
  63. package/src/SuspenseQuery.tsx +6 -2
  64. package/src/infiniteQueryOptions.ts +9 -4
  65. package/src/queryOptions.test-d.tsx +25 -15
  66. package/src/queryOptions.ts +23 -29
  67. package/src/usePrefetchQuery.test-d.tsx +1 -1
  68. package/src/useSuspenseInfiniteQuery.ts +1 -1
  69. package/src/useSuspenseQueries.test-d.ts +4 -6
  70. package/src/useSuspenseQueries.ts +29 -114
  71. package/src/useSuspenseQuery.test-d.ts +5 -6
  72. package/src/useSuspenseQuery.ts +33 -32
  73. package/dist/OmitKeyof-CFsZLI4k.d.cts +0 -3
  74. package/dist/OmitKeyof-CFsZLI4k.d.ts +0 -3
  75. package/dist/RequiredKeyof-CHKtWddC.d.cts +0 -5
  76. package/dist/RequiredKeyof-CHKtWddC.d.ts +0 -5
  77. package/dist/chunk-3E4WCXHQ.js +0 -21
  78. package/dist/chunk-3E4WCXHQ.js.map +0 -1
  79. package/dist/chunk-3OKEPIW3.js.map +0 -1
  80. package/dist/chunk-D5FKB2PY.js.map +0 -1
  81. package/dist/chunk-ENNHXSGH.js.map +0 -1
  82. package/dist/chunk-MMV3JWIQ.js.map +0 -1
  83. package/dist/chunk-NIWB6JKL.js +0 -24
  84. package/dist/chunk-NIWB6JKL.js.map +0 -1
  85. package/dist/chunk-UVSCLLGR.js +0 -11
  86. package/dist/chunk-UVSCLLGR.js.map +0 -1
  87. package/src/utility-types/OmitKeyof.test-d.ts +0 -176
  88. package/src/utility-types/OmitKeyof.ts +0 -11
  89. package/src/utility-types/RequiredKeyof.ts +0 -3
  90. package/src/utility-types/index.ts +0 -2
  91. /package/dist/{chunk-PKNFF4OT.js.map → chunk-CLWCIHTL.js.map} +0 -0
@@ -1,55 +1,34 @@
1
- import { QueryFunction, UseQueryOptions } from '@tanstack/react-query';
2
- import { UseSuspenseQueryOptions, UseSuspenseQueryResult } from './useSuspenseQuery.js';
3
- import './OmitKeyof-CFsZLI4k.js';
1
+ import { useSuspenseQueries as useSuspenseQueries$1, SuspenseQueriesOptions as SuspenseQueriesOptions$1, SuspenseQueriesResults as SuspenseQueriesResults$1 } from '@tanstack/react-query';
4
2
 
5
- type MAXIMUM_DEPTH = 20;
6
- type GetSuspenseOptions<T> = T extends {
7
- queryFnData: infer TQueryFnData;
8
- error?: infer TError;
9
- data: infer TData;
10
- } ? UseSuspenseQueryOptions<TQueryFnData, TError, TData> : T extends {
11
- queryFnData: infer TQueryFnData;
12
- error?: infer TError;
13
- } ? UseSuspenseQueryOptions<TQueryFnData, TError> : T extends {
14
- data: infer TData;
15
- error?: infer TError;
16
- } ? UseSuspenseQueryOptions<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? UseSuspenseQueryOptions<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? UseSuspenseQueryOptions<TQueryFnData, TError> : T extends [infer TQueryFnData] ? UseSuspenseQueryOptions<TQueryFnData> : T extends {
17
- queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
18
- select?: (data: any) => infer TData;
19
- } ? UseSuspenseQueryOptions<TQueryFnData, unknown, TData, TQueryKey> : T extends {
20
- queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
21
- } ? UseSuspenseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey> : UseSuspenseQueryOptions;
22
- type GetSuspenseResults<T> = T extends {
23
- queryFnData: any;
24
- error?: infer TError;
25
- data: infer TData;
26
- } ? UseSuspenseQueryResult<TData, TError> : T extends {
27
- queryFnData: infer TQueryFnData;
28
- error?: infer TError;
29
- } ? UseSuspenseQueryResult<TQueryFnData, TError> : T extends {
30
- data: infer TData;
31
- error?: infer TError;
32
- } ? UseSuspenseQueryResult<TData, TError> : T extends [any, infer TError, infer TData] ? UseSuspenseQueryResult<TData, TError> : T extends [infer TQueryFnData, infer TError] ? UseSuspenseQueryResult<TQueryFnData, TError> : T extends [infer TQueryFnData] ? UseSuspenseQueryResult<TQueryFnData> : T extends {
33
- queryFn?: QueryFunction<infer TQueryFnData, any>;
34
- select?: (data: any) => infer TData;
35
- } ? UseSuspenseQueryResult<unknown extends TData ? TQueryFnData : TData> : T extends {
36
- queryFn?: QueryFunction<infer TQueryFnData, any>;
37
- } ? UseSuspenseQueryResult<TQueryFnData> : UseSuspenseQueryResult;
38
3
  /**
39
- * SuspenseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
4
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
5
+ * @deprecated Use `SuspenseQueriesOptions` from \@tanstack/react-query@^4.40.0
6
+ * @example
7
+ * ```diff
8
+ * - import type { SuspenseQueriesOptions } from '@suspensive/react-query'
9
+ * + import type { SuspenseQueriesOptions } from '@tanstack/react-query'
10
+ * ```
40
11
  */
41
- type SuspenseQueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<UseSuspenseQueryOptions> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetSuspenseOptions<Head>] : T extends [infer Head, ...infer Tail] ? SuspenseQueriesOptions<[...Tail], [...TResult, GetSuspenseOptions<Head>], [...TDepth, 1]> : Array<unknown> extends T ? T : T extends Array<UseSuspenseQueryOptions<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>> : Array<UseSuspenseQueryOptions>;
12
+ type SuspenseQueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = SuspenseQueriesOptions$1<T, TResult, TDepth>;
42
13
  /**
43
- * SuspenseQueriesResults reducer recursively maps type param to results
14
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
15
+ * @deprecated Use `SuspenseQueriesResults` from \@tanstack/react-query@^4.40.0
16
+ * @example
17
+ * ```diff
18
+ * - import type { SuspenseQueriesResults } from '@suspensive/react-query'
19
+ * + import type { SuspenseQueriesResults } from '@tanstack/react-query'
20
+ * ```
44
21
  */
45
- type SuspenseQueriesResults<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<UseSuspenseQueryResult> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetSuspenseResults<Head>] : T extends [infer Head, ...infer Tail] ? SuspenseQueriesResults<[...Tail], [...TResult, GetSuspenseResults<Head>], [...TDepth, 1]> : T extends Array<UseSuspenseQueryOptions<infer TQueryFnData, infer TError, infer TData, any>> ? Array<UseSuspenseQueryResult<unknown extends TData ? TQueryFnData : TData, TError>> : Array<UseSuspenseQueryResult>;
22
+ type SuspenseQueriesResults<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = SuspenseQueriesResults$1<T, TResult, TDepth>;
46
23
  /**
47
- * This hook is wrapping `useQueries` of `@tanstack/react-query` v4 with default suspense option.
48
- * @see {@link https://suspensive.org/docs/react-query/useSuspenseQueries Suspensive Docs}
24
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
25
+ * @deprecated Use `useSuspenseQueries` from \@tanstack/react-query@^4.40.0
26
+ * @example
27
+ * ```diff
28
+ * - import { useSuspenseQueries } from '@suspensive/react-query'
29
+ * + import { useSuspenseQueries } from '@tanstack/react-query'
30
+ * ```
49
31
  */
50
- declare function useSuspenseQueries<T extends any[]>({ queries, context, }: {
51
- queries: readonly [...SuspenseQueriesOptions<T>];
52
- context?: UseQueryOptions['context'];
53
- }): SuspenseQueriesResults<T>;
32
+ declare const useSuspenseQueries: typeof useSuspenseQueries$1;
54
33
 
55
34
  export { type SuspenseQueriesOptions, type SuspenseQueriesResults, useSuspenseQueries };
@@ -1,7 +1,7 @@
1
1
  "use client"
2
2
  import {
3
3
  useSuspenseQueries
4
- } from "./chunk-NIWB6JKL.js";
4
+ } from "./chunk-WCKC4M3O.js";
5
5
  import "./chunk-QETBZSG5.js";
6
6
  export {
7
7
  useSuspenseQueries
@@ -1,26 +1,9 @@
1
1
  "use client"
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
7
  var __export = (target, all) => {
25
8
  for (var name in all)
26
9
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -42,14 +25,7 @@ __export(useSuspenseQuery_exports, {
42
25
  });
43
26
  module.exports = __toCommonJS(useSuspenseQuery_exports);
44
27
  var import_react_query = require("@tanstack/react-query");
45
- function useSuspenseQuery(options) {
46
- return (0, import_react_query.useQuery)(__spreadProps(__spreadValues({}, options), {
47
- enabled: true,
48
- useErrorBoundary: true,
49
- suspense: true,
50
- networkMode: "always"
51
- }));
52
- }
28
+ var useSuspenseQuery = import_react_query.useSuspenseQuery;
53
29
  // Annotate the CommonJS export names for ESM import in node:
54
30
  0 && (module.exports = {
55
31
  useSuspenseQuery
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useSuspenseQuery.ts"],"sourcesContent":["import { type QueryKey, type UseQueryOptions, type UseQueryResult, useQuery } from '@tanstack/react-query'\nimport type { OmitKeyof } from './utility-types'\n\nexport interface UseSuspenseQueryResult<TData = unknown, TError = unknown>\n extends OmitKeyof<UseQueryResult<TData, TError>, keyof Pick<UseQueryResult, 'isPlaceholderData'>> {\n data: TData\n status: 'success'\n}\n\nexport type UseSuspenseQueryOptions<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = OmitKeyof<\n UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'suspense' | 'useErrorBoundary' | 'enabled' | 'placeholderData' | 'networkMode'\n>\n\n/**\n * This hook is wrapping `useQuery` of `@tanstack/react-query` v4 with default suspense option.\n * @see {@link https://suspensive.org/docs/react-query/useSuspenseQuery Suspensive Docs}\n */\nexport function useSuspenseQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>) {\n return useQuery<TQueryFnData, TError, TData, TQueryKey>({\n ...options,\n enabled: true,\n useErrorBoundary: true,\n suspense: true,\n networkMode: 'always',\n }) as UseSuspenseQueryResult<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAmF;AAuB5E,SAAS,iBAKd,SAA0E;AAC1E,aAAO,6BAAiD,iCACnD,UADmD;AAAA,IAEtD,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,UAAU;AAAA,IACV,aAAa;AAAA,EACf,EAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../src/useSuspenseQuery.ts"],"sourcesContent":["import {\n type UseSuspenseQueryOptions as original_UseSuspenseQueryOptions,\n type UseSuspenseQueryResult as original_UseSuspenseQueryResult,\n useSuspenseQuery as original_useSuspenseQuery,\n} from '@tanstack/react-query'\n\n/**\n * This feature is officially supported in \\@tanstack/react-query@^4.40.0, You can proceed with the migration.\n * @deprecated Use `UseSuspenseQueryOptions` from \\@tanstack/react-query@^4.40.0\n * @example\n * ```diff\n * - import type { UseSuspenseQueryOptions } from '@suspensive/react-query'\n * + import type { UseSuspenseQueryOptions } from '@tanstack/react-query'\n * ```\n */\nexport type UseSuspenseQueryOptions = original_UseSuspenseQueryOptions\n\n/**\n * This feature is officially supported in \\@tanstack/react-query@^4.40.0, You can proceed with the migration.\n * @deprecated Use `UseSuspenseQueryResult` from \\@tanstack/react-query@^4.40.0\n * @example\n * ```diff\n * - import type { UseSuspenseQueryResult } from '@suspensive/react-query'\n * + import type { UseSuspenseQueryResult } from '@tanstack/react-query'\n * ```\n */\nexport type UseSuspenseQueryResult = original_UseSuspenseQueryResult\n\n/**\n * This feature is officially supported in \\@tanstack/react-query@^4.40.0, You can proceed with the migration.\n * @deprecated Use `useSuspenseQuery` from \\@tanstack/react-query@^4.40.0\n * @example\n * ```diff\n * - import { useSuspenseQuery } from '@suspensive/react-query'\n * + import { useSuspenseQuery } from '@tanstack/react-query'\n * ```\n */\nexport const useSuspenseQuery = original_useSuspenseQuery\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAIO;AAiCA,IAAM,mBAAmB,mBAAAA;","names":["original_useSuspenseQuery"]}
@@ -1,15 +1,34 @@
1
- import { QueryKey, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
- import { O as OmitKeyof } from './OmitKeyof-CFsZLI4k.cjs';
1
+ import { useSuspenseQuery as useSuspenseQuery$1, UseSuspenseQueryOptions as UseSuspenseQueryOptions$1, UseSuspenseQueryResult as UseSuspenseQueryResult$1 } from '@tanstack/react-query';
3
2
 
4
- interface UseSuspenseQueryResult<TData = unknown, TError = unknown> extends OmitKeyof<UseQueryResult<TData, TError>, keyof Pick<UseQueryResult, 'isPlaceholderData'>> {
5
- data: TData;
6
- status: 'success';
7
- }
8
- type UseSuspenseQueryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'suspense' | 'useErrorBoundary' | 'enabled' | 'placeholderData' | 'networkMode'>;
9
3
  /**
10
- * This hook is wrapping `useQuery` of `@tanstack/react-query` v4 with default suspense option.
11
- * @see {@link https://suspensive.org/docs/react-query/useSuspenseQuery Suspensive Docs}
4
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
5
+ * @deprecated Use `UseSuspenseQueryOptions` from \@tanstack/react-query@^4.40.0
6
+ * @example
7
+ * ```diff
8
+ * - import type { UseSuspenseQueryOptions } from '@suspensive/react-query'
9
+ * + import type { UseSuspenseQueryOptions } from '@tanstack/react-query'
10
+ * ```
12
11
  */
13
- declare function useSuspenseQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>): UseSuspenseQueryResult<TData, TError>;
12
+ type UseSuspenseQueryOptions = UseSuspenseQueryOptions$1;
13
+ /**
14
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
15
+ * @deprecated Use `UseSuspenseQueryResult` from \@tanstack/react-query@^4.40.0
16
+ * @example
17
+ * ```diff
18
+ * - import type { UseSuspenseQueryResult } from '@suspensive/react-query'
19
+ * + import type { UseSuspenseQueryResult } from '@tanstack/react-query'
20
+ * ```
21
+ */
22
+ type UseSuspenseQueryResult = UseSuspenseQueryResult$1;
23
+ /**
24
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
25
+ * @deprecated Use `useSuspenseQuery` from \@tanstack/react-query@^4.40.0
26
+ * @example
27
+ * ```diff
28
+ * - import { useSuspenseQuery } from '@suspensive/react-query'
29
+ * + import { useSuspenseQuery } from '@tanstack/react-query'
30
+ * ```
31
+ */
32
+ declare const useSuspenseQuery: typeof useSuspenseQuery$1;
14
33
 
15
34
  export { type UseSuspenseQueryOptions, type UseSuspenseQueryResult, useSuspenseQuery };
@@ -1,15 +1,34 @@
1
- import { QueryKey, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
- import { O as OmitKeyof } from './OmitKeyof-CFsZLI4k.js';
1
+ import { useSuspenseQuery as useSuspenseQuery$1, UseSuspenseQueryOptions as UseSuspenseQueryOptions$1, UseSuspenseQueryResult as UseSuspenseQueryResult$1 } from '@tanstack/react-query';
3
2
 
4
- interface UseSuspenseQueryResult<TData = unknown, TError = unknown> extends OmitKeyof<UseQueryResult<TData, TError>, keyof Pick<UseQueryResult, 'isPlaceholderData'>> {
5
- data: TData;
6
- status: 'success';
7
- }
8
- type UseSuspenseQueryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'suspense' | 'useErrorBoundary' | 'enabled' | 'placeholderData' | 'networkMode'>;
9
3
  /**
10
- * This hook is wrapping `useQuery` of `@tanstack/react-query` v4 with default suspense option.
11
- * @see {@link https://suspensive.org/docs/react-query/useSuspenseQuery Suspensive Docs}
4
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
5
+ * @deprecated Use `UseSuspenseQueryOptions` from \@tanstack/react-query@^4.40.0
6
+ * @example
7
+ * ```diff
8
+ * - import type { UseSuspenseQueryOptions } from '@suspensive/react-query'
9
+ * + import type { UseSuspenseQueryOptions } from '@tanstack/react-query'
10
+ * ```
12
11
  */
13
- declare function useSuspenseQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>): UseSuspenseQueryResult<TData, TError>;
12
+ type UseSuspenseQueryOptions = UseSuspenseQueryOptions$1;
13
+ /**
14
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
15
+ * @deprecated Use `UseSuspenseQueryResult` from \@tanstack/react-query@^4.40.0
16
+ * @example
17
+ * ```diff
18
+ * - import type { UseSuspenseQueryResult } from '@suspensive/react-query'
19
+ * + import type { UseSuspenseQueryResult } from '@tanstack/react-query'
20
+ * ```
21
+ */
22
+ type UseSuspenseQueryResult = UseSuspenseQueryResult$1;
23
+ /**
24
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
25
+ * @deprecated Use `useSuspenseQuery` from \@tanstack/react-query@^4.40.0
26
+ * @example
27
+ * ```diff
28
+ * - import { useSuspenseQuery } from '@suspensive/react-query'
29
+ * + import { useSuspenseQuery } from '@tanstack/react-query'
30
+ * ```
31
+ */
32
+ declare const useSuspenseQuery: typeof useSuspenseQuery$1;
14
33
 
15
34
  export { type UseSuspenseQueryOptions, type UseSuspenseQueryResult, useSuspenseQuery };
@@ -1,7 +1,7 @@
1
1
  "use client"
2
2
  import {
3
3
  useSuspenseQuery
4
- } from "./chunk-3E4WCXHQ.js";
4
+ } from "./chunk-YFVQ7O2B.js";
5
5
  import "./chunk-QETBZSG5.js";
6
6
  export {
7
7
  useSuspenseQuery
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suspensive/react-query-4",
3
- "version": "3.2.3",
3
+ "version": "3.3.1",
4
4
  "description": "Suspensive interfaces for @tanstack/react-query@4",
5
5
  "keywords": [
6
6
  "suspensive",
@@ -39,7 +39,7 @@
39
39
  "src"
40
40
  ],
41
41
  "devDependencies": {
42
- "@tanstack/react-query": "^4.39.1",
42
+ "@tanstack/react-query": "4.40.0",
43
43
  "@types/react": "^19.1.6",
44
44
  "react": "^19.1.0",
45
45
  "@suspensive/eslint-config": "0.0.1",
@@ -58,9 +58,9 @@
58
58
  "ci:attw": "attw --pack",
59
59
  "ci:eslint": "eslint \"**/*.{ts,tsx,cts,mts}\"",
60
60
  "ci:publint": "publint --strict",
61
- "ci:test": "vitest run --coverage --typecheck",
61
+ "ci:test": "vitest run",
62
62
  "ci:type": "tsc --noEmit",
63
63
  "clean": "rimraf ./dist ./coverage ./node_modules",
64
- "test:ui": "vitest --ui --coverage --typecheck"
64
+ "test:ui": "vitest --ui"
65
65
  }
66
66
  }
@@ -1,7 +1,7 @@
1
+ import { queryOptions } from '@tanstack/react-query'
1
2
  import type { ReactNode } from 'react'
2
3
  import { describe, expectTypeOf, it } from 'vitest'
3
4
  import { PrefetchQuery } from './PrefetchQuery'
4
- import { queryOptions } from './queryOptions'
5
5
  import { queryFn, queryKey } from './test-utils'
6
6
 
7
7
  describe('<PrefetchQuery/>', () => {
@@ -1,9 +1,8 @@
1
+ import { type UseSuspenseQueryResult, queryOptions } from '@tanstack/react-query'
1
2
  import type { ReactNode } from 'react'
2
3
  import { describe, expectTypeOf, it } from 'vitest'
3
- import { queryOptions } from './queryOptions'
4
4
  import { SuspenseQueries } from './SuspenseQueries'
5
5
  import { queryFn, queryKey } from './test-utils'
6
- import type { UseSuspenseQueryResult } from './useSuspenseQuery'
7
6
 
8
7
  describe('<SuspenseQueries/>', () => {
9
8
  it('type check', () => {
@@ -27,7 +26,6 @@ describe('<SuspenseQueries/>', () => {
27
26
  <SuspenseQueries queries={[{ queryKey, queryFn }, queryOptions({ queryKey, queryFn })]}>
28
27
  {([
29
28
  query1,
30
-
31
29
  query2,
32
30
  // @ts-expect-error Tuple type '[UseSuspenseQueryResult<{ text: string; }, unknown>]' of length '1' has no element at index '2'.
33
31
  query3,
@@ -1,5 +1,5 @@
1
+ import { type SuspenseQueriesOptions, type SuspenseQueriesResults, useSuspenseQueries } from '@tanstack/react-query'
1
2
  import type { ReactNode } from 'react'
2
- import { type SuspenseQueriesOptions, type SuspenseQueriesResults, useSuspenseQueries } from './useSuspenseQueries'
3
3
 
4
4
  /**
5
5
  * We provide these components to clearly express what causes suspense at the same depth.
@@ -1,9 +1,8 @@
1
+ import { type UseSuspenseQueryResult, queryOptions } from '@tanstack/react-query'
1
2
  import type { ReactNode } from 'react'
2
3
  import { describe, expectTypeOf, it } from 'vitest'
3
- import { queryOptions } from './queryOptions'
4
4
  import { SuspenseQuery } from './SuspenseQuery'
5
5
  import { queryFn, queryKey } from './test-utils'
6
- import type { UseSuspenseQueryResult } from './useSuspenseQuery'
7
6
 
8
7
  describe('<SuspenseQuery/>', () => {
9
8
  it('type check', () => {
@@ -72,7 +71,7 @@ describe('<SuspenseQuery/>', () => {
72
71
  {(query) => {
73
72
  expectTypeOf(query).toEqualTypeOf<UseSuspenseQueryResult<{ text: string }>>()
74
73
  expectTypeOf(query.data).toEqualTypeOf<{ text: string }>()
75
- expectTypeOf(query.status).toEqualTypeOf<'success'>()
74
+ expectTypeOf(query.status).toEqualTypeOf<'success' | 'error'>()
76
75
  return <></>
77
76
  }}
78
77
  </SuspenseQuery>
@@ -82,7 +81,7 @@ describe('<SuspenseQuery/>', () => {
82
81
  {(selectedQuery) => {
83
82
  expectTypeOf(selectedQuery).toEqualTypeOf<UseSuspenseQueryResult<string>>()
84
83
  expectTypeOf(selectedQuery.data).toEqualTypeOf<string>()
85
- expectTypeOf(selectedQuery.status).toEqualTypeOf<'success'>()
84
+ expectTypeOf(selectedQuery.status).toEqualTypeOf<'error' | 'success'>()
86
85
  return <></>
87
86
  }}
88
87
  </SuspenseQuery>
@@ -98,7 +97,7 @@ describe('<SuspenseQuery/>', () => {
98
97
  {(query) => {
99
98
  expectTypeOf(query).toEqualTypeOf<UseSuspenseQueryResult<{ text: string }>>()
100
99
  expectTypeOf(query.data).toEqualTypeOf<{ text: string }>()
101
- expectTypeOf(query.status).toEqualTypeOf<'success'>()
100
+ expectTypeOf(query.status).toEqualTypeOf<'error' | 'success'>()
102
101
  return <></>
103
102
  }}
104
103
  </SuspenseQuery>
@@ -108,7 +107,7 @@ describe('<SuspenseQuery/>', () => {
108
107
  {(selectedQuery) => {
109
108
  expectTypeOf(selectedQuery).toEqualTypeOf<UseSuspenseQueryResult<string>>()
110
109
  expectTypeOf(selectedQuery.data).toEqualTypeOf<string>()
111
- expectTypeOf(selectedQuery.status).toEqualTypeOf<'success'>()
110
+ expectTypeOf(selectedQuery.status).toEqualTypeOf<'error' | 'success'>()
112
111
  return <></>
113
112
  }}
114
113
  </SuspenseQuery>
@@ -1,6 +1,10 @@
1
- import type { QueryKey } from '@tanstack/react-query'
1
+ import {
2
+ type QueryKey,
3
+ type UseSuspenseQueryOptions,
4
+ type UseSuspenseQueryResult,
5
+ useSuspenseQuery,
6
+ } from '@tanstack/react-query'
2
7
  import type { ReactNode } from 'react'
3
- import { type UseSuspenseQueryOptions, type UseSuspenseQueryResult, useSuspenseQuery } from './useSuspenseQuery'
4
8
 
5
9
  /**
6
10
  * We provide these components to clearly express what causes suspense at the same depth.
@@ -1,12 +1,14 @@
1
- import type { InfiniteData, QueryKey, UseInfiniteQueryOptions } from '@tanstack/react-query'
2
- import type { OmitKeyof, RequiredKeyof } from './utility-types'
1
+ import type { InfiniteData, OmitKeyof, QueryKey, UseInfiniteQueryOptions, WithRequired } from '@tanstack/react-query'
3
2
 
3
+ /**
4
+ * @deprecated There is no `SelectedInfiniteOptions` in \@tanstack/react-query@^4.40.0.
5
+ */
4
6
  export type SelectedInfiniteOptions<
5
7
  TQueryFnData,
6
8
  TError = unknown,
7
9
  TData = InfiniteData<TQueryFnData>,
8
10
  TQueryKey extends QueryKey = QueryKey,
9
- > = RequiredKeyof<
11
+ > = WithRequired<
10
12
  OmitKeyof<
11
13
  UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>,
12
14
  | 'queryKeyHashFn'
@@ -27,12 +29,15 @@ export type SelectedInfiniteOptions<
27
29
  select: (data: InfiniteData<TQueryFnData>) => InfiniteData<TData>
28
30
  }
29
31
 
32
+ /**
33
+ * @deprecated There is no `UnSelectedInfiniteOptions` in \@tanstack/react-query@^4.40.0.
34
+ */
30
35
  export type UnSelectedInfiniteOptions<
31
36
  TQueryFnData,
32
37
  TError = unknown,
33
38
  TData = InfiniteData<TQueryFnData>,
34
39
  TQueryKey extends QueryKey = QueryKey,
35
- > = RequiredKeyof<
40
+ > = WithRequired<
36
41
  OmitKeyof<
37
42
  UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>,
38
43
  | 'queryKeyHashFn'
@@ -1,11 +1,17 @@
1
- import { type UseQueryResult, useQueries, useQuery, useQueryClient } from '@tanstack/react-query'
1
+ import {
2
+ type UseQueryResult,
3
+ type UseSuspenseQueryResult,
4
+ queryOptions,
5
+ useQueries,
6
+ useQuery,
7
+ useQueryClient,
8
+ useSuspenseQueries,
9
+ useSuspenseQuery,
10
+ } from '@tanstack/react-query'
2
11
  import { describe, expectTypeOf, it } from 'vitest'
3
- import { queryOptions } from './queryOptions'
4
12
  import { SuspenseQuery } from './SuspenseQuery'
5
13
  import { queryKey } from './test-utils'
6
14
  import { usePrefetchQuery } from './usePrefetchQuery'
7
- import { useSuspenseQueries } from './useSuspenseQueries'
8
- import { type UseSuspenseQueryResult, useSuspenseQuery } from './useSuspenseQuery'
9
15
 
10
16
  const query = {
11
17
  options1: () =>
@@ -58,26 +64,30 @@ describe('queryOptions', () => {
58
64
  ))()
59
65
  })
60
66
  it('should be used with useQueries', () => {
61
- const [query1, query2, query3] = useQueries({
67
+ const [
68
+ query1,
69
+ query2,
70
+ // query3
71
+ ] = useQueries({
62
72
  queries: [
63
73
  query.options1(),
64
74
  { ...query.options2() },
65
- queryOptions({
66
- queryKey: [...queryKey, 4] as const,
67
- queryFn: () => Promise.resolve({ field: 'success' }),
68
- select: (data) => {
69
- expectTypeOf(data).toEqualTypeOf<{ field: string }>()
70
- return data.field
71
- },
72
- }),
75
+ // queryOptions({
76
+ // queryKey: [...queryKey, 4] as const,
77
+ // queryFn: () => Promise.resolve({ field: 'success' }),
78
+ // select: (data) => {
79
+ // expectTypeOf(data).toEqualTypeOf<{ field: string }>()
80
+ // return data.field
81
+ // },
82
+ // }),
73
83
  ],
74
84
  })
75
85
  expectTypeOf(query1).toEqualTypeOf<UseQueryResult<{ field: string }>>()
76
86
  expectTypeOf(query1.data).toEqualTypeOf<{ field: string } | undefined>()
77
87
  expectTypeOf(query2).toEqualTypeOf<UseQueryResult<{ field: string }>>()
78
88
  expectTypeOf(query2.data).toEqualTypeOf<{ field: string } | undefined>()
79
- expectTypeOf(query3).toEqualTypeOf<UseQueryResult<string>>()
80
- expectTypeOf(query3.data).toEqualTypeOf<string | undefined>()
89
+ // expectTypeOf(query3).toEqualTypeOf<UseQueryResult<string>>()
90
+ // expectTypeOf(query3.data).toEqualTypeOf<string | undefined>()
81
91
  })
82
92
  it('should be used with useSuspenseQueries', () => {
83
93
  const [query1, query2, query3] = useSuspenseQueries({
@@ -1,12 +1,20 @@
1
- import type { QueryKey, UseQueryOptions } from '@tanstack/react-query'
2
- import type { OmitKeyof, RequiredKeyof } from './utility-types'
1
+ import {
2
+ type OmitKeyof,
3
+ type QueryKey,
4
+ type UseQueryOptions,
5
+ type WithRequired,
6
+ queryOptions as original_queryOptions,
7
+ } from '@tanstack/react-query'
3
8
 
9
+ /**
10
+ * @deprecated There is no `SelectedQueryOptions` in \@tanstack/react-query@^4.40.0.
11
+ */
4
12
  export type SelectedQueryOptions<
5
13
  TQueryFnData = unknown,
6
14
  TError = unknown,
7
15
  TData = TQueryFnData,
8
16
  TQueryKey extends QueryKey = QueryKey,
9
- > = RequiredKeyof<
17
+ > = WithRequired<
10
18
  OmitKeyof<
11
19
  UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
12
20
  | 'getNextPageParam'
@@ -29,12 +37,15 @@ export type SelectedQueryOptions<
29
37
  select: (data: TQueryFnData) => TData
30
38
  }
31
39
 
40
+ /**
41
+ * @deprecated There is no `UnSelectedQueryOptions` in \@tanstack/react-query@^4.40.0.
42
+ */
32
43
  export type UnSelectedQueryOptions<
33
44
  TQueryFnData = unknown,
34
45
  TError = unknown,
35
46
  TData = TQueryFnData,
36
47
  TQueryKey extends QueryKey = QueryKey,
37
- > = RequiredKeyof<
48
+ > = WithRequired<
38
49
  OmitKeyof<
39
50
  UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
40
51
  | 'getNextPageParam'
@@ -58,29 +69,12 @@ export type UnSelectedQueryOptions<
58
69
  }
59
70
 
60
71
  /**
61
- * Creates a reusable query options object that can be used across different query hooks.
62
- * Provides better type inference and easier query key management.
63
- *
64
- * @see {@link https://suspensive.org/docs/react-query/queryOptions Suspensive Docs}
72
+ * This feature is officially supported in \@tanstack/react-query@^4.40.0, You can proceed with the migration.
73
+ * @deprecated Use `queryOptions` from \@tanstack/react-query@^4.40.0
74
+ * @example
75
+ * ```diff
76
+ * - import { queryOptions } from '@suspensive/react-query'
77
+ * + import { queryOptions } from '@tanstack/react-query'
78
+ * ```
65
79
  */
66
- export function queryOptions<
67
- TQueryFnData = unknown,
68
- TError = unknown,
69
- TData = TQueryFnData,
70
- TQueryKey extends QueryKey = QueryKey,
71
- >(
72
- options: SelectedQueryOptions<TQueryFnData, TError, TData, TQueryKey>
73
- ): SelectedQueryOptions<TQueryFnData, TError, TData, TQueryKey>
74
-
75
- export function queryOptions<
76
- TQueryFnData = unknown,
77
- TError = unknown,
78
- TData = TQueryFnData,
79
- TQueryKey extends QueryKey = QueryKey,
80
- >(
81
- options: UnSelectedQueryOptions<TQueryFnData, TError, TData, TQueryKey>
82
- ): UnSelectedQueryOptions<TQueryFnData, TError, TData, TQueryKey>
83
-
84
- export function queryOptions(options: unknown) {
85
- return options
86
- }
80
+ export const queryOptions = original_queryOptions
@@ -1,4 +1,4 @@
1
- import { queryOptions } from './queryOptions'
1
+ import { queryOptions } from '@tanstack/react-query'
2
2
  import { queryFn, queryKey } from './test-utils'
3
3
  import { usePrefetchQuery } from './usePrefetchQuery'
4
4
 
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  type InfiniteData,
3
+ type OmitKeyof,
3
4
  type QueryKey,
4
5
  type UseInfiniteQueryOptions,
5
6
  type UseInfiniteQueryResult,
6
7
  useInfiniteQuery,
7
8
  } from '@tanstack/react-query'
8
- import type { OmitKeyof } from './utility-types'
9
9
 
10
10
  export interface UseSuspenseInfiniteQueryResult<TData = unknown, TError = unknown>
11
11
  extends OmitKeyof<
@@ -1,8 +1,6 @@
1
+ import { type UseSuspenseQueryResult, queryOptions, useSuspenseQueries } from '@tanstack/react-query'
1
2
  import { describe, expectTypeOf, it } from 'vitest'
2
- import { queryOptions } from './queryOptions'
3
3
  import { queryFn, queryKey, select } from './test-utils'
4
- import { useSuspenseQueries } from './useSuspenseQueries'
5
- import type { UseSuspenseQueryResult } from './useSuspenseQuery'
6
4
 
7
5
  describe('useSuspenseQueries', () => {
8
6
  it('type check', () => {
@@ -66,15 +64,15 @@ describe('useSuspenseQueries', () => {
66
64
  })
67
65
 
68
66
  expectTypeOf(query).toEqualTypeOf<UseSuspenseQueryResult<{ text: string }>>()
69
- expectTypeOf(query.status).toEqualTypeOf<`success`>()
67
+ expectTypeOf(query.status).toEqualTypeOf<'error' | 'success'>()
70
68
  expectTypeOf(query.data).toEqualTypeOf<{ text: string }>()
71
69
 
72
70
  expectTypeOf(selectedQuery).toEqualTypeOf<UseSuspenseQueryResult<string>>()
73
- expectTypeOf(selectedQuery.status).toEqualTypeOf<`success`>()
71
+ expectTypeOf(selectedQuery.status).toEqualTypeOf<'error' | 'success'>()
74
72
  expectTypeOf(selectedQuery.data).toEqualTypeOf<string>()
75
73
 
76
74
  expectTypeOf(selectedQueryByQueryOptions).toEqualTypeOf<UseSuspenseQueryResult<string>>()
77
- expectTypeOf(selectedQueryByQueryOptions.status).toEqualTypeOf<`success`>()
75
+ expectTypeOf(selectedQueryByQueryOptions.status).toEqualTypeOf<'error' | 'success'>()
78
76
  expectTypeOf(selectedQueryByQueryOptions.data).toEqualTypeOf<string>()
79
77
  })
80
78
  })