@openapi-qraft/react 1.1.4 → 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 +14 -0
- package/README.md +83 -31
- 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/ServiceOperation.d.ts +41 -2
- package/dist/ServiceOperation.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 +5 -0
- package/dist/callbacks/isFetching.d.ts.map +1 -0
- package/dist/callbacks/isFetching.js +5 -0
- package/dist/callbacks/isFetching.js.map +1 -0
- 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 +5 -0
- package/dist/callbacks/refetchQueries.d.ts.map +1 -0
- package/dist/callbacks/refetchQueries.js +5 -0
- package/dist/callbacks/refetchQueries.js.map +1 -0
- 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 +5 -0
- package/dist/callbacks/useIsFetching.d.ts.map +1 -0
- package/dist/callbacks/useIsFetching.js +12 -0
- package/dist/callbacks/useIsFetching.js.map +1 -0
- 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 +2 -29
- 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 +11 -0
- package/dist/lib/composeQueryFilters.d.ts.map +1 -0
- package/dist/lib/composeQueryFilters.js +32 -0
- package/dist/lib/composeQueryFilters.js.map +1 -0
- 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 +3 -3
- package/src/QraftContext.ts +24 -9
- package/src/RequestClient.ts +10 -31
- package/src/ServiceOperation.ts +93 -1
- 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 +22 -0
- package/src/callbacks/mutationFn.ts +3 -3
- package/src/callbacks/refetchQueries.ts +22 -0
- 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 +35 -0
- 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 +4 -40
- package/src/lib/composeInfiniteQueryKey.ts +3 -3
- package/src/lib/composeMutationKey.ts +5 -5
- package/src/lib/composeQueryFilters.ts +44 -0
- 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
package/dist/qraftAPIClient.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Context } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
export
|
|
1
|
+
import type { Context } from 'react';
|
|
2
|
+
import type { OperationRequestSchema } from './lib/request.js';
|
|
3
|
+
import type { QraftContextValue } from './QraftContext.js';
|
|
4
|
+
export interface QraftClientOptions {
|
|
5
5
|
context?: Context<QraftContextValue>;
|
|
6
|
-
}
|
|
6
|
+
}
|
|
7
7
|
export declare const qraftAPIClient: <Services extends ServicesOutput<Services>, Callbacks extends ServicesCallbacks>(services: ServicesDeclaration<Services>, callbacks: Callbacks, options?: QraftClientOptions) => ServicesCallbacksFilter<Services, keyof Callbacks>;
|
|
8
8
|
type ServicesOutput<Services> = {
|
|
9
9
|
[service in keyof Services]: {
|
|
10
10
|
[method in keyof Services[service]]: {
|
|
11
|
-
schema:
|
|
11
|
+
schema: OperationRequestSchema;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
14
|
};
|
|
@@ -23,7 +23,7 @@ type ServicesCallbacks = Record<string, (...rest: any[]) => any>;
|
|
|
23
23
|
type ServicesCallbacksFilter<Services extends ServicesOutput<Services>, Callbacks> = Services extends {
|
|
24
24
|
[serviceName in keyof Services]: {
|
|
25
25
|
[method in keyof Services[serviceName]]: {
|
|
26
|
-
schema:
|
|
26
|
+
schema: OperationRequestSchema;
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
} ? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"qraftAPIClient.d.ts","sourceRoot":"","sources":["../src/qraftAPIClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,cAAc,4JAMf,kBAAkB,uDAgC7B,CAAC;AAeF,KAAK,cAAc,CAAC,QAAQ,IAAI;KAC7B,OAAO,IAAI,MAAM,QAAQ,GAAG;SAC1B,MAAM,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG;YAAE,MAAM,EAAE,sBAAsB,CAAA;SAAE;KACxE;CACF,CAAC;AAEF,KAAK,mBAAmB,CAAC,QAAQ,SAAS,cAAc,CAAC,QAAQ,CAAC,IAAI;KACnE,OAAO,IAAI,MAAM,QAAQ,GAAG;SAC1B,MAAM,IAAI,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG;YACnC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC7C;KACF;CACF,CAAC;AAEF,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAEjE,KAAK,uBAAuB,CAC1B,QAAQ,SAAS,cAAc,CAAC,QAAQ,CAAC,EACzC,SAAS,IACP,QAAQ,SAAS;KAClB,WAAW,IAAI,MAAM,QAAQ,GAAG;SAC9B,MAAM,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG;YAAE,MAAM,EAAE,sBAAsB,CAAA;SAAE;KAC5E;CACF,GACG;KACG,WAAW,IAAI,MAAM,QAAQ,GAAG;SAC9B,MAAM,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAC3C,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAC7B,UAAU,CACR,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EACnC,SAAS,GAAG,QAAQ,GAAG,OAAO,CAC/B,CACF;KACF;CACF,GACD,KAAK,CAAC;AAEV,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openapi-qraft/react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "API client for React, providing type-safe requests and dynamic Tanstack Query React Hooks via a modular, Proxy-based architecture.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "rimraf dist/ && tsc --project tsconfig.build.json",
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"test": "vitest run",
|
|
9
9
|
"test:coverage": "vitest run --coverage",
|
|
10
10
|
"typecheck": "tsc --noEmit",
|
|
11
|
-
"generate-qraft": "openapi-qraft src/tests/fixtures/openapi.json --clean -o src/tests/fixtures/api --openapi-types-import-path '../../openapi.js' --explicit-import-extensions && prettier --write src/tests/fixtures/api/**/*.ts",
|
|
11
|
+
"generate-qraft": "openapi-qraft src/tests/fixtures/openapi.json --clean -o src/tests/fixtures/api --openapi-types-import-path '../../openapi.js' --explicit-import-extensions --filter-services '/approval_policies/**,/entities/**,/files/**,!/internal/**' && prettier --write src/tests/fixtures/api/**/*.ts",
|
|
12
12
|
"generate-types": "openapi-qraft-typescript src/tests/fixtures/openapi.json -o src/tests/fixtures/openapi.ts"
|
|
13
13
|
},
|
|
14
14
|
"type": "module",
|
|
15
15
|
"sideEffects": false,
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@openapi-qraft/cli": "~1.
|
|
17
|
+
"@openapi-qraft/cli": "~1.2.0",
|
|
18
18
|
"@openapi-qraft/openapi-typescript": "^1.0.0",
|
|
19
19
|
"@tanstack/react-query": "^5.17.3",
|
|
20
20
|
"@testing-library/jest-dom": "^5.17.0",
|
package/src/QraftContext.ts
CHANGED
|
@@ -4,15 +4,30 @@ import { createContext } from 'react';
|
|
|
4
4
|
|
|
5
5
|
import type { QueryClient } from '@tanstack/react-query';
|
|
6
6
|
|
|
7
|
-
import type {
|
|
7
|
+
import type {
|
|
8
|
+
OperationRequestInfo,
|
|
9
|
+
OperationRequestSchema,
|
|
10
|
+
} from './lib/request.js';
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
interface QraftContextValueBase {
|
|
13
|
+
/** The QueryClient to use in Hooks */
|
|
14
|
+
queryClient?: QueryClient;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The request client to use for making requests. Will be invoked with every request.
|
|
18
|
+
*/
|
|
19
|
+
request<T>(
|
|
20
|
+
options: { baseUrl: string },
|
|
21
|
+
schema: OperationRequestSchema,
|
|
22
|
+
requestInfo: OperationRequestInfo
|
|
23
|
+
): Promise<T>;
|
|
24
|
+
/**
|
|
25
|
+
* The base URL to use for all requests.
|
|
26
|
+
* @example 'https://api.example.com'
|
|
27
|
+
*/
|
|
28
|
+
baseUrl: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type QraftContextValue = QraftContextValueBase | undefined;
|
|
17
32
|
|
|
18
33
|
export const QraftContext = createContext<QraftContextValue>(undefined);
|
package/src/RequestClient.ts
CHANGED
|
@@ -1,32 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export type RequestClientSchema = {
|
|
7
|
-
url: string;
|
|
8
|
-
method:
|
|
9
|
-
| 'get'
|
|
10
|
-
| 'put'
|
|
11
|
-
| 'post'
|
|
12
|
-
| 'patch'
|
|
13
|
-
| 'delete'
|
|
14
|
-
| 'options'
|
|
15
|
-
| 'head'
|
|
16
|
-
| 'trace';
|
|
17
|
-
mediaType?: string;
|
|
18
|
-
};
|
|
1
|
+
import type {
|
|
2
|
+
OperationRequestInfo,
|
|
3
|
+
OperationRequestSchema,
|
|
4
|
+
RequestOptions,
|
|
5
|
+
} from './lib/request.js';
|
|
19
6
|
|
|
20
|
-
export type
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export type RequestClientParams = {
|
|
28
|
-
header?: Record<string, any>;
|
|
29
|
-
path?: Record<string, any>;
|
|
30
|
-
query?: Record<string, any>;
|
|
31
|
-
cookie?: Record<string, any>;
|
|
32
|
-
};
|
|
7
|
+
export type RequestClient<T> = (
|
|
8
|
+
options: RequestOptions,
|
|
9
|
+
requestSchema: OperationRequestSchema,
|
|
10
|
+
requestInfo: OperationRequestInfo
|
|
11
|
+
) => Promise<T>;
|
package/src/ServiceOperation.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
QueriesPlaceholderDataFunction,
|
|
13
13
|
Query,
|
|
14
14
|
QueryClient,
|
|
15
|
+
RefetchOptions,
|
|
15
16
|
ResetOptions,
|
|
16
17
|
SetDataOptions,
|
|
17
18
|
Updater,
|
|
@@ -60,6 +61,7 @@ export interface ServiceOperationQuery<
|
|
|
60
61
|
ServiceOperationUseInfiniteQuery<TSchema, TData, TParams, TError>,
|
|
61
62
|
ServiceOperationUseSuspenseQueryQuery<TSchema, TData, TParams, TError>,
|
|
62
63
|
ServiceOperationUseSuspenseInfiniteQuery<TSchema, TData, TParams, TError>,
|
|
64
|
+
ServiceOperationUseIsFetchingQueries<TSchema, TData, TParams, TError>,
|
|
63
65
|
ServiceOperationQueryFn<TSchema, TData, TParams>,
|
|
64
66
|
ServiceOperationGetQueryData<TSchema, TData, TParams>,
|
|
65
67
|
ServiceOperationGetInfiniteQueryData<TSchema, TData, TParams>,
|
|
@@ -67,7 +69,9 @@ export interface ServiceOperationQuery<
|
|
|
67
69
|
ServiceOperationSetInfiniteQueryData<TSchema, TData, TParams>,
|
|
68
70
|
ServiceOperationInvalidateQueries<TSchema, TData, TParams, TError>,
|
|
69
71
|
ServiceOperationCancelQueries<TSchema, TData, TParams, TError>,
|
|
70
|
-
ServiceOperationResetQueries<TSchema, TData, TParams, TError
|
|
72
|
+
ServiceOperationResetQueries<TSchema, TData, TParams, TError>,
|
|
73
|
+
ServiceOperationRefetchQueries<TSchema, TData, TParams, TError>,
|
|
74
|
+
ServiceOperationIsFetchingQueries<TSchema, TData, TParams, TError> {
|
|
71
75
|
schema: TSchema;
|
|
72
76
|
types: {
|
|
73
77
|
parameters: TParams;
|
|
@@ -339,6 +343,94 @@ export interface ServiceOperationResetQueriesCallback<
|
|
|
339
343
|
): Promise<void>;
|
|
340
344
|
}
|
|
341
345
|
|
|
346
|
+
interface ServiceOperationRefetchQueries<
|
|
347
|
+
TSchema extends { url: string; method: string },
|
|
348
|
+
TData,
|
|
349
|
+
TParams = {},
|
|
350
|
+
TError = DefaultError,
|
|
351
|
+
> {
|
|
352
|
+
refetchQueries(
|
|
353
|
+
filters:
|
|
354
|
+
| QueryFiltersByParameters<TSchema, TData, TParams, TError>
|
|
355
|
+
| QueryFiltersByQueryKey<TSchema, TData, TParams, TError>,
|
|
356
|
+
options: RefetchOptions,
|
|
357
|
+
queryClient: QueryClient
|
|
358
|
+
): Promise<void>;
|
|
359
|
+
refetchQueries(
|
|
360
|
+
filters:
|
|
361
|
+
| QueryFiltersByParameters<TSchema, TData, TParams, TError>
|
|
362
|
+
| QueryFiltersByQueryKey<TSchema, TData, TParams, TError>,
|
|
363
|
+
queryClient: QueryClient
|
|
364
|
+
): Promise<void>;
|
|
365
|
+
refetchQueries(queryClient: QueryClient): Promise<void>;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* @internal
|
|
370
|
+
*/
|
|
371
|
+
export interface ServiceOperationResetQueriesCallback<
|
|
372
|
+
TSchema extends { url: string; method: string },
|
|
373
|
+
TData,
|
|
374
|
+
TParams = {},
|
|
375
|
+
TError = DefaultError,
|
|
376
|
+
> extends ServiceOperationRefetchQueries<TSchema, TData, TParams, TError> {
|
|
377
|
+
refetchQueries(
|
|
378
|
+
filters:
|
|
379
|
+
| QueryFiltersByParameters<TSchema, TData, TParams, TError>
|
|
380
|
+
| QueryFiltersByQueryKey<TSchema, TData, TParams, TError>
|
|
381
|
+
| QueryClient,
|
|
382
|
+
options?: RefetchOptions | QueryClient,
|
|
383
|
+
queryClient?: QueryClient
|
|
384
|
+
): Promise<void>;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
interface ServiceOperationIsFetchingQueries<
|
|
388
|
+
TSchema extends { url: string; method: string },
|
|
389
|
+
TData,
|
|
390
|
+
TParams = {},
|
|
391
|
+
TError = DefaultError,
|
|
392
|
+
> {
|
|
393
|
+
isFetching(
|
|
394
|
+
filters:
|
|
395
|
+
| QueryFiltersByParameters<TSchema, TData, TParams, TError>
|
|
396
|
+
| QueryFiltersByQueryKey<TSchema, TData, TParams, TError>,
|
|
397
|
+
queryClient: QueryClient
|
|
398
|
+
): number;
|
|
399
|
+
isFetching(queryClient: QueryClient): number;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* @internal
|
|
404
|
+
*/
|
|
405
|
+
export interface ServiceOperationIsFetchingQueriesCallback<
|
|
406
|
+
TSchema extends { url: string; method: string },
|
|
407
|
+
TData,
|
|
408
|
+
TParams = {},
|
|
409
|
+
TError = DefaultError,
|
|
410
|
+
> extends ServiceOperationIsFetchingQueries<TSchema, TData, TParams, TError> {
|
|
411
|
+
refetchQueries(
|
|
412
|
+
filters:
|
|
413
|
+
| QueryFiltersByParameters<TSchema, TData, TParams, TError>
|
|
414
|
+
| QueryFiltersByQueryKey<TSchema, TData, TParams, TError>
|
|
415
|
+
| QueryClient,
|
|
416
|
+
queryClient?: QueryClient
|
|
417
|
+
): number;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
interface ServiceOperationUseIsFetchingQueries<
|
|
421
|
+
TSchema extends { url: string; method: string },
|
|
422
|
+
TData,
|
|
423
|
+
TParams = {},
|
|
424
|
+
TError = DefaultError,
|
|
425
|
+
> {
|
|
426
|
+
useIsFetching(
|
|
427
|
+
filters?:
|
|
428
|
+
| QueryFiltersByParameters<TSchema, TData, TParams, TError>
|
|
429
|
+
| QueryFiltersByQueryKey<TSchema, TData, TParams, TError>,
|
|
430
|
+
queryClient?: QueryClient
|
|
431
|
+
): number;
|
|
432
|
+
}
|
|
433
|
+
|
|
342
434
|
interface ServiceOperationUseSuspenseQueries<
|
|
343
435
|
TSchema extends { url: string; method: string },
|
|
344
436
|
TData,
|
|
@@ -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 { ServiceOperationCancelQueriesCallback } from '../ServiceOperation.js';
|
|
5
5
|
|
|
6
6
|
export function cancelQueries<TData>(
|
|
7
7
|
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
-
schema:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
10
|
ServiceOperationCancelQueriesCallback<
|
|
11
|
-
|
|
11
|
+
OperationRequestSchema,
|
|
12
12
|
unknown,
|
|
13
13
|
TData
|
|
14
14
|
>['cancelQueries']
|
|
@@ -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 {
|
|
7
7
|
ServiceOperationInfiniteQueryKey,
|
|
8
8
|
ServiceOperationQuery,
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
|
|
11
11
|
export function getInfiniteQueryData<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
|
>['getInfiniteQueryData']
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { composeInfiniteQueryKey } from '../lib/composeInfiniteQueryKey.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 { ServiceOperationQuery } from '../ServiceOperation.js';
|
|
5
5
|
|
|
6
6
|
export const getInfiniteQueryKey = (
|
|
7
7
|
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
-
schema:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
10
|
ServiceOperationQuery<
|
|
11
|
-
|
|
11
|
+
OperationRequestSchema,
|
|
12
12
|
unknown,
|
|
13
13
|
unknown
|
|
14
14
|
>['getInfiniteQueryKey']
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { composeMutationKey } from '../lib/composeMutationKey.js';
|
|
2
|
+
import type { OperationRequestSchema } from '../lib/request.js';
|
|
2
3
|
import type { QraftClientOptions } from '../qraftAPIClient.js';
|
|
3
|
-
import type { RequestClientSchema } from '../RequestClient.js';
|
|
4
4
|
import { ServiceOperationMutation } from '../ServiceOperation.js';
|
|
5
5
|
|
|
6
6
|
export const getMutationKey = (
|
|
7
7
|
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
-
schema:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
10
|
ServiceOperationMutation<
|
|
11
|
-
|
|
11
|
+
OperationRequestSchema,
|
|
12
12
|
unknown,
|
|
13
13
|
unknown,
|
|
14
14
|
unknown
|
|
@@ -1,13 +1,17 @@
|
|
|
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 { ServiceOperationQuery } from '../ServiceOperation.js';
|
|
5
5
|
|
|
6
6
|
export function getQueryData<TData>(
|
|
7
7
|
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
-
schema:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
|
-
ServiceOperationQuery<
|
|
10
|
+
ServiceOperationQuery<
|
|
11
|
+
OperationRequestSchema,
|
|
12
|
+
unknown,
|
|
13
|
+
TData
|
|
14
|
+
>['getQueryData']
|
|
11
15
|
>
|
|
12
16
|
): TData | undefined {
|
|
13
17
|
const [parameters, queryClient] = args;
|
|
@@ -1,13 +1,17 @@
|
|
|
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 { ServiceOperationQuery } from '../ServiceOperation.js';
|
|
5
5
|
|
|
6
6
|
export const getQueryKey = (
|
|
7
7
|
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
-
schema:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
|
-
ServiceOperationQuery<
|
|
10
|
+
ServiceOperationQuery<
|
|
11
|
+
OperationRequestSchema,
|
|
12
|
+
unknown,
|
|
13
|
+
unknown
|
|
14
|
+
>['getQueryKey']
|
|
11
15
|
>
|
|
12
16
|
) => {
|
|
13
17
|
return composeQueryKey(schema, args[0]);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
|
|
2
|
+
import type { OperationRequestSchema } from '../lib/request.js';
|
|
2
3
|
import type { QraftClientOptions } from '../qraftAPIClient.js';
|
|
3
|
-
import type { RequestClientSchema } from '../RequestClient.js';
|
|
4
4
|
import type { ServiceOperationInvalidateQueriesCallback } from '../ServiceOperation.js';
|
|
5
5
|
|
|
6
6
|
export function invalidateQueries<TData>(
|
|
7
7
|
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
-
schema:
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
9
|
args: Parameters<
|
|
10
10
|
ServiceOperationInvalidateQueriesCallback<
|
|
11
|
-
|
|
11
|
+
OperationRequestSchema,
|
|
12
12
|
unknown,
|
|
13
13
|
TData
|
|
14
14
|
>['invalidateQueries']
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
|
|
2
|
+
import type { OperationRequestSchema } from '../lib/request.js';
|
|
3
|
+
import type { QraftClientOptions } from '../qraftAPIClient.js';
|
|
4
|
+
import { ServiceOperationIsFetchingQueriesCallback } from '../ServiceOperation.js';
|
|
5
|
+
|
|
6
|
+
export function isFetching<TData>(
|
|
7
|
+
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
|
+
args: Parameters<
|
|
10
|
+
ServiceOperationIsFetchingQueriesCallback<
|
|
11
|
+
OperationRequestSchema,
|
|
12
|
+
unknown,
|
|
13
|
+
TData
|
|
14
|
+
>['isFetching']
|
|
15
|
+
>
|
|
16
|
+
): Promise<void> {
|
|
17
|
+
return callQueryClientMethodWithQueryFilters(
|
|
18
|
+
'isFetching',
|
|
19
|
+
schema,
|
|
20
|
+
args as never
|
|
21
|
+
) as never;
|
|
22
|
+
}
|
|
@@ -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
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { callQueryClientMethodWithQueryFilters } from '../lib/callQueryClientMethodWithQueryFilters.js';
|
|
2
|
+
import type { OperationRequestSchema } from '../lib/request.js';
|
|
3
|
+
import type { QraftClientOptions } from '../qraftAPIClient.js';
|
|
4
|
+
import type { ServiceOperationResetQueriesCallback } from '../ServiceOperation.js';
|
|
5
|
+
|
|
6
|
+
export function refetchQueries<TData>(
|
|
7
|
+
qraftOptions: QraftClientOptions | undefined,
|
|
8
|
+
schema: OperationRequestSchema,
|
|
9
|
+
args: Parameters<
|
|
10
|
+
ServiceOperationResetQueriesCallback<
|
|
11
|
+
OperationRequestSchema,
|
|
12
|
+
unknown,
|
|
13
|
+
TData
|
|
14
|
+
>['refetchQueries']
|
|
15
|
+
>
|
|
16
|
+
): Promise<void> {
|
|
17
|
+
return callQueryClientMethodWithQueryFilters(
|
|
18
|
+
'refetchQueries',
|
|
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
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
|
};
|