@openapi-qraft/tanstack-query-react-plugin 2.0.0-next.8 → 2.0.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 (132) 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 +3 -0
  7. package/dist/lib/createOperationCommonTSDoc.d.ts.map +1 -0
  8. package/dist/lib/createOperationCommonTSDoc.js +8 -0
  9. package/dist/lib/createOperationCommonTSDoc.js.map +1 -0
  10. package/dist/plugin.d.ts.map +1 -1
  11. package/dist/plugin.js +4 -1
  12. package/dist/plugin.js.map +1 -1
  13. package/dist/ts-factory/filterUnusedTypes.d.ts +9 -0
  14. package/dist/ts-factory/filterUnusedTypes.d.ts.map +1 -0
  15. package/dist/ts-factory/filterUnusedTypes.js +34 -0
  16. package/dist/ts-factory/filterUnusedTypes.js.map +1 -0
  17. package/dist/ts-factory/getClientFactory.d.ts +1 -1
  18. package/dist/ts-factory/getClientFactory.d.ts.map +1 -1
  19. package/dist/ts-factory/getClientFactory.js +1 -1
  20. package/dist/ts-factory/getClientFactory.js.map +1 -1
  21. package/dist/ts-factory/getIndexFactory.d.ts +1 -1
  22. package/dist/ts-factory/getIndexFactory.d.ts.map +1 -1
  23. package/dist/ts-factory/getIndexFactory.js +2 -2
  24. package/dist/ts-factory/getIndexFactory.js.map +1 -1
  25. package/dist/ts-factory/getServiceFactory.d.ts +5 -3
  26. package/dist/ts-factory/getServiceFactory.d.ts.map +1 -1
  27. package/dist/ts-factory/getServiceFactory.js +124 -72
  28. package/dist/ts-factory/getServiceFactory.js.map +1 -1
  29. package/dist/ts-factory/getServiceIndexFactory.d.ts +3 -3
  30. package/dist/ts-factory/getServiceIndexFactory.d.ts.map +1 -1
  31. package/dist/ts-factory/getServiceIndexFactory.js +1 -1
  32. package/dist/ts-factory/getServiceIndexFactory.js.map +1 -1
  33. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.d.ts.map +1 -1
  34. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.js +26 -67
  35. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.js.map +1 -1
  36. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.d.ts.map +1 -1
  37. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.js +16 -1
  38. package/dist/ts-factory/service-operation.generated/ServiceOperationFetchQuery.js.map +1 -1
  39. package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.d.ts.map +1 -1
  40. package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.js +6 -10
  41. package/dist/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.js.map +1 -1
  42. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.d.ts.map +1 -1
  43. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.js +6 -10
  44. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryData.js.map +1 -1
  45. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.d.ts.map +1 -1
  46. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.js +6 -10
  47. package/dist/ts-factory/service-operation.generated/ServiceOperationGetQueryState.js.map +1 -1
  48. package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.d.ts.map +1 -1
  49. package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.js +7 -4
  50. package/dist/ts-factory/service-operation.generated/ServiceOperationMutationFn.js.map +1 -1
  51. package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.d.ts.map +1 -1
  52. package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.js +11 -17
  53. package/dist/ts-factory/service-operation.generated/ServiceOperationQueryFn.js.map +1 -1
  54. package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.d.ts.map +1 -1
  55. package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.js +9 -3
  56. package/dist/ts-factory/service-operation.generated/ServiceOperationSetQueryData.js.map +1 -1
  57. package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.d.ts.map +1 -1
  58. package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.js +12 -15
  59. package/dist/ts-factory/service-operation.generated/ServiceOperationUseMutation.js.map +1 -1
  60. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts +6 -0
  61. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.d.ts.map +1 -0
  62. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js +31 -0
  63. package/dist/ts-factory/tsdoc/createOperationMethodTSDocExample.js.map +1 -0
  64. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts +5 -0
  65. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.d.ts.map +1 -0
  66. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js +53 -0
  67. package/dist/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.js.map +1 -0
  68. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts +3 -0
  69. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.d.ts.map +1 -0
  70. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js +41 -0
  71. package/dist/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.js.map +1 -0
  72. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts +3 -0
  73. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.d.ts.map +1 -0
  74. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js +41 -0
  75. package/dist/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.js.map +1 -0
  76. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts +3 -0
  77. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.d.ts.map +1 -0
  78. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js +44 -0
  79. package/dist/ts-factory/tsdoc/createUseMutationOperationTSDocExample.js.map +1 -0
  80. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.d.ts +3 -0
  81. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.d.ts.map +1 -0
  82. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.js +55 -0
  83. package/dist/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.js.map +1 -0
  84. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.d.ts +3 -0
  85. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.d.ts.map +1 -0
  86. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.js +88 -0
  87. package/dist/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.js.map +1 -0
  88. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts +3 -0
  89. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.d.ts.map +1 -0
  90. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js +37 -0
  91. package/dist/ts-factory/tsdoc/createUseQueryOperationTSDocExample.js.map +1 -0
  92. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.d.ts +3 -0
  93. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.d.ts.map +1 -0
  94. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.js +39 -0
  95. package/dist/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.js.map +1 -0
  96. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.d.ts +7 -0
  97. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.d.ts.map +1 -0
  98. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.js +6 -0
  99. package/dist/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.js.map +1 -0
  100. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts +4 -0
  101. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.d.ts.map +1 -0
  102. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js +47 -0
  103. package/dist/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.js.map +1 -0
  104. package/package.json +6 -6
  105. package/src/generateCode.ts +8 -8
  106. package/src/lib/createOperationCommonTSDoc.ts +11 -0
  107. package/src/plugin.ts +8 -3
  108. package/src/ts-factory/filterUnusedTypes.ts +49 -0
  109. package/src/ts-factory/getClientFactory.ts +2 -2
  110. package/src/ts-factory/getIndexFactory.ts +13 -4
  111. package/src/ts-factory/getServiceFactory.ts +213 -139
  112. package/src/ts-factory/getServiceIndexFactory.ts +7 -7
  113. package/src/ts-factory/service-operation.generated/ServiceOperationFetchInfiniteQuery.ts +101 -190
  114. package/src/ts-factory/service-operation.generated/ServiceOperationFetchQuery.ts +80 -0
  115. package/src/ts-factory/service-operation.generated/ServiceOperationGetInfiniteQueryData.ts +28 -41
  116. package/src/ts-factory/service-operation.generated/ServiceOperationGetQueryData.ts +28 -41
  117. package/src/ts-factory/service-operation.generated/ServiceOperationGetQueryState.ts +28 -41
  118. package/src/ts-factory/service-operation.generated/ServiceOperationMutationFn.ts +23 -22
  119. package/src/ts-factory/service-operation.generated/ServiceOperationQueryFn.ts +49 -70
  120. package/src/ts-factory/service-operation.generated/ServiceOperationSetQueryData.ts +34 -10
  121. package/src/ts-factory/service-operation.generated/ServiceOperationUseMutation.ts +42 -59
  122. package/src/ts-factory/tsdoc/createOperationMethodTSDocExample.ts +65 -0
  123. package/src/ts-factory/tsdoc/createUseInfiniteQueryOperationTSDocExample.ts +135 -0
  124. package/src/ts-factory/tsdoc/createUseIsFetchingOperationTSDocExample.ts +81 -0
  125. package/src/ts-factory/tsdoc/createUseIsMutatingOperationTSDocExample.ts +74 -0
  126. package/src/ts-factory/tsdoc/createUseMutationOperationTSDocExample.ts +88 -0
  127. package/src/ts-factory/tsdoc/createUseMutationStateOperationTSDocExample.ts +154 -0
  128. package/src/ts-factory/tsdoc/createUseQueriesOperationTSDocExample.ts +292 -0
  129. package/src/ts-factory/tsdoc/createUseQueryOperationTSDocExample.ts +76 -0
  130. package/src/ts-factory/tsdoc/createUseSuspenseInfiniteQueryOperationTSDocExample.ts +63 -0
  131. package/src/ts-factory/tsdoc/lib/createOperationMethodCallExpressionExampleNode.ts +28 -0
  132. package/src/ts-factory/tsdoc/lib/createOperationMethodParametersExampleNodes.ts +83 -0
@@ -73,24 +73,7 @@ export const createServiceOperationMutationFnNodes = () => [
73
73
  ],
74
74
  undefined,
75
75
  [factory.createCallSignature(
76
- [factory.createTypeParameterDeclaration(
77
- undefined,
78
- factory.createIdentifier("TOptions"),
79
- factory.createTypeReferenceNode(
80
- factory.createIdentifier("ServiceOperationMutationFnOptions"),
81
- [
82
- factory.createTypeReferenceNode(
83
- factory.createIdentifier("TBody"),
84
- undefined
85
- ),
86
- factory.createTypeReferenceNode(
87
- factory.createIdentifier("TParams"),
88
- undefined
89
- )
90
- ]
91
- ),
92
- undefined
93
- )],
76
+ undefined,
94
77
  [
95
78
  factory.createParameterDeclaration(
96
79
  undefined,
@@ -98,8 +81,17 @@ export const createServiceOperationMutationFnNodes = () => [
98
81
  factory.createIdentifier("options"),
99
82
  undefined,
100
83
  factory.createTypeReferenceNode(
101
- factory.createIdentifier("TOptions"),
102
- undefined
84
+ factory.createIdentifier("ServiceOperationMutationFnOptions"),
85
+ [
86
+ factory.createTypeReferenceNode(
87
+ factory.createIdentifier("TBody"),
88
+ undefined
89
+ ),
90
+ factory.createTypeReferenceNode(
91
+ factory.createIdentifier("TParams"),
92
+ undefined
93
+ )
94
+ ]
103
95
  ),
104
96
  undefined
105
97
  ),
@@ -128,8 +120,17 @@ export const createServiceOperationMutationFnNodes = () => [
128
120
  factory.createIdentifier("options"),
129
121
  undefined,
130
122
  factory.createTypeReferenceNode(
131
- factory.createIdentifier("TOptions"),
132
- undefined
123
+ factory.createIdentifier("ServiceOperationMutationFnOptions"),
124
+ [
125
+ factory.createTypeReferenceNode(
126
+ factory.createIdentifier("TBody"),
127
+ undefined
128
+ ),
129
+ factory.createTypeReferenceNode(
130
+ factory.createIdentifier("TParams"),
131
+ undefined
132
+ )
133
+ ]
133
134
  ),
134
135
  undefined
135
136
  )
@@ -109,57 +109,57 @@ export const createServiceOperationQueryFnNodes = () => [
109
109
  undefined,
110
110
  factory.createIdentifier("options"),
111
111
  undefined,
112
- factory.createConditionalTypeNode(
112
+ factory.createUnionTypeNode([
113
113
  factory.createTypeReferenceNode(
114
- factory.createIdentifier("AreAllOptional"),
115
- [factory.createTypeReferenceNode(
116
- factory.createIdentifier("TParams"),
117
- undefined
118
- )]
114
+ factory.createIdentifier("QueryFnOptionsByQueryKey"),
115
+ [
116
+ factory.createTypeReferenceNode(
117
+ factory.createIdentifier("TSchema"),
118
+ undefined
119
+ ),
120
+ factory.createTypeReferenceNode(
121
+ factory.createIdentifier("TParams"),
122
+ undefined
123
+ ),
124
+ factory.createTypeReferenceNode(
125
+ factory.createIdentifier("TMeta"),
126
+ undefined
127
+ ),
128
+ factory.createTypeReferenceNode(
129
+ factory.createIdentifier("TSignal"),
130
+ undefined
131
+ )
132
+ ]
119
133
  ),
120
- factory.createLiteralTypeNode(factory.createTrue()),
121
- factory.createUnionTypeNode([
122
- factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword),
134
+ factory.createParenthesizedType(factory.createConditionalTypeNode(
123
135
  factory.createTypeReferenceNode(
124
- factory.createIdentifier("QueryFnOptionsByParameters"),
125
- [
126
- factory.createTypeReferenceNode(
127
- factory.createIdentifier("TParams"),
128
- undefined
129
- ),
130
- factory.createTypeReferenceNode(
131
- factory.createIdentifier("TMeta"),
132
- undefined
133
- ),
134
- factory.createTypeReferenceNode(
135
- factory.createIdentifier("TSignal"),
136
- undefined
137
- )
138
- ]
136
+ factory.createIdentifier("AreAllOptional"),
137
+ [factory.createTypeReferenceNode(
138
+ factory.createIdentifier("TParams"),
139
+ undefined
140
+ )]
139
141
  ),
140
- factory.createTypeReferenceNode(
141
- factory.createIdentifier("QueryFnOptionsByQueryKey"),
142
- [
143
- factory.createTypeReferenceNode(
144
- factory.createIdentifier("TSchema"),
145
- undefined
146
- ),
147
- factory.createTypeReferenceNode(
148
- factory.createIdentifier("TParams"),
149
- undefined
150
- ),
151
- factory.createTypeReferenceNode(
152
- factory.createIdentifier("TMeta"),
153
- undefined
154
- ),
155
- factory.createTypeReferenceNode(
156
- factory.createIdentifier("TSignal"),
157
- undefined
158
- )
159
- ]
160
- )
161
- ]),
162
- factory.createUnionTypeNode([
142
+ factory.createLiteralTypeNode(factory.createTrue()),
143
+ factory.createUnionTypeNode([
144
+ factory.createTypeReferenceNode(
145
+ factory.createIdentifier("QueryFnOptionsByParameters"),
146
+ [
147
+ factory.createTypeReferenceNode(
148
+ factory.createIdentifier("TParams"),
149
+ undefined
150
+ ),
151
+ factory.createTypeReferenceNode(
152
+ factory.createIdentifier("TMeta"),
153
+ undefined
154
+ ),
155
+ factory.createTypeReferenceNode(
156
+ factory.createIdentifier("TSignal"),
157
+ undefined
158
+ )
159
+ ]
160
+ ),
161
+ factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
162
+ ]),
163
163
  factory.createTypeReferenceNode(
164
164
  factory.createIdentifier("QueryFnOptionsByParameters"),
165
165
  [
@@ -176,30 +176,9 @@ export const createServiceOperationQueryFnNodes = () => [
176
176
  undefined
177
177
  )
178
178
  ]
179
- ),
180
- factory.createTypeReferenceNode(
181
- factory.createIdentifier("QueryFnOptionsByQueryKey"),
182
- [
183
- factory.createTypeReferenceNode(
184
- factory.createIdentifier("TSchema"),
185
- undefined
186
- ),
187
- factory.createTypeReferenceNode(
188
- factory.createIdentifier("TParams"),
189
- undefined
190
- ),
191
- factory.createTypeReferenceNode(
192
- factory.createIdentifier("TMeta"),
193
- undefined
194
- ),
195
- factory.createTypeReferenceNode(
196
- factory.createIdentifier("TSignal"),
197
- undefined
198
- )
199
- ]
200
179
  )
201
- ])
202
- ),
180
+ ))
181
+ ]),
203
182
  undefined
204
183
  ),
205
184
  factory.createParameterDeclaration(
@@ -7,11 +7,18 @@ export const createServiceOperationSetQueryDataNodes = () => [
7
7
  factory.createImportClause(
8
8
  true,
9
9
  undefined,
10
- factory.createNamedImports([factory.createImportSpecifier(
11
- false,
12
- undefined,
13
- factory.createIdentifier("ServiceOperationQueryKey")
14
- )])
10
+ factory.createNamedImports([
11
+ factory.createImportSpecifier(
12
+ false,
13
+ undefined,
14
+ factory.createIdentifier("AreAllOptional")
15
+ ),
16
+ factory.createImportSpecifier(
17
+ false,
18
+ undefined,
19
+ factory.createIdentifier("ServiceOperationQueryKey")
20
+ )
21
+ ])
15
22
  ),
16
23
  factory.createStringLiteral("@openapi-qraft/tanstack-query-react-types"),
17
24
  undefined
@@ -75,7 +82,7 @@ export const createServiceOperationSetQueryDataNodes = () => [
75
82
  undefined,
76
83
  factory.createIdentifier("TParams"),
77
84
  undefined,
78
- factory.createTypeLiteralNode([])
85
+ undefined
79
86
  )
80
87
  ],
81
88
  undefined,
@@ -91,10 +98,27 @@ export const createServiceOperationSetQueryDataNodes = () => [
91
98
  factory.createIdentifier("parameters"),
92
99
  undefined,
93
100
  factory.createUnionTypeNode([
94
- factory.createTypeReferenceNode(
95
- factory.createIdentifier("TParams"),
96
- undefined
97
- ),
101
+ factory.createParenthesizedType(factory.createConditionalTypeNode(
102
+ factory.createTypeReferenceNode(
103
+ factory.createIdentifier("AreAllOptional"),
104
+ [factory.createTypeReferenceNode(
105
+ factory.createIdentifier("TParams"),
106
+ undefined
107
+ )]
108
+ ),
109
+ factory.createLiteralTypeNode(factory.createTrue()),
110
+ factory.createUnionTypeNode([
111
+ factory.createTypeReferenceNode(
112
+ factory.createIdentifier("TParams"),
113
+ undefined
114
+ ),
115
+ factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword)
116
+ ]),
117
+ factory.createTypeReferenceNode(
118
+ factory.createIdentifier("TParams"),
119
+ undefined
120
+ )
121
+ )),
98
122
  factory.createTypeReferenceNode(
99
123
  factory.createIdentifier("ServiceOperationQueryKey"),
100
124
  [
@@ -139,17 +139,8 @@ export const createServiceOperationUseMutationNodes = () => [
139
139
  undefined,
140
140
  factory.createIdentifier("TVariables"),
141
141
  factory.createTypeReferenceNode(
142
- factory.createIdentifier("MutationVariables"),
143
- [
144
- factory.createTypeReferenceNode(
145
- factory.createIdentifier("TBody"),
146
- undefined
147
- ),
148
- factory.createTypeReferenceNode(
149
- factory.createIdentifier("TParams"),
150
- undefined
151
- )
152
- ]
142
+ factory.createIdentifier("TBody"),
143
+ undefined
153
144
  ),
154
145
  undefined
155
146
  ),
@@ -165,8 +156,11 @@ export const createServiceOperationUseMutationNodes = () => [
165
156
  undefined,
166
157
  undefined,
167
158
  factory.createIdentifier("parameters"),
168
- factory.createToken(ts.SyntaxKind.QuestionToken),
169
- factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),
159
+ undefined,
160
+ factory.createTypeReferenceNode(
161
+ factory.createIdentifier("TParams"),
162
+ undefined
163
+ ),
170
164
  undefined
171
165
  ),
172
166
  factory.createParameterDeclaration(
@@ -223,9 +217,26 @@ export const createServiceOperationUseMutationNodes = () => [
223
217
  undefined
224
218
  )
225
219
  ]),
226
- factory.createTypeReferenceNode(
227
- factory.createIdentifier("TVariables"),
228
- undefined
220
+ factory.createConditionalTypeNode(
221
+ factory.createTypeReferenceNode(
222
+ factory.createIdentifier("AreAllOptional"),
223
+ [factory.createTypeReferenceNode(
224
+ factory.createIdentifier("TVariables"),
225
+ undefined
226
+ )]
227
+ ),
228
+ factory.createLiteralTypeNode(factory.createTrue()),
229
+ factory.createUnionTypeNode([
230
+ factory.createTypeReferenceNode(
231
+ factory.createIdentifier("TVariables"),
232
+ undefined
233
+ ),
234
+ factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
235
+ ]),
236
+ factory.createTypeReferenceNode(
237
+ factory.createIdentifier("TVariables"),
238
+ undefined
239
+ )
229
240
  ),
230
241
  factory.createTypeReferenceNode(
231
242
  factory.createIdentifier("TContext"),
@@ -243,8 +254,17 @@ export const createServiceOperationUseMutationNodes = () => [
243
254
  undefined,
244
255
  factory.createIdentifier("TVariables"),
245
256
  factory.createTypeReferenceNode(
246
- factory.createIdentifier("TBody"),
247
- undefined
257
+ factory.createIdentifier("MutationVariables"),
258
+ [
259
+ factory.createTypeReferenceNode(
260
+ factory.createIdentifier("TBody"),
261
+ undefined
262
+ ),
263
+ factory.createTypeReferenceNode(
264
+ factory.createIdentifier("TParams"),
265
+ undefined
266
+ )
267
+ ]
248
268
  ),
249
269
  undefined
250
270
  ),
@@ -261,27 +281,7 @@ export const createServiceOperationUseMutationNodes = () => [
261
281
  undefined,
262
282
  factory.createIdentifier("parameters"),
263
283
  undefined,
264
- factory.createConditionalTypeNode(
265
- factory.createTypeReferenceNode(
266
- factory.createIdentifier("AreAllOptional"),
267
- [factory.createTypeReferenceNode(
268
- factory.createIdentifier("TParams"),
269
- undefined
270
- )]
271
- ),
272
- factory.createLiteralTypeNode(factory.createTrue()),
273
- factory.createUnionTypeNode([
274
- factory.createTypeReferenceNode(
275
- factory.createIdentifier("TParams"),
276
- undefined
277
- ),
278
- factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
279
- ]),
280
- factory.createTypeReferenceNode(
281
- factory.createIdentifier("TParams"),
282
- undefined
283
- )
284
- ),
284
+ factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword),
285
285
  undefined
286
286
  ),
287
287
  factory.createParameterDeclaration(
@@ -338,26 +338,9 @@ export const createServiceOperationUseMutationNodes = () => [
338
338
  undefined
339
339
  )
340
340
  ]),
341
- factory.createConditionalTypeNode(
342
- factory.createTypeReferenceNode(
343
- factory.createIdentifier("AreAllOptional"),
344
- [factory.createTypeReferenceNode(
345
- factory.createIdentifier("TVariables"),
346
- undefined
347
- )]
348
- ),
349
- factory.createLiteralTypeNode(factory.createTrue()),
350
- factory.createUnionTypeNode([
351
- factory.createTypeReferenceNode(
352
- factory.createIdentifier("TVariables"),
353
- undefined
354
- ),
355
- factory.createKeywordTypeNode(ts.SyntaxKind.VoidKeyword)
356
- ]),
357
- factory.createTypeReferenceNode(
358
- factory.createIdentifier("TVariables"),
359
- undefined
360
- )
341
+ factory.createTypeReferenceNode(
342
+ factory.createIdentifier("TVariables"),
343
+ undefined
361
344
  ),
362
345
  factory.createTypeReferenceNode(
363
346
  factory.createIdentifier("TContext"),
@@ -0,0 +1,65 @@
1
+ import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/OpenAPIService';
2
+ import { createUseInfiniteQueryOperationTSDocExample } from './createUseInfiniteQueryOperationTSDocExample.js';
3
+ import { createUseIsFetchingOperationTSDocExample } from './createUseIsFetchingOperationTSDocExample.js';
4
+ import { createUseIsMutatingOperationTSDocExample } from './createUseIsMutatingOperationTSDocExample.js';
5
+ import { createUseMutationOperationTSDocExample } from './createUseMutationOperationTSDocExample.js';
6
+ import { createUseMutationStateOperationTSDocExample } from './createUseMutationStateOperationTSDocExample.js';
7
+ import { createUseQueriesOperationTSDocExample } from './createUseQueriesOperationTSDocExample.js';
8
+ import { createUseQueryOperationTSDocExample } from './createUseQueryOperationTSDocExample.js';
9
+ import { createUseSuspenseInfiniteQueryOperationTSDocExample } from './createUseSuspenseInfiniteQueryOperationTSDocExample.js';
10
+
11
+ export const createOperationMethodTSDocExample = (
12
+ operation: ServiceOperation,
13
+ {
14
+ serviceVariableName,
15
+ operationMethodName,
16
+ }: {
17
+ serviceVariableName: string;
18
+ operationMethodName: string;
19
+ }
20
+ ) => {
21
+ switch (operationMethodName) {
22
+ case 'useQuery':
23
+ return createUseQueryOperationTSDocExample(
24
+ operation,
25
+ serviceVariableName
26
+ );
27
+ case 'useMutation':
28
+ return createUseMutationOperationTSDocExample(
29
+ operation,
30
+ serviceVariableName
31
+ );
32
+ case 'useInfiniteQuery':
33
+ return createUseInfiniteQueryOperationTSDocExample(
34
+ operation,
35
+ serviceVariableName
36
+ );
37
+ case 'useIsFetching':
38
+ return createUseIsFetchingOperationTSDocExample(
39
+ operation,
40
+ serviceVariableName
41
+ );
42
+ case 'useIsMutating':
43
+ return createUseIsMutatingOperationTSDocExample(
44
+ operation,
45
+ serviceVariableName
46
+ );
47
+ case 'useMutationState':
48
+ return createUseMutationStateOperationTSDocExample(
49
+ operation,
50
+ serviceVariableName
51
+ );
52
+ case 'useQueries':
53
+ return createUseQueriesOperationTSDocExample(
54
+ operation,
55
+ serviceVariableName
56
+ );
57
+ case 'useSuspenseInfiniteQuery':
58
+ return createUseSuspenseInfiniteQueryOperationTSDocExample(
59
+ operation,
60
+ serviceVariableName
61
+ );
62
+ default:
63
+ return undefined;
64
+ }
65
+ };
@@ -0,0 +1,135 @@
1
+ import { ServiceOperation } from '@openapi-qraft/plugin/lib/open-api/OpenAPIService';
2
+ import camelcase from 'camelcase';
3
+ import ts from 'typescript';
4
+ import { astToString } from '../astToString.js';
5
+ import { createOperationMethodCallExpressionExampleNode } from './lib/createOperationMethodCallExpressionExampleNode.js';
6
+ import { createOperationMethodParametersExampleNodes } from './lib/createOperationMethodParametersExampleNodes.js';
7
+
8
+ export const createUseInfiniteQueryOperationTSDocExample = (
9
+ operation: ServiceOperation,
10
+ serviceVariableName: string
11
+ ): string[] => {
12
+ const factory = ts.factory;
13
+
14
+ const commonTSDoc = [
15
+ 'Performs asynchronous data fetching with support for infinite scrolling scenarios.',
16
+ 'Manages paginated data and provides utilities for fetching additional pages.',
17
+ '',
18
+ '@see {@link https://openapi-qraft.github.io/openapi-qraft/docs/hooks/useInfiniteQuery|`useInfiniteQuery(...)` documentation}',
19
+ '',
20
+ ];
21
+
22
+ return [
23
+ ...commonTSDoc,
24
+ '@example Infinite Query',
25
+ '```ts',
26
+ ...(
27
+ 'const { data, isLoading, fetchNextPage } = ' +
28
+ astToString(
29
+ createOperationMethodCallExpressionExampleNode(
30
+ operation,
31
+ {
32
+ serviceVariableName,
33
+ operationMethodName: 'useInfiniteQuery',
34
+ },
35
+ [
36
+ factory.createObjectLiteralExpression(
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
+ ),
49
+ true
50
+ ),
51
+ ]
52
+ )
53
+ )
54
+ )
55
+ .trim()
56
+ .split('\n'),
57
+ '',
58
+ 'console.log(data);',
59
+ 'fetchNextPage(); // Fetch the next page',
60
+ '```',
61
+ ];
62
+ };
63
+
64
+ export function createInfiniteQueryOptionsArgumentExamplePropertyAssignmentNodes(
65
+ operation: ServiceOperation
66
+ ): ts.PropertyAssignment[] {
67
+ const factory = ts.factory;
68
+
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'
78
+ ),
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(
93
+ undefined,
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
115
+ ),
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')]
131
+ )
132
+ )
133
+ ),
134
+ ];
135
+ }