@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.
- package/CHANGELOG.md +6 -0
- package/README.md +41 -25
- package/dist/QraftContext.d.ts +16 -5
- package/dist/QraftContext.d.ts.map +1 -1
- package/dist/QraftContext.js.map +1 -1
- package/dist/RequestClient.d.ts +2 -18
- package/dist/RequestClient.d.ts.map +1 -1
- package/dist/callbacks/cancelQueries.d.ts +2 -2
- package/dist/callbacks/cancelQueries.d.ts.map +1 -1
- package/dist/callbacks/cancelQueries.js.map +1 -1
- package/dist/callbacks/getInfiniteQueryData.d.ts +2 -2
- package/dist/callbacks/getInfiniteQueryData.d.ts.map +1 -1
- package/dist/callbacks/getInfiniteQueryData.js.map +1 -1
- package/dist/callbacks/getInfiniteQueryKey.d.ts +2 -2
- package/dist/callbacks/getInfiniteQueryKey.d.ts.map +1 -1
- package/dist/callbacks/getInfiniteQueryKey.js.map +1 -1
- package/dist/callbacks/getMutationKey.d.ts +2 -2
- package/dist/callbacks/getMutationKey.d.ts.map +1 -1
- package/dist/callbacks/getMutationKey.js.map +1 -1
- package/dist/callbacks/getQueryData.d.ts +2 -2
- package/dist/callbacks/getQueryData.d.ts.map +1 -1
- package/dist/callbacks/getQueryData.js.map +1 -1
- package/dist/callbacks/getQueryKey.d.ts +2 -2
- package/dist/callbacks/getQueryKey.d.ts.map +1 -1
- package/dist/callbacks/getQueryKey.js.map +1 -1
- package/dist/callbacks/invalidateQueries.d.ts +2 -2
- package/dist/callbacks/invalidateQueries.d.ts.map +1 -1
- package/dist/callbacks/invalidateQueries.js.map +1 -1
- package/dist/callbacks/isFetching.d.ts +2 -2
- package/dist/callbacks/isFetching.d.ts.map +1 -1
- package/dist/callbacks/isFetching.js.map +1 -1
- package/dist/callbacks/mutationFn.d.ts +2 -2
- package/dist/callbacks/mutationFn.d.ts.map +1 -1
- package/dist/callbacks/mutationFn.js.map +1 -1
- package/dist/callbacks/refetchQueries.d.ts +3 -3
- package/dist/callbacks/refetchQueries.d.ts.map +1 -1
- package/dist/callbacks/refetchQueries.js.map +1 -1
- package/dist/callbacks/resetQueries.d.ts +2 -2
- package/dist/callbacks/resetQueries.d.ts.map +1 -1
- package/dist/callbacks/resetQueries.js.map +1 -1
- package/dist/callbacks/setInfiniteQueryData.d.ts +2 -2
- package/dist/callbacks/setInfiniteQueryData.d.ts.map +1 -1
- package/dist/callbacks/setInfiniteQueryData.js.map +1 -1
- package/dist/callbacks/setQueryData.d.ts +2 -2
- package/dist/callbacks/setQueryData.d.ts.map +1 -1
- package/dist/callbacks/setQueryData.js.map +1 -1
- package/dist/callbacks/useInfiniteQuery.d.ts +2 -2
- package/dist/callbacks/useInfiniteQuery.d.ts.map +1 -1
- package/dist/callbacks/useInfiniteQuery.js +7 -6
- package/dist/callbacks/useInfiniteQuery.js.map +1 -1
- package/dist/callbacks/useIsFetching.d.ts +2 -2
- package/dist/callbacks/useIsFetching.d.ts.map +1 -1
- package/dist/callbacks/useIsFetching.js +3 -5
- package/dist/callbacks/useIsFetching.js.map +1 -1
- package/dist/callbacks/useMutation.d.ts +2 -2
- package/dist/callbacks/useMutation.d.ts.map +1 -1
- package/dist/callbacks/useMutation.js +8 -7
- package/dist/callbacks/useMutation.js.map +1 -1
- package/dist/callbacks/useMutationState.d.ts +2 -2
- package/dist/callbacks/useMutationState.d.ts.map +1 -1
- package/dist/callbacks/useMutationState.js +3 -7
- package/dist/callbacks/useMutationState.js.map +1 -1
- package/dist/callbacks/useQueries.d.ts +2 -2
- package/dist/callbacks/useQueries.d.ts.map +1 -1
- package/dist/callbacks/useQueries.js +7 -6
- package/dist/callbacks/useQueries.js.map +1 -1
- package/dist/callbacks/useQuery.d.ts +3 -3
- package/dist/callbacks/useQuery.d.ts.map +1 -1
- package/dist/callbacks/useQuery.js +7 -6
- package/dist/callbacks/useQuery.js.map +1 -1
- package/dist/callbacks/useSuspenseInfiniteQuery.d.ts +2 -2
- package/dist/callbacks/useSuspenseInfiniteQuery.d.ts.map +1 -1
- package/dist/callbacks/useSuspenseInfiniteQuery.js +7 -6
- package/dist/callbacks/useSuspenseInfiniteQuery.js.map +1 -1
- package/dist/callbacks/useSuspenseQueries.d.ts +2 -2
- package/dist/callbacks/useSuspenseQueries.d.ts.map +1 -1
- package/dist/callbacks/useSuspenseQueries.js +7 -6
- package/dist/callbacks/useSuspenseQueries.js.map +1 -1
- package/dist/callbacks/useSuspenseQuery.d.ts +2 -2
- package/dist/callbacks/useSuspenseQuery.d.ts.map +1 -1
- package/dist/callbacks/useSuspenseQuery.js +7 -6
- package/dist/callbacks/useSuspenseQuery.js.map +1 -1
- package/dist/index.d.ts +3 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts +2 -2
- package/dist/lib/callQueryClientMethodWithQueryFilters.d.ts.map +1 -1
- package/dist/lib/callQueryClientMethodWithQueryFilters.js.map +1 -1
- package/dist/lib/composeInfiniteQueryKey.d.ts +3 -3
- package/dist/lib/composeInfiniteQueryKey.d.ts.map +1 -1
- package/dist/lib/composeMutationKey.d.ts +4 -4
- package/dist/lib/composeMutationKey.d.ts.map +1 -1
- package/dist/lib/composeQueryFilters.d.ts +3 -3
- package/dist/lib/composeQueryFilters.d.ts.map +1 -1
- package/dist/lib/composeQueryFilters.js.map +1 -1
- package/dist/lib/composeQueryKey.d.ts +3 -3
- package/dist/lib/composeQueryKey.d.ts.map +1 -1
- package/dist/lib/composeQueryKey.js.map +1 -1
- package/dist/lib/request.d.ts +50 -17
- package/dist/lib/request.d.ts.map +1 -1
- package/dist/lib/request.js +42 -31
- package/dist/lib/request.js.map +1 -1
- package/dist/lib/useQueryClient.d.ts +9 -0
- package/dist/lib/useQueryClient.d.ts.map +1 -0
- package/dist/lib/useQueryClient.js +15 -0
- package/dist/lib/useQueryClient.js.map +1 -0
- package/dist/qraftAPIClient.d.ts +7 -7
- package/dist/qraftAPIClient.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/QraftContext.ts +24 -9
- package/src/RequestClient.ts +10 -31
- package/src/callbacks/cancelQueries.ts +3 -3
- package/src/callbacks/getInfiniteQueryData.ts +3 -3
- package/src/callbacks/getInfiniteQueryKey.ts +3 -3
- package/src/callbacks/getMutationKey.ts +3 -3
- package/src/callbacks/getQueryData.ts +7 -3
- package/src/callbacks/getQueryKey.ts +7 -3
- package/src/callbacks/invalidateQueries.ts +3 -3
- package/src/callbacks/isFetching.ts +3 -3
- package/src/callbacks/mutationFn.ts +3 -3
- package/src/callbacks/refetchQueries.ts +4 -4
- package/src/callbacks/resetQueries.ts +3 -3
- package/src/callbacks/setInfiniteQueryData.ts +4 -4
- package/src/callbacks/setQueryData.ts +8 -4
- package/src/callbacks/useInfiniteQuery.ts +17 -15
- package/src/callbacks/useIsFetching.ts +6 -14
- package/src/callbacks/useMutation.ts +23 -17
- package/src/callbacks/useMutationState.ts +5 -11
- package/src/callbacks/useQueries.ts +20 -14
- package/src/callbacks/useQuery.ts +22 -17
- package/src/callbacks/useSuspenseInfiniteQuery.ts +17 -15
- package/src/callbacks/useSuspenseQueries.ts +16 -14
- package/src/callbacks/useSuspenseQuery.ts +17 -15
- package/src/index.ts +12 -7
- package/src/lib/callQueryClientMethodWithQueryFilters.ts +2 -2
- package/src/lib/composeInfiniteQueryKey.ts +3 -3
- package/src/lib/composeMutationKey.ts +5 -5
- package/src/lib/composeQueryFilters.ts +2 -2
- package/src/lib/composeQueryKey.ts +6 -3
- package/src/lib/request.ts +136 -74
- package/src/lib/useQueryClient.ts +26 -0
- 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:
|
|
7
|
+
schema: OperationRequestSchema,
|
|
8
8
|
args: unknown
|
|
9
9
|
) => {
|
|
10
10
|
const [client, options] = args as Parameters<
|
|
11
11
|
ServiceOperationMutation<
|
|
12
|
-
|
|
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 {
|
|
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:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
10
|
ServiceOperationResetQueriesCallback<
|
|
11
|
-
|
|
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:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
10
|
ServiceOperationResetQueriesCallback<
|
|
11
|
-
|
|
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:
|
|
13
|
+
schema: OperationRequestSchema,
|
|
14
14
|
args: Parameters<
|
|
15
15
|
ServiceOperationQuery<
|
|
16
|
-
|
|
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
|
-
|
|
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:
|
|
11
|
+
schema: OperationRequestSchema,
|
|
12
12
|
args: Parameters<
|
|
13
|
-
ServiceOperationQuery<
|
|
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<
|
|
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:
|
|
28
|
+
schema: OperationRequestSchema,
|
|
29
29
|
args: Parameters<
|
|
30
30
|
ServiceOperationQuery<
|
|
31
|
-
|
|
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
|
|
40
|
-
|
|
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
|
-
|
|
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
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
|
67
|
+
useQueryClient(qraftOptions, queryClientByArg)
|
|
66
68
|
) as never;
|
|
67
69
|
};
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
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:
|
|
13
|
+
schema: OperationRequestSchema,
|
|
19
14
|
args: Parameters<
|
|
20
15
|
ServiceOperationQuery<
|
|
21
|
-
|
|
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
|
|
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:
|
|
28
|
+
schema: OperationRequestSchema,
|
|
29
29
|
args: Parameters<
|
|
30
30
|
ServiceOperationMutation<
|
|
31
|
-
|
|
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
|
|
55
|
-
|
|
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
|
|
76
|
-
|
|
77
|
-
|
|
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
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
|
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:
|
|
24
|
+
schema: OperationRequestSchema,
|
|
26
25
|
args: Parameters<
|
|
27
26
|
ServiceOperationMutation<
|
|
28
|
-
|
|
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
|
|
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:
|
|
19
|
+
schema: OperationRequestSchema,
|
|
20
20
|
args: Parameters<
|
|
21
|
-
ServiceOperationQuery<
|
|
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
|
|
27
|
-
|
|
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
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
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
|
-
|
|
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:
|
|
23
|
+
schema: OperationRequestSchema,
|
|
24
24
|
args: Parameters<
|
|
25
|
-
ServiceOperationQuery<
|
|
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
|
|
31
|
-
|
|
30
|
+
const contextValue = useContext(qraftOptions?.context ?? QraftContext);
|
|
31
|
+
if (!contextValue?.request) throw new Error(`QraftContext.request not found`);
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const queryKey: ServiceOperationQueryKey<RequestClientSchema, unknown> =
|
|
33
|
+
const queryKey: ServiceOperationQueryKey<OperationRequestSchema, unknown> =
|
|
36
34
|
Array.isArray(parameters)
|
|
37
|
-
? (parameters as ServiceOperationQueryKey<
|
|
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
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
|
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:
|
|
28
|
+
schema: OperationRequestSchema,
|
|
29
29
|
args: Parameters<
|
|
30
30
|
ServiceOperationQuery<
|
|
31
|
-
|
|
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
|
|
44
|
-
|
|
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
|
-
|
|
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
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
|
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:
|
|
19
|
+
schema: OperationRequestSchema,
|
|
20
20
|
args: Parameters<
|
|
21
21
|
ServiceOperationQuery<
|
|
22
|
-
|
|
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
|
|
31
|
-
|
|
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
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
|
69
|
+
useQueryClient(qraftOptions, queryClientByArg)
|
|
68
70
|
) as never;
|
|
69
71
|
};
|