@openapi-qraft/tanstack-query-react-plugin 2.0.0-next.9 → 2.0.1-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.
Files changed (115) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/dist/generateCode.d.ts +3 -3
  3. package/dist/generateCode.d.ts.map +1 -1
  4. package/dist/generateCode.js +3 -3
  5. package/dist/generateCode.js.map +1 -1
  6. package/dist/lib/createOperationCommonTSDoc.d.ts +1 -1
  7. package/dist/lib/createOperationCommonTSDoc.d.ts.map +1 -1
  8. package/dist/plugin.d.ts.map +1 -1
  9. package/dist/plugin.js +4 -1
  10. package/dist/plugin.js.map +1 -1
  11. package/dist/ts-factory/filterUnusedTypes.d.ts +9 -0
  12. package/dist/ts-factory/filterUnusedTypes.d.ts.map +1 -0
  13. package/dist/ts-factory/filterUnusedTypes.js +34 -0
  14. package/dist/ts-factory/filterUnusedTypes.js.map +1 -0
  15. package/dist/ts-factory/getClientFactory.d.ts +1 -1
  16. package/dist/ts-factory/getClientFactory.d.ts.map +1 -1
  17. package/dist/ts-factory/getClientFactory.js +1 -1
  18. package/dist/ts-factory/getClientFactory.js.map +1 -1
  19. package/dist/ts-factory/getIndexFactory.d.ts +1 -1
  20. package/dist/ts-factory/getIndexFactory.d.ts.map +1 -1
  21. package/dist/ts-factory/getIndexFactory.js +2 -2
  22. package/dist/ts-factory/getIndexFactory.js.map +1 -1
  23. package/dist/ts-factory/getServiceFactory.d.ts +1 -1
  24. package/dist/ts-factory/getServiceFactory.d.ts.map +1 -1
  25. package/dist/ts-factory/getServiceFactory.js +54 -42
  26. package/dist/ts-factory/getServiceFactory.js.map +1 -1
  27. package/dist/ts-factory/getServiceIndexFactory.d.ts +3 -3
  28. package/dist/ts-factory/getServiceIndexFactory.d.ts.map +1 -1
  29. package/dist/ts-factory/getServiceIndexFactory.js +1 -1
  30. package/dist/ts-factory/getServiceIndexFactory.js.map +1 -1
  31. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.d.ts.map +1 -1
  32. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.js +26 -67
  33. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.js.map +1 -1
  34. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.d.ts.map +1 -1
  35. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.js +16 -1
  36. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.js.map +1 -1
  37. package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.d.ts.map +1 -1
  38. package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.js +7 -4
  39. package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.js.map +1 -1
  40. package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.d.ts.map +1 -1
  41. package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.js +9 -3
  42. package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.js.map +1 -1
  43. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts +1 -1
  44. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts.map +1 -1
  45. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js +9 -0
  46. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js.map +1 -1
  47. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts +3 -1
  48. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts.map +1 -1
  49. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js +19 -27
  50. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js.map +1 -1
  51. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts +1 -1
  52. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts.map +1 -1
  53. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js +3 -3
  54. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js.map +1 -1
  55. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts +1 -1
  56. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts.map +1 -1
  57. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js +3 -3
  58. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js.map +1 -1
  59. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts +1 -1
  60. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts.map +1 -1
  61. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js +3 -3
  62. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js.map +1 -1
  63. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.d.ts +3 -0
  64. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.d.ts.map +1 -0
  65. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.js +55 -0
  66. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.js.map +1 -0
  67. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.d.ts +3 -0
  68. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.d.ts.map +1 -0
  69. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.js +88 -0
  70. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.js.map +1 -0
  71. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts +1 -1
  72. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts.map +1 -1
  73. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js +3 -3
  74. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js.map +1 -1
  75. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.d.ts +3 -0
  76. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.d.ts.map +1 -0
  77. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.js +39 -0
  78. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.js.map +1 -0
  79. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.d.ts +7 -0
  80. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.d.ts.map +1 -0
  81. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.js +6 -0
  82. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.js.map +1 -0
  83. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts +1 -1
  84. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts.map +1 -1
  85. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js +17 -1
  86. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js.map +1 -1
  87. package/package.json +12 -4
  88. package/src/generateCode.ts +8 -8
  89. package/src/lib/createOperationCommonTSDoc.ts +1 -1
  90. package/src/plugin.ts +8 -3
  91. package/src/ts-factory/filterUnusedTypes.ts +49 -0
  92. package/src/ts-factory/getClientFactory.ts +2 -2
  93. package/src/ts-factory/getIndexFactory.ts +13 -4
  94. package/src/ts-factory/getServiceFactory.ts +98 -69
  95. package/src/ts-factory/getServiceIndexFactory.ts +7 -7
  96. package/src/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.ts +101 -190
  97. package/src/ts-factory/service-operation.generated/ServiceOperationFetchQuery.ts +80 -0
  98. package/src/ts-factory/service-operation.generated/ServiceOperationMutationFn.ts +23 -22
  99. package/src/ts-factory/service-operation.generated/ServiceOperationSetQueryData.ts +34 -10
  100. package/src/ts-factory/tsdoc/createOperationMethodTSDocExample.ts +19 -1
  101. package/src/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.ts +84 -95
  102. package/src/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.ts +4 -4
  103. package/src/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.ts +4 -4
  104. package/src/ts-factory/tsdoc/createUseMutationOperationTSDocExample.ts +4 -4
  105. package/src/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.ts +154 -0
  106. package/src/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.ts +292 -0
  107. package/src/ts-factory/tsdoc/createUseQueryOperationTSDocExample.ts +4 -4
  108. package/src/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.ts +63 -0
  109. package/src/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.ts +28 -0
  110. package/src/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.ts +19 -2
  111. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.d.ts +0 -7
  112. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.d.ts.map +0 -1
  113. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.js +0 -8
  114. package/dist/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.js.map +0 -1
  115. package/src/ts-factory/tsdoc/lib/createOperationMethodExampleNodes.ts +0 -32
@@ -1,8 +1,8 @@
1
- import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
1
+ import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/OpenAPIService';
2
2
  import camelcase from 'camelcase';
3
3
  import ts from 'typescript';
4
4
  import { astToString } from '../astToString.js';
5
- import { createOperationMethodExampleNodes } from './lib/createOperationMethodExampleNodes.js';
5
+ import { createOperationMethodCallExpressionExampleNode } from './lib/createOperationMethodCallExpressionExampleNode.js';
6
6
  import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
7
7
 
8
8
  export const createUseInfiniteQueryOperationTSDocExample = (
@@ -19,38 +19,14 @@ export const createUseInfiniteQueryOperationTSDocExample = (
19
19
  '',
20
20
  ];
21
21
 
22
- if (!operation.parameters?.length) {
23
- return [
24
- ...commonTSDoc,
25
- '@example Infinite Query without parameters',
26
- '```ts',
27
- ...(
28
- 'const { data, isLoading } = ' +
29
- astToString(
30
- createOperationMethodExampleNodes(
31
- operation,
32
- {
33
- serviceVariableName,
34
- operationMethodName: 'useInfiniteQuery',
35
- },
36
- undefined
37
- )
38
- )
39
- )
40
- .trim()
41
- .split('\n'),
42
- '```',
43
- ];
44
- }
45
-
46
22
  return [
47
23
  ...commonTSDoc,
48
- '@example Infinite Query with parameters',
24
+ '@example Infinite Query',
49
25
  '```ts',
50
26
  ...(
51
- 'const { data, isLoading } = ' +
27
+ 'const { data, isLoading, fetchNextPage } = ' +
52
28
  astToString(
53
- createOperationMethodExampleNodes(
29
+ createOperationMethodCallExpressionExampleNode(
54
30
  operation,
55
31
  {
56
32
  serviceVariableName,
@@ -58,89 +34,102 @@ export const createUseInfiniteQueryOperationTSDocExample = (
58
34
  },
59
35
  [
60
36
  factory.createObjectLiteralExpression(
61
- createOperationMethodParametersExampleNodes(operation),
37
+ createOperationMethodParametersExampleNodes({
38
+ ...operation,
39
+ parameters: operation.parameters?.filter((parameter) =>
40
+ parameter.in === 'query' ? parameter.required : true
41
+ ),
42
+ }),
43
+ true
44
+ ),
45
+ factory.createObjectLiteralExpression(
46
+ createInfiniteQueryOptionsArgumentExamplePropertyAssignmentNodes(
47
+ operation
48
+ ),
62
49
  true
63
50
  ),
64
- createInfiniteQueryOptionsArgumentExampleNodes(operation),
65
51
  ]
66
52
  )
67
53
  )
68
54
  )
69
55
  .trim()
70
56
  .split('\n'),
57
+ '',
58
+ 'console.log(data);',
59
+ 'fetchNextPage(); // Fetch the next page',
71
60
  '```',
72
61
  ];
73
62
  };
74
63
 
75
- function createInfiniteQueryOptionsArgumentExampleNodes(
64
+ export function createInfiniteQueryOptionsArgumentExamplePropertyAssignmentNodes(
76
65
  operation: ServiceOperation
77
- ): ts.ObjectLiteralExpression {
66
+ ): ts.PropertyAssignment[] {
78
67
  const factory = ts.factory;
79
68
 
80
- return factory.createObjectLiteralExpression(
81
- [
82
- factory.createPropertyAssignment(
83
- factory.createIdentifier('getNextPageParam'),
84
- factory.createArrowFunction(
85
- undefined,
86
- undefined,
87
- [
88
- factory.createParameterDeclaration(
89
- undefined,
90
- undefined,
91
- factory.createIdentifier('lastPage'),
92
- undefined,
93
- undefined,
94
- undefined
95
- ),
96
- factory.createParameterDeclaration(
97
- undefined,
98
- undefined,
99
- factory.createIdentifier('allPages'),
100
- undefined,
101
- undefined,
102
- undefined
103
- ),
104
- factory.createParameterDeclaration(
105
- undefined,
106
- undefined,
107
- factory.createIdentifier('lastPageParam'),
108
- undefined,
109
- undefined,
110
- undefined
111
- ),
112
- factory.createParameterDeclaration(
113
- undefined,
114
- undefined,
115
- factory.createIdentifier('allPageParams'),
116
- undefined,
117
- undefined,
118
- undefined
69
+ return [
70
+ factory.createPropertyAssignment(
71
+ factory.createIdentifier('initialPageParam'),
72
+ factory.createObjectLiteralExpression(
73
+ createOperationMethodParametersExampleNodes(
74
+ {
75
+ ...operation,
76
+ parameters: operation.parameters?.filter(
77
+ (parameter) => parameter.in === 'query'
119
78
  ),
120
- ],
121
- undefined,
122
- factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
123
- factory.createCallExpression(
124
- factory.createIdentifier('getNextPageParams'),
79
+ },
80
+ (operationParameter) =>
81
+ camelcase(`initial-${operationParameter.name}`)
82
+ ),
83
+ true
84
+ )
85
+ ),
86
+ factory.createPropertyAssignment(
87
+ factory.createIdentifier('getNextPageParam'),
88
+ factory.createArrowFunction(
89
+ undefined,
90
+ undefined,
91
+ [
92
+ factory.createParameterDeclaration(
125
93
  undefined,
126
- [factory.createIdentifier('lastPage')]
127
- )
128
- )
129
- ),
130
- factory.createPropertyAssignment(
131
- factory.createIdentifier('initialPageParam'),
132
- factory.createObjectLiteralExpression(
133
- createOperationMethodParametersExampleNodes(
134
- operation,
135
- (operationParameter) =>
136
- operationParameter.in === 'query'
137
- ? camelcase(`initial-${operationParameter.name}`)
138
- : camelcase(operationParameter.name)
94
+ undefined,
95
+ factory.createIdentifier('lastPage'),
96
+ undefined,
97
+ undefined,
98
+ undefined
99
+ ),
100
+ factory.createParameterDeclaration(
101
+ undefined,
102
+ undefined,
103
+ factory.createIdentifier('allPages'),
104
+ undefined,
105
+ undefined,
106
+ undefined
107
+ ),
108
+ factory.createParameterDeclaration(
109
+ undefined,
110
+ undefined,
111
+ factory.createIdentifier('lastPageParam'),
112
+ undefined,
113
+ undefined,
114
+ undefined
139
115
  ),
140
- true
116
+ factory.createParameterDeclaration(
117
+ undefined,
118
+ undefined,
119
+ factory.createIdentifier('allPageParams'),
120
+ undefined,
121
+ undefined,
122
+ undefined
123
+ ),
124
+ ],
125
+ undefined,
126
+ factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
127
+ factory.createCallExpression(
128
+ factory.createIdentifier('getNextPageParams'),
129
+ undefined,
130
+ [factory.createIdentifier('lastPage')]
141
131
  )
142
- ),
143
- ],
144
- true
145
- );
132
+ )
133
+ ),
134
+ ];
146
135
  }
@@ -1,8 +1,8 @@
1
- import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
1
+ import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/OpenAPIService';
2
2
  import camelcase from 'camelcase';
3
3
  import ts from 'typescript';
4
4
  import { astToString } from '../astToString.js';
5
- import { createOperationMethodExampleNodes } from './lib/createOperationMethodExampleNodes.js';
5
+ import { createOperationMethodCallExpressionExampleNode } from './lib/createOperationMethodCallExpressionExampleNode.js';
6
6
  import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
7
7
 
8
8
  export const createUseIsFetchingOperationTSDocExample = (
@@ -20,7 +20,7 @@ export const createUseIsFetchingOperationTSDocExample = (
20
20
  ...(
21
21
  `const ${camelcase(operation.name + '-total')} = ` +
22
22
  astToString(
23
- createOperationMethodExampleNodes(
23
+ createOperationMethodCallExpressionExampleNode(
24
24
  operation,
25
25
  {
26
26
  serviceVariableName,
@@ -44,7 +44,7 @@ export const createUseIsFetchingOperationTSDocExample = (
44
44
  ...(
45
45
  `const ${camelcase(operation.name + '-by-parameters-total')} = ` +
46
46
  astToString(
47
- createOperationMethodExampleNodes(
47
+ createOperationMethodCallExpressionExampleNode(
48
48
  operation,
49
49
  {
50
50
  serviceVariableName,
@@ -1,9 +1,9 @@
1
- import type { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
1
+ import type { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/OpenAPIService';
2
2
  import camelcase from 'camelcase';
3
3
  import ts from 'typescript';
4
4
  import { createOperationCommonTSDoc } from '../../lib/createOperationCommonTSDoc.js';
5
5
  import { astToString } from '../astToString.js';
6
- import { createOperationMethodExampleNodes } from './lib/createOperationMethodExampleNodes.js';
6
+ import { createOperationMethodCallExpressionExampleNode } from './lib/createOperationMethodCallExpressionExampleNode.js';
7
7
  import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
8
8
 
9
9
  export const createUseIsMutatingOperationTSDocExample = (
@@ -23,7 +23,7 @@ export const createUseIsMutatingOperationTSDocExample = (
23
23
  ...(
24
24
  `const ${camelcase(operation.name + '-total')} = ` +
25
25
  astToString(
26
- createOperationMethodExampleNodes(
26
+ createOperationMethodCallExpressionExampleNode(
27
27
  operation,
28
28
  {
29
29
  serviceVariableName,
@@ -42,7 +42,7 @@ export const createUseIsMutatingOperationTSDocExample = (
42
42
  ...(
43
43
  `const ${camelcase(operation.name + '-total')} = ` +
44
44
  astToString(
45
- createOperationMethodExampleNodes(
45
+ createOperationMethodCallExpressionExampleNode(
46
46
  operation,
47
47
  {
48
48
  serviceVariableName,
@@ -1,7 +1,7 @@
1
- import type { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/getServices';
1
+ import type { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/OpenAPIService';
2
2
  import ts from 'typescript';
3
3
  import { astToString } from '../astToString.js';
4
- import { createOperationMethodExampleNodes } from './lib/createOperationMethodExampleNodes.js';
4
+ import { createOperationMethodCallExpressionExampleNode } from './lib/createOperationMethodCallExpressionExampleNode.js';
5
5
  import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
6
6
 
7
7
  export const createUseMutationOperationTSDocExample = (
@@ -20,7 +20,7 @@ export const createUseMutationOperationTSDocExample = (
20
20
  ...(
21
21
  'const { mutate, isPending } = ' +
22
22
  astToString(
23
- createOperationMethodExampleNodes(
23
+ createOperationMethodCallExpressionExampleNode(
24
24
  operation,
25
25
  {
26
26
  serviceVariableName,
@@ -47,7 +47,7 @@ export const createUseMutationOperationTSDocExample = (
47
47
  ...(
48
48
  'const { mutate, isPending } = ' +
49
49
  astToString(
50
- createOperationMethodExampleNodes(
50
+ createOperationMethodCallExpressionExampleNode(
51
51
  operation,
52
52
  {
53
53
  serviceVariableName,
@@ -0,0 +1,154 @@
1
+ import type { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/OpenAPIService';
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 { createOperationMethodCallExpressionExampleNode } from './lib/createOperationMethodCallExpressionExampleNode.js';
7
+ import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
8
+
9
+ export const createUseMutationStateOperationTSDocExample = (
10
+ operation: ServiceOperation,
11
+ serviceVariableName: string
12
+ ) => {
13
+ const factory = ts.factory;
14
+
15
+ const example: string[] = [
16
+ 'Provides access to the current state of a mutation, including its status, any resulting data, and associated errors.',
17
+ '',
18
+ ...createOperationCommonTSDoc(operation),
19
+ '@see {@link https://openapi-qraft.github.io/openapi-qraft/docs/hooks/useMutationState|`useMutationState(...)` documentation}',
20
+
21
+ '@example Get all variables of all running mutations.',
22
+ '```ts',
23
+ ...(
24
+ `const ${camelcase(operation.name + '-pending-mutation-variables')} = ` +
25
+ astToString(
26
+ createOperationMethodCallExpressionExampleNode(
27
+ operation,
28
+ {
29
+ serviceVariableName,
30
+ operationMethodName: 'useMutationState',
31
+ },
32
+ [
33
+ factory.createObjectLiteralExpression(
34
+ [
35
+ factory.createPropertyAssignment(
36
+ factory.createIdentifier('filters'),
37
+ factory.createObjectLiteralExpression(
38
+ [
39
+ factory.createPropertyAssignment(
40
+ factory.createIdentifier('status'),
41
+ factory.createStringLiteral('pending')
42
+ ),
43
+ ],
44
+ true
45
+ )
46
+ ),
47
+ factory.createPropertyAssignment(
48
+ factory.createIdentifier('select'),
49
+ factory.createArrowFunction(
50
+ undefined,
51
+ undefined,
52
+ [
53
+ factory.createParameterDeclaration(
54
+ undefined,
55
+ undefined,
56
+ factory.createIdentifier('mutation'),
57
+ undefined,
58
+ undefined,
59
+ undefined
60
+ ),
61
+ ],
62
+ undefined,
63
+ factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
64
+ factory.createPropertyAccessExpression(
65
+ factory.createPropertyAccessExpression(
66
+ factory.createIdentifier('mutation'),
67
+ factory.createIdentifier('state')
68
+ ),
69
+ factory.createIdentifier('variables')
70
+ )
71
+ )
72
+ ),
73
+ ],
74
+ true
75
+ ),
76
+ ]
77
+ )
78
+ )
79
+ )
80
+ .trim()
81
+ .split('\n'),
82
+ '```',
83
+
84
+ '@example Get all data for specific mutations via the `parameters`.',
85
+ '```ts',
86
+ ...(
87
+ `const ${camelcase(operation.name + '-mutation-data')} = ` +
88
+ astToString(
89
+ createOperationMethodCallExpressionExampleNode(
90
+ operation,
91
+ {
92
+ serviceVariableName,
93
+ operationMethodName: 'useMutationState',
94
+ },
95
+ [
96
+ factory.createObjectLiteralExpression(
97
+ [
98
+ factory.createPropertyAssignment(
99
+ factory.createIdentifier('filters'),
100
+ factory.createObjectLiteralExpression(
101
+ [
102
+ factory.createPropertyAssignment(
103
+ factory.createIdentifier('parameters'),
104
+ factory.createObjectLiteralExpression(
105
+ createOperationMethodParametersExampleNodes(
106
+ operation
107
+ ),
108
+ true
109
+ )
110
+ ),
111
+ ],
112
+ true
113
+ )
114
+ ),
115
+ factory.createPropertyAssignment(
116
+ factory.createIdentifier('select'),
117
+ factory.createArrowFunction(
118
+ undefined,
119
+ undefined,
120
+ [
121
+ factory.createParameterDeclaration(
122
+ undefined,
123
+ undefined,
124
+ factory.createIdentifier('mutation'),
125
+ undefined,
126
+ undefined,
127
+ undefined
128
+ ),
129
+ ],
130
+ undefined,
131
+ factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
132
+ factory.createPropertyAccessExpression(
133
+ factory.createPropertyAccessExpression(
134
+ factory.createIdentifier('mutation'),
135
+ factory.createIdentifier('state')
136
+ ),
137
+ factory.createIdentifier('data')
138
+ )
139
+ )
140
+ ),
141
+ ],
142
+ true
143
+ ),
144
+ ]
145
+ )
146
+ )
147
+ )
148
+ .trim()
149
+ .split('\n'),
150
+ '```',
151
+ ];
152
+
153
+ return example;
154
+ };