@openapi-qraft/react 1.12.1-beta.0 → 1.13.0-beta.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 +9 -0
- package/dist/types/lib/AreAllOptional.d.ts +4 -0
- package/dist/types/lib/AreAllOptional.d.ts.map +1 -0
- package/dist/types/service-operation/ServiceOperationUseMutation.d.ts +20 -6
- package/dist/types/service-operation/ServiceOperationUseMutation.d.ts.map +1 -1
- package/dist/types/service-operation/ServiceOperationUseQuery.d.ts +3 -2
- package/dist/types/service-operation/ServiceOperationUseQuery.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/lib/AreAllOptional.ts +8 -0
- package/src/service-operation/ServiceOperationUseMutation.ts +55 -14
- package/src/service-operation/ServiceOperationUseQuery.ts +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @openapi-qraft/react
|
|
2
2
|
|
|
3
|
+
## 1.13.0-beta.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6d35890: Improve `userQuery()` to support calling without `{}` as the first argument if all parameters are optional or no parameters are required.
|
|
8
|
+
- 39a159c: Improve `useMutation` to support calling `mutate()` or `mutateAsync()` without arguments if body or parameters are optional or `undefined`.
|
|
9
|
+
|
|
10
|
+
## 1.12.1
|
|
11
|
+
|
|
3
12
|
## 1.12.1-beta.0
|
|
4
13
|
|
|
5
14
|
## 1.12.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AreAllOptional.d.ts","sourceRoot":"","sources":["../../../src/lib/AreAllOptional.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,IAC1B,WAAW,CAAC,CAAC,CAAC,SAAS,KAAK,GACxB,IAAI,GACJ;KACK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACrD,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,GACxB,IAAI,GACJ,KAAK,CAAC"}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
import type { DefaultError, QueryClient } from '@tanstack/query-core';
|
|
2
2
|
import type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
3
|
+
import type { AreAllOptional } from '../lib/AreAllOptional.js';
|
|
3
4
|
import type { ServiceOperationMutationKey } from './ServiceOperationKey.js';
|
|
4
5
|
export interface ServiceOperationUseMutation<TSchema extends {
|
|
5
6
|
url: string;
|
|
6
7
|
method: string;
|
|
7
8
|
}, TBody, TData, TParams, TError = DefaultError> {
|
|
8
9
|
getMutationKey<TMutationKeyParams extends TParams | undefined = undefined>(parameters?: TMutationKeyParams): ServiceOperationMutationKey<TSchema, TMutationKeyParams>;
|
|
9
|
-
useMutation<TVariables extends MutationVariables<TBody, TParams>, TContext = unknown>(parameters?: undefined, options?:
|
|
10
|
-
|
|
11
|
-
}, queryClient?: QueryClient): UseMutationResult<TData, TError | Error, TVariables, TContext>;
|
|
12
|
-
useMutation<TVariables extends TBody, TContext = unknown>(parameters: TParams, options?: Omit<UseMutationOptions<TData, TError, TVariables, TContext>, 'mutationKey'>, queryClient?: QueryClient): UseMutationResult<TData, TError | Error, TVariables, TContext>;
|
|
10
|
+
useMutation<TVariables extends MutationVariables<TBody, TParams>, TContext = unknown>(parameters?: undefined, options?: ServiceOperationUseMutationOptions<TSchema, TData, TParams, TVariables, TError, TContext>, queryClient?: QueryClient): UseMutationResult<TData, TError | Error, TVariables, TContext>;
|
|
11
|
+
useMutation<TVariables extends TBody, TContext = unknown>(parameters: AreAllOptional<TParams> extends true ? TParams | void : TParams, options?: ServiceOperationUseMutationOptions<TSchema, TData, TParams, TVariables, TError, TContext>, queryClient?: QueryClient): UseMutationResult<TData, TError | Error, AreAllOptional<TVariables> extends true ? TVariables | void : TVariables, TContext>;
|
|
13
12
|
}
|
|
14
|
-
export type MutationVariables<TBody, TParams> = {
|
|
13
|
+
export type MutationVariables<TBody, TParams> = NonNullable<TBody> extends never ? NonNullable<TParams> extends never ? void : AreAllOptional<TParams> extends true ? TParams | void : TParams : NonNullable<TParams> extends never ? AreAllOptional<TBody> extends true ? {
|
|
14
|
+
body?: TBody;
|
|
15
|
+
} | void : {
|
|
15
16
|
body: TBody;
|
|
16
|
-
}
|
|
17
|
+
} : AreAllOptional<TBody> extends true ? AreAllOptional<TParams> extends true ? ({
|
|
18
|
+
body?: TBody;
|
|
19
|
+
} & TParams) | void : {
|
|
20
|
+
body?: TBody;
|
|
21
|
+
} & TParams : {
|
|
22
|
+
body: TBody;
|
|
23
|
+
} & TParams;
|
|
24
|
+
type ServiceOperationUseMutationOptions<TSchema extends {
|
|
25
|
+
url: string;
|
|
26
|
+
method: string;
|
|
27
|
+
}, TData, TParams, TVariables, TError, TContext = unknown> = Omit<UseMutationOptions<TData, TError, TVariables, TContext>, 'mutationKey'> & {
|
|
28
|
+
mutationKey?: ServiceOperationMutationKey<TSchema, TParams>;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
17
31
|
//# sourceMappingURL=ServiceOperationUseMutation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOperationUseMutation.d.ts","sourceRoot":"","sources":["../../../src/service-operation/ServiceOperationUseMutation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE5E,MAAM,WAAW,2BAA2B,CAC1C,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,GAAG,YAAY;IAErB,cAAc,CAAC,kBAAkB,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACvE,UAAU,CAAC,EAAE,kBAAkB,GAC9B,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAE5D,WAAW,CACT,UAAU,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,EACpD,QAAQ,GAAG,OAAO,EAElB,UAAU,CAAC,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"ServiceOperationUseMutation.d.ts","sourceRoot":"","sources":["../../../src/service-operation/ServiceOperationUseMutation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { DefaultError, QueryClient } from '@tanstack/query-core';
|
|
2
2
|
import type { DefinedInitialDataOptions, DefinedUseQueryResult, UndefinedInitialDataOptions, UseQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import { AreAllOptional } from '../lib/AreAllOptional.js';
|
|
3
4
|
import type { ServiceOperationQueryKey } from './ServiceOperationKey.js';
|
|
4
5
|
export interface ServiceOperationUseQuery<TSchema extends {
|
|
5
6
|
url: string;
|
|
6
7
|
method: string;
|
|
7
8
|
}, TQueryFnData, TParams = {}, TError = DefaultError> {
|
|
8
9
|
getQueryKey<QueryKeyParams extends TParams | undefined = undefined>(parameters?: QueryKeyParams): ServiceOperationQueryKey<TSchema, QueryKeyParams>;
|
|
9
|
-
useQuery<TData = TQueryFnData>(parameters: TParams |
|
|
10
|
-
useQuery<TData = TQueryFnData>(parameters: TParams |
|
|
10
|
+
useQuery<TData = TQueryFnData>(parameters: ServiceOperationQueryKey<TSchema, TParams> | (AreAllOptional<TParams> extends true ? TParams | void : TParams), options?: Omit<UndefinedInitialDataOptions<TQueryFnData, TError, TData, ServiceOperationQueryKey<TSchema, TParams>>, 'queryKey'>, queryClient?: QueryClient): UseQueryResult<TData, TError | Error>;
|
|
11
|
+
useQuery<TData = TQueryFnData>(parameters: ServiceOperationQueryKey<TSchema, TParams> | (AreAllOptional<TParams> extends true ? TParams | void : TParams), options: Omit<DefinedInitialDataOptions<TQueryFnData, TError, TData, ServiceOperationQueryKey<TSchema, TParams>>, 'queryKey'>, queryClient?: QueryClient): DefinedUseQueryResult<TData, TError | Error>;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=ServiceOperationUseQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOperationUseQuery.d.ts","sourceRoot":"","sources":["../../../src/service-operation/ServiceOperationUseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,MAAM,WAAW,wBAAwB,CACvC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,YAAY,EACZ,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,YAAY;IAErB,WAAW,CAAC,cAAc,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChE,UAAU,CAAC,EAAE,cAAc,GAC1B,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAErD,QAAQ,CAAC,KAAK,GAAG,YAAY,EAC3B,UAAU,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"ServiceOperationUseQuery.d.ts","sourceRoot":"","sources":["../../../src/service-operation/ServiceOperationUseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,MAAM,WAAW,wBAAwB,CACvC,OAAO,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,YAAY,EACZ,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,YAAY;IAErB,WAAW,CAAC,cAAc,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChE,UAAU,CAAC,EAAE,cAAc,GAC1B,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAErD,QAAQ,CAAC,KAAK,GAAG,YAAY,EAC3B,UAAU,EACN,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,GAC1C,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,EACrE,OAAO,CAAC,EAAE,IAAI,CACZ,2BAA2B,CACzB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAC3C,EACD,UAAU,CACX,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAEzC,QAAQ,CAAC,KAAK,GAAG,YAAY,EAC3B,UAAU,EACN,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,GAC1C,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,EACrE,OAAO,EAAE,IAAI,CACX,yBAAyB,CACvB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAC3C,EACD,UAAU,CACX,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;CACjD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openapi-qraft/react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0-beta.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": "NODE_ENV=production rollup --config rollup.config.mjs && tsc --project tsconfig.build.json --emitDeclarationOnly",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"sideEffects": false,
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@openapi-qraft/cli": "1.
|
|
18
|
+
"@openapi-qraft/cli": "1.13.0-beta.0",
|
|
19
19
|
"@openapi-qraft/eslint-config": "1.0.0",
|
|
20
|
-
"@openapi-qraft/openapi-typescript-plugin": "^1.0.
|
|
20
|
+
"@openapi-qraft/openapi-typescript-plugin": "^1.0.7-beta.0",
|
|
21
21
|
"@openapi-qraft/rollup-config": "1.0.0",
|
|
22
22
|
"@openapi-qraft/test-fixtures": "1.0.0",
|
|
23
23
|
"@tanstack/react-query": "^5.17.3",
|
|
@@ -4,6 +4,7 @@ import type {
|
|
|
4
4
|
UseMutationResult,
|
|
5
5
|
} from '@tanstack/react-query';
|
|
6
6
|
|
|
7
|
+
import type { AreAllOptional } from '../lib/AreAllOptional.js';
|
|
7
8
|
import type { ServiceOperationMutationKey } from './ServiceOperationKey.js';
|
|
8
9
|
|
|
9
10
|
export interface ServiceOperationUseMutation<
|
|
@@ -22,25 +23,65 @@ export interface ServiceOperationUseMutation<
|
|
|
22
23
|
TContext = unknown,
|
|
23
24
|
>(
|
|
24
25
|
parameters?: undefined,
|
|
25
|
-
options?:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
options?: ServiceOperationUseMutationOptions<
|
|
27
|
+
TSchema,
|
|
28
|
+
TData,
|
|
29
|
+
TParams,
|
|
30
|
+
TVariables,
|
|
31
|
+
TError,
|
|
32
|
+
TContext
|
|
33
|
+
>,
|
|
31
34
|
queryClient?: QueryClient
|
|
32
35
|
): UseMutationResult<TData, TError | Error, TVariables, TContext>;
|
|
33
36
|
|
|
34
37
|
useMutation<TVariables extends TBody, TContext = unknown>(
|
|
35
|
-
parameters: TParams,
|
|
36
|
-
options?:
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
parameters: AreAllOptional<TParams> extends true ? TParams | void : TParams,
|
|
39
|
+
options?: ServiceOperationUseMutationOptions<
|
|
40
|
+
TSchema,
|
|
41
|
+
TData,
|
|
42
|
+
TParams,
|
|
43
|
+
TVariables,
|
|
44
|
+
TError,
|
|
45
|
+
TContext
|
|
39
46
|
>,
|
|
40
47
|
queryClient?: QueryClient
|
|
41
|
-
): UseMutationResult<
|
|
48
|
+
): UseMutationResult<
|
|
49
|
+
TData,
|
|
50
|
+
TError | Error,
|
|
51
|
+
AreAllOptional<TVariables> extends true ? TVariables | void : TVariables,
|
|
52
|
+
TContext
|
|
53
|
+
>;
|
|
42
54
|
}
|
|
43
55
|
|
|
44
|
-
export type MutationVariables<TBody, TParams> =
|
|
45
|
-
|
|
46
|
-
|
|
56
|
+
export type MutationVariables<TBody, TParams> =
|
|
57
|
+
NonNullable<TBody> extends never
|
|
58
|
+
? NonNullable<TParams> extends never
|
|
59
|
+
? void
|
|
60
|
+
: AreAllOptional<TParams> extends true
|
|
61
|
+
? TParams | void
|
|
62
|
+
: TParams
|
|
63
|
+
: NonNullable<TParams> extends never
|
|
64
|
+
? AreAllOptional<TBody> extends true
|
|
65
|
+
? { body?: TBody } | void
|
|
66
|
+
: { body: TBody }
|
|
67
|
+
: AreAllOptional<TBody> extends true
|
|
68
|
+
? AreAllOptional<TParams> extends true
|
|
69
|
+
? ({ body?: TBody } & TParams) | void
|
|
70
|
+
: { body?: TBody } & TParams
|
|
71
|
+
: {
|
|
72
|
+
body: TBody;
|
|
73
|
+
} & TParams;
|
|
74
|
+
|
|
75
|
+
type ServiceOperationUseMutationOptions<
|
|
76
|
+
TSchema extends { url: string; method: string },
|
|
77
|
+
TData,
|
|
78
|
+
TParams,
|
|
79
|
+
TVariables,
|
|
80
|
+
TError,
|
|
81
|
+
TContext = unknown,
|
|
82
|
+
> = Omit<
|
|
83
|
+
UseMutationOptions<TData, TError, TVariables, TContext>,
|
|
84
|
+
'mutationKey'
|
|
85
|
+
> & {
|
|
86
|
+
mutationKey?: ServiceOperationMutationKey<TSchema, TParams>;
|
|
87
|
+
};
|
|
@@ -6,6 +6,7 @@ import type {
|
|
|
6
6
|
UseQueryResult,
|
|
7
7
|
} from '@tanstack/react-query';
|
|
8
8
|
|
|
9
|
+
import { AreAllOptional } from '../lib/AreAllOptional.js';
|
|
9
10
|
import type { ServiceOperationQueryKey } from './ServiceOperationKey.js';
|
|
10
11
|
|
|
11
12
|
export interface ServiceOperationUseQuery<
|
|
@@ -19,7 +20,9 @@ export interface ServiceOperationUseQuery<
|
|
|
19
20
|
): ServiceOperationQueryKey<TSchema, QueryKeyParams>;
|
|
20
21
|
|
|
21
22
|
useQuery<TData = TQueryFnData>(
|
|
22
|
-
parameters:
|
|
23
|
+
parameters:
|
|
24
|
+
| ServiceOperationQueryKey<TSchema, TParams>
|
|
25
|
+
| (AreAllOptional<TParams> extends true ? TParams | void : TParams),
|
|
23
26
|
options?: Omit<
|
|
24
27
|
UndefinedInitialDataOptions<
|
|
25
28
|
TQueryFnData,
|
|
@@ -33,7 +36,9 @@ export interface ServiceOperationUseQuery<
|
|
|
33
36
|
): UseQueryResult<TData, TError | Error>;
|
|
34
37
|
|
|
35
38
|
useQuery<TData = TQueryFnData>(
|
|
36
|
-
parameters:
|
|
39
|
+
parameters:
|
|
40
|
+
| ServiceOperationQueryKey<TSchema, TParams>
|
|
41
|
+
| (AreAllOptional<TParams> extends true ? TParams | void : TParams),
|
|
37
42
|
options: Omit<
|
|
38
43
|
DefinedInitialDataOptions<
|
|
39
44
|
TQueryFnData,
|