@kubb/plugin-react-query 4.0.0 → 4.1.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 (33) hide show
  1. package/dist/{components-DzT-kLe8.cjs → components-DkiO4xNZ.cjs} +283 -229
  2. package/dist/components-DkiO4xNZ.cjs.map +1 -0
  3. package/dist/{components-C51l7G1u.js → components-Dz_s6t75.js} +276 -228
  4. package/dist/components-Dz_s6t75.js.map +1 -0
  5. package/dist/components.cjs +2 -1
  6. package/dist/components.d.cts +136 -106
  7. package/dist/components.d.ts +136 -106
  8. package/dist/components.js +2 -2
  9. package/dist/{generators-Bko771xm.cjs → generators-BiW_MevM.cjs} +27 -9
  10. package/dist/generators-BiW_MevM.cjs.map +1 -0
  11. package/dist/{generators-B3xZ2QoY.js → generators-ByqomtgH.js} +25 -7
  12. package/dist/generators-ByqomtgH.js.map +1 -0
  13. package/dist/generators.cjs +2 -2
  14. package/dist/generators.js +2 -2
  15. package/dist/index.cjs +2 -2
  16. package/dist/index.js +2 -2
  17. package/package.json +9 -10
  18. package/src/components/InfiniteQuery.tsx +21 -14
  19. package/src/components/InfiniteQueryOptions.tsx +19 -7
  20. package/src/components/Mutation.tsx +12 -40
  21. package/src/components/MutationOptions.tsx +113 -0
  22. package/src/components/index.ts +4 -3
  23. package/src/generators/__snapshots__/clientPostImportPath.ts +25 -12
  24. package/src/generators/__snapshots__/findInfiniteByTags.ts +14 -8
  25. package/src/generators/__snapshots__/findInfiniteByTagsCursor.ts +14 -8
  26. package/src/generators/__snapshots__/updatePetById.ts +25 -12
  27. package/src/generators/__snapshots__/updatePetByIdPathParamsObject.ts +25 -12
  28. package/src/generators/infiniteQueryGenerator.tsx +1 -0
  29. package/src/generators/mutationGenerator.tsx +18 -2
  30. package/dist/components-C51l7G1u.js.map +0 -1
  31. package/dist/components-DzT-kLe8.cjs.map +0 -1
  32. package/dist/generators-B3xZ2QoY.js.map +0 -1
  33. package/dist/generators-Bko771xm.cjs.map +0 -1
@@ -45,80 +45,122 @@ declare class FunctionParams {
45
45
  toConstructor(): string;
46
46
  }
47
47
  //#endregion
48
- //#region src/components/Mutation.d.ts
49
- type Props$7 = {
48
+ //#region src/components/InfiniteQuery.d.ts
49
+ type Props$8 = {
50
50
  /**
51
51
  * Name of the function
52
52
  */
53
53
  name: string;
54
- typeName: string;
55
- clientName: string;
56
- mutationKeyName: string;
54
+ queryOptionsName: string;
55
+ queryKeyName: string;
56
+ queryKeyTypeName: string;
57
57
  typeSchemas: OperationSchemas;
58
58
  operation: Operation;
59
- dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
60
59
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
61
60
  paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
62
61
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
62
+ dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
63
+ queryParam?: Infinite['queryParam'];
63
64
  };
64
- declare function Mutation({
65
+ type GetParamsProps$7 = {
66
+ paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
67
+ paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
68
+ pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
69
+ typeSchemas: OperationSchemas;
70
+ pageParamGeneric: string;
71
+ };
72
+ declare function InfiniteQuery({
65
73
  name,
66
- clientName,
67
- paramsCasing,
74
+ queryKeyTypeName,
75
+ queryOptionsName,
76
+ queryKeyName,
68
77
  paramsType,
78
+ paramsCasing,
69
79
  pathParamsType,
70
80
  dataReturnType,
71
81
  typeSchemas,
72
82
  operation,
73
- mutationKeyName
74
- }: Props$7): ReactNode;
83
+ queryParam
84
+ }: Props$8): ReactNode;
85
+ declare namespace InfiniteQuery {
86
+ var getParams: ({
87
+ paramsType,
88
+ paramsCasing,
89
+ pathParamsType,
90
+ typeSchemas,
91
+ pageParamGeneric
92
+ }: GetParamsProps$7) => FunctionParams;
93
+ }
75
94
  //#endregion
76
- //#region src/components/Query.d.ts
77
- type Props$6 = {
78
- /**
79
- * Name of the function
80
- */
95
+ //#region src/components/InfiniteQueryOptions.d.ts
96
+ type Props$7 = {
81
97
  name: string;
82
- queryOptionsName: string;
98
+ clientName: string;
83
99
  queryKeyName: string;
84
- queryKeyTypeName: string;
85
100
  typeSchemas: OperationSchemas;
86
- operation: Operation;
87
101
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
88
102
  paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
89
103
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
90
104
  dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
105
+ initialPageParam: Infinite['initialPageParam'];
106
+ cursorParam: Infinite['cursorParam'];
107
+ queryParam: Infinite['queryParam'];
91
108
  };
92
109
  type GetParamsProps$6 = {
93
110
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
94
111
  paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
95
112
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
96
- dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
97
113
  typeSchemas: OperationSchemas;
98
114
  };
99
- declare function Query({
115
+ declare function InfiniteQueryOptions({
100
116
  name,
101
- queryKeyTypeName,
102
- queryOptionsName,
103
- queryKeyName,
104
- paramsType,
117
+ clientName,
118
+ initialPageParam,
119
+ cursorParam,
120
+ typeSchemas,
105
121
  paramsCasing,
106
- pathParamsType,
122
+ paramsType,
107
123
  dataReturnType,
108
- typeSchemas,
109
- operation
110
- }: Props$6): ReactNode;
111
- declare namespace Query {
124
+ pathParamsType,
125
+ queryParam,
126
+ queryKeyName
127
+ }: Props$7): ReactNode;
128
+ declare namespace InfiniteQueryOptions {
112
129
  var getParams: ({
113
130
  paramsType,
114
131
  paramsCasing,
115
132
  pathParamsType,
116
- dataReturnType,
117
133
  typeSchemas
118
134
  }: GetParamsProps$6) => FunctionParams;
119
135
  }
120
136
  //#endregion
121
- //#region src/components/QueryKey.d.ts
137
+ //#region src/components/Mutation.d.ts
138
+ type Props$6 = {
139
+ /**
140
+ * Name of the function
141
+ */
142
+ name: string;
143
+ typeName: string;
144
+ mutationOptionsName: string;
145
+ mutationKeyName: string;
146
+ typeSchemas: OperationSchemas;
147
+ operation: Operation;
148
+ dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
149
+ paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
150
+ pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
151
+ };
152
+ declare function Mutation({
153
+ name,
154
+ mutationOptionsName,
155
+ paramsCasing,
156
+ pathParamsType,
157
+ dataReturnType,
158
+ typeSchemas,
159
+ operation,
160
+ mutationKeyName
161
+ }: Props$6): ReactNode;
162
+ //#endregion
163
+ //#region src/components/MutationKey.d.ts
122
164
  type Props$5 = {
123
165
  name: string;
124
166
  typeName: string;
@@ -129,62 +171,64 @@ type Props$5 = {
129
171
  transformer: Transformer | undefined;
130
172
  };
131
173
  type GetParamsProps$5 = {
132
- paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
133
174
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
134
175
  typeSchemas: OperationSchemas;
135
176
  };
136
- declare function QueryKey({
177
+ declare function MutationKey({
137
178
  name,
138
179
  typeSchemas,
139
- paramsCasing,
140
180
  pathParamsType,
181
+ paramsCasing,
141
182
  operation,
142
183
  typeName,
143
184
  transformer
144
185
  }: Props$5): ReactNode;
145
- declare namespace QueryKey {
146
- var getParams: ({
147
- pathParamsType,
148
- paramsCasing,
149
- typeSchemas
150
- }: GetParamsProps$5) => FunctionParams;
186
+ declare namespace MutationKey {
187
+ var getParams: ({}: GetParamsProps$5) => FunctionParams;
151
188
  var getTransformer: Transformer;
152
189
  }
153
190
  //#endregion
154
- //#region src/components/MutationKey.d.ts
191
+ //#region src/components/MutationOptions.d.ts
155
192
  type Props$4 = {
156
193
  name: string;
157
- typeName: string;
194
+ clientName: string;
195
+ mutationKeyName: string;
158
196
  typeSchemas: OperationSchemas;
159
- operation: Operation;
160
197
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
198
+ paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
161
199
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
162
- transformer: Transformer | undefined;
200
+ dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
163
201
  };
164
202
  type GetParamsProps$4 = {
165
- pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
166
203
  typeSchemas: OperationSchemas;
167
204
  };
168
- declare function MutationKey({
205
+ declare function MutationOptions({
169
206
  name,
207
+ clientName,
208
+ dataReturnType,
170
209
  typeSchemas,
171
- pathParamsType,
172
210
  paramsCasing,
173
- operation,
174
- typeName,
175
- transformer
176
- }: Props$4): ReactNode;
177
- declare namespace MutationKey {
178
- var getParams: ({}: GetParamsProps$4) => FunctionParams;
179
- var getTransformer: Transformer;
211
+ paramsType,
212
+ pathParamsType,
213
+ mutationKeyName
214
+ }: Props$4): any;
215
+ declare namespace MutationOptions {
216
+ var getParams: ({
217
+ typeSchemas
218
+ }: GetParamsProps$4) => FunctionParams;
180
219
  }
181
220
  //#endregion
182
- //#region src/components/QueryOptions.d.ts
221
+ //#region src/components/Query.d.ts
183
222
  type Props$3 = {
223
+ /**
224
+ * Name of the function
225
+ */
184
226
  name: string;
185
- clientName: string;
227
+ queryOptionsName: string;
186
228
  queryKeyName: string;
229
+ queryKeyTypeName: string;
187
230
  typeSchemas: OperationSchemas;
231
+ operation: Operation;
188
232
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
189
233
  paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
190
234
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
@@ -194,110 +238,96 @@ type GetParamsProps$3 = {
194
238
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
195
239
  paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
196
240
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
241
+ dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
197
242
  typeSchemas: OperationSchemas;
198
243
  };
199
- declare function QueryOptions({
244
+ declare function Query({
200
245
  name,
201
- clientName,
202
- dataReturnType,
203
- typeSchemas,
204
- paramsCasing,
246
+ queryKeyTypeName,
247
+ queryOptionsName,
248
+ queryKeyName,
205
249
  paramsType,
250
+ paramsCasing,
206
251
  pathParamsType,
207
- queryKeyName
208
- }: Props$3): any;
209
- declare namespace QueryOptions {
252
+ dataReturnType,
253
+ typeSchemas,
254
+ operation
255
+ }: Props$3): ReactNode;
256
+ declare namespace Query {
210
257
  var getParams: ({
211
258
  paramsType,
212
259
  paramsCasing,
213
260
  pathParamsType,
261
+ dataReturnType,
214
262
  typeSchemas
215
263
  }: GetParamsProps$3) => FunctionParams;
216
264
  }
217
265
  //#endregion
218
- //#region src/components/InfiniteQueryOptions.d.ts
266
+ //#region src/components/QueryKey.d.ts
219
267
  type Props$2 = {
220
268
  name: string;
221
- clientName: string;
222
- queryKeyName: string;
269
+ typeName: string;
223
270
  typeSchemas: OperationSchemas;
271
+ operation: Operation;
224
272
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
225
- paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
226
273
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
227
- dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
228
- initialPageParam: Infinite['initialPageParam'];
229
- cursorParam: Infinite['cursorParam'];
230
- queryParam: Infinite['queryParam'];
274
+ transformer: Transformer | undefined;
231
275
  };
232
276
  type GetParamsProps$2 = {
233
277
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
234
- paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
235
278
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
236
279
  typeSchemas: OperationSchemas;
237
280
  };
238
- declare function InfiniteQueryOptions({
281
+ declare function QueryKey({
239
282
  name,
240
- clientName,
241
- initialPageParam,
242
- cursorParam,
243
283
  typeSchemas,
244
284
  paramsCasing,
245
- paramsType,
246
- dataReturnType,
247
285
  pathParamsType,
248
- queryParam,
249
- queryKeyName
286
+ operation,
287
+ typeName,
288
+ transformer
250
289
  }: Props$2): ReactNode;
251
- declare namespace InfiniteQueryOptions {
290
+ declare namespace QueryKey {
252
291
  var getParams: ({
253
- paramsType,
254
- paramsCasing,
255
292
  pathParamsType,
293
+ paramsCasing,
256
294
  typeSchemas
257
295
  }: GetParamsProps$2) => FunctionParams;
296
+ var getTransformer: Transformer;
258
297
  }
259
298
  //#endregion
260
- //#region src/components/InfiniteQuery.d.ts
299
+ //#region src/components/QueryOptions.d.ts
261
300
  type Props$1 = {
262
- /**
263
- * Name of the function
264
- */
265
301
  name: string;
266
- queryOptionsName: string;
302
+ clientName: string;
267
303
  queryKeyName: string;
268
- queryKeyTypeName: string;
269
304
  typeSchemas: OperationSchemas;
270
- operation: Operation;
271
305
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
272
306
  paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
273
307
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
274
308
  dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
275
309
  };
276
310
  type GetParamsProps$1 = {
277
- paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
278
311
  paramsCasing: PluginReactQuery['resolvedOptions']['paramsCasing'];
312
+ paramsType: PluginReactQuery['resolvedOptions']['paramsType'];
279
313
  pathParamsType: PluginReactQuery['resolvedOptions']['pathParamsType'];
280
- dataReturnType: PluginReactQuery['resolvedOptions']['client']['dataReturnType'];
281
314
  typeSchemas: OperationSchemas;
282
315
  };
283
- declare function InfiniteQuery({
316
+ declare function QueryOptions({
284
317
  name,
285
- queryKeyTypeName,
286
- queryOptionsName,
287
- queryKeyName,
288
- paramsType,
289
- paramsCasing,
290
- pathParamsType,
318
+ clientName,
291
319
  dataReturnType,
292
320
  typeSchemas,
293
- operation
294
- }: Props$1): ReactNode;
295
- declare namespace InfiniteQuery {
321
+ paramsCasing,
322
+ paramsType,
323
+ pathParamsType,
324
+ queryKeyName
325
+ }: Props$1): any;
326
+ declare namespace QueryOptions {
296
327
  var getParams: ({
297
328
  paramsType,
298
329
  paramsCasing,
299
330
  pathParamsType,
300
- dataReturnType,
301
331
  typeSchemas
302
332
  }: GetParamsProps$1) => FunctionParams;
303
333
  }
@@ -354,5 +384,5 @@ declare namespace SuspenseQuery {
354
384
  }: GetParamsProps) => FunctionParams;
355
385
  }
356
386
  //#endregion
357
- export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions, SuspenseQuery };
387
+ export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, MutationOptions, Query, QueryKey, QueryOptions, SuspenseQuery };
358
388
  //# sourceMappingURL=components.d.ts.map
@@ -1,3 +1,3 @@
1
- import { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions, SuspenseQuery } from "./components-C51l7G1u.js";
1
+ import { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, MutationOptions, Query, QueryKey, QueryOptions, SuspenseQuery } from "./components-Dz_s6t75.js";
2
2
 
3
- export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions, SuspenseQuery };
3
+ export { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, MutationOptions, Query, QueryKey, QueryOptions, SuspenseQuery };
@@ -1,18 +1,18 @@
1
- const require_components = require('./components-DzT-kLe8.cjs');
1
+ const require_components = require('./components-DkiO4xNZ.cjs');
2
2
  let __kubb_plugin_oas = require("@kubb/plugin-oas");
3
3
  __kubb_plugin_oas = require_components.__toESM(__kubb_plugin_oas);
4
4
  let __kubb_plugin_ts = require("@kubb/plugin-ts");
5
5
  __kubb_plugin_ts = require_components.__toESM(__kubb_plugin_ts);
6
6
  let __kubb_plugin_zod = require("@kubb/plugin-zod");
7
7
  __kubb_plugin_zod = require_components.__toESM(__kubb_plugin_zod);
8
- let __kubb_react = require("@kubb/react");
9
- __kubb_react = require_components.__toESM(__kubb_react);
10
- let __kubb_plugin_client_components = require("@kubb/plugin-client/components");
11
- __kubb_plugin_client_components = require_components.__toESM(__kubb_plugin_client_components);
12
8
  let __kubb_plugin_oas_utils = require("@kubb/plugin-oas/utils");
13
9
  __kubb_plugin_oas_utils = require_components.__toESM(__kubb_plugin_oas_utils);
10
+ let __kubb_react = require("@kubb/react");
11
+ __kubb_react = require_components.__toESM(__kubb_react);
14
12
  let __kubb_react_jsx_runtime = require("@kubb/react/jsx-runtime");
15
13
  __kubb_react_jsx_runtime = require_components.__toESM(__kubb_react_jsx_runtime);
14
+ let __kubb_plugin_client_components = require("@kubb/plugin-client/components");
15
+ __kubb_plugin_client_components = require_components.__toESM(__kubb_plugin_client_components);
16
16
  let __kubb_plugin_client = require("@kubb/plugin-client");
17
17
  __kubb_plugin_client = require_components.__toESM(__kubb_plugin_client);
18
18
  let __kubb_plugin_oas_hooks = require("@kubb/plugin-oas/hooks");
@@ -235,6 +235,10 @@ const mutationGenerator = (0, __kubb_plugin_oas.createReactGenerator)({
235
235
  }) : getName(operation, { type: "function" }),
236
236
  file: getFile(operation, { pluginKey: [__kubb_plugin_client.pluginClientName] })
237
237
  };
238
+ const mutationOptions = { name: getName(operation, {
239
+ type: "function",
240
+ suffix: "MutationOptions"
241
+ }) };
238
242
  const mutationKey = {
239
243
  name: getName(operation, {
240
244
  type: "const",
@@ -317,6 +321,20 @@ const mutationGenerator = (0, __kubb_plugin_oas.createReactGenerator)({
317
321
  pathParamsType: options.pathParamsType,
318
322
  parser: options.parser
319
323
  }),
324
+ /* @__PURE__ */ (0, __kubb_react_jsx_runtime.jsx)(__kubb_react.File.Import, {
325
+ name: ["mutationOptions"],
326
+ path: importPath
327
+ }),
328
+ /* @__PURE__ */ (0, __kubb_react_jsx_runtime.jsx)(require_components.MutationOptions, {
329
+ name: mutationOptions.name,
330
+ clientName: client.name,
331
+ mutationKeyName: mutationKey.name,
332
+ typeSchemas: type.schemas,
333
+ paramsCasing: options.paramsCasing,
334
+ paramsType: options.paramsType,
335
+ pathParamsType: options.pathParamsType,
336
+ dataReturnType: options.client.dataReturnType
337
+ }),
320
338
  options.mutation && /* @__PURE__ */ (0, __kubb_react_jsx_runtime.jsxs)(__kubb_react_jsx_runtime.Fragment, { children: [
321
339
  /* @__PURE__ */ (0, __kubb_react_jsx_runtime.jsx)(__kubb_react.File.Import, {
322
340
  name: ["useMutation"],
@@ -329,13 +347,12 @@ const mutationGenerator = (0, __kubb_plugin_oas.createReactGenerator)({
329
347
  }),
330
348
  /* @__PURE__ */ (0, __kubb_react_jsx_runtime.jsx)(require_components.Mutation, {
331
349
  name: mutation.name,
332
- clientName: client.name,
350
+ mutationOptionsName: mutationOptions.name,
333
351
  typeName: mutation.typeName,
334
352
  typeSchemas: type.schemas,
335
353
  operation,
336
354
  dataReturnType: options.client.dataReturnType,
337
355
  paramsCasing: options.paramsCasing,
338
- paramsType: options.paramsType,
339
356
  pathParamsType: options.pathParamsType,
340
357
  mutationKeyName: mutationKey.name
341
358
  })
@@ -530,7 +547,8 @@ const infiniteQueryGenerator = (0, __kubb_plugin_oas.createReactGenerator)({
530
547
  operation,
531
548
  dataReturnType: options.client.dataReturnType,
532
549
  queryKeyName: queryKey.name,
533
- queryKeyTypeName: queryKey.typeName
550
+ queryKeyTypeName: queryKey.typeName,
551
+ queryParam: options.infinite.queryParam
534
552
  })
535
553
  ] })
536
554
  ]
@@ -751,4 +769,4 @@ Object.defineProperty(exports, 'suspenseQueryGenerator', {
751
769
  return suspenseQueryGenerator;
752
770
  }
753
771
  });
754
- //# sourceMappingURL=generators-Bko771xm.cjs.map
772
+ //# sourceMappingURL=generators-BiW_MevM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators-BiW_MevM.cjs","names":["pluginClientName","pluginTsName","pluginZodName","File","QueryKey","Client","QueryOptions","Query","pluginTsName","pluginZodName","pluginClientName","File","MutationKey","Client","MutationOptions","Mutation","pluginClientName","pluginTsName","pluginZodName","File","QueryKey","Client","InfiniteQueryOptions","InfiniteQuery","pluginClientName","pluginTsName","pluginZodName","File","QueryKey","Client","QueryOptions","SuspenseQuery"],"sources":["../src/generators/queryGenerator.tsx","../src/generators/mutationGenerator.tsx","../src/generators/infiniteQueryGenerator.tsx","../src/generators/suspenseQueryGenerator.tsx"],"sourcesContent":["import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { difference } from 'remeda'\nimport { Query, QueryKey, QueryOptions } from '../components'\nimport type { PluginReactQuery } from '../types'\n\nexport const queryGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n pluginManager,\n } = useApp<PluginReactQuery>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(\n (method) => operation.method === method,\n )\n\n const importPath = options.query ? options.query.importPath : '@tanstack/react-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'use' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use' }),\n }\n\n const hasClientPlugin = !!pluginManager.getPluginByKey([pluginClientName])\n const client = {\n name: hasClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginKey: [pluginClientName],\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'QueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'QueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'QueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n // grouping is coming from react-query instead of zod option, we need to pass the options of zod instead\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || isMutation) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n <File.Import name={'fetch'} path={options.client.importPath} />\n {hasClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n transformer={options.queryKey}\n />\n {!hasClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsType={options.paramsType}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType}\n />\n {options.query && (\n <>\n <File.Import name={['useQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'QueryObserverOptions', 'UseQueryResult', 'QueryClient']} path={importPath} isTypeOnly />\n <Query\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { difference } from 'remeda'\nimport { Mutation, MutationKey } from '../components'\nimport { MutationOptions } from '../components/MutationOptions.tsx'\nimport type { PluginReactQuery } from '../types'\n\nexport const mutationGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n pluginManager,\n } = useApp<PluginReactQuery>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method)\n const isMutation =\n !isQuery &&\n difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some((method) => operation.method === method)\n\n const importPath = options.mutation ? options.mutation.importPath : '@tanstack/react-query'\n\n const mutation = {\n name: getName(operation, { type: 'function', prefix: 'use' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n const hasClientPlugin = !!pluginManager.getPluginByKey([pluginClientName])\n const client = {\n name: hasClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginKey: [pluginClientName],\n })\n : getName(operation, {\n type: 'function',\n }),\n file: getFile(operation, { pluginKey: [pluginClientName] }),\n }\n\n const mutationOptions = {\n name: getName(operation, { type: 'function', suffix: 'MutationOptions' }),\n }\n\n const mutationKey = {\n name: getName(operation, { type: 'const', suffix: 'MutationKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'MutationKey' }),\n }\n\n if (!isMutation) {\n return null\n }\n\n return (\n <File\n baseName={mutation.file.baseName}\n path={mutation.file.path}\n meta={mutation.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={mutation.file.path} path={zod.file.path} />\n )}\n <File.Import name={'fetch'} path={options.client.importPath} />\n {!!hasClientPlugin && <File.Import name={[client.name]} root={mutation.file.path} path={client.file.path} />}\n <File.Import name={['RequestConfig', 'ResponseConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={mutation.file.path}\n path={type.file.path}\n isTypeOnly\n />\n\n <MutationKey\n name={mutationKey.name}\n typeName={mutationKey.typeName}\n operation={operation}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n transformer={options.mutationKey}\n />\n\n {!hasClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['mutationOptions']} path={importPath} />\n\n <MutationOptions\n name={mutationOptions.name}\n clientName={client.name}\n mutationKeyName={mutationKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType}\n />\n {options.mutation && (\n <>\n <File.Import name={['useMutation']} path={importPath} />\n <File.Import name={['UseMutationOptions', 'QueryClient']} path={importPath} isTypeOnly />\n <Mutation\n name={mutation.name}\n mutationOptionsName={mutationOptions.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { difference } from 'remeda'\nimport { InfiniteQuery, InfiniteQueryOptions, QueryKey } from '../components'\nimport type { PluginReactQuery } from '../types'\n\nexport const infiniteQueryGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-infinite-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n pluginManager,\n } = useApp<PluginReactQuery>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(\n (method) => operation.method === method,\n )\n const isInfinite = !!options.infinite\n\n const importPath = options.query ? options.query.importPath : '@tanstack/react-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'use', suffix: 'infinite' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use', suffix: 'infinite' }),\n }\n\n const hasClientPlugin = !!pluginManager.getPluginByKey([pluginClientName])\n const client = {\n name: hasClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginKey: [pluginClientName],\n })\n : getName(operation, {\n type: 'function',\n suffix: 'infinite',\n }),\n file: getFile(operation, { pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'InfiniteQueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'InfiniteQueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'InfiniteQueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || isMutation || !isInfinite) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n {<File.Import name={'fetch'} path={options.client.importPath} />}\n {hasClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.queryKey}\n />\n {!hasClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n {options.infinite && (\n <>\n <File.Import name={['InfiniteData']} isTypeOnly path={importPath} />\n <File.Import name={['infiniteQueryOptions']} path={importPath} />\n <InfiniteQueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType}\n cursorParam={options.infinite.cursorParam}\n initialPageParam={options.infinite.initialPageParam}\n queryParam={options.infinite.queryParam}\n />\n </>\n )}\n {options.infinite && (\n <>\n <File.Import name={['useInfiniteQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'InfiniteQueryObserverOptions', 'UseInfiniteQueryResult']} path={importPath} isTypeOnly />\n <InfiniteQuery\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n queryParam={options.infinite.queryParam}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import { pluginClientName } from '@kubb/plugin-client'\nimport { Client } from '@kubb/plugin-client/components'\nimport { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas, useOperationManager } from '@kubb/plugin-oas/hooks'\nimport { getBanner, getFooter } from '@kubb/plugin-oas/utils'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { pluginZodName } from '@kubb/plugin-zod'\nimport { File, useApp } from '@kubb/react'\nimport { difference } from 'remeda'\nimport { QueryKey, QueryOptions, SuspenseQuery } from '../components'\nimport type { PluginReactQuery } from '../types'\n\nexport const suspenseQueryGenerator = createReactGenerator<PluginReactQuery>({\n name: 'react-suspense-query',\n Operation({ options, operation }) {\n const {\n plugin: {\n options: { output },\n },\n pluginManager,\n } = useApp<PluginReactQuery>()\n const oas = useOas()\n const { getSchemas, getName, getFile } = useOperationManager()\n\n const isQuery = typeof options.query === 'boolean' ? true : options.query?.methods.some((method) => operation.method === method)\n const isMutation = difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(\n (method) => operation.method === method,\n )\n\n const isSuspense = !!options.suspense\n\n const importPath = options.query ? options.query.importPath : '@tanstack/react-query'\n\n const query = {\n name: getName(operation, { type: 'function', prefix: 'use', suffix: 'suspense' }),\n typeName: getName(operation, { type: 'type' }),\n file: getFile(operation, { prefix: 'use', suffix: 'suspense' }),\n }\n\n const hasClientPlugin = !!pluginManager.getPluginByKey([pluginClientName])\n const client = {\n name: hasClientPlugin\n ? getName(operation, {\n type: 'function',\n pluginKey: [pluginClientName],\n })\n : getName(operation, {\n type: 'function',\n suffix: 'suspense',\n }),\n file: getFile(operation, { pluginKey: [pluginClientName] }),\n }\n\n const queryOptions = {\n name: getName(operation, { type: 'function', suffix: 'SuspenseQueryOptions' }),\n }\n\n const queryKey = {\n name: getName(operation, { type: 'const', suffix: 'SuspenseQueryKey' }),\n typeName: getName(operation, { type: 'type', suffix: 'SuspenseQueryKey' }),\n }\n\n const type = {\n file: getFile(operation, { pluginKey: [pluginTsName] }),\n //todo remove type?\n schemas: getSchemas(operation, { pluginKey: [pluginTsName], type: 'type' }),\n }\n\n const zod = {\n file: getFile(operation, { pluginKey: [pluginZodName] }),\n schemas: getSchemas(operation, { pluginKey: [pluginZodName], type: 'function' }),\n }\n\n if (!isQuery || isMutation || !isSuspense) {\n return null\n }\n\n return (\n <File\n baseName={query.file.baseName}\n path={query.file.path}\n meta={query.file.meta}\n banner={getBanner({ oas, output, config: pluginManager.config })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && (\n <File.Import name={[zod.schemas.response.name, zod.schemas.request?.name].filter(Boolean)} root={query.file.path} path={zod.file.path} />\n )}\n <File.Import name={'fetch'} path={options.client.importPath} />\n {hasClientPlugin && <File.Import name={[client.name]} root={query.file.path} path={client.file.path} />}\n <File.Import name={['RequestConfig', 'ResponseErrorConfig']} path={options.client.importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n <File.Import\n name={[\n type.schemas.request?.name,\n type.schemas.response.name,\n type.schemas.pathParams?.name,\n type.schemas.queryParams?.name,\n type.schemas.headerParams?.name,\n ...(type.schemas.statusCodes?.map((item) => item.name) || []),\n ].filter(Boolean)}\n root={query.file.path}\n path={type.file.path}\n isTypeOnly\n />\n <QueryKey\n name={queryKey.name}\n typeName={queryKey.typeName}\n operation={operation}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n typeSchemas={type.schemas}\n transformer={options.queryKey}\n />\n\n {!hasClientPlugin && (\n <Client\n name={client.name}\n baseURL={options.client.baseURL}\n operation={operation}\n typeSchemas={type.schemas}\n zodSchemas={zod.schemas}\n dataReturnType={options.client.dataReturnType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n parser={options.parser}\n />\n )}\n <File.Import name={['queryOptions']} path={importPath} />\n <QueryOptions\n name={queryOptions.name}\n clientName={client.name}\n queryKeyName={queryKey.name}\n typeSchemas={type.schemas}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n dataReturnType={options.client.dataReturnType}\n />\n {options.suspense && (\n <>\n <File.Import name={['useSuspenseQuery']} path={importPath} />\n <File.Import name={['QueryKey', 'QueryClient', 'UseSuspenseQueryOptions', 'UseSuspenseQueryResult']} path={importPath} isTypeOnly />\n {options.client.dataReturnType === 'full' && <File.Import name={['ResponseConfig']} path={options.client.importPath} isTypeOnly />}\n\n <SuspenseQuery\n name={query.name}\n queryOptionsName={queryOptions.name}\n typeSchemas={type.schemas}\n paramsType={options.paramsType}\n paramsCasing={options.paramsCasing}\n pathParamsType={options.pathParamsType}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n queryKeyName={queryKey.name}\n queryKeyTypeName={queryKey.typeName}\n />\n </>\n )}\n </File>\n )\n },\n})\n"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, Query, QueryKey, QueryOptions, SuspenseQuery } from "./components-C51l7G1u.js";
1
+ import { InfiniteQuery, InfiniteQueryOptions, Mutation, MutationKey, MutationOptions, Query, QueryKey, QueryOptions, SuspenseQuery } from "./components-Dz_s6t75.js";
2
2
  import { createReactGenerator } from "@kubb/plugin-oas";
3
3
  import { pluginTsName } from "@kubb/plugin-ts";
4
4
  import { pluginZodName } from "@kubb/plugin-zod";
5
- import { File, useApp } from "@kubb/react";
6
- import { Client } from "@kubb/plugin-client/components";
7
5
  import { getBanner, getFooter } from "@kubb/plugin-oas/utils";
6
+ import { File, useApp } from "@kubb/react";
8
7
  import { Fragment, jsx, jsxs } from "@kubb/react/jsx-runtime";
8
+ import { Client } from "@kubb/plugin-client/components";
9
9
  import { pluginClientName } from "@kubb/plugin-client";
10
10
  import { useOas, useOperationManager } from "@kubb/plugin-oas/hooks";
11
11
  import { difference } from "remeda";
@@ -225,6 +225,10 @@ const mutationGenerator = createReactGenerator({
225
225
  }) : getName(operation, { type: "function" }),
226
226
  file: getFile(operation, { pluginKey: [pluginClientName] })
227
227
  };
228
+ const mutationOptions = { name: getName(operation, {
229
+ type: "function",
230
+ suffix: "MutationOptions"
231
+ }) };
228
232
  const mutationKey = {
229
233
  name: getName(operation, {
230
234
  type: "const",
@@ -307,6 +311,20 @@ const mutationGenerator = createReactGenerator({
307
311
  pathParamsType: options.pathParamsType,
308
312
  parser: options.parser
309
313
  }),
314
+ /* @__PURE__ */ jsx(File.Import, {
315
+ name: ["mutationOptions"],
316
+ path: importPath
317
+ }),
318
+ /* @__PURE__ */ jsx(MutationOptions, {
319
+ name: mutationOptions.name,
320
+ clientName: client.name,
321
+ mutationKeyName: mutationKey.name,
322
+ typeSchemas: type.schemas,
323
+ paramsCasing: options.paramsCasing,
324
+ paramsType: options.paramsType,
325
+ pathParamsType: options.pathParamsType,
326
+ dataReturnType: options.client.dataReturnType
327
+ }),
310
328
  options.mutation && /* @__PURE__ */ jsxs(Fragment, { children: [
311
329
  /* @__PURE__ */ jsx(File.Import, {
312
330
  name: ["useMutation"],
@@ -319,13 +337,12 @@ const mutationGenerator = createReactGenerator({
319
337
  }),
320
338
  /* @__PURE__ */ jsx(Mutation, {
321
339
  name: mutation.name,
322
- clientName: client.name,
340
+ mutationOptionsName: mutationOptions.name,
323
341
  typeName: mutation.typeName,
324
342
  typeSchemas: type.schemas,
325
343
  operation,
326
344
  dataReturnType: options.client.dataReturnType,
327
345
  paramsCasing: options.paramsCasing,
328
- paramsType: options.paramsType,
329
346
  pathParamsType: options.pathParamsType,
330
347
  mutationKeyName: mutationKey.name
331
348
  })
@@ -520,7 +537,8 @@ const infiniteQueryGenerator = createReactGenerator({
520
537
  operation,
521
538
  dataReturnType: options.client.dataReturnType,
522
539
  queryKeyName: queryKey.name,
523
- queryKeyTypeName: queryKey.typeName
540
+ queryKeyTypeName: queryKey.typeName,
541
+ queryParam: options.infinite.queryParam
524
542
  })
525
543
  ] })
526
544
  ]
@@ -718,4 +736,4 @@ const suspenseQueryGenerator = createReactGenerator({
718
736
 
719
737
  //#endregion
720
738
  export { infiniteQueryGenerator, mutationGenerator, queryGenerator, suspenseQueryGenerator };
721
- //# sourceMappingURL=generators-B3xZ2QoY.js.map
739
+ //# sourceMappingURL=generators-ByqomtgH.js.map