@openapi-qraft/tanstack-query-react-plugin 2.0.0-next.7 → 2.0.0-next.9
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 +18 -0
- package/dist/lib/createOperationCommonTSDoc.d.ts +3 -0
- package/dist/lib/createOperationCommonTSDoc.d.ts.map +1 -0
- package/dist/lib/createOperationCommonTSDoc.js +8 -0
- package/dist/lib/createOperationCommonTSDoc.js.map +1 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +0 -2
- package/dist/plugin.js.map +1 -1
- package/dist/ts-factory/getServiceFactory.d.ts +4 -3
- package/dist/ts-factory/getServiceFactory.d.ts.map +1 -1
- package/dist/ts-factory/getServiceFactory.js +247 -44
- package/dist/ts-factory/getServiceFactory.js.map +1 -1
- package/dist/ts-factory/service-operation.generated/ServiceOperationCancelQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationCancelQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationCancelQueries.js +38 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationCancelQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.js +89 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.js +48 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.js +34 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueriesData.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueriesData.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueriesData.js +59 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueriesData.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.js +30 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.js +62 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationInvalidateQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationInvalidateQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationInvalidateQueries.js +26 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationInvalidateQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsFetchingQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsFetchingQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsFetchingQueries.js +34 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsFetchingQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsMutatingQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsMutatingQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsMutatingQueries.js +36 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationIsMutatingQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.js +35 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.js +62 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRefetchQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRefetchQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRefetchQueries.js +38 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRefetchQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRemoveQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRemoveQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRemoveQueries.js +34 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationRemoveQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationResetQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationResetQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationResetQueries.js +38 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationResetQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetInfiniteQueryData.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetInfiniteQueryData.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetInfiniteQueryData.js +54 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetInfiniteQueryData.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueriesData.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueriesData.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueriesData.js +55 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueriesData.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.js +42 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseInfiniteQuery.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseInfiniteQuery.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseInfiniteQuery.js +138 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseInfiniteQuery.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsFetchingQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsFetchingQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsFetchingQueries.js +34 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsFetchingQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsMutating.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsMutating.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsMutating.js +36 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseIsMutating.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.js +81 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutationState.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutationState.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutationState.js +63 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutationState.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQueries.js +34 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQuery.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQuery.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQuery.js +93 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseQuery.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseInfiniteQuery.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseInfiniteQuery.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseInfiniteQuery.js +77 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseInfiniteQuery.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQueries.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQueries.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQueries.js +40 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQueries.js.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQuery.d.ts +4 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQuery.d.ts.map +1 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQuery.js +52 -0
- package/dist/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQuery.js.map +1 -0
- package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts +6 -0
- package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js +22 -0
- package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js.map +1 -0
- package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts +3 -0
- package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js +61 -0
- package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js.map +1 -0
- package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts +3 -0
- package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js +41 -0
- package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js.map +1 -0
- package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts +3 -0
- package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js +41 -0
- package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js.map +1 -0
- package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts +3 -0
- package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js +44 -0
- package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js.map +1 -0
- package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts +3 -0
- package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js +37 -0
- package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js.map +1 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.d.ts +7 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.js +8 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.js.map +1 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts +4 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts.map +1 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js +31 -0
- package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js.map +1 -0
- package/package.json +9 -6
- package/src/lib/createOperationCommonTSDoc.ts +11 -0
- package/src/plugin.ts +0 -6
- package/src/ts-factory/getServiceFactory.ts +425 -91
- package/src/ts-factory/service-operation.generated/.gitkeep +0 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationCancelQueries.ts +171 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.ts +340 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationFetchQuery.ts +219 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.ts +134 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationGetQueriesData.ts +258 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationGetQueryData.ts +120 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationGetQueryState.ts +248 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationInvalidateQueries.ts +137 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationIsFetchingQueries.ts +141 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationIsMutatingQueries.ts +151 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationMutationFn.ts +175 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationQueryFn.ts +278 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationRefetchQueries.ts +171 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationRemoveQueries.ts +141 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationResetQueries.ts +171 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationSetInfiniteQueryData.ts +201 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationSetQueriesData.ts +221 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationSetQueryData.ts +167 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseInfiniteQuery.ts +534 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseIsFetchingQueries.ts +141 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseIsMutating.ts +151 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseMutation.ts +354 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseMutationState.ts +276 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseQueries.ts +191 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseQuery.ts +392 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseSuspenseInfiniteQuery.ts +299 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQueries.ts +204 -0
- package/src/ts-factory/service-operation.generated/ServiceOperationUseSuspenseQuery.ts +212 -0
- package/src/ts-factory/tsdoc/createOperationMethodTSDocExample.ts +47 -0
- package/src/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.ts +146 -0
- package/src/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.ts +81 -0
- package/src/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.ts +74 -0
- package/src/ts-factory/tsdoc/createUseMutationOperationTSDocExample.ts +88 -0
- package/src/ts-factory/tsdoc/createUseQueryOperationTSDocExample.ts +76 -0
- package/src/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.ts +32 -0
- package/src/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.ts +66 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
|
|
2
|
+
import camelcase from 'camelcase';
|
|
3
|
+
import ts from 'typescript';
|
|
4
|
+
import { createOperationCommonTSDoc } from '../../lib/createOperationCommonTSDoc.js';
|
|
5
|
+
import { astToString } from '../astToString.js';
|
|
6
|
+
import { createOperationMethodExampleNodes } from './lib/createOperationMethodExampleNodes.js';
|
|
7
|
+
import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
|
|
8
|
+
|
|
9
|
+
export const createUseIsMutatingOperationTSDocExample = (
|
|
10
|
+
operation: ServiceOperation,
|
|
11
|
+
serviceVariableName: string
|
|
12
|
+
) => {
|
|
13
|
+
const factory = ts.factory;
|
|
14
|
+
|
|
15
|
+
const example: string[] = [
|
|
16
|
+
'Returns the count of currently in-progress mutations.',
|
|
17
|
+
'',
|
|
18
|
+
...createOperationCommonTSDoc(operation),
|
|
19
|
+
'@see {@link https://openapi-qraft.github.io/openapi-qraft/docs/hooks/useIsMutating|`useIsMutating(...)` documentation}',
|
|
20
|
+
|
|
21
|
+
'@example Check how many mutations are currently in progress for the specified service method.',
|
|
22
|
+
'```ts',
|
|
23
|
+
...(
|
|
24
|
+
`const ${camelcase(operation.name + '-total')} = ` +
|
|
25
|
+
astToString(
|
|
26
|
+
createOperationMethodExampleNodes(
|
|
27
|
+
operation,
|
|
28
|
+
{
|
|
29
|
+
serviceVariableName,
|
|
30
|
+
operationMethodName: 'useIsMutating',
|
|
31
|
+
},
|
|
32
|
+
undefined
|
|
33
|
+
)
|
|
34
|
+
)
|
|
35
|
+
)
|
|
36
|
+
.trim()
|
|
37
|
+
.split('\n'),
|
|
38
|
+
'```',
|
|
39
|
+
|
|
40
|
+
'@example Check how many mutations are currently in progress with the specified parameters.',
|
|
41
|
+
'```ts',
|
|
42
|
+
...(
|
|
43
|
+
`const ${camelcase(operation.name + '-total')} = ` +
|
|
44
|
+
astToString(
|
|
45
|
+
createOperationMethodExampleNodes(
|
|
46
|
+
operation,
|
|
47
|
+
{
|
|
48
|
+
serviceVariableName,
|
|
49
|
+
operationMethodName: 'useIsMutating',
|
|
50
|
+
},
|
|
51
|
+
[
|
|
52
|
+
factory.createObjectLiteralExpression(
|
|
53
|
+
[
|
|
54
|
+
factory.createPropertyAssignment(
|
|
55
|
+
factory.createIdentifier('parameters'),
|
|
56
|
+
factory.createObjectLiteralExpression(
|
|
57
|
+
createOperationMethodParametersExampleNodes(operation),
|
|
58
|
+
true
|
|
59
|
+
)
|
|
60
|
+
),
|
|
61
|
+
],
|
|
62
|
+
true
|
|
63
|
+
),
|
|
64
|
+
]
|
|
65
|
+
)
|
|
66
|
+
)
|
|
67
|
+
)
|
|
68
|
+
.trim()
|
|
69
|
+
.split('\n'),
|
|
70
|
+
'```',
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
return example;
|
|
74
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { astToString } from '../astToString.js';
|
|
4
|
+
import { createOperationMethodExampleNodes } from './lib/createOperationMethodExampleNodes.js';
|
|
5
|
+
import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
|
|
6
|
+
|
|
7
|
+
export const createUseMutationOperationTSDocExample = (
|
|
8
|
+
operation: ServiceOperation,
|
|
9
|
+
serviceVariableName: string
|
|
10
|
+
) => {
|
|
11
|
+
const factory = ts.factory;
|
|
12
|
+
|
|
13
|
+
const example: string[] = [
|
|
14
|
+
'Enables performing asynchronous data mutation operations such as POST, PUT, PATCH, or DELETE requests.',
|
|
15
|
+
'Handles loading state, optimistic updates, and error handling.',
|
|
16
|
+
'',
|
|
17
|
+
'@see {@link https://openapi-qraft.github.io/openapi-qraft/docs/hooks/useMutation|`useMutation(...)` documentation}',
|
|
18
|
+
'@example Mutation with predefined parameters, e.g., for updating',
|
|
19
|
+
'```ts',
|
|
20
|
+
...(
|
|
21
|
+
'const { mutate, isPending } = ' +
|
|
22
|
+
astToString(
|
|
23
|
+
createOperationMethodExampleNodes(
|
|
24
|
+
operation,
|
|
25
|
+
{
|
|
26
|
+
serviceVariableName,
|
|
27
|
+
operationMethodName: 'useMutation',
|
|
28
|
+
},
|
|
29
|
+
[
|
|
30
|
+
factory.createObjectLiteralExpression(
|
|
31
|
+
createOperationMethodParametersExampleNodes(operation),
|
|
32
|
+
true
|
|
33
|
+
),
|
|
34
|
+
]
|
|
35
|
+
)
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
.trim()
|
|
39
|
+
.split('\n'),
|
|
40
|
+
'mutate(body);',
|
|
41
|
+
'```',
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
example.push(
|
|
45
|
+
'@example Mutation without predefined parameters, e.g., for creating',
|
|
46
|
+
'```ts',
|
|
47
|
+
...(
|
|
48
|
+
'const { mutate, isPending } = ' +
|
|
49
|
+
astToString(
|
|
50
|
+
createOperationMethodExampleNodes(
|
|
51
|
+
operation,
|
|
52
|
+
{
|
|
53
|
+
serviceVariableName,
|
|
54
|
+
operationMethodName: 'useMutation',
|
|
55
|
+
},
|
|
56
|
+
undefined
|
|
57
|
+
)
|
|
58
|
+
)
|
|
59
|
+
)
|
|
60
|
+
.trim()
|
|
61
|
+
.split('\n'),
|
|
62
|
+
...astToString([
|
|
63
|
+
factory.createExpressionStatement(
|
|
64
|
+
factory.createCallExpression(
|
|
65
|
+
factory.createIdentifier('mutate'),
|
|
66
|
+
undefined,
|
|
67
|
+
[
|
|
68
|
+
factory.createObjectLiteralExpression(
|
|
69
|
+
[
|
|
70
|
+
factory.createPropertyAssignment(
|
|
71
|
+
factory.createIdentifier('body'),
|
|
72
|
+
factory.createIdentifier('bodyPayload')
|
|
73
|
+
),
|
|
74
|
+
...createOperationMethodParametersExampleNodes(operation),
|
|
75
|
+
],
|
|
76
|
+
true
|
|
77
|
+
),
|
|
78
|
+
]
|
|
79
|
+
)
|
|
80
|
+
),
|
|
81
|
+
])
|
|
82
|
+
.trim()
|
|
83
|
+
.split('\n'),
|
|
84
|
+
'```'
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
return example;
|
|
88
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { createOperationCommonTSDoc } from '../../lib/createOperationCommonTSDoc.js';
|
|
4
|
+
import { astToString } from '../astToString.js';
|
|
5
|
+
import { createOperationMethodExampleNodes } from './lib/createOperationMethodExampleNodes.js';
|
|
6
|
+
import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
|
|
7
|
+
|
|
8
|
+
export const createUseQueryOperationTSDocExample = (
|
|
9
|
+
operation: ServiceOperation,
|
|
10
|
+
serviceVariableName: string
|
|
11
|
+
) => {
|
|
12
|
+
const example: string[] = [
|
|
13
|
+
'Performs asynchronous data fetching, manages loading states and error handling.',
|
|
14
|
+
'',
|
|
15
|
+
...createOperationCommonTSDoc(operation),
|
|
16
|
+
'@see {@link https://openapi-qraft.github.io/openapi-qraft/docs/hooks/useQuery|`useQuery(...)` documentation}',
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
if (
|
|
20
|
+
!operation.parameters?.length ||
|
|
21
|
+
operation.parameters.every((parameter) => !parameter.required)
|
|
22
|
+
) {
|
|
23
|
+
example.push(
|
|
24
|
+
'@example Query without parameters',
|
|
25
|
+
'```ts',
|
|
26
|
+
...(
|
|
27
|
+
'const { data, isLoading } = ' +
|
|
28
|
+
astToString(
|
|
29
|
+
createOperationMethodExampleNodes(
|
|
30
|
+
operation,
|
|
31
|
+
{
|
|
32
|
+
serviceVariableName,
|
|
33
|
+
operationMethodName: 'useQuery',
|
|
34
|
+
},
|
|
35
|
+
undefined
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
)
|
|
39
|
+
.trim()
|
|
40
|
+
.split('\n'),
|
|
41
|
+
'```'
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (operation.parameters?.length) {
|
|
46
|
+
const factory = ts.factory;
|
|
47
|
+
|
|
48
|
+
example.push(
|
|
49
|
+
'@example Query with parameters',
|
|
50
|
+
'```ts',
|
|
51
|
+
...(
|
|
52
|
+
'const { data, isLoading } = ' +
|
|
53
|
+
astToString(
|
|
54
|
+
createOperationMethodExampleNodes(
|
|
55
|
+
operation,
|
|
56
|
+
{
|
|
57
|
+
serviceVariableName,
|
|
58
|
+
operationMethodName: 'useQuery',
|
|
59
|
+
},
|
|
60
|
+
[
|
|
61
|
+
factory.createObjectLiteralExpression(
|
|
62
|
+
createOperationMethodParametersExampleNodes(operation),
|
|
63
|
+
true
|
|
64
|
+
),
|
|
65
|
+
]
|
|
66
|
+
)
|
|
67
|
+
)
|
|
68
|
+
)
|
|
69
|
+
.trim()
|
|
70
|
+
.split('\n'),
|
|
71
|
+
'```'
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return example;
|
|
76
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
|
|
4
|
+
export const createOperationMethodExampleNodes = (
|
|
5
|
+
operation: ServiceOperation,
|
|
6
|
+
{
|
|
7
|
+
serviceVariableName,
|
|
8
|
+
operationMethodName,
|
|
9
|
+
}: { serviceVariableName: string; operationMethodName: string },
|
|
10
|
+
nodes: ts.Expression[] | undefined
|
|
11
|
+
) => {
|
|
12
|
+
const factory = ts.factory;
|
|
13
|
+
|
|
14
|
+
return [
|
|
15
|
+
factory.createExpressionStatement(
|
|
16
|
+
factory.createCallExpression(
|
|
17
|
+
factory.createPropertyAccessExpression(
|
|
18
|
+
factory.createPropertyAccessExpression(
|
|
19
|
+
factory.createPropertyAccessExpression(
|
|
20
|
+
factory.createIdentifier('qraft'),
|
|
21
|
+
factory.createIdentifier(serviceVariableName)
|
|
22
|
+
),
|
|
23
|
+
factory.createIdentifier(operation.name)
|
|
24
|
+
),
|
|
25
|
+
factory.createIdentifier(operationMethodName)
|
|
26
|
+
),
|
|
27
|
+
undefined,
|
|
28
|
+
nodes
|
|
29
|
+
)
|
|
30
|
+
),
|
|
31
|
+
];
|
|
32
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
|
|
2
|
+
import camelcase from 'camelcase';
|
|
3
|
+
import ts from 'typescript';
|
|
4
|
+
|
|
5
|
+
export const createOperationMethodParametersExampleNodes = (
|
|
6
|
+
operation: ServiceOperation,
|
|
7
|
+
transformOperationParameterIdentifier?: (
|
|
8
|
+
operationParameter: NonNullable<ServiceOperation['parameters']>[number]
|
|
9
|
+
) => string
|
|
10
|
+
): ts.PropertyAssignment[] => {
|
|
11
|
+
if (!operation.parameters) return [];
|
|
12
|
+
|
|
13
|
+
const parametersTypeList = operation.parameters
|
|
14
|
+
.map((parameter) => parameter.in)
|
|
15
|
+
.filter(
|
|
16
|
+
(parameterKind, index, array) => array.indexOf(parameterKind) === index
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
const operationRequiredParameters = operation.parameters.filter(
|
|
20
|
+
(parameter) => parameter.required
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
return parametersTypeList.reduce<ts.PropertyAssignment[]>(
|
|
24
|
+
(acc, parameterKind) => {
|
|
25
|
+
let operationParameters = operationRequiredParameters.filter(
|
|
26
|
+
(parameter) => parameter.in === parameterKind
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
if (!operationParameters.length) {
|
|
30
|
+
const operationParameter = operation.parameters?.find(
|
|
31
|
+
(parameter) => parameter.in === parameterKind
|
|
32
|
+
);
|
|
33
|
+
if (operationParameter) {
|
|
34
|
+
operationParameters = [operationParameter];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!operationParameters.length) return acc;
|
|
39
|
+
|
|
40
|
+
const factory = ts.factory;
|
|
41
|
+
|
|
42
|
+
return [
|
|
43
|
+
...acc,
|
|
44
|
+
factory.createPropertyAssignment(
|
|
45
|
+
factory.createIdentifier(parameterKind),
|
|
46
|
+
factory.createObjectLiteralExpression(
|
|
47
|
+
operationParameters.map((parameter) =>
|
|
48
|
+
factory.createPropertyAssignment(
|
|
49
|
+
factory.createStringLiteral(parameter.name),
|
|
50
|
+
parameter.example // todo:: add example type inferring
|
|
51
|
+
? factory.createStringLiteral(parameter.example)
|
|
52
|
+
: factory.createIdentifier(
|
|
53
|
+
transformOperationParameterIdentifier
|
|
54
|
+
? transformOperationParameterIdentifier(parameter)
|
|
55
|
+
: camelcase(parameter.name)
|
|
56
|
+
)
|
|
57
|
+
)
|
|
58
|
+
),
|
|
59
|
+
true
|
|
60
|
+
)
|
|
61
|
+
),
|
|
62
|
+
];
|
|
63
|
+
},
|
|
64
|
+
[]
|
|
65
|
+
);
|
|
66
|
+
};
|