@openapi-qraft/react 1.1.5 → 1.2.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 (143) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +41 -25
  3. package/dist/QraftContext.d.ts +16 -5
  4. package/dist/QraftContext.d.ts.map +1 -1
  5. package/dist/QraftContext.js.map +1 -1
  6. package/dist/RequestClient.d.ts +2 -18
  7. package/dist/RequestClient.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/getInfiniteQueryData.d.ts +2 -2
  12. package/dist/callbacks/getInfiniteQueryData.d.ts.map +1 -1
  13. package/dist/callbacks/getInfiniteQueryData.js.map +1 -1
  14. package/dist/callbacks/getInfiniteQueryKey.d.ts +2 -2
  15. package/dist/callbacks/getInfiniteQueryKey.d.ts.map +1 -1
  16. package/dist/callbacks/getInfiniteQueryKey.js.map +1 -1
  17. package/dist/callbacks/getMutationKey.d.ts +2 -2
  18. package/dist/callbacks/getMutationKey.d.ts.map +1 -1
  19. package/dist/callbacks/getMutationKey.js.map +1 -1
  20. package/dist/callbacks/getQueryData.d.ts +2 -2
  21. package/dist/callbacks/getQueryData.d.ts.map +1 -1
  22. package/dist/callbacks/getQueryData.js.map +1 -1
  23. package/dist/callbacks/getQueryKey.d.ts +2 -2
  24. package/dist/callbacks/getQueryKey.d.ts.map +1 -1
  25. package/dist/callbacks/getQueryKey.js.map +1 -1
  26. package/dist/callbacks/invalidateQueries.d.ts +2 -2
  27. package/dist/callbacks/invalidateQueries.d.ts.map +1 -1
  28. package/dist/callbacks/invalidateQueries.js.map +1 -1
  29. package/dist/callbacks/isFetching.d.ts +2 -2
  30. package/dist/callbacks/isFetching.d.ts.map +1 -1
  31. package/dist/callbacks/isFetching.js.map +1 -1
  32. package/dist/callbacks/mutationFn.d.ts +2 -2
  33. package/dist/callbacks/mutationFn.d.ts.map +1 -1
  34. package/dist/callbacks/mutationFn.js.map +1 -1
  35. package/dist/callbacks/refetchQueries.d.ts +3 -3
  36. package/dist/callbacks/refetchQueries.d.ts.map +1 -1
  37. package/dist/callbacks/refetchQueries.js.map +1 -1
  38. package/dist/callbacks/resetQueries.d.ts +2 -2
  39. package/dist/callbacks/resetQueries.d.ts.map +1 -1
  40. package/dist/callbacks/resetQueries.js.map +1 -1
  41. package/dist/callbacks/setInfiniteQueryData.d.ts +2 -2
  42. package/dist/callbacks/setInfiniteQueryData.d.ts.map +1 -1
  43. package/dist/callbacks/setInfiniteQueryData.js.map +1 -1
  44. package/dist/callbacks/setQueryData.d.ts +2 -2
  45. package/dist/callbacks/setQueryData.d.ts.map +1 -1
  46. package/dist/callbacks/setQueryData.js.map +1 -1
  47. package/dist/callbacks/useInfiniteQuery.d.ts +2 -2
  48. package/dist/callbacks/useInfiniteQuery.d.ts.map +1 -1
  49. package/dist/callbacks/useInfiniteQuery.js +7 -6
  50. package/dist/callbacks/useInfiniteQuery.js.map +1 -1
  51. package/dist/callbacks/useIsFetching.d.ts +2 -2
  52. package/dist/callbacks/useIsFetching.d.ts.map +1 -1
  53. package/dist/callbacks/useIsFetching.js +3 -5
  54. package/dist/callbacks/useIsFetching.js.map +1 -1
  55. package/dist/callbacks/useMutation.d.ts +2 -2
  56. package/dist/callbacks/useMutation.d.ts.map +1 -1
  57. package/dist/callbacks/useMutation.js +8 -7
  58. package/dist/callbacks/useMutation.js.map +1 -1
  59. package/dist/callbacks/useMutationState.d.ts +2 -2
  60. package/dist/callbacks/useMutationState.d.ts.map +1 -1
  61. package/dist/callbacks/useMutationState.js +3 -7
  62. package/dist/callbacks/useMutationState.js.map +1 -1
  63. package/dist/callbacks/useQueries.d.ts +2 -2
  64. package/dist/callbacks/useQueries.d.ts.map +1 -1
  65. package/dist/callbacks/useQueries.js +7 -6
  66. package/dist/callbacks/useQueries.js.map +1 -1
  67. package/dist/callbacks/useQuery.d.ts +3 -3
  68. package/dist/callbacks/useQuery.d.ts.map +1 -1
  69. package/dist/callbacks/useQuery.js +7 -6
  70. package/dist/callbacks/useQuery.js.map +1 -1
  71. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts +2 -2
  72. package/dist/callbacks/useSuspenseInfiniteQuery.d.ts.map +1 -1
  73. package/dist/callbacks/useSuspenseInfiniteQuery.js +7 -6
  74. package/dist/callbacks/useSuspenseInfiniteQuery.js.map +1 -1
  75. package/dist/callbacks/useSuspenseQueries.d.ts +2 -2
  76. package/dist/callbacks/useSuspenseQueries.d.ts.map +1 -1
  77. package/dist/callbacks/useSuspenseQueries.js +7 -6
  78. package/dist/callbacks/useSuspenseQueries.js.map +1 -1
  79. package/dist/callbacks/useSuspenseQuery.d.ts +2 -2
  80. package/dist/callbacks/useSuspenseQuery.d.ts.map +1 -1
  81. package/dist/callbacks/useSuspenseQuery.js +7 -6
  82. package/dist/callbacks/useSuspenseQuery.js.map +1 -1
  83. package/dist/index.d.ts +3 -7
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +1 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts +2 -2
  88. package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts.map +1 -1
  89. package/dist/lib/callQueryClientMethodWithQueryFilters.js.map +1 -1
  90. package/dist/lib/composeInfiniteQueryKey.d.ts +3 -3
  91. package/dist/lib/composeInfiniteQueryKey.d.ts.map +1 -1
  92. package/dist/lib/composeMutationKey.d.ts +4 -4
  93. package/dist/lib/composeMutationKey.d.ts.map +1 -1
  94. package/dist/lib/composeQueryFilters.d.ts +3 -3
  95. package/dist/lib/composeQueryFilters.d.ts.map +1 -1
  96. package/dist/lib/composeQueryFilters.js.map +1 -1
  97. package/dist/lib/composeQueryKey.d.ts +3 -3
  98. package/dist/lib/composeQueryKey.d.ts.map +1 -1
  99. package/dist/lib/composeQueryKey.js.map +1 -1
  100. package/dist/lib/request.d.ts +50 -17
  101. package/dist/lib/request.d.ts.map +1 -1
  102. package/dist/lib/request.js +42 -31
  103. package/dist/lib/request.js.map +1 -1
  104. package/dist/lib/useQueryClient.d.ts +9 -0
  105. package/dist/lib/useQueryClient.d.ts.map +1 -0
  106. package/dist/lib/useQueryClient.js +15 -0
  107. package/dist/lib/useQueryClient.js.map +1 -0
  108. package/dist/qraftAPIClient.d.ts +7 -7
  109. package/dist/qraftAPIClient.d.ts.map +1 -1
  110. package/package.json +2 -2
  111. package/src/QraftContext.ts +24 -9
  112. package/src/RequestClient.ts +10 -31
  113. package/src/callbacks/cancelQueries.ts +3 -3
  114. package/src/callbacks/getInfiniteQueryData.ts +3 -3
  115. package/src/callbacks/getInfiniteQueryKey.ts +3 -3
  116. package/src/callbacks/getMutationKey.ts +3 -3
  117. package/src/callbacks/getQueryData.ts +7 -3
  118. package/src/callbacks/getQueryKey.ts +7 -3
  119. package/src/callbacks/invalidateQueries.ts +3 -3
  120. package/src/callbacks/isFetching.ts +3 -3
  121. package/src/callbacks/mutationFn.ts +3 -3
  122. package/src/callbacks/refetchQueries.ts +4 -4
  123. package/src/callbacks/resetQueries.ts +3 -3
  124. package/src/callbacks/setInfiniteQueryData.ts +4 -4
  125. package/src/callbacks/setQueryData.ts +8 -4
  126. package/src/callbacks/useInfiniteQuery.ts +17 -15
  127. package/src/callbacks/useIsFetching.ts +6 -14
  128. package/src/callbacks/useMutation.ts +23 -17
  129. package/src/callbacks/useMutationState.ts +5 -11
  130. package/src/callbacks/useQueries.ts +20 -14
  131. package/src/callbacks/useQuery.ts +22 -17
  132. package/src/callbacks/useSuspenseInfiniteQuery.ts +17 -15
  133. package/src/callbacks/useSuspenseQueries.ts +16 -14
  134. package/src/callbacks/useSuspenseQuery.ts +17 -15
  135. package/src/index.ts +12 -7
  136. package/src/lib/callQueryClientMethodWithQueryFilters.ts +2 -2
  137. package/src/lib/composeInfiniteQueryKey.ts +3 -3
  138. package/src/lib/composeMutationKey.ts +5 -5
  139. package/src/lib/composeQueryFilters.ts +2 -2
  140. package/src/lib/composeQueryKey.ts +6 -3
  141. package/src/lib/request.ts +136 -74
  142. package/src/lib/useQueryClient.ts +26 -0
  143. package/src/qraftAPIClient.ts +8 -8
@@ -1,15 +1,15 @@
1
+ import type { OperationRequestSchema } from '../lib/request.js';
1
2
  import type { QraftClientOptions } from '../qraftAPIClient.js';
2
- import type { RequestClientSchema } from '../RequestClient.js';
3
3
  import { ServiceOperationMutation } from '../ServiceOperation.js';
4
4
 
5
5
  export const mutationFn = (
6
6
  qraftOptions: QraftClientOptions | undefined,
7
- schema: RequestClientSchema,
7
+ schema: OperationRequestSchema,
8
8
  args: unknown
9
9
  ) => {
10
10
  const [client, options] = args as Parameters<
11
11
  ServiceOperationMutation<
12
- RequestClientSchema,
12
+ OperationRequestSchema,
13
13
  unknown,
14
14
  unknown,
15
15
  never
@@ -1,14 +1,14 @@
1
1
  import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
2
+ import type { OperationRequestSchema } from '../lib/request.js';
2
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
3
- import type { RequestClientSchema } from '../RequestClient.js';
4
- import { ServiceOperationResetQueriesCallback } from '../ServiceOperation.js';
4
+ import type { ServiceOperationResetQueriesCallback } from '../ServiceOperation.js';
5
5
 
6
6
  export function refetchQueries<TData>(
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: RequestClientSchema,
8
+ schema: OperationRequestSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationResetQueriesCallback<
11
- RequestClientSchema,
11
+ OperationRequestSchema,
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
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
3
- import type { RequestClientSchema } from '../RequestClient.js';
4
4
  import type { ServiceOperationResetQueriesCallback } from '../ServiceOperation.js';
5
5
 
6
6
  export function resetQueries<TData>(
7
7
  qraftOptions: QraftClientOptions | undefined,
8
- schema: RequestClientSchema,
8
+ schema: OperationRequestSchema,
9
9
  args: Parameters<
10
10
  ServiceOperationResetQueriesCallback<
11
- RequestClientSchema,
11
+ OperationRequestSchema,
12
12
  unknown,
13
13
  TData
14
14
  >['resetQueries']
@@ -1,8 +1,8 @@
1
1
  import { InfiniteData } from '@tanstack/query-core';
2
2
 
3
3
  import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.js';
4
+ import type { OperationRequestSchema } from '../lib/request.js';
4
5
  import type { QraftClientOptions } from '../qraftAPIClient.js';
5
- import type { RequestClientSchema } from '../RequestClient.js';
6
6
  import type {
7
7
  ServiceOperationInfiniteQueryKey,
8
8
  ServiceOperationQuery,
@@ -10,10 +10,10 @@ import type {
10
10
 
11
11
  export function setInfiniteQueryData<TData>(
12
12
  qraftOptions: QraftClientOptions | undefined,
13
- schema: RequestClientSchema,
13
+ schema: OperationRequestSchema,
14
14
  args: Parameters<
15
15
  ServiceOperationQuery<
16
- RequestClientSchema,
16
+ OperationRequestSchema,
17
17
  unknown,
18
18
  TData
19
19
  >['setInfiniteQueryData']
@@ -22,7 +22,7 @@ export function setInfiniteQueryData<TData>(
22
22
  const [parameters, updater, queryClient, options] = args;
23
23
 
24
24
  const queryKey: ServiceOperationInfiniteQueryKey<
25
- RequestClientSchema,
25
+ OperationRequestSchema,
26
26
  unknown
27
27
  > = Array.isArray(parameters)
28
28
  ? parameters
@@ -1,6 +1,6 @@
1
1
  import { composeQueryKey } from '../lib/composeQueryKey.js';
2
+ import type { OperationRequestSchema } from '../lib/request.js';
2
3
  import type { QraftClientOptions } from '../qraftAPIClient.js';
3
- import type { RequestClientSchema } from '../RequestClient.js';
4
4
  import {
5
5
  ServiceOperationQuery,
6
6
  ServiceOperationQueryKey,
@@ -8,14 +8,18 @@ import {
8
8
 
9
9
  export function setQueryData<TData>(
10
10
  qraftOptions: QraftClientOptions | undefined,
11
- schema: RequestClientSchema,
11
+ schema: OperationRequestSchema,
12
12
  args: Parameters<
13
- ServiceOperationQuery<RequestClientSchema, unknown, TData>['setQueryData']
13
+ ServiceOperationQuery<
14
+ OperationRequestSchema,
15
+ unknown,
16
+ TData
17
+ >['setQueryData']
14
18
  >
15
19
  ): TData | undefined {
16
20
  const [parameters, updater, queryClient, options] = args;
17
21
 
18
- const queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown> =
22
+ const queryKey: ServiceOperationQueryKey<OperationRequestSchema, unknown> =
19
23
  Array.isArray(parameters)
20
24
  ? parameters
21
25
  : composeQueryKey(schema, parameters);
@@ -6,14 +6,14 @@ import type { DefaultError, InfiniteData } from '@tanstack/query-core';
6
6
  import {
7
7
  useInfiniteQuery as useInfiniteQueryBase,
8
8
  UseInfiniteQueryResult,
9
- useQueryClient,
10
9
  } from '@tanstack/react-query';
11
10
 
12
11
  import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.js';
12
+ import type { OperationRequestSchema } from '../lib/request.js';
13
13
  import { shelfMerge } from '../lib/shelfMerge.js';
14
+ import { useQueryClient } from '../lib/useQueryClient.js';
14
15
  import type { QraftClientOptions } from '../qraftAPIClient.js';
15
16
  import { QraftContext } from '../QraftContext.js';
16
- import type { RequestClientSchema } from '../RequestClient.js';
17
17
  import {
18
18
  ServiceOperationInfiniteQueryKey,
19
19
  ServiceOperationQuery,
@@ -25,10 +25,10 @@ export const useInfiniteQuery: <
25
25
  TData = InfiniteData<TQueryFnData>,
26
26
  >(
27
27
  qraftOptions: QraftClientOptions | undefined,
28
- schema: RequestClientSchema,
28
+ schema: OperationRequestSchema,
29
29
  args: Parameters<
30
30
  ServiceOperationQuery<
31
- RequestClientSchema,
31
+ OperationRequestSchema,
32
32
  unknown,
33
33
  unknown
34
34
  >['useInfiniteQuery']
@@ -36,13 +36,11 @@ export const useInfiniteQuery: <
36
36
  ) => UseInfiniteQueryResult<TData, TError> = (qraftOptions, schema, args) => {
37
37
  const [parameters, options, queryClientByArg] = args;
38
38
 
39
- const { requestClient, queryClient: queryClientByContext } =
40
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
41
-
42
- if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
39
+ const contextValue = useContext(qraftOptions?.context ?? QraftContext);
40
+ if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
43
41
 
44
42
  const queryKey: ServiceOperationInfiniteQueryKey<
45
- RequestClientSchema,
43
+ OperationRequestSchema,
46
44
  unknown
47
45
  > = Array.isArray(parameters)
48
46
  ? (parameters as never)
@@ -55,13 +53,17 @@ export const useInfiniteQuery: <
55
53
  queryFn:
56
54
  options?.queryFn ??
57
55
  function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
58
- return requestClient(schema, {
59
- parameters: shelfMerge(2, queryParams, pageParam) as never,
60
- signal,
61
- meta,
62
- });
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
+ );
63
65
  },
64
66
  },
65
- useQueryClient(queryClientByArg ?? queryClientByContext)
67
+ useQueryClient(qraftOptions, queryClientByArg)
66
68
  ) as never;
67
69
  };
@@ -1,24 +1,19 @@
1
1
  'use client';
2
2
 
3
- import { useContext } from 'react';
4
-
5
- import {
6
- useIsFetching as useIsFetchingTanstack,
7
- useQueryClient,
8
- } from '@tanstack/react-query';
3
+ import { useIsFetching as useIsFetchingTanstack } from '@tanstack/react-query';
9
4
 
10
5
  import { composeQueryFilters } from '../lib/composeQueryFilters.js';
6
+ import type { OperationRequestSchema } from '../lib/request.js';
7
+ import { useQueryClient } from '../lib/useQueryClient.js';
11
8
  import type { QraftClientOptions } from '../qraftAPIClient.js';
12
- import { QraftContext } from '../QraftContext.js';
13
- import type { RequestClientSchema } from '../RequestClient.js';
14
9
  import type { ServiceOperationQuery } from '../ServiceOperation.js';
15
10
 
16
11
  export const useIsFetching: <TVariables = unknown>(
17
12
  qraftOptions: QraftClientOptions | undefined,
18
- schema: RequestClientSchema,
13
+ schema: OperationRequestSchema,
19
14
  args: Parameters<
20
15
  ServiceOperationQuery<
21
- RequestClientSchema,
16
+ OperationRequestSchema,
22
17
  object | undefined,
23
18
  TVariables,
24
19
  unknown
@@ -33,11 +28,8 @@ export const useIsFetching: <TVariables = unknown>(
33
28
  );
34
29
  }
35
30
 
36
- const { queryClient: queryClientByContext } =
37
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
38
-
39
31
  return useIsFetchingTanstack(
40
32
  composeQueryFilters(schema, filters) as never,
41
- useQueryClient(queryClientByArg ?? queryClientByContext)
33
+ useQueryClient(qraftOptions, queryClientByArg)
42
34
  ) as never;
43
35
  };
@@ -6,13 +6,13 @@ import type { DefaultError } from '@tanstack/query-core';
6
6
  import {
7
7
  useMutation as useMutationBase,
8
8
  UseMutationResult,
9
- useQueryClient,
10
9
  } from '@tanstack/react-query';
11
10
 
12
11
  import { composeMutationKey } from '../lib/composeMutationKey.js';
12
+ import type { OperationRequestSchema } from '../lib/request.js';
13
+ import { useQueryClient } from '../lib/useQueryClient.js';
13
14
  import type { QraftClientOptions } from '../qraftAPIClient.js';
14
15
  import { QraftContext } from '../QraftContext.js';
15
- import type { RequestClientSchema } from '../RequestClient.js';
16
16
  import {
17
17
  ServiceOperationMutation,
18
18
  ServiceOperationMutationKey,
@@ -25,10 +25,10 @@ export const useMutation: <
25
25
  TContext = unknown,
26
26
  >(
27
27
  qraftOptions: QraftClientOptions | undefined,
28
- schema: RequestClientSchema,
28
+ schema: OperationRequestSchema,
29
29
  args: Parameters<
30
30
  ServiceOperationMutation<
31
- RequestClientSchema,
31
+ OperationRequestSchema,
32
32
  object | undefined,
33
33
  TVariables,
34
34
  TData
@@ -51,10 +51,8 @@ export const useMutation: <
51
51
  `'useMutation': parameters and 'options.mutationKey' cannot be used together`
52
52
  );
53
53
 
54
- const { requestClient, queryClient: queryClientByContext } =
55
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
56
-
57
- if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
54
+ const contextValue = useContext(qraftOptions?.context ?? QraftContext);
55
+ if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
58
56
 
59
57
  const mutationKey =
60
58
  options && 'mutationKey' in options
@@ -72,22 +70,30 @@ export const useMutation: <
72
70
  options?.mutationFn ??
73
71
  (parameters
74
72
  ? function (bodyPayload) {
75
- return requestClient(schema, {
76
- parameters,
77
- body: bodyPayload as never,
78
- });
73
+ return contextValue.request(
74
+ { baseUrl: contextValue.baseUrl },
75
+ schema,
76
+ {
77
+ parameters,
78
+ body: bodyPayload as never,
79
+ }
80
+ );
79
81
  }
80
82
  : function (parametersAndBodyPayload) {
81
83
  const { body, ...parameters } = parametersAndBodyPayload as {
82
84
  body: unknown;
83
85
  };
84
86
 
85
- return requestClient(schema, {
86
- body,
87
- parameters,
88
- } as never);
87
+ return contextValue.request(
88
+ { baseUrl: contextValue.baseUrl },
89
+ schema,
90
+ {
91
+ body,
92
+ parameters,
93
+ } as never
94
+ );
89
95
  }),
90
96
  },
91
- useQueryClient(queryClientByArg ?? queryClientByContext)
97
+ useQueryClient(qraftOptions, queryClientByArg)
92
98
  ) as never;
93
99
  };
@@ -6,13 +6,12 @@ import type { DefaultError } from '@tanstack/query-core';
6
6
  import {
7
7
  UseMutationResult,
8
8
  useMutationState as useMutationStateTanstack,
9
- useQueryClient,
10
9
  } from '@tanstack/react-query';
11
10
 
12
11
  import { composeMutationKey } from '../lib/composeMutationKey.js';
12
+ import type { OperationRequestSchema } from '../lib/request.js';
13
+ import { useQueryClient } from '../lib/useQueryClient.js';
13
14
  import type { QraftClientOptions } from '../qraftAPIClient.js';
14
- import { QraftContext } from '../QraftContext.js';
15
- import type { RequestClientSchema } from '../RequestClient.js';
16
15
  import { ServiceOperationMutation } from '../ServiceOperation.js';
17
16
 
18
17
  export const useMutationState: <
@@ -22,10 +21,10 @@ export const useMutationState: <
22
21
  TContext = unknown,
23
22
  >(
24
23
  qraftOptions: QraftClientOptions | undefined,
25
- schema: RequestClientSchema,
24
+ schema: OperationRequestSchema,
26
25
  args: Parameters<
27
26
  ServiceOperationMutation<
28
- RequestClientSchema,
27
+ OperationRequestSchema,
29
28
  object | undefined,
30
29
  TVariables,
31
30
  TData
@@ -48,11 +47,6 @@ export const useMutationState: <
48
47
  );
49
48
  }
50
49
 
51
- const { requestClient, queryClient: queryClientByContext } =
52
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
53
-
54
- if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
55
-
56
50
  const filters = options?.filters;
57
51
 
58
52
  return useMutationStateTanstack(
@@ -71,6 +65,6 @@ export const useMutationState: <
71
65
  ),
72
66
  },
73
67
  } as never,
74
- useQueryClient(queryClientByArg ?? queryClientByContext)
68
+ useQueryClient(qraftOptions, queryClientByArg)
75
69
  ) as never;
76
70
  };
@@ -5,28 +5,30 @@ import { useContext } from 'react';
5
5
  import {
6
6
  QueriesResults,
7
7
  useQueries as useQueriesTanstack,
8
- useQueryClient,
9
8
  } from '@tanstack/react-query';
10
9
 
11
10
  import { composeQueryKey } from '../lib/composeQueryKey.js';
11
+ import type { OperationRequestSchema } from '../lib/request.js';
12
+ import { useQueryClient } from '../lib/useQueryClient.js';
12
13
  import type { QraftClientOptions } from '../qraftAPIClient.js';
13
14
  import { QraftContext } from '../QraftContext.js';
14
- import type { RequestClientSchema } from '../RequestClient.js';
15
15
  import { ServiceOperationQuery } from '../ServiceOperation.js';
16
16
 
17
17
  export const useQueries: (
18
18
  qraftOptions: QraftClientOptions | undefined,
19
- schema: RequestClientSchema,
19
+ schema: OperationRequestSchema,
20
20
  args: Parameters<
21
- ServiceOperationQuery<RequestClientSchema, unknown, unknown>['useQueries']
21
+ ServiceOperationQuery<
22
+ OperationRequestSchema,
23
+ unknown,
24
+ unknown
25
+ >['useQueries']
22
26
  >
23
27
  ) => QueriesResults<never> = (qraftOptions, schema, args) => {
24
28
  const [options, queryClientByArg] = args;
25
29
 
26
- const { requestClient, queryClient: queryClientByContext } =
27
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
28
-
29
- if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
30
+ const contextValue = useContext(qraftOptions?.context ?? QraftContext);
31
+ if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
30
32
 
31
33
  return useQueriesTanstack(
32
34
  {
@@ -51,15 +53,19 @@ export const useQueries: (
51
53
  queryFn:
52
54
  optionsWithQueryKey.queryFn ??
53
55
  function ({ queryKey: [, queryParams], signal, meta }) {
54
- return requestClient(schema, {
55
- parameters: queryParams as never,
56
- signal,
57
- meta,
58
- });
56
+ return contextValue.request(
57
+ { baseUrl: contextValue.baseUrl },
58
+ schema,
59
+ {
60
+ parameters: queryParams as never,
61
+ signal,
62
+ meta,
63
+ }
64
+ );
59
65
  },
60
66
  };
61
67
  }),
62
68
  },
63
- useQueryClient(queryClientByArg ?? queryClientByContext)
69
+ useQueryClient(qraftOptions, queryClientByArg)
64
70
  ) as never;
65
71
  };
@@ -5,14 +5,14 @@ import { useContext } from 'react';
5
5
  import type { DefaultError } from '@tanstack/query-core';
6
6
  import {
7
7
  useQuery as useQueryTanstack,
8
- useQueryClient,
9
- UseQueryResult,
8
+ type UseQueryResult,
10
9
  } from '@tanstack/react-query';
11
10
 
12
11
  import { composeQueryKey } from '../lib/composeQueryKey.js';
12
+ import type { OperationRequestSchema } from '../lib/request.js';
13
+ import { useQueryClient } from '../lib/useQueryClient.js';
13
14
  import type { QraftClientOptions } from '../qraftAPIClient.js';
14
15
  import { QraftContext } from '../QraftContext.js';
15
- import type { RequestClientSchema } from '../RequestClient.js';
16
16
  import {
17
17
  ServiceOperationQuery,
18
18
  ServiceOperationQueryKey,
@@ -20,21 +20,22 @@ import {
20
20
 
21
21
  export const useQuery: <TData = unknown, TError = DefaultError>(
22
22
  qraftOptions: QraftClientOptions | undefined,
23
- schema: RequestClientSchema,
23
+ schema: OperationRequestSchema,
24
24
  args: Parameters<
25
- ServiceOperationQuery<RequestClientSchema, unknown, unknown>['useQuery']
25
+ ServiceOperationQuery<OperationRequestSchema, unknown, unknown>['useQuery']
26
26
  >
27
27
  ) => UseQueryResult<TData, TError> = (qraftOptions, schema, args) => {
28
28
  const [parameters, options, queryClientByArg] = args;
29
29
 
30
- const { requestClient, queryClient: queryClientByContext } =
31
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
30
+ const contextValue = useContext(qraftOptions?.context ?? QraftContext);
31
+ if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
32
32
 
33
- if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
34
-
35
- const queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown> =
33
+ const queryKey: ServiceOperationQueryKey<OperationRequestSchema, unknown> =
36
34
  Array.isArray(parameters)
37
- ? (parameters as ServiceOperationQueryKey<RequestClientSchema, unknown>)
35
+ ? (parameters as ServiceOperationQueryKey<
36
+ OperationRequestSchema,
37
+ unknown
38
+ >)
38
39
  : composeQueryKey(schema, parameters);
39
40
 
40
41
  return useQueryTanstack(
@@ -44,13 +45,17 @@ export const useQuery: <TData = unknown, TError = DefaultError>(
44
45
  queryFn:
45
46
  options?.queryFn ??
46
47
  function ({ queryKey: [, queryParams], signal, meta }) {
47
- return requestClient(schema, {
48
- parameters: queryParams as never,
49
- signal,
50
- meta,
51
- });
48
+ return contextValue.request(
49
+ { baseUrl: contextValue.baseUrl },
50
+ schema,
51
+ {
52
+ parameters: queryParams as never,
53
+ signal,
54
+ meta,
55
+ }
56
+ );
52
57
  },
53
58
  },
54
- useQueryClient(queryClientByArg ?? queryClientByContext)
59
+ useQueryClient(qraftOptions, queryClientByArg)
55
60
  ) as never;
56
61
  };
@@ -4,16 +4,16 @@ import { useContext } from 'react';
4
4
 
5
5
  import type { DefaultError, InfiniteData } from '@tanstack/query-core';
6
6
  import {
7
- useQueryClient,
8
7
  useSuspenseInfiniteQuery as useSuspenseInfiniteQueryTanstack,
9
8
  UseSuspenseInfiniteQueryResult,
10
9
  } from '@tanstack/react-query';
11
10
 
12
11
  import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.js';
12
+ import type { OperationRequestSchema } from '../lib/request.js';
13
13
  import { shelfMerge } from '../lib/shelfMerge.js';
14
+ import { useQueryClient } from '../lib/useQueryClient.js';
14
15
  import type { QraftClientOptions } from '../qraftAPIClient.js';
15
16
  import { QraftContext } from '../QraftContext.js';
16
- import type { RequestClientSchema } from '../RequestClient.js';
17
17
  import {
18
18
  ServiceOperationInfiniteQueryKey,
19
19
  ServiceOperationQuery,
@@ -25,10 +25,10 @@ export const useSuspenseInfiniteQuery: <
25
25
  TData = InfiniteData<TQueryFnData>,
26
26
  >(
27
27
  qraftOptions: QraftClientOptions | undefined,
28
- schema: RequestClientSchema,
28
+ schema: OperationRequestSchema,
29
29
  args: Parameters<
30
30
  ServiceOperationQuery<
31
- RequestClientSchema,
31
+ OperationRequestSchema,
32
32
  unknown,
33
33
  unknown
34
34
  >['useSuspenseInfiniteQuery']
@@ -40,13 +40,11 @@ export const useSuspenseInfiniteQuery: <
40
40
  ) => {
41
41
  const [parameters, options, queryClientByArg] = args;
42
42
 
43
- const { requestClient, queryClient: queryClientByContext } =
44
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
45
-
46
- if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
43
+ const contextValue = useContext(qraftOptions?.context ?? QraftContext);
44
+ if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
47
45
 
48
46
  const queryKey: ServiceOperationInfiniteQueryKey<
49
- RequestClientSchema,
47
+ OperationRequestSchema,
50
48
  unknown
51
49
  > = Array.isArray(parameters)
52
50
  ? (parameters as never)
@@ -59,13 +57,17 @@ export const useSuspenseInfiniteQuery: <
59
57
  queryFn:
60
58
  options?.queryFn ??
61
59
  function ({ queryKey: [, queryParams], signal, meta, pageParam }) {
62
- return requestClient(schema, {
63
- parameters: shelfMerge(2, queryParams, pageParam) as never,
64
- signal,
65
- meta,
66
- });
60
+ return contextValue.request(
61
+ { baseUrl: contextValue.baseUrl },
62
+ schema,
63
+ {
64
+ parameters: shelfMerge(2, queryParams, pageParam) as never,
65
+ signal,
66
+ meta,
67
+ }
68
+ );
67
69
  },
68
70
  },
69
- useQueryClient(queryClientByArg ?? queryClientByContext)
71
+ useQueryClient(qraftOptions, queryClientByArg)
70
72
  ) as never;
71
73
  };
@@ -4,22 +4,22 @@ import { useContext } from 'react';
4
4
 
5
5
  import {
6
6
  SuspenseQueriesResults,
7
- useQueryClient,
8
7
  useSuspenseQueries as useSuspenseQueriesTanstack,
9
8
  } from '@tanstack/react-query';
10
9
 
11
10
  import { composeQueryKey } from '../lib/composeQueryKey.js';
11
+ import type { OperationRequestSchema } from '../lib/request.js';
12
+ import { useQueryClient } from '../lib/useQueryClient.js';
12
13
  import type { QraftClientOptions } from '../qraftAPIClient.js';
13
14
  import { QraftContext } from '../QraftContext.js';
14
- import type { RequestClientSchema } from '../RequestClient.js';
15
15
  import { ServiceOperationQuery } from '../ServiceOperation.js';
16
16
 
17
17
  export const useSuspenseQueries: (
18
18
  qraftOptions: QraftClientOptions | undefined,
19
- schema: RequestClientSchema,
19
+ schema: OperationRequestSchema,
20
20
  args: Parameters<
21
21
  ServiceOperationQuery<
22
- RequestClientSchema,
22
+ OperationRequestSchema,
23
23
  unknown,
24
24
  unknown
25
25
  >['useSuspenseQueries']
@@ -27,10 +27,8 @@ export const useSuspenseQueries: (
27
27
  ) => SuspenseQueriesResults<never> = (qraftOptions, schema, args) => {
28
28
  const [options, queryClientByArg] = args;
29
29
 
30
- const { requestClient, queryClient: queryClientByContext } =
31
- useContext(qraftOptions?.context ?? QraftContext) ?? {};
32
-
33
- if (!requestClient) throw new Error(`QraftContext.requestClient not found`);
30
+ const contextValue = useContext(qraftOptions?.context ?? QraftContext);
31
+ if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
34
32
 
35
33
  return useSuspenseQueriesTanstack(
36
34
  {
@@ -55,15 +53,19 @@ export const useSuspenseQueries: (
55
53
  queryFn:
56
54
  optionsWithQueryKey.queryFn ??
57
55
  function ({ queryKey: [, queryParams], signal, meta }) {
58
- return requestClient(schema, {
59
- parameters: queryParams as never,
60
- signal,
61
- meta,
62
- });
56
+ return contextValue.request(
57
+ { baseUrl: contextValue.baseUrl },
58
+ schema,
59
+ {
60
+ parameters: queryParams as never,
61
+ signal,
62
+ meta,
63
+ }
64
+ );
63
65
  },
64
66
  };
65
67
  }),
66
68
  },
67
- useQueryClient(queryClientByArg ?? queryClientByContext)
69
+ useQueryClient(qraftOptions, queryClientByArg)
68
70
  ) as never;
69
71
  };