@openapi-qraft/react 1.2.0 → 1.3.2

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 (186) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +107 -27
  3. package/dist/QraftContext.d.ts +8 -10
  4. package/dist/QraftContext.d.ts.map +1 -1
  5. package/dist/QraftContext.js.map +1 -1
  6. package/dist/ServiceOperation.d.ts +112 -3
  7. package/dist/ServiceOperation.d.ts.map +1 -1
  8. package/dist/callbacks/cancelQueries.d.ts +2 -2
  9. package/dist/callbacks/cancelQueries.d.ts.map +1 -1
  10. package/dist/callbacks/cancelQueries.js.map +1 -1
  11. package/dist/callbacks/fetchInfiniteQuery.d.ts +7 -0
  12. package/dist/callbacks/fetchInfiniteQuery.d.ts.map +1 -0
  13. package/dist/callbacks/fetchInfiniteQuery.js +5 -0
  14. package/dist/callbacks/fetchInfiniteQuery.js.map +1 -0
  15. package/dist/callbacks/fetchQuery.d.ts +7 -0
  16. package/dist/callbacks/fetchQuery.d.ts.map +1 -0
  17. package/dist/callbacks/fetchQuery.js +5 -0
  18. package/dist/callbacks/fetchQuery.js.map +1 -0
  19. package/dist/callbacks/getInfiniteQueryData.d.ts +4 -4
  20. package/dist/callbacks/getInfiniteQueryData.d.ts.map +1 -1
  21. package/dist/callbacks/getInfiniteQueryData.js +3 -6
  22. package/dist/callbacks/getInfiniteQueryData.js.map +1 -1
  23. package/dist/callbacks/getInfiniteQueryKey.d.ts +2 -2
  24. package/dist/callbacks/getInfiniteQueryKey.d.ts.map +1 -1
  25. package/dist/callbacks/getInfiniteQueryKey.js.map +1 -1
  26. package/dist/callbacks/getMutationKey.d.ts +2 -2
  27. package/dist/callbacks/getMutationKey.d.ts.map +1 -1
  28. package/dist/callbacks/getMutationKey.js.map +1 -1
  29. package/dist/callbacks/getQueryData.d.ts +3 -3
  30. package/dist/callbacks/getQueryData.d.ts.map +1 -1
  31. package/dist/callbacks/getQueryData.js +3 -4
  32. package/dist/callbacks/getQueryData.js.map +1 -1
  33. package/dist/callbacks/getQueryKey.d.ts +2 -2
  34. package/dist/callbacks/getQueryKey.d.ts.map +1 -1
  35. package/dist/callbacks/getQueryKey.js.map +1 -1
  36. package/dist/callbacks/invalidateQueries.d.ts +2 -2
  37. package/dist/callbacks/invalidateQueries.d.ts.map +1 -1
  38. package/dist/callbacks/invalidateQueries.js.map +1 -1
  39. package/dist/callbacks/isFetching.d.ts +2 -2
  40. package/dist/callbacks/isFetching.d.ts.map +1 -1
  41. package/dist/callbacks/isFetching.js.map +1 -1
  42. package/dist/callbacks/mutationFn.d.ts +2 -2
  43. package/dist/callbacks/mutationFn.d.ts.map +1 -1
  44. package/dist/callbacks/mutationFn.js.map +1 -1
  45. package/dist/callbacks/prefetchInfiniteQuery.d.ts +7 -0
  46. package/dist/callbacks/prefetchInfiniteQuery.d.ts.map +1 -0
  47. package/dist/callbacks/prefetchInfiniteQuery.js +5 -0
  48. package/dist/callbacks/prefetchInfiniteQuery.js.map +1 -0
  49. package/dist/callbacks/prefetchQuery.d.ts +7 -0
  50. package/dist/callbacks/prefetchQuery.d.ts.map +1 -0
  51. package/dist/callbacks/prefetchQuery.js +5 -0
  52. package/dist/callbacks/prefetchQuery.js.map +1 -0
  53. package/dist/callbacks/queryFn.js.map +1 -1
  54. package/dist/callbacks/refetchQueries.d.ts +2 -2
  55. package/dist/callbacks/refetchQueries.d.ts.map +1 -1
  56. package/dist/callbacks/refetchQueries.js.map +1 -1
  57. package/dist/callbacks/resetQueries.d.ts +2 -2
  58. package/dist/callbacks/resetQueries.d.ts.map +1 -1
  59. package/dist/callbacks/resetQueries.js.map +1 -1
  60. package/dist/callbacks/setInfiniteQueryData.d.ts +2 -2
  61. package/dist/callbacks/setInfiniteQueryData.d.ts.map +1 -1
  62. package/dist/callbacks/setInfiniteQueryData.js +2 -6
  63. package/dist/callbacks/setInfiniteQueryData.js.map +1 -1
  64. package/dist/callbacks/setQueryData.d.ts +3 -3
  65. package/dist/callbacks/setQueryData.d.ts.map +1 -1
  66. package/dist/callbacks/setQueryData.js +3 -7
  67. package/dist/callbacks/setQueryData.js.map +1 -1
  68. package/dist/callbacks/useInfiniteQuery.d.ts +4 -4
  69. package/dist/callbacks/useInfiniteQuery.d.ts.map +1 -1
  70. package/dist/callbacks/useInfiniteQuery.js +4 -24
  71. package/dist/callbacks/useInfiniteQuery.js.map +1 -1
  72. package/dist/callbacks/useIsFetching.d.ts +2 -2
  73. package/dist/callbacks/useIsFetching.d.ts.map +1 -1
  74. package/dist/callbacks/useIsFetching.js +0 -3
  75. package/dist/callbacks/useIsFetching.js.map +1 -1
  76. package/dist/callbacks/useMutation.d.ts +2 -2
  77. package/dist/callbacks/useMutation.d.ts.map +1 -1
  78. package/dist/callbacks/useMutation.js +6 -4
  79. package/dist/callbacks/useMutation.js.map +1 -1
  80. package/dist/callbacks/useMutationState.d.ts +2 -2
  81. package/dist/callbacks/useMutationState.d.ts.map +1 -1
  82. package/dist/callbacks/useQueries.d.ts +2 -2
  83. package/dist/callbacks/useQueries.d.ts.map +1 -1
  84. package/dist/callbacks/useQueries.js +5 -3
  85. package/dist/callbacks/useQueries.js.map +1 -1
  86. package/dist/callbacks/useQuery.d.ts +3 -3
  87. package/dist/callbacks/useQuery.d.ts.map +1 -1
  88. package/dist/callbacks/useQuery.js +4 -23
  89. package/dist/callbacks/useQuery.js.map +1 -1
  90. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts +4 -4
  91. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts.map +1 -1
  92. package/dist/callbacks/useSuspenseInfiniteQuery.js +4 -24
  93. package/dist/callbacks/useSuspenseInfiniteQuery.js.map +1 -1
  94. package/dist/callbacks/useSuspenseQueries.d.ts +2 -2
  95. package/dist/callbacks/useSuspenseQueries.d.ts.map +1 -1
  96. package/dist/callbacks/useSuspenseQueries.js +5 -3
  97. package/dist/callbacks/useSuspenseQueries.js.map +1 -1
  98. package/dist/callbacks/useSuspenseQuery.d.ts +4 -4
  99. package/dist/callbacks/useSuspenseQuery.d.ts.map +1 -1
  100. package/dist/callbacks/useSuspenseQuery.js +4 -23
  101. package/dist/callbacks/useSuspenseQuery.js.map +1 -1
  102. package/dist/index.d.ts +1 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +1 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/lib/callQueryClientFetchMethod.d.ts +20 -0
  107. package/dist/lib/callQueryClientFetchMethod.d.ts.map +1 -0
  108. package/dist/lib/callQueryClientFetchMethod.js +48 -0
  109. package/dist/lib/callQueryClientFetchMethod.js.map +1 -0
  110. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts +2 -2
  111. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts.map +1 -1
  112. package/dist/lib/callQueryClientMethodWithQueryFilters.js +5 -13
  113. package/dist/lib/callQueryClientMethodWithQueryFilters.js.map +1 -1
  114. package/dist/lib/callQueryClientMethodWithQueryKey.d.ts +11 -0
  115. package/dist/lib/callQueryClientMethodWithQueryKey.d.ts.map +1 -0
  116. package/dist/lib/callQueryClientMethodWithQueryKey.js +22 -0
  117. package/dist/lib/callQueryClientMethodWithQueryKey.js.map +1 -0
  118. package/dist/lib/composeInfiniteQueryKey.d.ts +2 -2
  119. package/dist/lib/composeInfiniteQueryKey.d.ts.map +1 -1
  120. package/dist/lib/composeMutationKey.d.ts +3 -3
  121. package/dist/lib/composeMutationKey.d.ts.map +1 -1
  122. package/dist/lib/composeMutationKey.js.map +1 -1
  123. package/dist/lib/composeQueryFilters.d.ts +3 -3
  124. package/dist/lib/composeQueryFilters.d.ts.map +1 -1
  125. package/dist/lib/composeQueryFilters.js.map +1 -1
  126. package/dist/lib/composeQueryKey.d.ts +2 -2
  127. package/dist/lib/composeQueryKey.d.ts.map +1 -1
  128. package/dist/lib/composeQueryKey.js.map +1 -1
  129. package/dist/lib/{request.d.ts → requestFn.d.ts} +28 -18
  130. package/dist/lib/requestFn.d.ts.map +1 -0
  131. package/dist/lib/{request.js → requestFn.js} +16 -21
  132. package/dist/lib/requestFn.js.map +1 -0
  133. package/dist/lib/useComposeUseQueryOptions.d.ts +16 -0
  134. package/dist/lib/useComposeUseQueryOptions.d.ts.map +1 -0
  135. package/dist/lib/useComposeUseQueryOptions.js +40 -0
  136. package/dist/lib/useComposeUseQueryOptions.js.map +1 -0
  137. package/dist/qraftAPIClient.d.ts +3 -3
  138. package/dist/qraftAPIClient.d.ts.map +1 -1
  139. package/package.json +2 -2
  140. package/src/QraftContext.ts +13 -16
  141. package/src/ServiceOperation.ts +261 -4
  142. package/src/callbacks/cancelQueries.ts +3 -3
  143. package/src/callbacks/fetchInfiniteQuery.ts +22 -0
  144. package/src/callbacks/fetchQuery.ts +20 -0
  145. package/src/callbacks/getInfiniteQueryData.ts +13 -16
  146. package/src/callbacks/getInfiniteQueryKey.ts +3 -3
  147. package/src/callbacks/getMutationKey.ts +3 -3
  148. package/src/callbacks/getQueryData.ts +12 -14
  149. package/src/callbacks/getQueryKey.ts +3 -7
  150. package/src/callbacks/invalidateQueries.ts +3 -3
  151. package/src/callbacks/isFetching.ts +3 -3
  152. package/src/callbacks/mutationFn.ts +3 -3
  153. package/src/callbacks/prefetchInfiniteQuery.ts +22 -0
  154. package/src/callbacks/prefetchQuery.ts +22 -0
  155. package/src/callbacks/queryFn.ts +2 -2
  156. package/src/callbacks/refetchQueries.ts +3 -3
  157. package/src/callbacks/resetQueries.ts +3 -3
  158. package/src/callbacks/setInfiniteQueryData.ts +11 -18
  159. package/src/callbacks/setQueryData.ts +13 -18
  160. package/src/callbacks/useInfiniteQuery.ts +8 -48
  161. package/src/callbacks/useIsFetching.ts +3 -9
  162. package/src/callbacks/useMutation.ts +15 -20
  163. package/src/callbacks/useMutationState.ts +3 -3
  164. package/src/callbacks/useQueries.ts +12 -17
  165. package/src/callbacks/useQuery.ts +7 -43
  166. package/src/callbacks/useSuspenseInfiniteQuery.ts +8 -44
  167. package/src/callbacks/useSuspenseQueries.ts +12 -13
  168. package/src/callbacks/useSuspenseQuery.ts +8 -45
  169. package/src/index.ts +6 -6
  170. package/src/lib/callQueryClientFetchMethod.ts +90 -0
  171. package/src/lib/callQueryClientMethodWithQueryFilters.ts +10 -23
  172. package/src/lib/callQueryClientMethodWithQueryKey.ts +46 -0
  173. package/src/lib/composeInfiniteQueryKey.ts +2 -2
  174. package/src/lib/composeMutationKey.ts +4 -7
  175. package/src/lib/composeQueryFilters.ts +2 -2
  176. package/src/lib/composeQueryKey.ts +2 -5
  177. package/src/lib/{request.ts → requestFn.ts} +61 -59
  178. package/src/lib/useComposeUseQueryOptions.ts +64 -0
  179. package/src/qraftAPIClient.ts +4 -4
  180. package/dist/RequestClient.d.ts +0 -3
  181. package/dist/RequestClient.d.ts.map +0 -1
  182. package/dist/RequestClient.js +0 -2
  183. package/dist/RequestClient.js.map +0 -1
  184. package/dist/lib/request.d.ts.map +0 -1
  185. package/dist/lib/request.js.map +0 -1
  186. package/src/RequestClient.ts +0 -11
@@ -1,14 +1,14 @@
1
1
  import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import { ServiceOperationCancelQueriesCallback } from '../ServiceOperation.js';
5
5
 
6
6
  export function cancelQueries<TData>(
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationCancelQueriesCallback<
11
- OperationRequestSchema,
11
+ OperationSchema,
12
12
  unknown,
13
13
  TData
14
14
  >['cancelQueries']
@@ -0,0 +1,22 @@
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
2
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
3
+ import { ServiceOperationQuery } from '../ServiceOperation.js';
4
+
5
+ export const fetchInfiniteQuery: <
6
+ TSchema extends { url: string; method: 'get' | 'head' | 'options' },
7
+ TData,
8
+ TParams,
9
+ >(
10
+ _: QraftClientOptions | undefined,
11
+ schema: TSchema,
12
+ args: Parameters<
13
+ ServiceOperationQuery<TSchema, TData, TParams>['fetchInfiniteQuery']
14
+ >
15
+ ) => Promise<TData> = (_, schema, args) => {
16
+ return callQueryClientMethodWithQueryKey(
17
+ 'fetchInfiniteQuery',
18
+ schema,
19
+ true,
20
+ args as never
21
+ ) as never;
22
+ };
@@ -0,0 +1,20 @@
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
2
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
3
+ import { ServiceOperationQuery } from '../ServiceOperation.js';
4
+
5
+ export const fetchQuery: <
6
+ TSchema extends { url: string; method: 'get' | 'head' | 'options' },
7
+ TData,
8
+ TParams,
9
+ >(
10
+ _: QraftClientOptions | undefined,
11
+ schema: TSchema,
12
+ args: Parameters<ServiceOperationQuery<TSchema, TData, TParams>['fetchQuery']>
13
+ ) => Promise<TData> = (_, schema, args) => {
14
+ return callQueryClientMethodWithQueryKey(
15
+ 'fetchQuery',
16
+ schema,
17
+ false,
18
+ args as never
19
+ ) as never;
20
+ };
@@ -1,28 +1,25 @@
1
- import { InfiniteData } from '@tanstack/query-core';
1
+ import type { InfiniteData } from '@tanstack/query-core';
2
2
 
3
- import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.js';
4
- import type { OperationRequestSchema } from '../lib/request.js';
3
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientMethodWithQueryKey.js';
4
+ import type { OperationSchema } from '../lib/requestFn.js';
5
5
  import type { QraftClientOptions } from '../qraftAPIClient.js';
6
- import {
7
- ServiceOperationInfiniteQueryKey,
8
- ServiceOperationQuery,
9
- } from '../ServiceOperation.js';
6
+ import type { ServiceOperationQuery } from '../ServiceOperation.js';
10
7
 
11
8
  export function getInfiniteQueryData<TData>(
12
- qraftOptions: QraftClientOptions | undefined,
13
- schema: OperationRequestSchema,
9
+ _: QraftClientOptions | undefined,
10
+ schema: OperationSchema,
14
11
  args: Parameters<
15
12
  ServiceOperationQuery<
16
- OperationRequestSchema,
13
+ OperationSchema,
17
14
  unknown,
18
15
  TData
19
16
  >['getInfiniteQueryData']
20
17
  >
21
18
  ): InfiniteData<TData> | undefined {
22
- const [parameters, queryClient] = args;
23
- return queryClient.getQueryData(
24
- Array.isArray(parameters)
25
- ? parameters
26
- : composeInfiniteQueryKey(schema, parameters)
27
- );
19
+ return callQueryClientMethodWithQueryKey(
20
+ 'getQueryData',
21
+ schema,
22
+ true,
23
+ args as never
24
+ ) as never;
28
25
  }
@@ -1,14 +1,14 @@
1
1
  import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import { ServiceOperationQuery } from '../ServiceOperation.js';
5
5
 
6
6
  export const getInfiniteQueryKey = (
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationQuery<
11
- OperationRequestSchema,
11
+ OperationSchema,
12
12
  unknown,
13
13
  unknown
14
14
  >['getInfiniteQueryKey']
@@ -1,14 +1,14 @@
1
1
  import { composeMutationKey } from '../lib/composeMutationKey.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import { ServiceOperationMutation } from '../ServiceOperation.js';
5
5
 
6
6
  export const getMutationKey = (
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationMutation<
11
- OperationRequestSchema,
11
+ OperationSchema,
12
12
  unknown,
13
13
  unknown,
14
14
  unknown
@@ -1,21 +1,19 @@
1
- import { composeQueryKey } from '../lib/composeQueryKey.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientMethodWithQueryKey.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
- import { ServiceOperationQuery } from '../ServiceOperation.js';
4
+ import type { ServiceOperationQuery } from '../ServiceOperation.js';
5
5
 
6
6
  export function getQueryData<TData>(
7
- qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
7
+ _: QraftClientOptions | undefined,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
- ServiceOperationQuery<
11
- OperationRequestSchema,
12
- unknown,
13
- TData
14
- >['getQueryData']
10
+ ServiceOperationQuery<OperationSchema, unknown, TData>['getQueryData']
15
11
  >
16
12
  ): TData | undefined {
17
- const [parameters, queryClient] = args;
18
- return queryClient.getQueryData(
19
- Array.isArray(parameters) ? parameters : composeQueryKey(schema, parameters)
20
- );
13
+ return callQueryClientMethodWithQueryKey(
14
+ 'getQueryData',
15
+ schema,
16
+ false,
17
+ args as never
18
+ ) as never;
21
19
  }
@@ -1,17 +1,13 @@
1
1
  import { composeQueryKey } from '../lib/composeQueryKey.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import { ServiceOperationQuery } from '../ServiceOperation.js';
5
5
 
6
6
  export const getQueryKey = (
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
- ServiceOperationQuery<
11
- OperationRequestSchema,
12
- unknown,
13
- unknown
14
- >['getQueryKey']
10
+ ServiceOperationQuery<OperationSchema, unknown, unknown>['getQueryKey']
15
11
  >
16
12
  ) => {
17
13
  return composeQueryKey(schema, args[0]);
@@ -1,14 +1,14 @@
1
1
  import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import type { ServiceOperationInvalidateQueriesCallback } from '../ServiceOperation.js';
5
5
 
6
6
  export function invalidateQueries<TData>(
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationInvalidateQueriesCallback<
11
- OperationRequestSchema,
11
+ OperationSchema,
12
12
  unknown,
13
13
  TData
14
14
  >['invalidateQueries']
@@ -1,14 +1,14 @@
1
1
  import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import { ServiceOperationIsFetchingQueriesCallback } from '../ServiceOperation.js';
5
5
 
6
6
  export function isFetching<TData>(
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationIsFetchingQueriesCallback<
11
- OperationRequestSchema,
11
+ OperationSchema,
12
12
  unknown,
13
13
  TData
14
14
  >['isFetching']
@@ -1,15 +1,15 @@
1
- import type { OperationRequestSchema } from '../lib/request.js';
1
+ import type { OperationSchema } from '../lib/requestFn.js';
2
2
  import type { QraftClientOptions } from '../qraftAPIClient.js';
3
3
  import { ServiceOperationMutation } from '../ServiceOperation.js';
4
4
 
5
5
  export const mutationFn = (
6
6
  qraftOptions: QraftClientOptions | undefined,
7
- schema: OperationRequestSchema,
7
+ schema: OperationSchema,
8
8
  args: unknown
9
9
  ) => {
10
10
  const [client, options] = args as Parameters<
11
11
  ServiceOperationMutation<
12
- OperationRequestSchema,
12
+ OperationSchema,
13
13
  unknown,
14
14
  unknown,
15
15
  never
@@ -0,0 +1,22 @@
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
2
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
3
+ import { ServiceOperationQuery } from '../ServiceOperation.js';
4
+
5
+ export const prefetchInfiniteQuery: <
6
+ TSchema extends { url: string; method: 'get' | 'head' | 'options' },
7
+ TData,
8
+ TParams,
9
+ >(
10
+ _: QraftClientOptions | undefined,
11
+ schema: TSchema,
12
+ args: Parameters<
13
+ ServiceOperationQuery<TSchema, TData, TParams>['prefetchInfiniteQuery']
14
+ >
15
+ ) => Promise<TData> = (_, schema, args) => {
16
+ return callQueryClientMethodWithQueryKey(
17
+ 'prefetchInfiniteQuery',
18
+ schema,
19
+ true,
20
+ args as never
21
+ ) as never;
22
+ };
@@ -0,0 +1,22 @@
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientFetchMethod.js';
2
+ import type { QraftClientOptions } from '../qraftAPIClient.js';
3
+ import { ServiceOperationQuery } from '../ServiceOperation.js';
4
+
5
+ export const prefetchQuery: <
6
+ TSchema extends { url: string; method: 'get' | 'head' | 'options' },
7
+ TData,
8
+ TParams,
9
+ >(
10
+ _: QraftClientOptions | undefined,
11
+ schema: TSchema,
12
+ args: Parameters<
13
+ ServiceOperationQuery<TSchema, TData, TParams>['prefetchQuery']
14
+ >
15
+ ) => Promise<TData> = (_, schema, args) => {
16
+ return callQueryClientMethodWithQueryKey(
17
+ 'prefetchQuery',
18
+ schema,
19
+ false,
20
+ args as never
21
+ ) as never;
22
+ };
@@ -12,9 +12,9 @@ export const queryFn: <
12
12
  ) => Promise<TData> = (_, schema, args) => {
13
13
  const [options, client] = args;
14
14
 
15
- return client('queryKey' in options ? options.queryKey[0] : schema, {
15
+ return client('queryKey' in options ? options.queryKey![0] : schema, {
16
16
  parameters:
17
- 'queryKey' in options ? options.queryKey[1] : options.parameters,
17
+ 'queryKey' in options ? options.queryKey![1] : options.parameters,
18
18
  meta: options.meta,
19
19
  signal: options.signal,
20
20
  }) as Promise<never>;
@@ -1,14 +1,14 @@
1
1
  import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import type { ServiceOperationResetQueriesCallback } from '../ServiceOperation.js';
5
5
 
6
6
  export function refetchQueries<TData>(
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationResetQueriesCallback<
11
- OperationRequestSchema,
11
+ OperationSchema,
12
12
  unknown,
13
13
  TData
14
14
  >['refetchQueries']
@@ -1,14 +1,14 @@
1
1
  import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
4
  import type { ServiceOperationResetQueriesCallback } from '../ServiceOperation.js';
5
5
 
6
6
  export function resetQueries<TData>(
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: OperationRequestSchema,
8
+ schema: OperationSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationResetQueriesCallback<
11
- OperationRequestSchema,
11
+ OperationSchema,
12
12
  unknown,
13
13
  TData
14
14
  >['resetQueries']
@@ -1,32 +1,25 @@
1
1
  import { InfiniteData } from '@tanstack/query-core';
2
2
 
3
- import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.js';
4
- import type { OperationRequestSchema } from '../lib/request.js';
3
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientMethodWithQueryKey.js';
4
+ import type { OperationSchema } from '../lib/requestFn.js';
5
5
  import type { QraftClientOptions } from '../qraftAPIClient.js';
6
- import type {
7
- ServiceOperationInfiniteQueryKey,
8
- ServiceOperationQuery,
9
- } from '../ServiceOperation.js';
6
+ import type { ServiceOperationQuery } from '../ServiceOperation.js';
10
7
 
11
8
  export function setInfiniteQueryData<TData>(
12
9
  qraftOptions: QraftClientOptions | undefined,
13
- schema: OperationRequestSchema,
10
+ schema: OperationSchema,
14
11
  args: Parameters<
15
12
  ServiceOperationQuery<
16
- OperationRequestSchema,
13
+ OperationSchema,
17
14
  unknown,
18
15
  TData
19
16
  >['setInfiniteQueryData']
20
17
  >
21
18
  ): InfiniteData<TData> | undefined {
22
- const [parameters, updater, queryClient, options] = args;
23
-
24
- const queryKey: ServiceOperationInfiniteQueryKey<
25
- OperationRequestSchema,
26
- unknown
27
- > = Array.isArray(parameters)
28
- ? parameters
29
- : composeInfiniteQueryKey(schema, parameters);
30
-
31
- return queryClient.setQueryData(queryKey, updater as never, options);
19
+ return callQueryClientMethodWithQueryKey(
20
+ 'setQueryData',
21
+ schema,
22
+ true,
23
+ args as never
24
+ ) as never;
32
25
  }
@@ -1,28 +1,23 @@
1
- import { composeQueryKey } from '../lib/composeQueryKey.js';
2
- import type { OperationRequestSchema } from '../lib/request.js';
1
+ import { callQueryClientMethodWithQueryKey } from '../lib/callQueryClientMethodWithQueryKey.js';
2
+ import type { OperationSchema } from '../lib/requestFn.js';
3
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
4
- import {
5
- ServiceOperationQuery,
6
- ServiceOperationQueryKey,
7
- } from '../ServiceOperation.js';
4
+ import type { ServiceOperationSetQueryDataCallback } from '../ServiceOperation.js';
8
5
 
9
6
  export function setQueryData<TData>(
10
- qraftOptions: QraftClientOptions | undefined,
11
- schema: OperationRequestSchema,
7
+ _: QraftClientOptions | undefined,
8
+ schema: OperationSchema,
12
9
  args: Parameters<
13
- ServiceOperationQuery<
14
- OperationRequestSchema,
10
+ ServiceOperationSetQueryDataCallback<
11
+ OperationSchema,
15
12
  unknown,
16
13
  TData
17
14
  >['setQueryData']
18
15
  >
19
16
  ): TData | undefined {
20
- const [parameters, updater, queryClient, options] = args;
21
-
22
- const queryKey: ServiceOperationQueryKey<OperationRequestSchema, unknown> =
23
- Array.isArray(parameters)
24
- ? parameters
25
- : composeQueryKey(schema, parameters);
26
-
27
- return queryClient.setQueryData(queryKey, updater as never, options);
17
+ return callQueryClientMethodWithQueryKey(
18
+ 'setQueryData',
19
+ schema,
20
+ false,
21
+ args as never
22
+ ) as never;
28
23
  }
@@ -1,23 +1,15 @@
1
1
  'use client';
2
2
 
3
- import { useContext } from 'react';
4
-
5
3
  import type { DefaultError, InfiniteData } from '@tanstack/query-core';
6
4
  import {
7
5
  useInfiniteQuery as useInfiniteQueryBase,
8
- UseInfiniteQueryResult,
6
+ type UseInfiniteQueryResult,
9
7
  } from '@tanstack/react-query';
10
8
 
11
- import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.js';
12
- import type { OperationRequestSchema } from '../lib/request.js';
13
- import { shelfMerge } from '../lib/shelfMerge.js';
14
- import { useQueryClient } from '../lib/useQueryClient.js';
9
+ import type { OperationSchema } from '../lib/requestFn.js';
10
+ import { useComposeUseQueryOptions } from '../lib/useComposeUseQueryOptions.js';
15
11
  import type { QraftClientOptions } from '../qraftAPIClient.js';
16
- import { QraftContext } from '../QraftContext.js';
17
- import {
18
- ServiceOperationInfiniteQueryKey,
19
- ServiceOperationQuery,
20
- } from '../ServiceOperation.js';
12
+ import type { ServiceOperationQuery } from '../ServiceOperation.js';
21
13
 
22
14
  export const useInfiniteQuery: <
23
15
  TQueryFnData,
@@ -25,45 +17,13 @@ export const useInfiniteQuery: <
25
17
  TData = InfiniteData<TQueryFnData>,
26
18
  >(
27
19
  qraftOptions: QraftClientOptions | undefined,
28
- schema: OperationRequestSchema,
20
+ schema: OperationSchema,
29
21
  args: Parameters<
30
- ServiceOperationQuery<
31
- OperationRequestSchema,
32
- unknown,
33
- unknown
34
- >['useInfiniteQuery']
22
+ ServiceOperationQuery<OperationSchema, unknown, unknown>['useInfiniteQuery']
35
23
  >
36
24
  ) => UseInfiniteQueryResult<TData, TError> = (qraftOptions, schema, args) => {
37
- const [parameters, options, queryClientByArg] = args;
38
-
39
- const contextValue = useContext(qraftOptions?.context ?? QraftContext);
40
- if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
41
-
42
- const queryKey: ServiceOperationInfiniteQueryKey<
43
- OperationRequestSchema,
44
- unknown
45
- > = Array.isArray(parameters)
46
- ? (parameters as never)
47
- : composeInfiniteQueryKey(schema, parameters);
48
-
49
25
  return useInfiniteQueryBase(
50
- {
51
- ...options,
52
- queryKey,
53
- queryFn:
54
- options?.queryFn ??
55
- function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
56
- return contextValue.request(
57
- { baseUrl: contextValue.baseUrl },
58
- schema,
59
- {
60
- parameters: shelfMerge(2, queryParams, pageParam) as never,
61
- signal,
62
- meta,
63
- }
64
- );
65
- },
66
- },
67
- useQueryClient(qraftOptions, queryClientByArg)
26
+ // @ts-expect-error
27
+ ...useComposeUseQueryOptions(qraftOptions, schema, args, true)
68
28
  ) as never;
69
29
  };
@@ -3,17 +3,17 @@
3
3
  import { useIsFetching as useIsFetchingTanstack } from '@tanstack/react-query';
4
4
 
5
5
  import { composeQueryFilters } from '../lib/composeQueryFilters.js';
6
- import type { OperationRequestSchema } from '../lib/request.js';
6
+ import type { OperationSchema } from '../lib/requestFn.js';
7
7
  import { useQueryClient } from '../lib/useQueryClient.js';
8
8
  import type { QraftClientOptions } from '../qraftAPIClient.js';
9
9
  import type { ServiceOperationQuery } from '../ServiceOperation.js';
10
10
 
11
11
  export const useIsFetching: <TVariables = unknown>(
12
12
  qraftOptions: QraftClientOptions | undefined,
13
- schema: OperationRequestSchema,
13
+ schema: OperationSchema,
14
14
  args: Parameters<
15
15
  ServiceOperationQuery<
16
- OperationRequestSchema,
16
+ OperationSchema,
17
17
  object | undefined,
18
18
  TVariables,
19
19
  unknown
@@ -22,12 +22,6 @@ export const useIsFetching: <TVariables = unknown>(
22
22
  ) => number = (qraftOptions, schema, args) => {
23
23
  const [filters, queryClientByArg] = args;
24
24
 
25
- if (filters && 'parameters' in filters && 'mutationKey' in filters) {
26
- throw new Error(
27
- `'useMutationState': 'parameters' and 'mutationKey' cannot be used together`
28
- );
29
- }
30
-
31
25
  return useIsFetchingTanstack(
32
26
  composeQueryFilters(schema, filters) as never,
33
27
  useQueryClient(qraftOptions, queryClientByArg)
@@ -9,7 +9,7 @@ import {
9
9
  } from '@tanstack/react-query';
10
10
 
11
11
  import { composeMutationKey } from '../lib/composeMutationKey.js';
12
- import type { OperationRequestSchema } from '../lib/request.js';
12
+ import type { OperationSchema } from '../lib/requestFn.js';
13
13
  import { useQueryClient } from '../lib/useQueryClient.js';
14
14
  import type { QraftClientOptions } from '../qraftAPIClient.js';
15
15
  import { QraftContext } from '../QraftContext.js';
@@ -25,10 +25,10 @@ export const useMutation: <
25
25
  TContext = unknown,
26
26
  >(
27
27
  qraftOptions: QraftClientOptions | undefined,
28
- schema: OperationRequestSchema,
28
+ schema: OperationSchema,
29
29
  args: Parameters<
30
30
  ServiceOperationMutation<
31
- OperationRequestSchema,
31
+ OperationSchema,
32
32
  object | undefined,
33
33
  TVariables,
34
34
  TData
@@ -52,7 +52,8 @@ export const useMutation: <
52
52
  );
53
53
 
54
54
  const contextValue = useContext(qraftOptions?.context ?? QraftContext);
55
- if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
55
+ if (!contextValue?.requestFn)
56
+ throw new Error(`QraftContext.request not found`);
56
57
 
57
58
  const mutationKey =
58
59
  options && 'mutationKey' in options
@@ -70,28 +71,22 @@ export const useMutation: <
70
71
  options?.mutationFn ??
71
72
  (parameters
72
73
  ? function (bodyPayload) {
73
- return contextValue.request(
74
- { baseUrl: contextValue.baseUrl },
75
- schema,
76
- {
77
- parameters,
78
- body: bodyPayload as never,
79
- }
80
- );
74
+ return contextValue.requestFn(schema, {
75
+ parameters,
76
+ baseUrl: contextValue.baseUrl,
77
+ body: bodyPayload as never,
78
+ });
81
79
  }
82
80
  : function (parametersAndBodyPayload) {
83
81
  const { body, ...parameters } = parametersAndBodyPayload as {
84
82
  body: unknown;
85
83
  };
86
84
 
87
- return contextValue.request(
88
- { baseUrl: contextValue.baseUrl },
89
- schema,
90
- {
91
- body,
92
- parameters,
93
- } as never
94
- );
85
+ return contextValue.requestFn(schema, {
86
+ parameters,
87
+ baseUrl: contextValue.baseUrl,
88
+ body,
89
+ } as never);
95
90
  }),
96
91
  },
97
92
  useQueryClient(qraftOptions, queryClientByArg)
@@ -9,7 +9,7 @@ import {
9
9
  } from '@tanstack/react-query';
10
10
 
11
11
  import { composeMutationKey } from '../lib/composeMutationKey.js';
12
- import type { OperationRequestSchema } from '../lib/request.js';
12
+ import type { OperationSchema } from '../lib/requestFn.js';
13
13
  import { useQueryClient } from '../lib/useQueryClient.js';
14
14
  import type { QraftClientOptions } from '../qraftAPIClient.js';
15
15
  import { ServiceOperationMutation } from '../ServiceOperation.js';
@@ -21,10 +21,10 @@ export const useMutationState: <
21
21
  TContext = unknown,
22
22
  >(
23
23
  qraftOptions: QraftClientOptions | undefined,
24
- schema: OperationRequestSchema,
24
+ schema: OperationSchema,
25
25
  args: Parameters<
26
26
  ServiceOperationMutation<
27
- OperationRequestSchema,
27
+ OperationSchema,
28
28
  object | undefined,
29
29
  TVariables,
30
30
  TData