@openapi-qraft/react 1.2.0 → 1.4.0

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