@kubb/plugin-react-query 3.4.5 → 3.5.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.
@@ -0,0 +1,561 @@
1
+ 'use strict';
2
+
3
+ var chunkZHLF4MXY_cjs = require('./chunk-ZHLF4MXY.cjs');
4
+ var pluginOas = require('@kubb/plugin-oas');
5
+ var hooks = require('@kubb/plugin-oas/hooks');
6
+ var utils = require('@kubb/plugin-oas/utils');
7
+ var pluginTs = require('@kubb/plugin-ts');
8
+ var pluginZod = require('@kubb/plugin-zod');
9
+ var react = require('@kubb/react');
10
+ var remeda = require('remeda');
11
+ var jsxRuntime = require('@kubb/react/jsx-runtime');
12
+
13
+ var queryGenerator = pluginOas.createReactGenerator({
14
+ name: "react-query",
15
+ Operation({ options, operation }) {
16
+ const {
17
+ plugin: {
18
+ options: { output }
19
+ }
20
+ } = react.useApp();
21
+ const oas = hooks.useOas();
22
+ const { getSchemas, getName, getFile } = hooks.useOperationManager();
23
+ const isQuery = typeof options.query === "boolean" ? true : options.query?.methods.some((method) => operation.method === method);
24
+ const isMutation = remeda.difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(
25
+ (method) => operation.method === method
26
+ );
27
+ const importPath = options.query ? options.query.importPath : "@tanstack/react-query";
28
+ const query = {
29
+ name: getName(operation, { type: "function", prefix: "use" }),
30
+ typeName: getName(operation, { type: "type" }),
31
+ file: getFile(operation, { prefix: "use" })
32
+ };
33
+ const client = {
34
+ name: getName(operation, { type: "function" })
35
+ };
36
+ const queryOptions = {
37
+ name: getName(operation, { type: "function", suffix: "QueryOptions" })
38
+ };
39
+ const queryKey = {
40
+ name: getName(operation, { type: "const", suffix: "QueryKey" }),
41
+ typeName: getName(operation, { type: "type", suffix: "QueryKey" })
42
+ };
43
+ const type = {
44
+ file: getFile(operation, { pluginKey: [pluginTs.pluginTsName] }),
45
+ //todo remove type?
46
+ schemas: getSchemas(operation, { pluginKey: [pluginTs.pluginTsName], type: "type" })
47
+ };
48
+ const zod = {
49
+ // grouping is coming from react-query instead of zod option, we need to pass the options of zod instead
50
+ file: getFile(operation, { pluginKey: [pluginZod.pluginZodName] }),
51
+ schemas: getSchemas(operation, { pluginKey: [pluginZod.pluginZodName], type: "function" })
52
+ };
53
+ if (!isQuery || isMutation) {
54
+ return null;
55
+ }
56
+ return /* @__PURE__ */ jsxRuntime.jsxs(
57
+ react.File,
58
+ {
59
+ baseName: query.file.baseName,
60
+ path: query.file.path,
61
+ meta: query.file.meta,
62
+ banner: utils.getBanner({ oas, output }),
63
+ footer: utils.getFooter({ oas, output }),
64
+ children: [
65
+ options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
66
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
67
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["RequestConfig", "ResponseErrorConfig"], path: options.client.importPath, isTypeOnly: true }),
68
+ options.client.dataReturnType === "full" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["ResponseConfig"], path: options.client.importPath, isTypeOnly: true }),
69
+ /* @__PURE__ */ jsxRuntime.jsx(
70
+ react.File.Import,
71
+ {
72
+ name: [
73
+ type.schemas.request?.name,
74
+ type.schemas.response.name,
75
+ type.schemas.pathParams?.name,
76
+ type.schemas.queryParams?.name,
77
+ type.schemas.headerParams?.name,
78
+ ...type.schemas.statusCodes?.map((item) => item.name) || []
79
+ ].filter(Boolean),
80
+ root: query.file.path,
81
+ path: type.file.path,
82
+ isTypeOnly: true
83
+ }
84
+ ),
85
+ /* @__PURE__ */ jsxRuntime.jsx(
86
+ chunkZHLF4MXY_cjs.QueryKey,
87
+ {
88
+ name: queryKey.name,
89
+ typeName: queryKey.typeName,
90
+ operation,
91
+ pathParamsType: options.pathParamsType,
92
+ typeSchemas: type.schemas,
93
+ paramsCasing: options.paramsCasing,
94
+ transformer: options.queryKey
95
+ }
96
+ ),
97
+ /* @__PURE__ */ jsxRuntime.jsx(
98
+ chunkZHLF4MXY_cjs.Client,
99
+ {
100
+ name: client.name,
101
+ isExportable: false,
102
+ isIndexable: false,
103
+ baseURL: options.client.baseURL,
104
+ operation,
105
+ typeSchemas: type.schemas,
106
+ zodSchemas: zod.schemas,
107
+ dataReturnType: options.client.dataReturnType,
108
+ paramsType: options.paramsType,
109
+ paramsCasing: options.paramsCasing,
110
+ pathParamsType: options.pathParamsType,
111
+ parser: options.parser
112
+ }
113
+ ),
114
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["queryOptions"], path: importPath }),
115
+ /* @__PURE__ */ jsxRuntime.jsx(
116
+ chunkZHLF4MXY_cjs.QueryOptions,
117
+ {
118
+ name: queryOptions.name,
119
+ clientName: client.name,
120
+ queryKeyName: queryKey.name,
121
+ typeSchemas: type.schemas,
122
+ paramsCasing: options.paramsCasing,
123
+ paramsType: options.paramsType,
124
+ pathParamsType: options.pathParamsType,
125
+ dataReturnType: options.client.dataReturnType
126
+ }
127
+ ),
128
+ options.query && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
129
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useQuery"], path: importPath }),
130
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["QueryKey", "QueryObserverOptions", "UseQueryResult"], path: importPath, isTypeOnly: true }),
131
+ /* @__PURE__ */ jsxRuntime.jsx(
132
+ chunkZHLF4MXY_cjs.Query,
133
+ {
134
+ name: query.name,
135
+ queryOptionsName: queryOptions.name,
136
+ typeSchemas: type.schemas,
137
+ paramsCasing: options.paramsCasing,
138
+ paramsType: options.paramsType,
139
+ pathParamsType: options.pathParamsType,
140
+ operation,
141
+ dataReturnType: options.client.dataReturnType,
142
+ queryKeyName: queryKey.name,
143
+ queryKeyTypeName: queryKey.typeName
144
+ }
145
+ )
146
+ ] })
147
+ ]
148
+ }
149
+ );
150
+ }
151
+ });
152
+ var mutationGenerator = pluginOas.createReactGenerator({
153
+ name: "react-query",
154
+ Operation({ options, operation }) {
155
+ const {
156
+ plugin: {
157
+ options: { output }
158
+ }
159
+ } = react.useApp();
160
+ const oas = hooks.useOas();
161
+ const { getSchemas, getName, getFile } = hooks.useOperationManager();
162
+ const isQuery = !!options.query && options.query?.methods.some((method) => operation.method === method);
163
+ const isMutation = !isQuery && remeda.difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some((method) => operation.method === method);
164
+ const importPath = options.mutation ? options.mutation.importPath : "@tanstack/react-query";
165
+ const mutation = {
166
+ name: getName(operation, { type: "function", prefix: "use" }),
167
+ typeName: getName(operation, { type: "type" }),
168
+ file: getFile(operation, { prefix: "use" })
169
+ };
170
+ const type = {
171
+ file: getFile(operation, { pluginKey: [pluginTs.pluginTsName] }),
172
+ //todo remove type?
173
+ schemas: getSchemas(operation, { pluginKey: [pluginTs.pluginTsName], type: "type" })
174
+ };
175
+ const zod = {
176
+ file: getFile(operation, { pluginKey: [pluginZod.pluginZodName] }),
177
+ schemas: getSchemas(operation, { pluginKey: [pluginZod.pluginZodName], type: "function" })
178
+ };
179
+ const client = {
180
+ name: getName(operation, { type: "function" })
181
+ };
182
+ const mutationKey = {
183
+ name: getName(operation, { type: "const", suffix: "MutationKey" }),
184
+ typeName: getName(operation, { type: "type", suffix: "MutationKey" })
185
+ };
186
+ if (!isMutation) {
187
+ return null;
188
+ }
189
+ return /* @__PURE__ */ jsxRuntime.jsxs(
190
+ react.File,
191
+ {
192
+ baseName: mutation.file.baseName,
193
+ path: mutation.file.path,
194
+ meta: mutation.file.meta,
195
+ banner: utils.getBanner({ oas, output }),
196
+ footer: utils.getFooter({ oas, output }),
197
+ children: [
198
+ options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: mutation.file.path, path: zod.file.path }),
199
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
200
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["RequestConfig", "ResponseConfig", "ResponseErrorConfig"], path: options.client.importPath, isTypeOnly: true }),
201
+ /* @__PURE__ */ jsxRuntime.jsx(
202
+ react.File.Import,
203
+ {
204
+ name: [
205
+ type.schemas.request?.name,
206
+ type.schemas.response.name,
207
+ type.schemas.pathParams?.name,
208
+ type.schemas.queryParams?.name,
209
+ type.schemas.headerParams?.name,
210
+ ...type.schemas.statusCodes?.map((item) => item.name) || []
211
+ ].filter(Boolean),
212
+ root: mutation.file.path,
213
+ path: type.file.path,
214
+ isTypeOnly: true
215
+ }
216
+ ),
217
+ /* @__PURE__ */ jsxRuntime.jsx(
218
+ chunkZHLF4MXY_cjs.MutationKey,
219
+ {
220
+ name: mutationKey.name,
221
+ typeName: mutationKey.typeName,
222
+ operation,
223
+ pathParamsType: options.pathParamsType,
224
+ typeSchemas: type.schemas,
225
+ paramsCasing: options.paramsCasing,
226
+ transformer: options.mutationKey
227
+ }
228
+ ),
229
+ /* @__PURE__ */ jsxRuntime.jsx(
230
+ chunkZHLF4MXY_cjs.Client,
231
+ {
232
+ name: client.name,
233
+ isExportable: false,
234
+ isIndexable: false,
235
+ baseURL: options.client.baseURL,
236
+ operation,
237
+ typeSchemas: type.schemas,
238
+ zodSchemas: zod.schemas,
239
+ dataReturnType: options.client.dataReturnType,
240
+ paramsCasing: options.paramsCasing,
241
+ paramsType: options.paramsType,
242
+ pathParamsType: options.pathParamsType,
243
+ parser: options.parser
244
+ }
245
+ ),
246
+ options.mutation && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
247
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useMutation"], path: importPath }),
248
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["UseMutationOptions"], path: importPath, isTypeOnly: true }),
249
+ /* @__PURE__ */ jsxRuntime.jsx(
250
+ chunkZHLF4MXY_cjs.Mutation,
251
+ {
252
+ name: mutation.name,
253
+ clientName: client.name,
254
+ typeName: mutation.typeName,
255
+ typeSchemas: type.schemas,
256
+ operation,
257
+ dataReturnType: options.client.dataReturnType,
258
+ paramsCasing: options.paramsCasing,
259
+ paramsType: options.paramsType,
260
+ pathParamsType: options.pathParamsType,
261
+ mutationKeyName: mutationKey.name
262
+ }
263
+ )
264
+ ] })
265
+ ]
266
+ }
267
+ );
268
+ }
269
+ });
270
+ var infiniteQueryGenerator = pluginOas.createReactGenerator({
271
+ name: "react-infinite-query",
272
+ Operation({ options, operation }) {
273
+ const {
274
+ plugin: {
275
+ options: { output }
276
+ }
277
+ } = react.useApp();
278
+ const oas = hooks.useOas();
279
+ const { getSchemas, getName, getFile } = hooks.useOperationManager();
280
+ const isQuery = typeof options.query === "boolean" ? true : options.query?.methods.some((method) => operation.method === method);
281
+ const isMutation = remeda.difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(
282
+ (method) => operation.method === method
283
+ );
284
+ const isInfinite = !!options.infinite;
285
+ const importPath = options.query ? options.query.importPath : "@tanstack/react-query";
286
+ const query = {
287
+ name: getName(operation, { type: "function", prefix: "use", suffix: "infinite" }),
288
+ typeName: getName(operation, { type: "type" }),
289
+ file: getFile(operation, { prefix: "use", suffix: "infinite" })
290
+ };
291
+ const client = {
292
+ name: getName(operation, { type: "function" })
293
+ };
294
+ const queryOptions = {
295
+ name: getName(operation, { type: "function", suffix: "InfiniteQueryOptions" })
296
+ };
297
+ const queryKey = {
298
+ name: getName(operation, { type: "const", suffix: "InfiniteQueryKey" }),
299
+ typeName: getName(operation, { type: "type", suffix: "InfiniteQueryKey" })
300
+ };
301
+ const type = {
302
+ file: getFile(operation, { pluginKey: [pluginTs.pluginTsName] }),
303
+ //todo remove type?
304
+ schemas: getSchemas(operation, { pluginKey: [pluginTs.pluginTsName], type: "type" })
305
+ };
306
+ const zod = {
307
+ file: getFile(operation, { pluginKey: [pluginZod.pluginZodName] }),
308
+ schemas: getSchemas(operation, { pluginKey: [pluginZod.pluginZodName], type: "function" })
309
+ };
310
+ if (!isQuery || isMutation || !isInfinite) {
311
+ return null;
312
+ }
313
+ return /* @__PURE__ */ jsxRuntime.jsxs(
314
+ react.File,
315
+ {
316
+ baseName: query.file.baseName,
317
+ path: query.file.path,
318
+ meta: query.file.meta,
319
+ banner: utils.getBanner({ oas, output }),
320
+ footer: utils.getFooter({ oas, output }),
321
+ children: [
322
+ options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
323
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
324
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["RequestConfig", "ResponseErrorConfig"], path: options.client.importPath, isTypeOnly: true }),
325
+ options.client.dataReturnType === "full" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["ResponseConfig"], path: options.client.importPath, isTypeOnly: true }),
326
+ /* @__PURE__ */ jsxRuntime.jsx(
327
+ react.File.Import,
328
+ {
329
+ name: [
330
+ type.schemas.request?.name,
331
+ type.schemas.response.name,
332
+ type.schemas.pathParams?.name,
333
+ type.schemas.queryParams?.name,
334
+ type.schemas.headerParams?.name,
335
+ ...type.schemas.statusCodes?.map((item) => item.name) || []
336
+ ].filter(Boolean),
337
+ root: query.file.path,
338
+ path: type.file.path,
339
+ isTypeOnly: true
340
+ }
341
+ ),
342
+ /* @__PURE__ */ jsxRuntime.jsx(
343
+ chunkZHLF4MXY_cjs.QueryKey,
344
+ {
345
+ name: queryKey.name,
346
+ typeName: queryKey.typeName,
347
+ operation,
348
+ paramsCasing: options.paramsCasing,
349
+ pathParamsType: options.pathParamsType,
350
+ typeSchemas: type.schemas,
351
+ transformer: options.queryKey
352
+ }
353
+ ),
354
+ /* @__PURE__ */ jsxRuntime.jsx(
355
+ chunkZHLF4MXY_cjs.Client,
356
+ {
357
+ name: client.name,
358
+ isExportable: false,
359
+ isIndexable: false,
360
+ baseURL: options.client.baseURL,
361
+ operation,
362
+ typeSchemas: type.schemas,
363
+ zodSchemas: zod.schemas,
364
+ dataReturnType: options.client.dataReturnType,
365
+ paramsCasing: options.paramsCasing,
366
+ paramsType: options.paramsType,
367
+ pathParamsType: options.pathParamsType,
368
+ parser: options.parser
369
+ }
370
+ ),
371
+ options.infinite && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
372
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["InfiniteData"], isTypeOnly: true, path: importPath }),
373
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["infiniteQueryOptions"], path: importPath }),
374
+ /* @__PURE__ */ jsxRuntime.jsx(
375
+ chunkZHLF4MXY_cjs.InfiniteQueryOptions,
376
+ {
377
+ name: queryOptions.name,
378
+ clientName: client.name,
379
+ queryKeyName: queryKey.name,
380
+ typeSchemas: type.schemas,
381
+ paramsCasing: options.paramsCasing,
382
+ paramsType: options.paramsType,
383
+ pathParamsType: options.pathParamsType,
384
+ dataReturnType: options.client.dataReturnType,
385
+ cursorParam: options.infinite.cursorParam,
386
+ initialPageParam: options.infinite.initialPageParam,
387
+ queryParam: options.infinite.queryParam
388
+ }
389
+ )
390
+ ] }),
391
+ options.infinite && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
392
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useInfiniteQuery"], path: importPath }),
393
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["QueryKey", "InfiniteQueryObserverOptions", "UseInfiniteQueryResult"], path: importPath, isTypeOnly: true }),
394
+ /* @__PURE__ */ jsxRuntime.jsx(
395
+ chunkZHLF4MXY_cjs.InfiniteQuery,
396
+ {
397
+ name: query.name,
398
+ queryOptionsName: queryOptions.name,
399
+ typeSchemas: type.schemas,
400
+ paramsCasing: options.paramsCasing,
401
+ paramsType: options.paramsType,
402
+ pathParamsType: options.pathParamsType,
403
+ operation,
404
+ dataReturnType: options.client.dataReturnType,
405
+ queryKeyName: queryKey.name,
406
+ queryKeyTypeName: queryKey.typeName
407
+ }
408
+ )
409
+ ] })
410
+ ]
411
+ }
412
+ );
413
+ }
414
+ });
415
+ var suspenseQueryGenerator = pluginOas.createReactGenerator({
416
+ name: "react-suspense-query",
417
+ Operation({ options, operation }) {
418
+ const {
419
+ plugin: {
420
+ options: { output }
421
+ }
422
+ } = react.useApp();
423
+ const oas = hooks.useOas();
424
+ const { getSchemas, getName, getFile } = hooks.useOperationManager();
425
+ const isQuery = typeof options.query === "boolean" ? true : options.query?.methods.some((method) => operation.method === method);
426
+ const isMutation = remeda.difference(options.mutation ? options.mutation.methods : [], options.query ? options.query.methods : []).some(
427
+ (method) => operation.method === method
428
+ );
429
+ const isSuspense = !!options.suspense;
430
+ const importPath = options.query ? options.query.importPath : "@tanstack/react-query";
431
+ const query = {
432
+ name: getName(operation, { type: "function", prefix: "use", suffix: "suspense" }),
433
+ typeName: getName(operation, { type: "type" }),
434
+ file: getFile(operation, { prefix: "use", suffix: "suspense" })
435
+ };
436
+ const client = {
437
+ name: getName(operation, { type: "function" })
438
+ };
439
+ const queryOptions = {
440
+ name: getName(operation, { type: "function", suffix: "SuspenseQueryOptions" })
441
+ };
442
+ const queryKey = {
443
+ name: getName(operation, { type: "const", suffix: "SuspenseQueryKey" }),
444
+ typeName: getName(operation, { type: "type", suffix: "SuspenseQueryKey" })
445
+ };
446
+ const type = {
447
+ file: getFile(operation, { pluginKey: [pluginTs.pluginTsName] }),
448
+ //todo remove type?
449
+ schemas: getSchemas(operation, { pluginKey: [pluginTs.pluginTsName], type: "type" })
450
+ };
451
+ const zod = {
452
+ file: getFile(operation, { pluginKey: [pluginZod.pluginZodName] }),
453
+ schemas: getSchemas(operation, { pluginKey: [pluginZod.pluginZodName], type: "function" })
454
+ };
455
+ if (!isQuery || isMutation || !isSuspense) {
456
+ return null;
457
+ }
458
+ return /* @__PURE__ */ jsxRuntime.jsxs(
459
+ react.File,
460
+ {
461
+ baseName: query.file.baseName,
462
+ path: query.file.path,
463
+ meta: query.file.meta,
464
+ banner: utils.getBanner({ oas, output }),
465
+ footer: utils.getFooter({ oas, output }),
466
+ children: [
467
+ options.parser === "zod" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: [zod.schemas.response.name], root: query.file.path, path: zod.file.path }),
468
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: "client", path: options.client.importPath }),
469
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["RequestConfig", "ResponseErrorConfig"], path: options.client.importPath, isTypeOnly: true }),
470
+ options.client.dataReturnType === "full" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["ResponseConfig"], path: options.client.importPath, isTypeOnly: true }),
471
+ /* @__PURE__ */ jsxRuntime.jsx(
472
+ react.File.Import,
473
+ {
474
+ name: [
475
+ type.schemas.request?.name,
476
+ type.schemas.response.name,
477
+ type.schemas.pathParams?.name,
478
+ type.schemas.queryParams?.name,
479
+ type.schemas.headerParams?.name,
480
+ ...type.schemas.statusCodes?.map((item) => item.name) || []
481
+ ].filter(Boolean),
482
+ root: query.file.path,
483
+ path: type.file.path,
484
+ isTypeOnly: true
485
+ }
486
+ ),
487
+ /* @__PURE__ */ jsxRuntime.jsx(
488
+ chunkZHLF4MXY_cjs.QueryKey,
489
+ {
490
+ name: queryKey.name,
491
+ typeName: queryKey.typeName,
492
+ operation,
493
+ paramsCasing: options.paramsCasing,
494
+ pathParamsType: options.pathParamsType,
495
+ typeSchemas: type.schemas,
496
+ transformer: options.queryKey
497
+ }
498
+ ),
499
+ /* @__PURE__ */ jsxRuntime.jsx(
500
+ chunkZHLF4MXY_cjs.Client,
501
+ {
502
+ name: client.name,
503
+ isExportable: false,
504
+ isIndexable: false,
505
+ baseURL: options.client.baseURL,
506
+ operation,
507
+ typeSchemas: type.schemas,
508
+ zodSchemas: zod.schemas,
509
+ dataReturnType: options.client.dataReturnType,
510
+ paramsCasing: options.paramsCasing,
511
+ paramsType: options.paramsType,
512
+ pathParamsType: options.pathParamsType,
513
+ parser: options.parser
514
+ }
515
+ ),
516
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["queryOptions"], path: importPath }),
517
+ /* @__PURE__ */ jsxRuntime.jsx(
518
+ chunkZHLF4MXY_cjs.QueryOptions,
519
+ {
520
+ name: queryOptions.name,
521
+ clientName: client.name,
522
+ queryKeyName: queryKey.name,
523
+ typeSchemas: type.schemas,
524
+ paramsCasing: options.paramsCasing,
525
+ paramsType: options.paramsType,
526
+ pathParamsType: options.pathParamsType,
527
+ dataReturnType: options.client.dataReturnType
528
+ }
529
+ ),
530
+ options.suspense && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
531
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["useSuspenseQuery"], path: importPath }),
532
+ /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["QueryKey", "UseSuspenseQueryOptions", "UseSuspenseQueryResult"], path: importPath, isTypeOnly: true }),
533
+ options.client.dataReturnType === "full" && /* @__PURE__ */ jsxRuntime.jsx(react.File.Import, { name: ["ResponseConfig"], path: options.client.importPath, isTypeOnly: true }),
534
+ /* @__PURE__ */ jsxRuntime.jsx(
535
+ chunkZHLF4MXY_cjs.SuspenseQuery,
536
+ {
537
+ name: query.name,
538
+ queryOptionsName: queryOptions.name,
539
+ typeSchemas: type.schemas,
540
+ paramsType: options.paramsType,
541
+ paramsCasing: options.paramsCasing,
542
+ pathParamsType: options.pathParamsType,
543
+ operation,
544
+ dataReturnType: options.client.dataReturnType,
545
+ queryKeyName: queryKey.name,
546
+ queryKeyTypeName: queryKey.typeName
547
+ }
548
+ )
549
+ ] })
550
+ ]
551
+ }
552
+ );
553
+ }
554
+ });
555
+
556
+ exports.infiniteQueryGenerator = infiniteQueryGenerator;
557
+ exports.mutationGenerator = mutationGenerator;
558
+ exports.queryGenerator = queryGenerator;
559
+ exports.suspenseQueryGenerator = suspenseQueryGenerator;
560
+ //# sourceMappingURL=chunk-QUDUSXV4.cjs.map
561
+ //# sourceMappingURL=chunk-QUDUSXV4.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generators/queryGenerator.tsx","../src/generators/mutationGenerator.tsx","../src/generators/infiniteQueryGenerator.tsx","../src/generators/suspenseQueryGenerator.tsx"],"names":["createReactGenerator","useApp","useOas","useOperationManager","difference","pluginTsName","pluginZodName","jsxs","File","getBanner","getFooter","jsx","QueryKey","Client","QueryOptions","Fragment","Query","MutationKey","Mutation","InfiniteQueryOptions","InfiniteQuery","SuspenseQuery"],"mappings":"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","file":"chunk-QUDUSXV4.cjs","sourcesContent":["import { 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 } = 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 client = {\n name: getName(operation, { type: 'function' }),\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 })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name={'client'} path={options.client.importPath} />\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 <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\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 <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', 'QueryObserverOptions', 'UseQueryResult']} 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 { 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 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 } = 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 client = {\n name: getName(operation, { type: 'function' }),\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 })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={mutation.file.path} path={zod.file.path} />}\n <File.Import name={'client'} path={options.client.importPath} />\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 <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\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 {options.mutation && (\n <>\n <File.Import name={['useMutation']} path={importPath} />\n <File.Import name={['UseMutationOptions']} path={importPath} isTypeOnly />\n <Mutation\n name={mutation.name}\n clientName={client.name}\n typeName={mutation.typeName}\n typeSchemas={type.schemas}\n operation={operation}\n dataReturnType={options.client.dataReturnType}\n paramsCasing={options.paramsCasing}\n paramsType={options.paramsType}\n pathParamsType={options.pathParamsType}\n mutationKeyName={mutationKey.name}\n />\n </>\n )}\n </File>\n )\n },\n})\n","import { 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 } = 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 client = {\n name: getName(operation, { type: 'function' }),\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 })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name={'client'} path={options.client.importPath} />\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 <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\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 {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', '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 />\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 } = 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 client = {\n name: getName(operation, { type: 'function' }),\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 })}\n footer={getFooter({ oas, output })}\n >\n {options.parser === 'zod' && <File.Import name={[zod.schemas.response.name]} root={query.file.path} path={zod.file.path} />}\n <File.Import name={'client'} path={options.client.importPath} />\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 <Client\n name={client.name}\n isExportable={false}\n isIndexable={false}\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 <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', '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"]}